Скачать презентацию Course Overview Principles of Operating Systems Introduction Computer Скачать презентацию Course Overview Principles of Operating Systems Introduction Computer

428a0ee25b6543cf43c858e0092623ef.ppt

  • Количество слайдов: 72

Course Overview Principles of Operating Systems Introduction Computer System Structures Operating System Structures Process Course Overview Principles of Operating Systems Introduction Computer System Structures Operating System Structures Process Synchronization Deadlocks CPU Scheduling © 2000 Franz Kurfess Memory Management Virtual Memory File Management Security Networking Distributed Systems Case Studies Conclusions Security 1

Chapter Overview Security Motivation Objectives Protection protection of resources protection methods Access Control © Chapter Overview Security Motivation Objectives Protection protection of resources protection methods Access Control © 2000 Franz Kurfess Security threats protection mechanisms Important Concepts and Terms Chapter Summary Security 2

Motivation computer systems may be of considerable value and must be protected from damage Motivation computer systems may be of considerable value and must be protected from damage hardware, software, and stored data may be essential for the performance of tasks and need to be available when needed system objects need to be protected from inadvertent unauthorized access or use there is the possibility of intrusion, modification, deletion, etc. with malicious intent © 2000 Franz Kurfess Security 3

Objectives know basic protection methods and mechanisms be aware of the most common threats Objectives know basic protection methods and mechanisms be aware of the most common threats to system security evaluate tradeoffs between performance, ease of use, flexibility, etc. on one hand security on the other hand © 2000 Franz Kurfess Security 4

Protection methods and mechanisms that check the legality of an operation on an object Protection methods and mechanisms that check the legality of an operation on an object in the computer system legality refers to the authorization to perform an operation the appropriate use of an operation the validity of the parameters objects can be hardware components software entities OS components, user programs files, processes, pipes, etc data © 2000 Franz Kurfess Security 5

Policy vs. Mechanism protection = policy + mechanism policy set of rules implemented by Policy vs. Mechanism protection = policy + mechanism policy set of rules implemented by a mechanism determined by the management of the system mechanism means for accomplishing a task used for implementing and enforcing a policy © 2000 Franz Kurfess Security 6

Computer Objects objects in a computer system that need to be protected hardware objects Computer Objects objects in a computer system that need to be protected hardware objects CPU, memory segments, hard disk, printers, tape drives, etc. software objects files, processes, databases, semaphores, pipes, etc. © 2000 Franz Kurfess Security 7

Protection Domain a domain is a set of rights to perform certain operations on Protection Domain a domain is a set of rights to perform certain operations on certain objects specified as (objects, rights) pairs each pair specifies an object and operations that can be performed on the object limit and control access of processes to objects they are authorized to use only with operations they are authorized for © 2000 Franz Kurfess Security 8

Minimum Privilege Principle a process should have only the capabilities needed to perform its Minimum Privilege Principle a process should have only the capabilities needed to perform its task a protection domain must be tailored to each individual process not practical for most systems in practice, processes with similar domains are grouped together © 2000 Franz Kurfess Security 9

Protection Domains in UNIX the domain of a process is determined by its user Protection Domains in UNIX the domain of a process is determined by its user id (uid) its group id (gid) a process may switch temporarily between different domains e. g. to execute a program owned by another user this is a security problem, especially when user processes switch to the root domain © 2000 Franz Kurfess Security 10

Access to Resources computer system resources hardware deliberate or accidental damage, theft, unauthorized use Access to Resources computer system resources hardware deliberate or accidental damage, theft, unauthorized use physical access to hardware may be restricted software execution, modification, deletion, unauthorized copying restricted privileges, configuration management data modification or destruction, unauthorized use restricted privileges, encryption, off-line storage communication eavesdropping, traffic analysis, intrusion, forging of messages, denial of service prevention, detection, encryption, isolation © 2000 Franz Kurfess Security 11

Access Control subject entity requesting access usually a process (UID and GID on UNIX) Access Control subject entity requesting access usually a process (UID and GID on UNIX) users are represented by processes object: entity to be accessed CPU, memory, network, files, programs access right operations the subject is allowed to perform on the object © 2000 Franz Kurfess Security 12

Unix Access Control subjects divided into three domains user, group and others (not user) Unix Access Control subjects divided into three domains user, group and others (not user) objects primarily files access to devices through the file system access rights three types read write execute © 2000 Franz Kurfess Security 13

