DAC Vs. MAC Bell-Lapadula Model Security Levels Security Properties

Total Page:16

File Type:pdf, Size:1020Kb

DAC Vs. MAC Bell-Lapadula Model Security Levels Security Properties DAC vs. MAC Bell-Lapadula model • Most people familiar with discretionary access • View the system as subjects accessing objects control (DAC) - The system input is requests, the output is decisions - Unix permission bits are an example - Objects can be organized in one or more hierarchies, H - Might set a file private so only group friends can read it (a tree enforcing the type of decendents) • Discretionary means anyone with access can • Four modes of access are possible: propagate information: - execute – no observation or alteration - Mail [email protected] < private - read – observation • Mandatory access control - append – alteration - Security administrator can restrict propagation - write – both observation and modification - Abbreviated MAC (NOT to be confused w. Message • The current access set, b, is (subj, obj, attr) tripples Authentication Code or Medium Access Control) • An access matrix M encodes permissible access types (as before, subjects are rows, objects columns) 1/36 2/36 Security levels Security properties • A security level is a (c, s) pair: • The simple security or ss-property: - c = classification – E.g., unclassified, secret, top secret - For any (S, O, A) ∈ b, if A includes observation, then level(S) - s = category-set – E.g., Nuclear, Crypto must dominate level(O) - E.g., an unclassified user cannot read a top-secret document • (c1, s1) dominates (c2, s2) iff c1 ≥ c2 and s2 ⊆ s1 • The star security or : - L1 dominates L2 sometimes written L1 ⊒ L2 or L2 ⊑ L1 *-property - levels then form a lattice (partial order w. lub & glb) - If a subject can observe O1 and modify O2, then level(O2) dominates level(O ) • Subjects and objects are assigned security levels 1 - E.g., cannot copy top secret file into secret file - level(S), level(O) – security level of subject/object - More precisely, given (S, O, A) ∈ b: - current-level(S) – subject may operate at lower level if A = r then current-level(S) ⊒ level(O) (“no read up”) - level(S) bounds current-level(S) (current-level(S) ⊑ level(S)) if A = a then current-level(S) ⊑ level(O) (“no write down”) - Since level(S) is max, sometimes called S’s clearance if A = w then current-level(S)= level(O) 3/36 4/36 The lattice model Straw man MAC implementation htop-secret, {Nuclear, Crypto}i • Take an ordinary Unix system htop-secret, {Nuclear}i htop-secret, {Crypto}i • Put labels on all files and directories to track levels ∅ X • Each user U has a security clearance, level(U) htop-secret, i X • Determine current security level dynamically hsecret, {Nuclear}i hsecret, {Crypto}i - When U logs in, start with lowest curent-level - Increase current-level as higher-level files are observed ∅ hsecret, i (sometimes called a floating label system) L L X 1 1 - If U’s level does not dominate current-level, kill program means L1 ⊑ L2 - Kill program that writes to file that doesn’t dominate it hunclassified, ∅i • Is this secure? • Information can only flow up the lattice - System enforces “No read up, no write down” - Think of ⊑ as “can flow to” relation 5/36 6/36 No: Covert channels No: Timing channels • System rife with storage channels • Example: CPU utilization - Low current-level process executes another program - To send a 0 bit, use 100% of CPU in busy-loop - New program reads sensitive file, gets high current-level - To send a 1 bit, sleep and relinquish CPU - High program exploits covert channels to pass data to low - Repeat to transfer more bits • E.g., High program inherits file descriptor • Example: Resource exhaustion - Can pass 4-bytes of information to low prog. in file offset - High prog. allocates all physical memory if bit is 1 • Other storage channels: - If low prog. slow from paging, knows less memory available - Exit value, signals, file locks, terminal escape codes, . • More examples: Disk head position, processor • If we eliminate storage channels, is system secure? cache/TLB polution, . 7/36 8/36 Reducing covert channels Declassification • Observation: Covert channels come from sharing • Sometimes need to prepare unclassified report from - If you have no shared resources, no covert channels classified data - Extreme example: Just use two computers (common in DoD) • Declassification happens outside of system • Problem: Sharing needed - Present file to security officer for downgrade - E.g., read unclassified data when preparing classified • Job of declassification often not trivial • Approach: Strict partitioning of resources - E.g., Microsoft word saves a lot of undo information - Strictly partition and schedule resources between levels - This might be all the secret stuff you cut from document - Occasionally reapportion resources based on usage - Another bad mistake: Redacted PDF using black censor bars - Do so infrequently to bound leaked information over or under text (but text still selectable) - In general, only hope to bound bandwidth of covert channels - Approach still not so good if many security levels possible 9/36 10/36 Biba integrity model DoD Orange book • Problem: How to protect integrity • DoD requirements for certification of secure systems - Suppose text editor gets trojaned, subtly modifies files, might • 4 Divisions: mess up attack plans - D – been through certification and not secure • Observation: Integrity is the converse of secrecy - C – discretionary access control - In secrecy, want to avoid writing less secret files - B – mandatory access control - In integrity, want to avoid writing higher-integrity files - A – like B, but better verified design • Use integrity hierarchy parallel to secrecy one - Classes within divisions increasing level of security - Now security level is a hc, i, si triple, i =integrity - hc1, i1, s1i⊑hc2, i2, s2i iff c1 ≤ c2 and i1 ≥ i2 and s1 ⊆ s2 - Only trusted users can operate at low integrity levels - If you read less authentic data, your current integrity level gets lowered (putting you up higher in the lattice), and you can no longer write higher-integrity files 11/36 12/36 Limitations of Orange book Today: Common Criteria • How to deal with floppy disks? • Replaced orange book around 1998 • How to deal with networking? • Three parts to CC: • Takes too long to certify a system - CC Documents, including protection profiles w. both functional and assurance requirements - People don’t want to run n-year-old software - CC Evaluation Methodology • Doesn’t fit non-military models very well - National Schemes (local ways of doing evaluation) • What if you want high assurance & DAC? 13/36 14/36 LOMAC [Fraser] LOMAC overview • MAC not widely accepted outside military • Subjects are jobs (essentially processes) • LOMAC’s goal is to make MAC more palatable - Each subject has an integrity number (e.g., 1, 2) - Stands for Low water Mark Access Control - Higher numbers mean more integrity (so unfortunately 2 ⊑ 1 by earlier notation) • Concentrates on Integrity - Subjects can be reclassified on observation of low-integrity data - More important goal for many settings - E.g., don’t want viruses tampering with all your files • Objects are files, pipes, etc. - Also don’t have to worry as much about covert channels - Objects have fixed integrity level; cannot change • Provides reasonable defaults (minimally obtrusive) • Security: Low-integrity subjects cannot write to high integrity objects • Has actually had some impact - Originally available for Linux (2.2) • New objects have level of the creator - Integrated in FreeBSD-current source tree - Probably inspired Vista’s Mandatory Integrity Control (MIC) 15/36 16/36 LOMAC defaults The self-revocation problem remote tty1 2 eth1 management link /bin, /etc, WWW • Want to integrate with Unix unobtrusively • Problem: Application expectations downloads, email untrusted - Kernel access checks usually done at file open time ttyS0 eth0 1 external net • Two levels: 1 and 2 - Legacy applications don’t pre-declare they will observe low-integrity data • Level 2 (high-integrity) contains: - An application can “taint” itself unexpectedly, revoking its own - FreeBSD/Linux files intact from distro, static web server config permission to access an object it created - The console, trusted terminals, trusted network • Level 1 (low-integrity) contains - NICs connected to Internet, untrusted terminals, etc. • Idea: Suppose worm compromises your web server - Worm comes from network → level 1 - Won’t be able to muck with system files or web server config 17/36 18/36 Self-revocation example Self-revocation example • User has high-integrity (level 2) shell • User has high-integrity (level 2) shell • Runs: ps | grep user • Runs: ps | grep user - Pipe created before ps reads low-integrity data - Pipe created before ps reads low-integrity data - ps becomes tainted, can no longer write to grep - ps becomes tainted, can no longer write to grep level 2 level 2 level 2 level 2 level 2 level 2 ps pipe grep ps pipe grep r /proc/327 level 1 19/36 19/36 Self-revocation example Self-revocation example • User has high-integrity (level 2) shell • User has high-integrity (level 2) shell • Runs: ps | grep user • Runs: ps | grep user - Pipe created before ps reads low-integrity data - Pipe created before ps reads low-integrity data - ps becomes tainted, can no longer write to grep - ps becomes tainted, can no longer write to grep level 1 level 2 level 2 level 1 level 2 level 2 ps pipe grep ps wX pipe grep 19/36 19/36 Solution The flask security architecture • Don’t consider pipes to be real objects • Problem: Military needs adequate secure systems • Join multiple processes together in a “job” - How to create civilian demand for systems military can use? - Pipe
Recommended publications
  • Win32 API 1.Pdf
    Win32 Programming for Microsoft Windows NT Windows NT is designed to address the changing requirements of the computing world. It is written mainly in C and is crafted in such a way as to make its functionality extensible, and to ease the porting of the code from one hardware platform to another. This enables the ability to take advantage of multiprocessor and RISC computers, and to distribute tasks to other computers on the network, transparently. Whilst providing applications and users with the ability to use the power of local and remote machines, Windows NT must offer compatibility to applications and users. Users must feel comfortable with the interface, and be able to run existing high-volume applications. Existing applications have to port simply to the new environment to take advantage of its power. So, the user interface is compatible with existing Microsoft systems and existing programming APIs are supported and have been extended. To be considered a major player in the server arena, Windows NT has to offer reliable, robust support for ‘mission critical’ software. This means the system should be fault tolerant, protecting itself from malfunction and from external tampering. It should behave predictably and applications should not be able to adversely affect the system or each other. It should also have a security policy to protect the use of system resources, and implement resource quotas and auditing. Networking is built in, with high level programming and user interfaces available. Remote access to other machines on various networks is almost transparent. Because applications have to perform to an expected level, the system should be fast and responsive on each hardware platform.
    [Show full text]
  • Installation and Configuration Guide
    NetApp SANtricity® SMI-S Provider 11.53 Installation and Configuration Guide December 2019 | 215-13407_C0 [email protected] Table of Contents About This Guide ............................................................................................................................. 1 Overview of the NetApp SANtricity SMI-S Provider ...................................................................... 1 What’s New ................................................................................................................................1 Abbreviations, Acronyms, Terms, and Definitions ........................................................................ 1 Supported Profiles and Subprofiles ............................................................................................. 1 Supported Operating Systems for SMI-S .................................................................................... 2 Supported Firmware Versions ........................................................................................................ 3 System Requirements ..................................................................................................................... 3 Installing and Uninstalling SMI-S Provider ..................................................................................... 4 Windows operating system install and uninstall process ............................................................... 4 Installing SMI-S Provider (Windows operating system) .....................................................
    [Show full text]
  • Windows Kernel Hijacking Is Not an Option: Memoryranger Comes to The
    WINDOWS KERNEL HIJACKING IS NOT AN OPTION: MEMORYRANGER COMES TO THE RESCUE AGAIN Igor Korkin, PhD Independent Researcher Moscow, Russian Federation [email protected] ABSTRACT The security of a computer system depends on OS kernel protection. It is crucial to reveal and inspect new attacks on kernel data, as these are used by hackers. The purpose of this paper is to continue research into attacks on dynamically allocated data in the Windows OS kernel and demonstrate the capacity of MemoryRanger to prevent these attacks. This paper discusses three new hijacking attacks on kernel data, which are based on bypassing OS security mechanisms. The first two hijacking attacks result in illegal access to files open in exclusive access. The third attack escalates process privileges, without applying token swapping. Although Windows security experts have issued new protection features, access attempts to the dynamically allocated data in the kernel are not fully controlled. MemoryRanger hypervisor is designed to fill this security gap. The updated MemoryRanger prevents these new attacks as well as supporting the Windows 10 1903 x64. Keywords: hypervisor-based protection, Windows kernel, hijacking attacks on memory, memory isolation, Kernel Data Protection. 1. INTRODUCTION the same high privilege level as the OS kernel, and they also include a variety The security of users’ data and of vulnerabilities. Researchers applications depends on the security of consider that “kernel modules (drivers) the OS kernel code and data. Modern introduce additional attack surface, as operating systems include millions of they have full access to the kernel’s lines of code, which makes it address space” (Yitbarek and Austin, impossible to reveal and remediate all 2019).
    [Show full text]
  • The Flask Security Architecture: System Support for Diverse Security Policies
    The Flask Security Architecture: System Support for Diverse Security Policies Ray Spencer Secure Computing Corporation Stephen Smalley, Peter Loscocco National Security Agency Mike Hibler, David Andersen, Jay Lepreau University of Utah http://www.cs.utah.edu/flux/flask/ Abstract and even many types of policies [1, 43, 48]. To be gen- erally acceptable, any computer security solution must Operating systems must be flexible in their support be flexible enough to support this wide range of security for security policies, providing sufficient mechanisms for policies. Even in the distributed environments of today, supporting the wide variety of real-world security poli- this policy flexibility must be supported by the security cies. Such flexibility requires controlling the propaga- mechanisms of the operating system [32]. tion of access rights, enforcing fine-grained access rights and supporting the revocation of previously granted ac- Supporting policy flexibility in the operating system is cess rights. Previous systems are lacking in at least one a hard problem that goes beyond just supporting multi- of these areas. In this paper we present an operating ple policies. The system must be capable of supporting system security architecture that solves these problems. fine-grained access controls on low-level objects used to Control over propagation is provided by ensuring that perform higher-level functions controlled by the secu- the security policy is consulted for every security deci- rity policy. Additionally, the system must ensure that sion. This control is achieved without significant perfor- the propagation of access rights is in accordance with mance degradation through the use of a security decision the security policy.
    [Show full text]
  • DAC Vs. MAC Bell-La Padula Model [BL]
    DAC vs. MAC Bell-La Padula model [BL] Most people familiar with discretionary access View the system as subjects accessing objects • • control (DAC) - The system input is requests, the output is decisions - Unix permission bits are an example - Objects can be organized in one or more hierarchies, H - Might set a file private so only group friends can read it (a tree enforcing the type of decendents) Discretionary means anyone with access can Four modes of access are possible: • • propagate information: - execute – no observation or alteration - Mail [email protected] < private - read – observation Mandatory access control - append – alteration • - Security administrator can restrict propagation - write – both observation and modification - Abbreviated MAC (NOT to be confused w. Message The current access set, b, is (subj, obj, attr) tripples Authentication Code or Medium Access Control) • An access matrix M encodes permissible access types • (as before, subjects are rows, objects columns) 1/39 2/39 Security levels Security properties A security level is a (c, s) pair: The simple security or ss-property: • • - c = classification – E.g., unclassified, secret, top secret - For any (S, O, A) b, if A includes observation, then level(S) ∈ - s = category-set – E.g., Nuclear, Crypto must dominate level(O) (c , s ) dominates (c , s ) iff c c and s s - E.g., an unclassified user cannot read a top-secret document • 1 1 2 2 1 ≥ 2 1 ⊇ 2 - L dominates L sometimes written L L or L L The star security or ⋆-property: 1 2 1 ⊒ 2 2 ⊑ 1 • - levels then form a lattice (partial order w.
    [Show full text]
  • What Is Active Directory
    What is Active Directory Originally created in the year 1996, Active Directory, also referred as an AD, was first used with Windows 2000 Server as a directory service for Windows domain networks. Active Directory is a special purpose database, which serves as a central location for authenticating and authorizing all the users and computers within a network. Active Directory uses the Lightweight Directory Access Protocol (LDAP), an application protocol used for accessing and maintaining directory information services distributed over an IP network. What is Active Directory? The basic internal structure of the Active Directory consists of a hierarchical arrangement of Objects which can be categorized broadly into resources and security principles. Some of the examples of Active Directory objects are users, computers, groups, sites, services, printers, etc. Every Object is considered as a single entity with some specific set of attributes. The attributes of Objects along with the kind of objects that can be stored in the AD are defined by a Schema. The intrinsic framework of Active Directory is divided into a number of levels on the basis of visibility of objects. An AD network can be organized in four types of container structure namely, Forest, Domains, Organizational Units and Sites. y Forests: It is a collection of AD objects, their attributes and set of attribute syntax. y Domain: Domain is a collection of computers objects in the AD which share a common set of policies, a name and a database of their members. y Organizational Units: OUs are containers in which domains are grouped. They are used to create a hierarchy for the domain to resemble the structure of the Active Directory's company in organizational terms.
    [Show full text]
  • The Windows Operating System, Such As the Logon Process and the Session Manager
    TTHEHE WWINDOWSINDOWS OOPERATINGPERATING SSYSTEMYSTEM William Stallings This document is an extract from Operating Systems: Internals and Design Principles, Fifth Edition Prentice Hall, 2005, ISBN 0-13-147954-7 Copyright 2005 William Stallings TTABLEABLE OFOF CCONTENTSONTENTS 2.5 MICROSOFT WINDOWS OVERVIEW...........................................................................3 History............................................................................................................................3 Single-User Multitasking...............................................................................................5 Architecture....................................................................................................................7 Operating System Organization.........................................................................7 User-Mode Processes.......................................................................................10 Client/Server Model.....................................................................................................11 Threads and SMP.........................................................................................................13 Windows Objects.........................................................................................................13 4.4 WINDOWS THREAD AND SMP MANAGEMENT.....................................................17 Process and Thread Objects.........................................................................................18
    [Show full text]
  • Systemtools Software Inc. Hyena Settings Guide
    SystemTools Software Inc. Hyena Settings Guide SystemTools Software, Inc. has created this document to cover copying and sharing settings between Hyena installations. Additional information on Hyena and other SystemTools Software products can be found on our website: http://www.systemtools.com/ Additional support information including FAQ and Knowledge Base can be found on our Support Options page: http://www.systemtools.com/support.htm www.systemtools.com 1 Table of Contents Overview of Hyena’s Settings ................................................................................. 3 Backup and Restore Settings .................................................................................. 6 Save All Settings: ......................................................................................................................... 6 Restore All Settings: .................................................................................................................... 7 Moving and Updating License Information ............................................................ 8 Updating Licensing Information ................................................................................................. 9 Moving Licensing Information To A Different Computer .......................................................... 9 Licensing Multiple Administrators on Citrix or Terminal Server ............................................. 10 Sharing Settings ..................................................................................................
    [Show full text]
  • Chapter 21: Windows 10
    Chapter 21: Windows 10 Operating System Concepts – 10th dition Silberschatz, Galvin and Gagne ©2018 Chapter 21: Windows History Design Principles System Components Terminal Services and Fast User Switching File System Networking Programmer Interface Operating System Concepts – 10th dition 21!2 Silberschatz, Galvin and Gagne ©2018 Objectives Explore the principles upon which Windows 10 is designed and the specific components involved in the system Provide a detailed e!planation of the Windows 10 file system Illustrate the networking protocols supported in Windows $% Describe the interface available in Windows 10 to system and application programmers Describe the important algorithms implemented in #indows 10 Operating System Concepts – 10th dition 21!" Silberschatz, Galvin and Gagne ©2018 History In 198)* Microsoft decided to develop a “new technology” (NT) portable operating system that supported 'oth the OS/2 and POSIX APIs Originally, NT was supposed to "se the OS/2 API as its native environment 'ut during development NT was changed to use the Win32 API, reflecting the popularity of Windows 3.0. Many versions of Windows along the way, XP, Vista* 7, 8, and now 10 Many older versions still in use, less secure, some unpatched Operating System Concepts – 10th dition 21!# Silberschatz, Galvin and Gagne ©2018 Windows 10 52: and ;<:bit preemptive multitasking operating system for Intel microprocessors =ey goals for the system> portability security P0SI3 compliance multiprocessor support extensi'ility international support
    [Show full text]
  • Microsoft Windows Common Criteria Evaluation Security Target
    Microsoft Common Criteria Security Target Microsoft Windows Common Criteria Evaluation Microsoft Windows 10 (Creators Update) Security Target Document Information Version Number 0.06 Updated On June 14, 2018 Microsoft © 2017 Page 1 of 102 Microsoft Common Criteria Security Target This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. This work is licensed under the Creative Commons Attribution-NoDerivs- NonCommercial License (which allows redistribution of the work). To view a copy of this license, visit http://creativecommons.org/licenses/by-nd-nc/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. The example companies, organizations, products, people and events depicted herein are fictitious.
    [Show full text]
  • File Management
    roma tre university maurizio pizzonia windows 1 © 2011 maurizio pizzonia – operating systems – roma tre university, italy Microsoft Press Server 2008 andWindows Vista 5 Windows® Internals: IncludingWindows M. Russinovich, D.A.Solomon references th ed. 2 © 2011 maurizio pizzonia – operating systems – roma tre university, italy • • • • several “system processes” several support access syscalls never services directly and applications user ismode graphics in kernel word overloaded kernel: – – use “subsystems DLLs” that goes with “environment subsystems” “environment “subsystemsuse thatwith DLLs” goes mode inkernel to runs MS according of it part what a is only architecture overview 3 3 © 2011 maurizio pizzonia – operating systems – roma tre university, italy • • • • needs besides, usesWindows kernel threads for its own that so... tree is only informative, Windows does not rely on if the parent dies the info is not updated in the child processes “usually” form a tree – – the parent is the creator of the process parent information is not reliable windows processes 4 4 © 2011 maurizio pizzonia – operating systems – roma tre university, italy architecture details: user mode 5 © 2011 maurizio pizzonia – operating systems – roma tre university, italy • • • syscalls are never directly performed by by syscalls performed processes are directly never are subsystems really subsystemsare needed? really os/2posix, subystems: windows, – – – – – syscalls are not documented not are syscalls my impression is that subsystems are a “legacy” feature “legacy” a are subsystems isthat impression my process supporting + DLLs are OS from underlying processes user decouple layers decoupling • • • • • relationships with Windows update a“localupdate state” subsystemDLLs maycall supporting Ntdll.dll,just process or interactwith supportingprocess:see “environment subsystem” software ofunix porting “easy” allows e.g.
    [Show full text]
  • Flexible and Fine-Grained Mandatory Access Control on Android For
    Flexible and Fine-grained Mandatory Access Control on Android for Diverse Security and Privacy Policies Sven Bugiel, Saarland University; Stephan Heuser, Fraunhofer SIT; Ahmad-Reza Sadeghi, Technische Universität Darmstadt and Center for Advanced Security Research Darmstadt This paper is included in the Proceedings of the 22nd USENIX Security Symposium. August 14–16, 2013 • Washington, D.C., USA ISBN 978-1-931971-03-4 Open access to the Proceedings of the 22nd USENIX Security Symposium is sponsored by USENIX Flexible and Fine-Grained Mandatory Access Control on Android for Diverse Security and Privacy Policies Sven Bugiel Stephan Heuser [email protected][email protected] Saarland University, Germany Fraunhofer SIT, Germany Ahmad-Reza Sadeghi [email protected] Technische Universität Darmstadt / CASED, Germany Abstract Android’s vulnerabilities. Android has been shown to be vulnerable to a number of different In this paper we tackle the challenge of providing attacks such as malicious apps and libraries that mis- a generic security architecture for the Android OS use their privileges [57, 40, 25] or even utilize root- that can serve as a flexible and effective ecosystem exploits [55, 40] to extract security and privacy sen- to instantiate different security solutions. In con- sitive information; taking advantage of unprotected trast to prior work our security architecture, termed interfaces [14, 12, 53, 32] and files [49]; confused FlaskDroid, provides mandatory access control si- deputy attacks [16]; and collusion attacks [46, 34]. multaneously on both Android’s middleware and kernel layers. The alignment of policy enforcement Solutions. On the other hand, Android’s open- on these two layers is non-trivial due to their com- source nature has made it very appealing to academic pletely different semantics.
    [Show full text]