Presentation is loading. Please wait.

Presentation is loading. Please wait.

Security 1 © 2000 Franz Kurfess Course Overview Principles of Operating Systems  Introduction  Computer System Structures  Operating System Structures.

Similar presentations


Presentation on theme: "Security 1 © 2000 Franz Kurfess Course Overview Principles of Operating Systems  Introduction  Computer System Structures  Operating System Structures."— Presentation transcript:

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

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

3 Security 3 © 2000 Franz Kurfess 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

4 Security 4 © 2000 Franz Kurfess 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 and security on the other hand

5 Security 5 © 2000 Franz Kurfess 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

6 Security 6 © 2000 Franz Kurfess 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

7 Security 7 © 2000 Franz Kurfess 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.

8 Security 8 © 2000 Franz Kurfess 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

9 Security 9 © 2000 Franz Kurfess 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

10 Security 10 © 2000 Franz Kurfess 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

11 Security 11 © 2000 Franz Kurfess 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

12 Security 12 © 2000 Franz Kurfess 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

13 Security 13 © 2000 Franz Kurfess 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

14 Security 14 © 2000 Franz Kurfess 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

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

16 Security 16 © 2000 Franz Kurfess Domain Switching in an Access Matrix File1 File2 File3 Printer D1 D2 D3 Domain 1 2 3 rrw rx r w switch  switching between domains can also be controlled by the access matrix  additional columns for the target domain

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

18 Security 18 © 2000 Franz Kurfess 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

19 Security 19 © 2000 Franz Kurfess 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

20 Security 20 © 2000 Franz Kurfess Example  File1: (john, rw)  File2: (mary, rwx)  File3: (john, r), (mary, rw), (fred, rx)  File4: (*, rx)  File5: (fred, -), (*, rw)

21 Security 21 © 2000 Franz Kurfess 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

22 Security 22 © 2000 Franz Kurfess Example File r w - Pointer to file2 File r - x Pointer to file1 File r w x Pointer to file3 File - w - Pointer to file4 Type Rights Object 0 1 2 3

23 Security 23 © 2000 Franz Kurfess 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  requires a search of the access list  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

24 Security 24 © 2000 Franz Kurfess 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 rights are modified  difficult with capability lists  capabilities are distributed throughout the system, and must be found first

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

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

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

28 Security 28 © 2000 Franz Kurfess 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 and use  low implementation overhead

29 Security 29 © 2000 Franz Kurfess 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

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

31 Security 31 © 2000 Franz Kurfess 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

32 Security 32 © 2000 Franz Kurfess Passwords Provisions  system-generated passwords  random, easy to remember, but nonsense words (i.e. vriendly) are generate by the system  regular change of passwords  may 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 to complete  user picks an algorithm

33 Security 33 © 2000 Franz Kurfess 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

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

35 Security 35 © 2000 Franz Kurfess 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

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

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

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

39 Security 39 © 2000 Franz Kurfess 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)  many systems don’t delete old information  trial 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 other control keys) halfway through

40 Security 40 © 2000 Franz Kurfess Attack Methods (Cont.)  OS meddling  modify complex OS data structures residing in memory  do 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

41 Security 41 © 2000 Franz Kurfess 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

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

43 Security 43 © 2000 Franz Kurfess Taxonomy of Software Threats [Bowles and Pelaez, 1992] Malicious Programs Trap Door Logic Bomb Trojan Horse VirusBacteriumWorm Needs Host Program Indepen- dent replicate

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

45 Security 45 © 2000 Franz Kurfess 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

46 Security 46 © 2000 Franz Kurfess 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

47 Security 47 © 2000 Franz Kurfess 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.

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

49 Security 49 © 2000 Franz Kurfess 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

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

51 Security 51 © 2000 Franz Kurfess 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  then it exits with an error message and lets the user continue with the regular login process

52 Security 52 © 2000 Franz Kurfess 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

53 Security 53 © 2000 Franz Kurfess 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

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

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

56 Security 56 © 2000 Franz Kurfess 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

57 Security 57 © 2000 Franz Kurfess 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

58 Security 58 © 2000 Franz Kurfess Worm Diagram Worm Grappling Hook Infected SystemTarget System finger rsh sendmail worm sent worm request

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

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

61 Security 61 © 2000 Franz Kurfess 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

62 Security 62 © 2000 Franz Kurfess  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 Finger Flaw

63 Security 63 © 2000 Franz Kurfess 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

64 Security 64 © 2000 Franz Kurfess 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)

65 Security 65 © 2000 Franz Kurfess 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

66 Security 66 © 2000 Franz Kurfess 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

67 Security 67 © 2000 Franz Kurfess 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

68 Security 68 © 2000 Franz Kurfess Security Checks  periodic exploration of potential security holes  weak 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 to system programs

69 Security 69 © 2000 Franz Kurfess Design Principles for Security  system design should be public  better 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

70 Security 70 © 2000 Franz Kurfess Encryption  mainly used for transmission and storage of sensitive information  e.g. password file in Unix  basic 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

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

72 Security 72 © 2000 Franz Kurfess 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 and detection


Download ppt "Security 1 © 2000 Franz Kurfess Course Overview Principles of Operating Systems  Introduction  Computer System Structures  Operating System Structures."

Similar presentations


Ads by Google