Access Matrix specifies for each domain and each object the permissible operations rows hold Access Matrix specifies for each domain and each object the permissible operations rows hold domains objects are in the columns entry access(i, j) specifies the set of operations that a process executing in domain Di can perform on object Oj © 2000 Franz Kurfess Security 14

Access Matrix Diagram the operations specified in the entry are allowed for processes in Access Matrix Diagram the operations specified in the entry are allowed for processes in a certain domain for a particular object File 1 File 2 File 3 Printer Domain 1 r rw rx 2 3 © 2000 Franz Kurfess r w Security 15

Domain Switching in an Access Matrix switching between domains can also be controlled by Domain Switching in an Access Matrix switching between domains can also be controlled by the access matrix additional columns for the target domain File 1 File 2 File 3 Printer Domain 1 r rw 2 3 © 2000 Franz Kurfess D 1 D 2 D 3 switch rx r w switch Security 16

Implementation of Access Matrices global table access lists capability lists © 2000 Franz Kurfess Implementation of Access Matrices global table access lists capability lists © 2000 Franz Kurfess Security 17

Global Table set of ordered triplets <domain, object, rights> for each operation of a Global Table set of ordered triplets for each operation of a subject on an object, the table is searched for a triplet such that the subject must be in the domain the object must be present the operation must be part of the rights advantage simple realization drawbacks large tables, requiring virtual memory or I/O operations groupings of entries not possible © 2000 Franz Kurfess Security 18

Access Control Lists each object has a list of pairs with (domain, access rights) Access Control Lists each object has a list of pairs with (domain, access rights) specifies which operations may be performed by which entity columns are implemented as lists only non-empty entries are stored used in the VMS operating system © 2000 Franz Kurfess Security 19

