ACCESS CONTROL Access Control Concepts Access Control What is access control? 2 SECURITY INNOVATION ©2003 Access Control • Provides limits on who can do what with objects on the computer • Can’t happen without identification and authentication • Is not the same as identification and authentication 3 SECURITY INNOVATION ©2003 Access Control Policy-Based Control of: WHO has access to specific systems WHAT they can do with them, and WHEN they are allowed access 4 SECURITY INNOVATION ©2003 Access Control Layers: Administrative Physical Technical 5 SECURITY INNOVATION ©2003 Administrative Access Controls • • • • • • • 6 Security Policies & Procedures Security Awareness & Training Separation of Duties Hiring Procedures Employee Termination Policy Disaster Recovery & Contingency Plan User Registration for Computer Access SECURITY INNOVATION ©2003 Physical Access Controls • • • • • • • 7 Network Segregation Perimeter Security Security Guards Badge Systems Biometric Access Controls Closed Circuit TV Monitoring Sensors & Alarms SECURITY INNOVATION ©2003 Technical (Logical) Controls • Administrative and physical access controls are based on traditional security threats and thus are well understood • Technical or logical access controls mirror new software systems technology and the evolving threat model. For these reasons a discussion of technical controls is more complex and we address access control within this context. 8 SECURITY INNOVATION ©2003 Technical (Logical) Controls In general technical controls involve…. • • • • • • 9 Access Control Software Passwords Smart Cards Encryption System Access Network Access SECURITY INNOVATION ©2003 Analogy of Organizational Security • Multi-level security policies (MLS-policies) • Different levels of security – E.g. top secret, secret, confidential, public • Relating security levels – To subjects (persons) and objects (rooms or items) • Control – Access right is only granted if person has the appropriate authorization, i.e. security level 11 SECURITY INNOVATION ©2003 Access Control • Protection objects: system resources for which protection is desirable – Memory, file, directory, hardware resource, software resources, etc. • Subjects: active entities requesting accesses to resources – User, owner, program, etc. • Access mode: type of access – Read, write, execute 12 SECURITY INNOVATION ©2003 Access Control Requirement • Cannot be bypassed • Enforce least-privilege and need-to-know restrictions • Enforce organizational policy 13 SECURITY INNOVATION ©2003 Access Control • Access control: ensures that all direct accesses to object are authorized • Protects against accidental and malicious threats by regulating the reading, writing and execution of data and programs • Need: – Proper user identification and authentication – Information specifying the access rights is protected form modification 14 SECURITY INNOVATION ©2003 Access Control • Access control components: – Access control policy: specifies the authorized accesses of a system – Access control mechanism: implements and enforces the policy • Separation of components allows to: – Define access requirements independently from implementation – Compare different policies – Implement mechanisms that can enforce a wide range of policies 15 SECURITY INNOVATION ©2003 Closed v.s. Open Systems Open System Closed system (maximum privilege) (minimum privilege) Access requirements Access requirements Allowed accesses Exists Rule? yes Access permitted 16 no Access denied Disallowed accesses Exists Rule? no Access permitted SECURITY INNOVATION ©2003 yes Access denied Access Control Access Control Subjects Reference monitor • Active subjects: – e.g. processes, persons, groups …. • Passive objects: – e.g. data, memory banks, ... 17 SECURITY INNOVATION ©2003 Objects How It Works C A B SUBJECT A. B. C. D. E. 18 E D REFERENCE MONITOR OBJECT Subject – User or Process Request for Access Reference Monitor – Decides on the Access Reference Monitor Grants or Denies Access Request Object – File / Printer / Nodes on Network SECURITY INNOVATION ©2003 Program Execution User X Monitor Program Network Disk 19 Memory SECURITY INNOVATION ©2003 Reference Monitor • Makes access control work • You can tell it – What a subject is allowed to do – What may be done with an object • In order to specify these things, you need to know all the possibilities, or you need to define things narrowly so that what you don't know doesn’t become allowed 20 SECURITY INNOVATION ©2003 Reference Monitors • Single level • Easy to implement…..BUT • May become a bottle-neck… IF the access-control monitor is defeated, THEN all accesses are vulnerable 21 SECURITY INNOVATION ©2003 Ideal Reference Monitor Real most things • Sees everything a program is about to do before it does it • Can instantly and completely stop program execution (or prevent action) • Has no other effect on the program or system limited Can we build this? Probably not unless we can build a time machine... 22 SECURITY INNOVATION ©2003 Protecting the Reference Monitor • It must not be possible to circumvent the reference monitor by corrupting it • Mechanisms – Type checking – Sandboxing: run processes in isolation – Software fault isolation: rewrite memory access instructions to perform bounds checking – User/Kernel modes – Segmentation of memory (OS resources aren’t part of virtual memory system) 23 SECURITY INNOVATION ©2003 Example Reference Monitors • Operating Systems – File system – Memory (virtual memory, separate address spaces) • Firewalls – Regulate network access • Java Virtual Machine – Regulates Java programs’ resource usage Operate at different levels of abstraction – Interface (Subjects, Objects, Actions) varies 24 SECURITY INNOVATION ©2003 Reference Monitors • Cannot enforce all Security Policies • Some policies depend on: – Knowing about the future • If the program charges the credit card, it must eventually ship the goods – Knowing about all possible executions • Information flow – can’t tell if a program reveals secret information without knowing about other possible executions 25 SECURITY INNOVATION ©2003 Access Control • You want to protect some of the files you create – Is confidentiality an issue ? • Operating systems are designed to protect users from each other – Is integrity an issue ? • Terminology – An active subject wishes to use an access operation on a passive object. • (Sam wishes to read the production log) – The same entity can sometimes be either subject or object • (Sam wishes to execute the production program – The production program wishes to read the production log) • We could specify what the subject is allowed to do, or what may be done with the object 26 SECURITY INNOVATION ©2003 Access Control - Modes • There is a lot of computing history behind the four access modes – – – – Execute (usually includes Read capability) Read Append (blind write) Write -which includes Read capability • Note that these modes do not directly allow for entities (say an active user) to create objects, and to grant access modes to that object – Sam needs to create a file for the latest production report, and needs all members of the production team to have read access to that file 27 SECURITY INNOVATION ©2003 Basic Access Control • • • • 1 : 2–4 : 5–7 : 8 – 10 : Type of file. Owner’s permission. Group’s permission. Other’s permission. PERMISSION 28 MEANING - rwx rwx rwx File. Everyone can read, write and execute this. - rwx r-x r-x File. Everyone can read and execute this but only the owner can write to it. - r-- r-- --- File. The owner and everyone in his group can only read this file, but the others have no access to it. d rw- rw- rw- Directory. Everyone can read and write. No one including the owner can traverse it. l rwx r-x r-x Link. The permissions for a link generally do not matter. SECURITY INNOVATION ©2003 Access Control List UNIX • An access control list (ACL) is an ordered list of access control entries that define the protections that apply to an object and its properties • ACLs entry contains – Attributes: • Defines special file modes – Base permissions: • Reflect the basic access rights – Extended permissions: • specify, permit, deny 29 SECURITY INNOVATION ©2003 Access Control List ACL Entries 30 Description 1. attributes: setuid,setgid,stickybit Special file modes. 2. base permissions Standard Unix file permissions. 3. owner(owner_user): rwx owner and access rights 4. (owner_group): r-x group and access rights 5. others: r-- other's rights 6. extended permissions Additional ACL entries. 7. enabled enabled or disabled 8. permit --x u:some_user, g:some_group Permits access to the specified user-group combination in a boolean AND manner. 9. deny rwx g:a_group Forbids access to the specified user-group combination in a boolean AND manner. SECURITY INNOVATION ©2003 Auditing • Is a feature which provides accountability to all system activities from file access to network and database • Each audit event such as user login is formatted into fields such as the event type, user id, file names and time • Audit events Administrative event class • Security administrator events • System administrator events • Operator events Audit event class • Describes the operation of the audit system itself 31 SECURITY INNOVATION ©2003 Audit Trail • Record of both completed and attempted access and service chronological record of system activities • Enables reconstruction and examination of the sequence of events and changes in audit event • Monitoring system changes Files system permission & checksum should be set, snapshots taken & made read only Snapshots are made regularly and compared with the original for changes Eg: tripwire, rdist utility, securemax (from open Vision), ESM…. 32 SECURITY INNOVATION ©2003 Windows 2000 File System • Supports two file system – FAT (File Allocation Table) • File system does not record security information such as owner or access permission of a file or directory – NTFS (New Technology Files System) • Supports a variety of multi-user security models • NTFS Vs FAT 33 Fault tolerance Access Control by directory or file Can compress individual or directories POSIX support SECURITY INNOVATION ©2003 Windows 2000 Auditing • Windows 2000's object access is an important source of OS-level information about how users employ your network. This category can track the source, time, and method of access to files, folders, registry keys, and printers. It can gather specific details about the logon session under which an access attempt occurred or the application through which a user tried to open an object. Object-access events can be linked to corresponding logon or processtracking events. 34 SECURITY INNOVATION ©2003 Windows 2000 Access Control • Each object has two Access Control Lists. – A discretionary Access Control List (DACL) – A system Access Control List (SACL). • Windows 2000 auditing is able to track object access at both the system level and the object level. This is accomplished by first enabling the Audit object access category for success and failure events. Second, you need to enable auditing for each object you want to monitor. 35 SECURITY INNOVATION ©2003 Discretionary Access Control List (DACL) • The DACL controls who can access the object and how. the object's Access Control Settings permissions for only one user or one group at a time 36 SECURITY INNOVATION ©2003 System Access Control List (SACL). • The SACL defines the actions for which Windows 2000 audits an object. An object's SACL consists of access control entries (ACEs). An ACE defines exactly which types of access Windows 2000 records in the Security log when a specified user or group accesses the object. 37 SECURITY INNOVATION ©2003 audit the Everyone group's successful attempts to gain write access and failed attempts to gain read access. Access Control List • Data structure of an ACL ACL size - # of bytes of memory allocated ACL Revision – revision # for the ACL’s data structure ACE Count - # of ACE’s in the ACL 38 SECURITY INNOVATION ©2003 Access Control Entries • Contains the following access control information – A security identifier (SID) – An access mask – specifies access rights – A set of bit flags that determines which child objects can inherit the ACE – A flag that indicates the type of ACE 39 SECURITY INNOVATION ©2003 ACE Types • 3 Generic types Type Description Accessdenied Used in a DACL to deny access. Accessallowed Used in a DACL to allow access. System-audit Used in a SACL to log attempts to access. • Object-Specific ACE types 40 Type Description Access-denied, object-specific Used in a DACL to deny access to a property or property set, or to limit inheritance to a specified type of child object. Access-allowed, object-specific Used in a DACL to allow access to a property or property set, or to limit inheritance to a specified type of child object. System-audit, object-specific Used in a SACL to log attempts to access a property or property set, or to limit inheritance to a specified type of child object SECURITY INNOVATION ©2003 Access Rights • Generic Access Rights Constant in Win32 API Meaning GENERIC_ALL Read, write, and execute access GENERIC_EXECUTE Execute access GENERIC_READ Read access GENERIC_WRITE Write access • Standard Access Rights Constant in Win32 API Meaning DELETE The right to delete the object. READ_CONTROL The right to read the information in the object's security descriptor, not including the information in the SACL. SYNCHRONIZE The right to use the object for synchronization. Some object types do not WRITE_DAC The right to modify the DACL in the object's security descriptor. WRITE_OWNER The right to change the owner in the object's security descriptor. – Other rights like, SACL access support thisrights, access right. Object-specific access rights, user rights 41 SECURITY INNOVATION ©2003 Access Control: How does it Work? The Windows Model 42 SECURITY INNOVATION ©2003 Access Checking & Audit Generation • Function “AccessCheckAndAuditAlarm” determines whether the subject is allowed or denied access and then determines is there a need to generate an auditing entry in the security log. • It considers the following – Subjects access token – Subject’s desired access mask (a data structure 32 bit log, each bit corresponding to a particular access rights) – Object’s security descriptor • After the access-checking is complete, this function returns a granted access mask (it is identical to desired access mask except that all bits are initially turned off) 43 SECURITY INNOVATION ©2003 Auditing • Here, we generate entries in the security log for successful or failed attempts to access an object • After the access checking is over, the function will tell us what need to be logged in – – – – 44 Subject’s access token Desired access mask – subject Granted access mask – access check Object’s SACL SECURITY INNOVATION ©2003 Access Control - Strategies TYPES: • Discretionary Access Control (DAC) • Roles-Based Access Control (RBAC) • Mandatory Access Control (MAC) 45 SECURITY INNOVATION ©2003 Access Control - Strategies • Discretionary access control: – Owner principle: owner decides about access control • Role-based access control: – Access rights depend on the roles of subjects • Mandatory access control: – System rules (MAC) decide about access – System rules govern owner principle – Examples: SE-VMS, Trusted Solaris 46 SECURITY INNOVATION ©2003 Discretionary Access Control (DAC) • Owner principle: owner decides about access control • Conditions: – There is a subject – There is an object – There are other users DAC: “The subject (a) decides who among users (c) has what level of access on the object (b)” 47 SECURITY INNOVATION ©2003 Discretionary Access Control • Owner of an object can arbitrarily grant access rights to other subjects • Problem of how to limit propagation of rights – Granted access rights can be granted again to other subjects • Problem of Trojan horses 48 SECURITY INNOVATION ©2003 DAC and the Trojan Horse Scenario Robert: read, write Classified Robert Ivan: read, write REJECTED! Read Classified Black is not allowed To access Classified Ivan 49 SECURITY INNOVATION ©2003 Non Classified DAC and the Trojan Horse Scenario Word Robert Processor Uses shared program Robert: read, write TH Reads Classified Robert’s Classified Ivan, Robert: read, write TH Copies Robert’s Classified Classified To Ivan’s Directory Ivan 50 Inserts Trojan Horse Into shared program SECURITY INNOVATION ©2003 Discretionary Access Control • DAC mechanisms have an inherent weakness. • They are vulnerable to Trojan Horse attacks. 51 SECURITY INNOVATION ©2003 DAC Weakness • How great is the threat of malicious software? • Consider the following points: – How much software on your own system did you write? – How much software on your system can you absolutely vouch for? – More and more software is written overseas these days. – It only takes one bad engineer in a group of a thousand good engineers to embed a Trojan Horse in a product. – If you store information that is worth stealing, the Trojan Horse attack is very attractive – Are you running a browser that downloads and executes Java applets? 52 SECURITY INNOVATION ©2003 DAC Weakness Want to know more? A Guide to Understanding Discretionary Access Control in Trusted Systems, NCSC-TG-003 53 SECURITY INNOVATION ©2003 Role-Based Access Control (RBAC) • Access Based on Organizational Roles or Functions • Enforces Security Policies • Reduces Complexity & Cost 54 SECURITY INNOVATION ©2003 RBAC Mechanism • Users are associated with roles. • Roles are associated with permissions. • A user has a permission only if the user has an authorized role which is associated with that permission. 55 SECURITY INNOVATION ©2003 Role-Based Access Control • Role-based security model is a tupel – RBAC = (S, O, RL, P, sr, pr, session) Such that: S is a set of users of a system O is a set of objects RL is set of roles P is a set of access rights sr (subject roles), pr (privileges), sess (sessions) are relations 56 SECURITY INNOVATION ©2003 RBAC Mechanism Example: The Three Musketeers (User/Permission Association) Athos palace Aramis uniform Porthos 57 weapons SECURITY INNOVATION ©2003 D'Artagnan RBAC Mechanism Athos Porthos Aramis D'Artagnan palace Musketeer uniform weapons Athos palace Aramis uniform Porthos 58 weapons SECURITY INNOVATION ©2003 D'Artagnan RBAC Mechanism Example: (D’Artagnon becomes a Musketeer) palace D'Artagnan Musketeer uniform weapons palace D'Artagnan uniform weapons 59 SECURITY INNOVATION ©2003 Role-Based Access Control • Roles (instead of persons) determine access rights • Subjects may have different roles according to their tasks • Example Trusted Solaris (root is divided into 4 roles) – Security officier, system admin, ... • Example Banking: – teller, account executive, manager, V.P., customer 60 SECURITY INNOVATION ©2003 RBAC Model • Role Hierarchies, e.g, teller inherits employee • Conflict of Interest Constraints: – Static Separation of Duty: user cannot be authorized for both roles, e.g., teller and auditor – Dynamic Separation of Duty: user cannot act simultaneously in both roles, e.g., teller and account holder • Role Cardinality: maximum number of users authorized for role, e.g., branch manager 61 SECURITY INNOVATION ©2003 Banking Example: Hierarchy of Roles Employee Customer Account executive Teller Manager V.P. 62 SECURITY INNOVATION ©2003 Role-Based Access Control Summary • Express organizational policies – Separation of duties – Delegation of authority • Flexible: easy to modify to meet new security requirements • Supports – Least-privilege – Separation of duties – Data abstraction RBAC is independent from DAC and MAC (they may coexist) 63 SECURITY INNOVATION ©2003 Mandatory Access Control (MAC) • Why Do We Need a MAC Policy? • We know that DAC policies inherently cannot prevent a malicious software (Trojan horse) attack. A policy is needed that can address the malicious software problem. 64 SECURITY INNOVATION ©2003 Mandatory Access Control (MAC) • A Mandatory Access Control policy is a policy in which people do not have control over the authorization of people to information. Note how this policy differs from a DAC policy. 65 SECURITY INNOVATION ©2003 Mandatory Policies are …. • Global - sensitivity of information does not change relative to its "location" in the system • Persistent- sensitivity of information does not change with respect to time. For example, time does not state that information is TS on MWF but only C the remaining days of the week 66 SECURITY INNOVATION ©2003 Mandatory Access Control Policy Definitions • Access Class – User - Clearance – Information - Sensitivity – Clearance and Sensitivity can be mapped to system attributes call Access Classes. • Object – Any passive entity that contains information. It may be helpful to consider this as a file. • Subject – Active entities operating on behalf of users. It may be helpful to consider this as being associated with a process. 67 SECURITY INNOVATION ©2003 MAC Policy Implementation • Each subject has a label (or access class). • Each object has a label (or access class). – The ability of a subject to access an object is based upon a comparison of the subject’s label and the object’s label. – Two labels are compared using the "dominance" operator "≥". i.e., if label A dominates label B, we write A ≥ B. Object labels and subject labels are a requirement of MAC policy implementations. 68 SECURITY INNOVATION ©2003 MAC Policy Implementation Example • As an example, consider the set of military classification levels • {Top Secret, Secret, Confidential, Unclassified}. • Where: – – – – Top Secret ≥ Secret Top Secret ≥ Confidential ≥ Top Secret ≥ Unclassified ≥ Secret ≥ Confidential ≥ etc. • Technically , Top Secret ≥ Top Secret. Secret ≥ Secret , etc. 69 SECURITY INNOVATION ©2003 Access Control is Defined by… • Policies • Access Control Methods – Access Matrix, Capabilities, Access Control Lists (ACLs) • Trusted Computing • Operating System Certification 70 SECURITY INNOVATION ©2003 Security Models • Security Models – – – – 71 Bell-LaPadula Biba Chinese Walls Clark-Wilson SECURITY INNOVATION ©2003 Bell and LaPadula Model (BLP) • David Bell and Len LaPadula, 1973 on initiative of US Air Force • The Bell and LaPadula Model is a mathematical description of a Security Policy – A state machine model written at MITRE, Bedford MA for the Multics operating system • Has been the most influential model of security over the past ~30 years. – The policy in the BLP model and some of the elements of the model are embedded within the TCSEC. It purports to implement the Department of Defense (DoD) security policy. 72 SECURITY INNOVATION ©2003 What is the TCSEC? • The Trusted Computer System Evaluation Criteria – AKA “The Orange Book” • Written by the DoD to describe the security and assurance requirements necessary for government and military systems – Defined several “rating classes”, which were inclusive and increasing C2, B1, B2, B3, A1 – Operating system centric • Used for 17 years as the de facto standard for trusted systems • Retired in 1999 in favor of a new criteria and methodology called the Common Criteria. 73 SECURITY INNOVATION ©2003 Bell and LaPadula Model • The Bell and LaPadula Model specifies read and write access between a subject and an object based upon the dominance relationship between the subject’s label (or access class) and the object’s label (or access class). • Core of operating system is the reference monitor (security kernel) that checks all accesses 74 SECURITY INNOVATION ©2003 Bell and LaPadula Model • The Bell and LaPadula Model is the most common model for MAC policies. • Applies only to secrecy (not integrity) of information. • It includes both discretionary and mandatory access rules • Both checks are made upon request for access. • We will only look at the MAC aspects of the model since we are using the model to demonstrate a MAC policy. 75 SECURITY INNOVATION ©2003 BLP Mandatory Access Control • Lets S be the set of all subjects in a system and O be the set of all objects in a system. • For each subject s in S there exists a label or access class for s called C(s). • For each subject o in O there exists a label or access class for o called C(o). 76 SECURITY INNOVATION ©2003 Simple Security and Star Property • The Simple Security Property: – The normal "no read up" policy where Secret users can read Secret, Confidential and Unclassified information (read down allowed) but – Secret users cannot read Top Secret (no read up) • Confinement property (the *-Property, pronounced ’Star Property’) – A subject has write access to an object only if classification of the object dominates the clearance of the subject. This is required to prevent malicious software from writing down. • Tranquility property – The classification of an object does not change while the object is being processed by the system. Information cannot flow downward! 77 SECURITY INNOVATION ©2003 Why the *-Property is needed • Recall the shared word processor that contained a Trojan horse program. If a Secret user uses the program on a system that does not enforce the *-Property, the Trojan horse could read Secret files and write them to Unclassified files, where Ivan (the person who installed the Trojan and who is an Unclassified user) can read them. • If, however, a system enforces the *-Property, a Trojan horse cannot write down. 78 SECURITY INNOVATION ©2003 Mandatory Access Control • In a computer system, a mandatory policy can protect information in objects from unauthorized access even in the face of malicious software. 79 SECURITY INNOVATION ©2003 Summary of the BLP rules: • No read up and No write down. – The BLP Model is often described in terms of secure information flows. The Figure below shows such a flow diagram. This is another way of saying that there is "no read up" and "no write down." • As indicated by the diagram on the next slide, a subject can only both read and write an object if the object has the same access class value as the subject. 80 SECURITY INNOVATION ©2003 Bell and LaPadula Model High O5 Write S2 O3 Write Read Read Write Write O2 S1 Read O1 81 O4 Read Low SECURITY INNOVATION ©2003 Subject Object Bell and LaPadula Example • Consider the following objects and subjects: – File1 has an access class value of Secret. – File2 has an access class value of Confidential. – File3 has an access class value of Top Secret. – Subject1 has an access class value of Top Secret. – Subject2 has an access class value of Confidential 82 SECURITY INNOVATION ©2003 Bell and LaPadula Example • Under the BLP Model the following accesses are allowed: – Subject1 can read File1, File2 and File3. – Subject1 can write only File3. – Subject2 can read File2. – Subject2 can write File1, File2 and File3. 83 SECURITY INNOVATION ©2003 Bell and LaPadula • Can an Unclassified user blindly write to Secret? – Yes. The model allows it, but most implementations prohibit arbitrary blind writeups. 84 SECURITY INNOVATION ©2003 Mandatory Access Control Issues • How does Alice, a Secret user, write information to an Unclassified file? – Remember we can only write up The Notion of Sessions 85 SECURITY INNOVATION ©2003 Mandatory Access Control Issues • Systems that support MAC policies, must also support the notion of a session level. – When a user logs on they request a session level, which can be any level up to their clearance level. • If Alice logs on and requests a session level of Secret, a Secret level subject is created on her behalf. This subject can read files at or below Secret and can write files at or above Secret. • While Alice is logged in, she can re-negotiate a new session level to any other level that she is allowed to operate at. This means if she needs to write an unclassified file, she must negotiate an unclassified session. – Session negotiation should use the trusted path 86 SECURITY INNOVATION ©2003 Bell and LaPadula • Where does data integrity fit into a Mandatory Access Control scheme that enforces the BLP Model? Nowhere! 87 SECURITY INNOVATION ©2003 Integrity • The term integrity is used in two ways in the context of computer security. • Program or execution integrity refers to a system’s ability to provide protected domains of execution. • Data integrity refers to keeping data free from unauthorized modification 88 SECURITY INNOVATION ©2003 Secrecy versus Integrity • Secrecy and data integrity concerns are distinct. The Golden Triangle of COMPUSEC Availability • Secrecy concerns the prevention of unauthorized disclosure of data or information. 89 SECURITY INNOVATION ©2003 Biba Integrity Model • In addition to enforcing a policy for secrecy, we would like systems to enforce a mandatory policy for data integrity too. • The Biba Integrity Model addresses the unauthorized modification problem by restricting read and write accesses. • Uses integrity levels and integrity compartments much like sensitivity levels and sensitivity compartments 90 SECURITY INNOVATION ©2003 Biba Integrity Model • Focus on integrity • Assurance of integrity requires that data not flow from a receptacle of lower integrity to a receptacle of higher integrity • If a process can write above its security level, trustworthy data could be contaminated by the addition of less trustworthy data • Biba rules: – No write up. – No read down. 91 SECURITY INNOVATION ©2003 Chinese-Wall Model (BresherNash) • Drives commercial Security policies and is oriented towards confidentially. • Previous actions of a subject determines (i.e. restricts) access rights i.e. rights are continually decreasing • Rights are usually read, write, execute • Read-Access: – Only if no previous access to another object of the same conflict class but different company • Conflict classes’ – group of competitive companies • Write-Access: – Only if all previous read-accesses are concerned with objects of the same company. • Protects ‘leaking’ of information 92 SECURITY INNOVATION ©2003 Clark-Wilson Model • Earlier models emphasized the government approach of confidentiality. • The commercial approach is more concerned with integrity • As opposed to subject/object pairs as earlier lattice models used, C-W model uses subject/program/model triples • Characterized by well-formed’ transactions: – Exact order of known actions – Authentication of user performing actions 93 SECURITY INNOVATION ©2003 Clark-Wilson Model • Addresses all 3 integrity goals – Prevents unauthorized users from making modifications – Maintains internal and external consistency – Prevents authorized users from making improper modifications • Files cannot be tampered with while being changed • All changes must be logged • Integrity of data is consistent 94 SECURITY INNOVATION ©2003 Mandatory Access Control Conclusions • A MAC policy can prevent malicious software (e.g., Trojan horses) from directly leaking information from high to low. – Recall that we trust users to not give the store away, but we generally can’t say the same thing for software. – So we build systems that enforce a MAC policy on applications and we don’t have to worry about the application software. – For example, a subject running at Secret cannot write any information at a level below Secret. 95 SECURITY INNOVATION ©2003 Trojan horse can write between objects at the same level. • For example, a Trojan horse can read one Secret file and copy it to another Secret file. – Is this a problem? 96 SECURITY INNOVATION ©2003 Mandatory Access Control and the Trojan Horse Scenario • This scenario would require a bad guy (e.g., Ivan) to have a Secret clearance. (The reason why personnel security is important.) – He installs a Trojan horse into a shared word processor program. – Sue, a Secret user, uses the word processor and the Trojan horse copies her Secret files into John’s directory. But John is already cleared for Secret information so the Trojan horse does not get him any information he is not already cleared to see. – In general, systems that support a MAC policy also support a DAC policy to provide a convenient separation of user’s data. 97 SECURITY INNOVATION ©2003 A Potential Problem with the Mandatory Access Control Approach • Covert Channels can still leak information from high to low in spite of a MAC policy. 98 SECURITY INNOVATION ©2003 Covert Channels • Covert channels are flows of information between access class levels counter to a MAC policy but which are allowed by an implementation. – Covert channels are a means of leaking information from high to low, one bit at a time. – If the rate of transmitting bits across the channel (the channel baud rate) is great, this threat is significant. 99 SECURITY INNOVATION ©2003 Covert Channels • Covert channels involve two programs, of which one must be a Trojan horse. • Covert channels are a little complicated to implement. • However, if information being stored is very valuable, the covert channel threat is real. 100 SECURITY INNOVATION ©2003 Covert Channels-Storage • Covert storage channels exploit a resource common to both a high subject and a low subject. • Automated flow analysis tools can identify every storage channel in a formal specification of a system’s interface. 101 SECURITY INNOVATION ©2003 Covert Channels-Timing • Covert timing channels exploit a mechanism where a high subject can affect the timing of low subject. • No automatic means exist for identifying every existing timing channel at a system’s interface. • Timing channels are identified by a examination of the interface. 102 SECURITY INNOVATION ©2003 Covert Channels-Example The classic example of a covert storage channel is the disk exhaustion channel. Step 1 • Ivan, (a low user) introduces a Trojan horse program (e.g., Star Trek game) into the system and somehow gets a high user to execute it. • When the high user plays the Star Trek game a subprogram is spawned and goes to sleep. The subprogram contains the Trojan horse and wakes up and starts running at a time when activity on the system is low (e.g., at 0100). 103 SECURITY INNOVATION ©2003 Covert Channels Step 2 • John starts another program (a low program) that will wake up at 0105, (5 minutes later than the high program). This allows the high program time to initialize the channel. • The high program finds a high file to copy (fileA). • The high program initializes the channel by repeatedly creating files until the "disk full" exception is returned. • The two programs will synchronize with each other by reading a system clock. The high program will signal bits on every even millisecond and the low program will receive bits on every odd millisecond. 104 SECURITY INNOVATION ©2003 Covert Channels Step 3 • The high program starts reading the bits out of FileA. The following steps are repeatedly performed until the high program is through reading the file. – The high program does: (on even milliseconds) • If a bit is a 0, the high program deletes one file. (Creating room on the disk for a file to be created.) • If a bit is a 1, the high program does not delete a file. (So there is no room on the disk to create a file). – The low program does: (on odd milliseconds) • The low program always tries to create a file. If there is room on the disk, the create file call is successful. • If the call is successful, the low program writes a 0 into a destination file. • If there is no room on the disk, the create file call will fail, with the "disk full" exception. If the call is unsuccessful, the low program writes a 1 into the destination file. 105 SECURITY INNOVATION ©2003 Storage Channel Example Conclusions: • The channel baud rate of the previous example is 1 bit every 2 milliseconds. • This is 500 bits per second, which is 30,000 bits per minute. – The timing scheme used in the example is very conservative. Much higher baud rates are generally attainable. 106 SECURITY INNOVATION ©2003 Covert Channels Countermeasure • One way to close the disk exhaustion channel is to partition the disk into volumes and allocate each volume to a different security level. For example, volume 0 is for TS files, volume 1 is for S files and volume 2 is for C files. • Under this partitioning scheme, a C subject cannot tell if the TS volume is full or not. Recall that in the covert channel scenario, the C subject determined if the disk was full by attempting to create a file. Under the partitioning scheme, C subjects create files on a separate volume than the TS subjects. 107 SECURITY INNOVATION ©2003 Covert Timing Channels • Covert timing channels exploit a mechanism where a high subject can affect the timing of a low subject. – A potential timing channel, which exists on single processor systems, uses the fact that both the high subject and the low subject use the same physical processor. • To signal a 1, the high subject performs a lengthy operation (e.g., disk I/O) and signals a 0 by performing a short operation. • When the high subject finishes its operation, the low subject is scheduled to run. • When the low subject gets scheduled, it reads the system clock and determines how long the high subject operation took. 108 SECURITY INNOVATION ©2003