Example File 1: (john, rw) File 2: (mary, rwx) File 3: (john, r), (mary, Example File 1: (john, rw) File 2: (mary, rwx) File 3: (john, r), (mary, rw), (fred, rx) File 4: (*, rx) File 5: (fred, -), (*, rw) © 2000 Franz Kurfess Security 20

Capability List for each domain in the access matrix we associate a list of Capability List for each domain in the access matrix we associate a list of objects along with the type of access for each object each row is implemented as a list objects within a domain operations allowed on the objects a process presents the capability for an operation to the OS before the operation is performed maintained by the OS, not directly accessible to the users © 2000 Franz Kurfess Security 21

Example Type Rights Object 0 File rw- Pointer to file 2 1 File 2 Example Type Rights Object 0 File rw- Pointer to file 2 1 File 2 File r-x rwx Pointer to file 1 Pointer to file 3 3 File -w- Pointer to file 4 © 2000 Franz Kurfess Security 22

Comparison access lists correspond directly to the needs of the users determining access rights Comparison access lists correspond directly to the needs of the users determining access rights for a particular domain is difficult permissions for all objects must be specified frequently a default list is used, and only deviations are noted explicitly every access to an object must be checked capability lists do not correspond directly to the needs of the users useful for finding information on a particular process revocation of capabilities may be inefficient not very frequently used in their pure form sometimes used as cache for information in the access list requires a search of the access list © 2000 Franz Kurfess Security 23

Modification of Access Rights permissions for operations on objects may change dynamically in a Modification of Access Rights permissions for operations on objects may change dynamically in a system this can lead to the extension or revocation of access rights easy with an access-list scheme corresponding difficult rights are modified with capability lists capabilities are distributed throughout the system, and must be found first © 2000 Franz Kurfess Security 24

Authorization granting of permissions for operations on objects to subjects © 2000 Franz Kurfess Authorization granting of permissions for operations on objects to subjects © 2000 Franz Kurfess Security 25

Authentication users other systems © 2000 Franz Kurfess Security 26 Authentication users other systems © 2000 Franz Kurfess Security 26

User Authentication identification of users at login time an be addressed through passwords physical User Authentication identification of users at login time an be addressed through passwords physical © 2000 Franz Kurfess identification Security 27

Passwords legitimate users identify themselves by providing an account id and a password if Passwords legitimate users identify themselves by providing an account id and a password if the password matches the one stored in the system, the user is considered legitimate the password must be kept secret must not be exposed by the user must be stored internally in encrypted format or in a protected place easy to understand use low implementation overhead © 2000 Franz Kurfess Security 28

Password Problems often easy to defeat password guessing with the use of a list Password Problems often easy to defeat password guessing with the use of a list of likely words watching while the user types the password (shoulder surfing) network sniffing account sharing © 2000 Franz Kurfess Security 29

Example Password Cracking 7 -character passwords chosen from a 95 printable character set: 957 Example Password Cracking 7 -character passwords chosen from a 95 printable character set: 957 (or 7 x 1013 approx. ) at 1000 encryption/sec it will take 2000 years to create the complete list © 2000 Franz Kurfess Security 30

Password Secrecy extension and encryption associate an n-bit random number with each password the Password Secrecy extension and encryption associate an n-bit random number with each password the number is stored in the password file unencrypted the password and the random number are first concatenated and then encrypted together and stored in password file increases the size of the possible passwords by 2 N © 2000 Franz Kurfess Security 31

Passwords Provisions system-generated passwords random, easy to remember, but nonsense words (i. e. vriendly) Passwords Provisions system-generated passwords random, easy to remember, but nonsense words (i. e. vriendly) are generate by the system regular may change of passwords defeat the purpose users write down passwords toggling between passwords use of month/year in the password paired passwords users provide a list of questions and answers that will be stored in encrypted format the system randomly selects an entry which the user has © 2000 Franz complete Security 32 to Kurfess

One-Time Passwords each password can be used only once frequently based on special hardware One-Time Passwords each password can be used only once frequently based on special hardware calculators or code books to determine the one-time password complicated to administer © 2000 Franz Kurfess Security 33

Physical Identification plastic card with magnetic stripe and password (cash machines) often augmented by Physical Identification plastic card with magnetic stripe and password (cash machines) often augmented by personal identification numbers (PIN) fingerprints, voice prints, visual recognition signature © 2000 Franz Kurfess Security 34

Security application of protection methods and mechanisms to maintain the safe operation of a Security application of protection methods and mechanisms to maintain the safe operation of a computer system must also take into account the external environment of the system cannot rely on orderly behavior of users and processes users may try to circumvent protection mechanisms © 2000 Franz Kurfess Security 35

Security Aspects physical security prevention of unauthorized access to physical systems restriction to legal Security Aspects physical security prevention of unauthorized access to physical systems restriction to legal use of systems operational subjects © 2000 Franz Kurfess security may only execute legal operations on objects Security 36

Security Threats technical interruption interception modification fabrication nontechnical © 2000 Franz Kurfess (“social engineering”) Security Threats technical interruption interception modification fabrication nontechnical © 2000 Franz Kurfess (“social engineering”) Security 37

Security Threats in OSes most operating systems have major security problems penetration teams can Security Threats in OSes most operating systems have major security problems penetration teams can be used to test security and expose problems © 2000 Franz Kurfess Security 38

Common Attack Methods snooping and sniffing listening in on network traffic ask for memory Common Attack Methods snooping and sniffing listening in on network traffic ask for memory pages, disk space or tapes and just read them (don't fill them) trial many systems don’t delete old information and error on system calls illegal system calls, legal system calls with illegal parameters, or legal system calls with legal but unreasonable parameters example: “ping of death” attack login interrupt start logging in and then hit DEL RUBOUT BREAK (or © 2000 Franz Kurfess Security 39

Attack Methods (Cont. ) OS meddling modify do complex OS data structures residing in Attack Methods (Cont. ) OS meddling modify do complex OS data structures residing in memory don’ts look for manuals that say Do not do X and try as many combinations of X as possible. social engineering bribe or trick the security personnel © 2000 Franz Kurfess Security 40

Intruders persons from outside seek unauthorized access to a computer system frequently via network Intruders persons from outside seek unauthorized access to a computer system frequently via network connection intruders are often referred to as hackers or crackers legitimate users make unauthorized use of a system evasion of auditing or access controls © 2000 Franz Kurfess Security 41

Program and System Threats Trapdoors Logic Bombs Trojan Horses Viruses Bacteria Worms © 2000 Program and System Threats Trapdoors Logic Bombs Trojan Horses Viruses Bacteria Worms © 2000 Franz Kurfess Security 42

Taxonomy of Software Threats Malicious Programs Needs Host Program Trap Door Logic Bomb © Taxonomy of Software Threats Malicious Programs Needs Host Program Trap Door Logic Bomb © 2000 Franz Kurfess Trojan Horse Independent Virus Bacterium Worm replicate [Bowles and Pelaez, 1992] Security 43

Trap Door hidden often left by the designer of a program for debugging or Trap Door hidden often left by the designer of a program for debugging or malicious purposes can entry point to the system circumvent normal security procedures be very difficult to detect © 2000 Franz Kurfess Security 44

Example Trap Door an employee of a bank works on the transaction processing system Example Trap Door an employee of a bank works on the transaction processing system used by the bank to be prepared for unpleasant situations at work, she leaves an entry point into the system she’s fired for security violations after she’s fired, she gains access via modem, transfers a large amount of money to an account on a Caribbean island, and erases all files © 2000 Franz Kurfess Security 45

Confinement Example you’re a great physicist working on a novel approach to the unified Confinement Example you’re a great physicist working on a novel approach to the unified theory of everything unfortunately, your programming skills are not sufficient, and you have to trust programmers they know only the code, but not some critical values that you enter interactively you inspect their programs, compile and install them yourself to make sure that there is no communication outside your own account you perform all your simulations and calculations you’re ready to publish your results when you see an article written by your programmers with your results © 2000 Franz Kurfess Security 46

Confinement Problem can programs be written in such a way that the information used Confinement Problem can programs be written in such a way that the information used and generated cannot be communicated outside the domain? no network connection no writing to files outside the domain no usage of peripheral devices problem: covert channels information can be transmitted through indirect ways relies on properties of the process execution that can be observed by other processes length of CPU bursts, paging rate, etc. © 2000 Franz Kurfess Security 47

Logic Bombs segment in a regular program that checks for certain conditions when the Logic Bombs segment in a regular program that checks for certain conditions when the conditions are met, some unwanted functions are executed © 2000 Franz Kurfess Security 48

Example Logic Bomb a contractor implements a logic bomb in a library circulation system Example Logic Bomb a contractor implements a logic bomb in a library circulation system the bomb is designed to go off on a certain date unless the contractor had been paid © 2000 Franz Kurfess Security 49

Trojan Horses (seemingly) useful program containing hidden code that may perform unwanted functions hidden Trojan Horses (seemingly) useful program containing hidden code that may perform unwanted functions hidden segment misuses its current environments runs often in the user’s environment with all the user’s privileges hidden in regular programs e. g. login program, email, editor © 2000 Franz Kurfess Security 50

Examples Trojan Horse Example 1: True friends you’re working on a programming assignment together Examples Trojan Horse Example 1: True friends you’re working on a programming assignment together with your friend for testing purposes, you make your programs executable for each other you invoke your friend’s program, and it deletes all your files Example 2: Password Stealing a user writes a program that looks exactly like the login procedure for a multi-user system it is left on the terminal for the next unsuspecting user this program reads the password and stores it © 2000 Franz Kurfess Security 51

Viruses fragment of code embedded in a legitimate program designed to spread into other Viruses fragment of code embedded in a legitimate program designed to spread into other programs and systems may be destructive or simply annoying display of messages program malfunctions modification or deletion of files system crash most prevalent on single-user systems weak protection curiosity and negligence of users © 2000 Franz Kurfess Security 52

Virus Protection antivirus programs practically all current programs are effective only against particular known Virus Protection antivirus programs practically all current programs are effective only against particular known viruses safe computing purchase only unopened media from reputable sources avoid shared media floppy disks, bulletin boards if you have to share media, apply antivirus programs immediately © 2000 Franz Kurfess Security 53

Bacteria programs that consume system resources by replicating themselves bacteria may reproduce exponentially, eventually Bacteria programs that consume system resources by replicating themselves bacteria may reproduce exponentially, eventually taking up all resources © 2000 Franz Kurfess Security 54

Worms programs that replicate themselves and send copies across network connections may perform unwanted Worms programs that replicate themselves and send copies across network connections may perform unwanted functions in addition to replication © 2000 Franz Kurfess Security 55

Internet Worm one of the greatest computer security violations of all times Robert Morris, Internet Worm one of the greatest computer security violations of all times Robert Morris, Cornell University, first year graduate student unleashed Nov. 2, 1988 propagated to thousands of computers on the Internet Sun 3 workstations and VAX computers running Unix BSD 4. x © 2000 Franz Kurfess Security 56

Internet Worm cont. worm components grappling hook (99 lines of C code) the worm Internet Worm cont. worm components grappling hook (99 lines of C code) the worm proper strategy compile and execute the grappling hook on the machine under attack upload main worm contact new hosts spread the grappling hook © 2000 Franz Kurfess Security 57

Worm Diagram l ai dm en sh s r Grappling Hook ger fin t Worm Diagram l ai dm en sh s r Grappling Hook ger fin t m wor s que re Worm worm sent Infected System © 2000 Franz Kurfess Target System Security 58

Internet Worm cont. transmission methods to infect new machines: rsh finger sendmail © 2000 Internet Worm cont. transmission methods to infect new machines: rsh finger sendmail © 2000 Franz Kurfess Security 59

Internet Worm cont. limited replication on an already infected machines new copies of the Internet Worm cont. limited replication on an already infected machines new copies of the worm would exit, except for every seventh instance caused may a major disruption on affected systems have been intended as harmless © 2000 Franz Kurfess Security 60

Remote Shell Flaw frequently accessed remote hosts can be listed in a file. xhosts Remote Shell Flaw frequently accessed remote hosts can be listed in a file. xhosts remote shells can be invoked without password the worm used these files to propagate to trusted new hosts © 2000 Franz Kurfess Security 61

Finger Flaw invoking finger with an argument that exceeds the buffer of the finger Finger Flaw invoking finger with an argument that exceeds the buffer of the finger demon results in an overwrite of the stack frame the finger demon continued with the execution of the argument instead of returning to its main routine © 2000 Franz Kurfess Security 62

Sendmail Flaw the debugging option of the sendmail program is often left on as Sendmail Flaw the debugging option of the sendmail program is often left on as a background process intended for testing purposes usually invoked with a user email address the worm called debug with commands to mail and execute a copy of the grappling hook © 2000 Franz Kurfess Security 63

The Worm’s Demise on the evening of the next day countermeasures were circulated to The Worm’s Demise on the evening of the next day countermeasures were circulated to system administrators reasons for success quick electronic communication access to source code distribution of source code and executables to remote machines collaboration of experts Morris was convicted in federal court ($10, 000 fine, 3 years probation, 400 hours of community service, legal fees) © 2000 Franz Kurfess Security 64

Countermeasures prevention possible threats are anticipated this is not possible for all threats mechanisms Countermeasures prevention possible threats are anticipated this is not possible for all threats mechanisms are installed to prevent attacks detection in case of an attack, it is identified and corrective measures are taken © 2000 Franz Kurfess Security 65

Countermeasure Examples access restrictions users are only allowed to login from a specific terminal, Countermeasure Examples access restrictions users are only allowed to login from a specific terminal, during certain days of the week, during certain hours of the day. system dials the user back at a predetermined phone number login increase login time to discourage repeated login tries record all logins traps easy to break in accounts seemingly interesting information for intruders © 2000 Franz Kurfess Security 66

Threat Monitoring limited login attempts if more than a few login attempts are unsuccessful, Threat Monitoring limited login attempts if more than a few login attempts are unsuccessful, the login process is aborted audit log records time, user, type of access to objects useful for recovery and prevention considerable overhead security check systematic checks for security holes usually done during low traffic times © 2000 Franz Kurfess Security 67

Security Checks periodic weak exploration of potential security holes passwords short, easy to guess Security Checks periodic weak exploration of potential security holes passwords short, easy to guess unauthorized set-uid programs unauthorized programs in system directories suspicious processes running time, behavior, access to resources improper file and directory protections user and system directories and files password file, device drivers, system programs modifications © 2000 Franz Kurfess to system programs Security 68

Design Principles for Security system better design should be public verification and discovery of Design Principles for Security system better design should be public verification and discovery of flaws minimum privilege principle give each process the least privilege possible default should be no access check for authority and authentication simple, uniform protection mechanisms at low levels acceptable for users © 2000 Franz Kurfess Security 69

Encryption mainly used for transmission and storage of sensitive information e. g. basic password Encryption mainly used for transmission and storage of sensitive information e. g. basic password file in Unix mechanism information is encrypted into an unintelligible format this is stored or transmitted the receiver or reader must decrypt it into readable format encryption frequently relies on operations that can be done efficiently in one direction, but the inverse operation is very difficult to do e. g. factorization of large integers © 2000 Franz Kurfess Security 70

Important Concepts and Terms access control list audit log authentication capability list confinement problem Important Concepts and Terms access control list audit log authentication capability list confinement problem deadlock decryption digital signature encryption external security internal security object operation © 2000 Franz Kurfess permission private key cryptosystem privileged instruction protection domain right security policy starvation subject system mode trojan horse user mode virus Security 71

Chapter Summary physical and operational safety of computer systems can be important aspects protection Chapter Summary physical and operational safety of computer systems can be important aspects protection methods and mechanisms are available to prevent unauthorized access to and use of computer systems especially networked computers are vulnerable to security threats like trapdoors, logic bombs, Trojan horses, viruses, bacteria, worms the main types of countermechanisms are prevention © 2000 Franz Kurfess and detection Security 72