US20070118901A1 - Access control differentiation in trusted computer system - Google Patents
Access control differentiation in trusted computer system Download PDFInfo
- Publication number
- US20070118901A1 US20070118901A1 US11/512,180 US51218006A US2007118901A1 US 20070118901 A1 US20070118901 A1 US 20070118901A1 US 51218006 A US51218006 A US 51218006A US 2007118901 A1 US2007118901 A1 US 2007118901A1
- Authority
- US
- United States
- Prior art keywords
- security
- trusted
- present
- operating system
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Definitions
- the present invention relates to the field of trusted computing systems.
- the XTS-300TM Trusted Computer System most recently manufactured by Getronics Government Solutions, LLC of Herndon, Va., has long been the only National Security Agency (NSA) evaluated high-assurance general-purpose computer system. Through careful design, the XTS-300 has been evaluated at the Class B3 level by the NSA according to its Trusted Computer System Evaluation Criteria (TCSEC), the teachings of which are incorporated herein by reference in their entirety.
- TCSEC Trusted Computer System Evaluation Criteria
- the B3 rating is proof that the system provides a very high level of security functionality.
- FIG. 1 provides a high-level overview of the requirements to achieve various TCSEC security classification levels.
- the TCSEC is also known more formally as the United States Department of Defense Standard Number 5200.28-STD, and is often colloquially referred to as the “Orange Boo”.
- the XTS-300 leverages its commodity hardware architecture to take advantage of frequent hardware advances in the Intel® x86 hardware base and in the SCSI subsystem.
- the XTS-300 is used as a platform upon which applications are built that filter data and enforce security policies. Filtering is a process which allows rules-based inspection and selection criteria to be applied to a variety of data, thus allowing approved data, where appropriate, to safely pass from one security classified level to another security classified level. Many of these programs have been called “Guards” because they guard one network from another using hardware enforced protections of the XTS-300 while still allowing selected data to flow through carefully architected and fully accredited logic paths between networks of differing levels.
- a preferred embodiment of the present invention is directed to a system and method that substantially obviates one or more of the problems due to limitations and disadvantages of the related art.
- It is an object of the present invention to create a trusted operating system comprising an application domain, in which trusted and untrusted applications can be executed; an operating system services layer, wherein the operating system services layer provides interfaces allowing applications written for at least one other operating system to be run in the trusted operating system, whereby the operating system services layer emulates the at least one other operating systems; a trusted system services layer; and a security kernel, for enforcing system security policy and integrity rules, and for providing basic operating system services, including facilitating user and administrator actions.
- It is another object of the present invention to create a trusted computer system comprising at least one processor, wherein each of the at least one processors supports a multi-domain architecture; at least one terminal, for facilitating operation of the trusted computer system; at least one data storage unit; at least one memory unit; and a secure operating system running on the trusted computing system, wherein the secure operating system utilizes the multi-domain architecture of the at least one processor to enforce process isolation.
- Another object of the present invention is to create a trusted operating system, capable of concurrently running a plurality of processes, which provides a subtype mechanism wherein the subtype mechanism allows additional access control differentiation beyond mandatory and discretionary access.
- Yet another object of the present invention is to implement a trusted operating system wherein four separate policies are enforced whenever any process attempts to access any file system object, the policies comprising a Mandatory Security Policy; a Mandatory Integrity Policy; a Discretionary Access Control Policy; and a Subtype Policy.
- Still another object of the present invention is to create a trusted operating system which prevents a first process from learning about the existence or status of a second higher classified process by limiting the number and speed of covert storage channels.
- the present invention is preferably a general-purpose computing system in that it can be used for a wide range of applications, from multi-user workstation to trusted guard to trusted server.
- a preferred embodiment of the present invention leverages some of the hardware architecture and operating system kernel design techniques used in the XTS-300, the preferred embodiment of the present invention described herein has been rearchitected to add support for contemporary hardware and a robust set of Linux® Application Programming Interfaces (APIs) and Application Binary Interfaces (ABIs) so that the thousands of programs and commands written for Linux, in their binary form and without porting or recompilation, can be copied and run under the protection of the security architecture implemented in a preferred embodiment of the present invention.
- APIs Application Programming Interfaces
- ABSIs Application Binary Interfaces
- a preferred embodiment of the present invention allows other, trusted programs to access APIs unique to the present invention, thereby providing access to and, in certain situations, control over some or all security aspects of a preferred embodiment of the present invention.
- the present invention is wholly a creation of the inventors and assignee hereto and uses no Linux kernel code. It is therefore a highly secure, Linux-compatible environment enjoying both the freedom to run open source applications and the security associated with a guarded, proprietary system.
- a preferred embodiment of the present invention employs an operating system called the Secure Trusted Operating Program (STOPTM).
- STOPTM Secure Trusted Operating Program
- a preferred embodiment of the present invention is architected to support Linux ABIs/APIs and security enforcing APIs and commands that are unique. This preferably allows the present invention to provide unparalleled security while also permitting the present invention to run more standard, commercially available applications without the need for substantial modifications.
- a preferred embodiment of the present invention provides multilevel secure Trusted Security Functions (TSFs), which are to the Common Criteria for Information Technology Security Evaluation approximately what Trusted Computing Base (TCB) was to the TCSEC, that allow simultaneous processing and storage of data at different classifications or sensitivities and needs-to-know (categories/compartments) by users with different clearances and needs-to-know.
- TSFs Secure Trusted Security Functions
- a preferred embodiment of the present invention can eliminate arbitrary over-classifying of data.
- a preferred embodiment of the present invention is designed for high robustness and/or high risk environments, which implies not only incorporation of particular security features, but a very high level of assurance.
- This level of assurance allows a preferred embodiment of the present invention to be accredited to handle data at a wide range of sensitivities (e.g., classification levels) in a wide range of operational environments.
- the present invention is designed to provide a high level of security while running many kinds of applications, including specialized applications such as network guards or filters for handling the semi- or fully automatic downgrading and/or down flow of information.
- FIG. 1 is a table providing a high-level overview of the requirements to achieve the various TCSEC security classification levels.
- FIG. 2 is a table illustrating the minimum TCSEC rating a system should have to allow users within a given range of authorizations to access data within a given range of classifications.
- FIG. 3 is a block diagram illustrating the four domain architecture employed in a preferred embodiment of the present invention.
- FIG. 4 is a table providing a presently preferred hardware specification for a computer system used as part of a preferred embodiment of the present invention.
- the operating system component of a preferred embodiment of the present invention is a multiprogramming operating system that can support terminal connections for multiple users. In a presently preferred embodiment, up to 200 processes can run concurrently, each with up to four gigabytes of virtual memory.
- the operating system component of the present invention also preferably supports Linux APIs and can run, in a secure environment, most object or binary programs compiled on Linux without requiring modification of such object or binary programs.
- the present invention preferably provides an X-Windows graphical user interface (GUI) outside the Trusted Security Functions (TSF), which can be made available at a console for work by untrusted users.
- GUI X-Windows graphical user interface
- TSF Trusted Security Functions
- a preferred embodiment of the present invention also permits network connectivity by building TCP/IP and Ethernet protocols (10BaseT/100BaseT) into the TSF, while also supporting the implementation of network servers (e.g., SMTP, HTTP, and the like) outside of the TSF.
- network servers e.g., SMTP, HTTP, and the like.
- attachments within the same network must currently be single-level, while multiple networks can each be at different levels.
- a preferred embodiment of the present invention implements all currently accessible windows on a given display at the same security level. Although a preferred embodiment of the present invention does not support multi-level cut-and-paste due to security concerns and possible processor overhead, it should be appreciated by one skilled in the art that such functionality can be implemented without departing from the spirit or the scope of the present invention.
- a preferred embodiment of the present invention implements a trusted path mechanism, preferably implemented as a Secure Attention Key (SAK), for execution of commands at other security levels. Such commands are preferably entered through a trusted command interface. Initiation of the trusted path causes suspension of the GUI, and absolutely isolates the trusted command interface from the GUI environment.
- SAK Secure Attention Key
- a preferred embodiment of the present invention is based around a combination of a multilevel secure operating system and a customized Intel x86 hardware base.
- the operating system component of the present invention preferably provides mandatory access control that allows for both a security (MAC) and integrity (MIC) policy.
- the mandatory security policy enforced by a preferred embodiment of the present invention is reflective of the Bell and LaPadula security model, as described in D. Bell and L. LaPadula; “ Secure computer systems: Mathematical Foundation ,” ESD-TR-73-278, Vol. 1, Mitre Corp, 1973, the teachings of which are incorporated herein by reference in their entirety.
- a preferred embodiment of the present invention provides a mandatory integrity policy (which is required by medium- and high-robustness profiles), an extra subtype policy, and a familiar, Linux-like operating environment.
- a mandatory integrity policy which is required by medium- and high-robustness profiles
- an extra subtype policy and a familiar, Linux-like operating environment.
- the integrity model of a preferred embodiment of the present invention can be used for advanced virus protection.
- the mandatory integrity policy is reflective of the Biba integrity model, as described in Biba, K. J., “ Integrity considerations for Secure computer Systems ”, ESD-TR 76-372, MITRE Co., April 1977, the teachings of which are incorporated herein by reference in their entirety.
- a preferred embodiment of the present invention also implements discretionary access control (DAC) and provides user identification and authentication means needed for user ID-based policy enforcement.
- DAC discretionary access control
- a preferred embodiment of the present invention provides a policy mechanism, called “subtypes,” which can be used in a customer-specific way in conjunction with MAC, MIC, and DAC controls.
- each device, process, and file system object has a subtype attribute.
- Each process has 3 lists of accessible subtypes, one for each the aforementioned device, process and file system object types. In order to access an object of one of those types, a process must have the object's subtype on its own subtype list.
- DAC MAC
- MIC MIC
- Subtype DAC, MAC, MIC and Subtype
- a particular file might be restricted by a selection of these access controls to being changeable only by a process of a certain classification but even beyond that, by only a certain group and even by a certain user.
- the TSF exhibits several strong architectural characteristics, including: minimization, layering, abstraction, and data hiding.
- minimization refers to an operating system design technique wherein non-critical non-security functionality is kept apart from the TSF to reduce overall system complexity. This can allow humans to successfully evaluate complex data processing programs and systems.
- Layering refers to an operating system design technique wherein the TSF employs a modularized design with “layers” used as an organizing principle. This provides clearly defined interfaces, individual layer testing, facilitates a locking hierarchy, and points out the layers of data abstraction, as data which is more abstract would be at higher layers.
- Abstraction refers to an operating system design technique wherein more complex data structures are built from less complicated ones.
- Abstraction is used to hide unneeded or undesired details which may be appropriate at one layer of the Operating System from processes or modules which operate within a higher layer.
- Data hiding refers to an operating system design technique wherein the scope of data is minimized. Data which is hidden is visible to only those modules for which visibility is necessary. Data hiding is used to force the use of abstraction.
- the TSF makes use of hardware features to provide process separation and TSF isolation and has been designed and implemented to resist penetration. The system design is based on a formal security model and other high-level design documentation.
- the operating system component of the present invention has preferably been architected around security.
- every level of the system including each database, application, user, terminal, and process, has a level of security associated with it.
- the operating system portion of a preferred embodiment of the present invention utilizes an architecture referred to as “rings of isolation” (also referred to as “domains”), in which the inner rings cooperate to provide security functionality, and the outer rings depend on the inner rings for proper functioning.
- the multi-domain architecture illustrated in FIG. 3 prevents terminals from simultaneously connecting to processes at different MAC levels.
- a user To connect to a process with a different level, a user must first disconnect, or the operating system must disconnect the user, from any processes currently running.
- the operating system is essentially tamperproof due to this domain architecture and process isolation.
- a preferred embodiment of the present invention is so secure that even processes are restricted by domain privileges, and are allowed to send messages only to those other processes that have the same or lesser domain privileges. All of these conventions are enforced within the system itself.
- Domain 0 of FIG. 3 which represents the Security Kernel and which operates at the system's highest level of security, is inaccessible by users. Input/Output device drivers reside at this level, thereby preventing unauthorized access to the device drivers.
- a preferred embodiment of the present invention further separates administrator and operator roles using an integrity policy.
- the system enforces the “principle of least privilege” (i.e., users should have no more authorization than that required to perform their functions) for administrator and operator roles. All actions performed by privileged (and normal) users can be audited. The audit log is protected from modification using integrity and subtype mechanisms.
- the operating system component of a preferred embodiment of the present invention also provides an alarm mechanism to detect any accumulation of events that indicate an imminent violation of the security policy, such as a series of unsuccessful logins or inaccurate passwords. Individual accountability is provided with an auditing capability. Data scavenging is prevented through object reuse (i.e., residual data) prevention mechanisms.
- the multilevel security features of a preferred embodiment of the present invention's TSF enforce trusted labeling, a mandatory access control policy, and a mandatory integrity control policy that enable the system to allow users with different clearances and needs-to-know to simultaneously store and process information that exists at different classification levels or sensitivities and/or in different need-to-know categories or compartments.
- Authorized users can process information at its actual sensitivity level, helping to eliminate the arbitrary over-classification of information that often occurs in system-high operations.
- the present invention is preferably designed to meet EAL5 assurance requirements, with portions of the EAL6 and EAL7 requirements also met. For the most part, these EAL requirements are similar to the Orange Book (i.e., TCSEC) B3 assurance requirements.
- TCSEC Orange Book
- the security functionality required for B3 is preferably achieved, but the exact set of functional requirements met by a preferred embodiment of the present invention will depend on the protection profiles put forward by customers.
- a system that is rated as a Class B3 system provides a TCB/TSF that provides the security features required by the TCSEC.
- the NCSC's Guidance for Applying the DoD TCSEC in Specific Environments includes a “Security Index Matrix for Open Security Environments”.
- the terms Open and Closed indicate the strictness of security controls in the system's development environment, not its operational environment.
- FIG. 2 shows the minimum TCSEC rating a system should have to allow users within a given range of authorizations to access data within a given range of classifications.
- Class B1 systems e.g., compartmented-mode workstations
- the operating system component of the present invention preferably comprises a Trusted Computing Base (TCB) and Trusted Security Functions (TSF), which enforce security policy, and untrusted commands, which generally provide user interfaces familiar to Unix and/or Linux users.
- TLB Trusted Computing Base
- TSF Trusted Security Functions
- a preferred embodiment of the present invention leverages the Pentium® or XeonTM CPU's four-domain chip architecture to reinforce the operating system component's mandatory security and integrity access control policies by physically isolating security domains in hardware, thereby preventing system processes from tampering with each other.
- the domain CPU architecture restricts access to segments, pages, and instructions. As illustrated in FIG. 3 , there are four levels: Domain 0 to Domain 3 , with Domain 0 being the most privileged level.
- the CPU also provides multiple checks for protection violations within memory references.
- non-TSF processes and TSF processes are mapped into the multi-domain CPU architecture in the same manner. Both types of processes map to the same Domain 0 Kernel, Domain 1 Trusted System Services, and Domain 2 Operating System Services. More information on the processes in each domain follows.
- the Security Kernel contains most of the Reference Monitor that enforces system security policy. Small and well structured to enable complete security evaluation, testing, and verification, the Kernel provides basic OS services. Such services include, but are not limited to, resource management, process scheduling, interrupt and trap handling, auditing, and mandatory and discretionary access policy enforcement for processes and device objects. To facilitate such enforcement, I/O device drivers preferably reside in Domain 0 . Domain 0 processes cannot be directly called or modified by users.
- TSS Trusted System Services
- TSS provides networking, I/O, file system management, and file system object discretionary access policy enforcement for both trusted and untrusted system processes and applications.
- the TSS environment is controlled by the Security Kernel, which enforces mandatory security, mandatory integrity, and subtype control on the TSS and all other operations. Domain 1 processes cannot be directly called or modified by users.
- OSS provides APIs expected by applications written for Linux or using Linux tools. OSS also provides proprietary APIs to help manage and use trusted aspects of a preferred embodiment of the present invention. OSS translates the APIs into trusted operating system primitives provided by the Kernel and TSS. OSS also manages some application signals and process groups. Due to the security architecture of a preferred embodiment of the present invention, applications can interface with only the OSS portion of the TSF—they cannot call TSS or the Kernel directly.
- Trusted Software includes all security-relevant functions that operate as independent services (e.g., a security map editor). Some Trusted Software functions may bypass the TSF's mandatory and/or discretionary controls, e.g., to enable high-integrity users to establish/modify the file system hierarchy to accommodate use of high-integrity nodes. Trusted Software functions are available to system operators and administrators for security-related housekeeping, including, but not limited to user registration/removal, password assignment, system installation/configuration, and privileged tasks not supported by other operating system components. A few Trusted Software functions, such as application session start-up, are available to Domain 3 users.
- a Software Development Environment that enables developers to write their own untrusted applications.
- C is the programming language used for such untrusted applications, although other languages and shells supported by Linux could be used.
- Untrusted commands and programs are distributed with the operating system for administration of the system.
- a preferred embodiment of the present invention implements trusted databases which contain sensitive user and group access, session control, and print queue information which is protected from unauthorized modification by unprivileged processes.
- Trusted databases can be manipulated only by user-developed trusted processes, or trusted editors used by system/security administrators.
- the operating systems component implements a Reference Monitor.
- the Reference Monitor enforces authorized access relationships between system subjects such as trusted and untrusted processes acting on a user's behalf to perform accesses, or the like, and system objects, such as file system objects, devices, semaphores, sockets, processes, and the like.
- Trusted system subjects are used mainly for functions that manipulate the system's trusted databases or perform strictly controlled circumventions of the TSF's mandatory and/or discretionary access rules.
- a typical example of a trusted process is a Regrader (reclassifier/relabeller) process in a Trusted Guard. Except for those few processes that must update a trusted database or bypass the operating system component's access controls, untrusted subjects can be relied upon to perform most application functions.
- a Reference Monitor compares each attempt by a subject to reference, or access, an object against a list of reference types (including read, write, and/or execute) the subject is authorized to perform on that object.
- the Reference Monitor's access validation mechanism is invoked for every reference by a subject to an object, thus preventing any unauthorized accesses.
- the Reference Monitor's access control/validation mechanism is programmed to be tamperproof.
- the Reference Monitor is implemented in the TSF, which derives from the Intel CPU's multi-domain isolation mechanisms the absolute separation of the Reference Monitor from Domain 2 and Domain 3 functions and applications running on the system.
- All software processes on the present invention are preferably isolated from one another by the Security Kernel's enforcement of the Bell-LaPadula security and Biba integrity rules. Processes may only access information they dominate, and the entire TSF is protected from unauthorized tampering via the following mechanisms:
- Domain isolation protects code and data in the Kernel from modification by processes in any other Domain and protects the code and data in each Domain from modification by users/processes in any less privileged Domain.
- the system's mandatory integrity mechanism sets integrity levels of TSF program files, databases, and most trusted software processes to operator or higher and excludes untrusted users (subjects) from the TSF by limiting their maximum integrity to less than that of TSF objects.
- Trusted Software processes (like most applications) keep their working data in process-local data areas that cannot be shared by other processes or accessed by untrusted software.
- the Kernel prevents any process from directly accessing another process' program text and local data and prevents untrusted processes from modifying trusted processes and their data.
- the operator before a terminal can communicate with the TSF, the operator must press the Secure Attention Key (SAK), which temporarily disconnects the terminal from any untrusted processor processes. This ensures that the user is communicating with the TSF, not with an untrusted process spoofing a TSF process. Any unlocked terminal used by trusted software is protected from untrusted software and other users' processes by a terminal-unique device subtype.
- the secure server detaches the terminal's subtype from all untrusted processes associated with the session. Terminal access to untrusted processes is restored only after the user explicitly exits the trusted environment.
- Subtypes are used like tokens; to access an object on the system, a subject must possess the object subtype for that object.
- the system's subtype mechanism is used by the Kernel to restrict access to processes, trusted databases, and devices.
- the primary use of subtypes is to provide control over the Trusted Path; when the SAK is pressed, the Server changes the subtype of the terminal to prevent any untrusted process from accessing it.
- Subtypes are also used by the file system management (FSM) process to assure that FSM gets exclusive access to the file object. When it accesses the file object, FSM resets the subtype to one to which only FSM has access. After it finishes processing the file, FSM resets the file to its original subtype.
- FSM file system management
- subtypes are used to protect the system's trusted databases, by giving only trusted programs the appropriate subtypes needed to access the databases.
- Each object in a preferred embodiment of the present invention is referenced by a unique identifier, and has its own set of access and status information (including subtypes) to implement non-hierarchical mandatory access controls based on need-to-know, and mandatory and discretionary access attributes.
- An object's mandatory access information includes its mandatory security and integrity levels and categories or compartments; this information provides the basis on which the Kernel makes mandatory access control decisions related to the object.
- Subjects in a preferred embodiment of the present invention can only reference objects according to the NCSC-approved Bell-LaPadula formal mathematical model of computer security policy.
- This policy is implemented by a set of security rules designed to protect data from unauthorized access.
- the mathematical model operates as follows:
- Subject may read or execute object only when subject's security level dominates objects.
- Subject may write object only when object's security level dominates subjects.
- the present invention's Security*Property implementation preferably allows subject to write object only when subject and object are at the same security level. This prevents lower level subjects from writing higher-level objects they cannot later access.
- a preferred embodiment of the present invention supports 16 hierarchical security classifications and 64 independent non-hierarchical “need-to-know” security categories/compartments.
- a preferred embodiment of the present invention enforces K. J. Biba's integrity policy, a corollary to the Bell-LaPadula model, which enforces the system's mandatory integrity rules. Just as the system's mandatory security rules protect information from unauthorized disclosure, the system's mandatory integrity rules protect information from unauthorized modification.
- the system's mandatory integrity policy enables the security administrator or developer to establish highly protected execution domains in which executables may read the files they need while those files remain protected from modification by unauthorized logic or malicious code.
- a preferred embodiment of the present invention presently supports 8 hierarchical role-based integrity classifications and 16 independent non-hierarchical need to-know integrity categories/compartments. Briefly, the integrity model operates as follows:
- Subject may read or execute object (e.g., data file) only when object's integrity level dominates subjects.
- object e.g., data file
- Subject may write object only when subject's integrity level dominates object's.
- the present invention's Integrity*Property preferably allows a subject to write an object only when the subject and object integrity levels are the same, preventing higher-integrity subjects from writing lower-integrity objects (which could be considered trustworthy by other software) they cannot later access.
- the present invention preferably enforces a discretionary access policy whereby access to an object is assigned by the object's owner according to the identity of subjects associated with the object and/or groups to which those subjects belong.
- An object's discretionary access information includes up to at least 7 user and group identifiers (including the object's owning user and owning group), and their individual read, write, and execute permissions. Read, write and execute permissions are also provided for “world”.
- Subject may access object in only those mode(s) granted by object's owner.
- Each object is assigned read, write, execute permissions for object's owner, owner's group(s), members of other groups allowed by owner, and all others (“world” permissions).
- the TSF enforces the following series of rules to determine whether a subject should be granted discretionary access to an object:
- Subtypes are non-hierarchical. They can employed by trusted applications to separate applications (e.g., such as stages in a guard), even if those applications run with the same owner and at the same mandatory level.
- a string of bits can be effectively communicated from the high security process to the low security process by repeating this sequence over and over, with the high security process removing a file when it wants the low security process's creation attempt to succeed.
- Such a communications means can be highly effective, and can be used to circumvent mandatory security policies or the like.
- Covert channels are generally difficult to use, and low assurance systems are not required to document or reduce them.
- a preferred embodiment of the present invention is designed to be high assurance and to offer protection in highly hostile environments, therefore the present invention preferably incorporates mechanisms to reduce the number and capacity (i.e., speed) of covert channels, and potential covert channels are documented.
- Mechanisms employed in a preferred embodiment of the present invention which help to protect against covert channel use include, but are not limited to, introducing timing delays and obscuring status values in situations which might be used as a covert channel.
- a preferred embodiment of the present invention preferably leverages the significant processing power and internal architecture of the Intel “Prestonia” XeonTM2+GHz CPUs to improve performance.
- FIG. 4 provides more detail on a preferred standard hardware configuration of the present invention, including hardware peripherals which the operating system component of a preferred embodiment of the present invention will support.
- a preferred embodiment of the present invention can be embodied in tower case or rack mounted configurations, or in high density, TEMPEST, and Zone embodiments. Careful configuration control and testing are applied to assure delivery of a consistent, reliable, and secure product.
- Trusted applications on a previous embodiment of the present invention have significantly aided in the maturation of multilevel security (MLS) to the point where MLS systems are being deployed widely in operational configurations at low risk and with significant payoff.
- MLS multilevel security
- Numerous certification and accreditation efforts have been completed of now-operational Trusted Applications—several developed by applicants—that use the previous embodiment as their high-assurance platform.
- Many of these applications are Trusted Guards designed to allow the strictly controlled sharing of information among networks operating at different sensitivity levels (e.g., Classifications) and/or “needs-to-know” (categories or compartments).
- a preferred embodiment of the present invention can also be designed to be backward compatible with these older trusted applications.
- two “enabling technologies” for building Trusted Guard applications for present invention the DataSync Guard and the Standard Automated Guard Environment (SAGE), have also been developed.
- the customizable DataSync GuardTM represents a new generation of Trusted Guard application, the first-ever TCP/IP socket-based High Assurance Guard.
- the DataSync Guard strictly enforces the security policies governing the connection-oriented transfer of data between systems that reside on separate system-high networks at different classification (or sensitivity) levels.
- the DataSync Guard achieves near-real-time data transfers.
- the DataSync Guard is communications protocol independent, and can handle ASCII, HTML, XML, well-formed binary and other data flowing between any two systems that can transfer their data over socket connections to the Guard.
- the DataSync Guard reduces the latency delay of transactions during data throughput.
- the DataSync Guard can support complex filter profiles to mediate data transfers among databases on up to four different single-level system-high networks.
- the DataSync Guard can filter ASCII and/or well-formed binary data, checking both the correct formatting of the header of the database transaction, and performing security checks on the content of each data element.
- the DataSync Guard can implement multiple “if-then-else” actions and sophisticated dirty word/clean word searches.
- SAGETM Standard Automated Guard Environment
- SAGE is a set of design concepts, interface definitions, executable code, and accreditation documentation.
- SAGE is a development environment for building connectionless (store-and-forward) Trusted Guards, alternatively referred to as trusted gateways.
- SAGE minimizes the coding required to implement Trusted Guards by providing the common elements (processes, libraries, etc.) that most Guards require. SAGE eases certification and accreditation of these Guards by minimizing the Guard's TSSF. SAGE provides a well-structured framework within which programmers can build Trusted Guard applications more quickly and easily than developing those applications “from scratch”. The general objective of a SAGE Guard is to securely, automatically, and efficiently allow a restricted flow of data between two systems or networks with different security characteristics. While the security policy can be customized by the Guard developer, SAGE has been designed to accurately enforce that policy and to protect data from unauthorized disclosure or modification while the data resides on a preferred embodiment of the present invention.
- SAGE has been developed in standard ANSI C and documented using trusted software principles to ease the burden of accreditation.
- SAGE guards have already been accredited, including guards for the United States Department of Defense, the United States State Department, and the United States Air Force.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
- This application claims priority from Provisional U.S. Patent Application Ser. No. 60/388,738, filed Jun. 17, 2002, which is hereby incorporated by reference in its entirety.
- This application includes material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office files or records, but otherwise reserves all copyright rights whatsoever.
- The present invention relates to the field of trusted computing systems.
- The XTS-300™ Trusted Computer System, most recently manufactured by Getronics Government Solutions, LLC of Herndon, Va., has long been the only National Security Agency (NSA) evaluated high-assurance general-purpose computer system. Through careful design, the XTS-300 has been evaluated at the Class B3 level by the NSA according to its Trusted Computer System Evaluation Criteria (TCSEC), the teachings of which are incorporated herein by reference in their entirety. The B3 rating is proof that the system provides a very high level of security functionality.
FIG. 1 provides a high-level overview of the requirements to achieve various TCSEC security classification levels. The TCSEC is also known more formally as the United States Department of Defense Standard Number 5200.28-STD, and is often colloquially referred to as the “Orange Boo”. - Because of the high level of security functionality provided by the XTS-300, it has provided defense, intelligence, diplomatic, law enforcement, and other communities with an extremely secure system running on the latest generation of Intel server-class hardware. In addition, the XTS-300 leverages its commodity hardware architecture to take advantage of frequent hardware advances in the Intel® x86 hardware base and in the SCSI subsystem.
- The XTS-300 is used as a platform upon which applications are built that filter data and enforce security policies. Filtering is a process which allows rules-based inspection and selection criteria to be applied to a variety of data, thus allowing approved data, where appropriate, to safely pass from one security classified level to another security classified level. Many of these programs have been called “Guards” because they guard one network from another using hardware enforced protections of the XTS-300 while still allowing selected data to flow through carefully architected and fully accredited logic paths between networks of differing levels.
- While the XTS-300 has been successful, the number and nature of the computer software programs which can be run on the XTS-300 is limited by its operating system.
- Accordingly, a preferred embodiment of the present invention is directed to a system and method that substantially obviates one or more of the problems due to limitations and disadvantages of the related art.
- It is an object of the present invention to create a trusted operating system comprising an application domain, in which trusted and untrusted applications can be executed; an operating system services layer, wherein the operating system services layer provides interfaces allowing applications written for at least one other operating system to be run in the trusted operating system, whereby the operating system services layer emulates the at least one other operating systems; a trusted system services layer; and a security kernel, for enforcing system security policy and integrity rules, and for providing basic operating system services, including facilitating user and administrator actions.
- It is another object of the present invention to create a trusted computer system comprising at least one processor, wherein each of the at least one processors supports a multi-domain architecture; at least one terminal, for facilitating operation of the trusted computer system; at least one data storage unit; at least one memory unit; and a secure operating system running on the trusted computing system, wherein the secure operating system utilizes the multi-domain architecture of the at least one processor to enforce process isolation.
- It is yet another object of the present invention to provide a security policy enhancement system, comprising at least one processor, wherein at least one of the at least one processors implements a multi-domain architecture; at least one Random Access Memory unit; a secure operating system, wherein the secure operating system operates at least two different security classification levels, with data existing in each of the security classification levels; and, at least one data security verification means, wherein the data security verification means performs security checks on the content of data to determine if the data can be transferred by the secure operating system from one classification level to another.
- It is still another object of the present invention to provide a trusted operating system which emulates another operating system by allowing an application program written for the other operating system to execute on the trusted operating system without requiring changes to the application program.
- Another object of the present invention is to create a trusted operating system, capable of concurrently running a plurality of processes, which provides a subtype mechanism wherein the subtype mechanism allows additional access control differentiation beyond mandatory and discretionary access.
- Yet another object of the present invention is to implement a trusted operating system wherein four separate policies are enforced whenever any process attempts to access any file system object, the policies comprising a Mandatory Security Policy; a Mandatory Integrity Policy; a Discretionary Access Control Policy; and a Subtype Policy.
- Still another object of the present invention is to create a trusted operating system which prevents a first process from learning about the existence or status of a second higher classified process by limiting the number and speed of covert storage channels.
- Additional features and advantages of the invention are set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
- The present invention is preferably a general-purpose computing system in that it can be used for a wide range of applications, from multi-user workstation to trusted guard to trusted server. Although a preferred embodiment of the present invention leverages some of the hardware architecture and operating system kernel design techniques used in the XTS-300, the preferred embodiment of the present invention described herein has been rearchitected to add support for contemporary hardware and a robust set of Linux® Application Programming Interfaces (APIs) and Application Binary Interfaces (ABIs) so that the thousands of programs and commands written for Linux, in their binary form and without porting or recompilation, can be copied and run under the protection of the security architecture implemented in a preferred embodiment of the present invention. Thus, a preferred embodiment of the present invention provides an emulated open source environment where ultra-secure functions can be performed in a trusted manner.
- In addition, a preferred embodiment of the present invention allows other, trusted programs to access APIs unique to the present invention, thereby providing access to and, in certain situations, control over some or all security aspects of a preferred embodiment of the present invention. While providing ABI/API compatibility with Linux (i.e. emulating Linux), the present invention is wholly a creation of the inventors and assignee hereto and uses no Linux kernel code. It is therefore a highly secure, Linux-compatible environment enjoying both the freedom to run open source applications and the security associated with a guarded, proprietary system.
- A preferred embodiment of the present invention employs an operating system called the Secure Trusted Operating Program (STOP™). Unlike earlier approaches, a preferred embodiment of the present invention is architected to support Linux ABIs/APIs and security enforcing APIs and commands that are unique. This preferably allows the present invention to provide unparalleled security while also permitting the present invention to run more standard, commercially available applications without the need for substantial modifications.
- A preferred embodiment of the present invention provides multilevel secure Trusted Security Functions (TSFs), which are to the Common Criteria for Information Technology Security Evaluation approximately what Trusted Computing Base (TCB) was to the TCSEC, that allow simultaneous processing and storage of data at different classifications or sensitivities and needs-to-know (categories/compartments) by users with different clearances and needs-to-know. Unlike systems which operate in system-high mode, which is typically defined as a security mode of operation wherein each user, with direct or indirect access to a specific information system, its peripherals, remote terminals, or remote hosts, has all of the following: (a) valid security clearance for all information within the information system; (b) formal access approval and signed nondisclosure agreements for all the information stored and/or processed (including all compartments, subcompartments and/or special access programs); and (c) valid need-to-know for some of the information contained within the information system, a preferred embodiment of the present invention can eliminate arbitrary over-classifying of data.
- A preferred embodiment of the present invention is designed for high robustness and/or high risk environments, which implies not only incorporation of particular security features, but a very high level of assurance. This level of assurance allows a preferred embodiment of the present invention to be accredited to handle data at a wide range of sensitivities (e.g., classification levels) in a wide range of operational environments. The present invention is designed to provide a high level of security while running many kinds of applications, including specialized applications such as network guards or filters for handling the semi- or fully automatic downgrading and/or down flow of information.
- It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
- The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
- In the drawings:
-
FIG. 1 is a table providing a high-level overview of the requirements to achieve the various TCSEC security classification levels. -
FIG. 2 is a table illustrating the minimum TCSEC rating a system should have to allow users within a given range of authorizations to access data within a given range of classifications. -
FIG. 3 is a block diagram illustrating the four domain architecture employed in a preferred embodiment of the present invention. -
FIG. 4 is a table providing a presently preferred hardware specification for a computer system used as part of a preferred embodiment of the present invention. - Reference will now be made in detail to preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
- The operating system component of a preferred embodiment of the present invention is a multiprogramming operating system that can support terminal connections for multiple users. In a presently preferred embodiment, up to 200 processes can run concurrently, each with up to four gigabytes of virtual memory. The operating system component of the present invention also preferably supports Linux APIs and can run, in a secure environment, most object or binary programs compiled on Linux without requiring modification of such object or binary programs. In addition, the present invention preferably provides an X-Windows graphical user interface (GUI) outside the Trusted Security Functions (TSF), which can be made available at a console for work by untrusted users.
- A preferred embodiment of the present invention also permits network connectivity by building TCP/IP and Ethernet protocols (10BaseT/100BaseT) into the TSF, while also supporting the implementation of network servers (e.g., SMTP, HTTP, and the like) outside of the TSF. In an embodiment of the present invention expected to pass Common Criteria evaluation, attachments within the same network must currently be single-level, while multiple networks can each be at different levels.
- A preferred embodiment of the present invention implements all currently accessible windows on a given display at the same security level. Although a preferred embodiment of the present invention does not support multi-level cut-and-paste due to security concerns and possible processor overhead, it should be appreciated by one skilled in the art that such functionality can be implemented without departing from the spirit or the scope of the present invention. A preferred embodiment of the present invention implements a trusted path mechanism, preferably implemented as a Secure Attention Key (SAK), for execution of commands at other security levels. Such commands are preferably entered through a trusted command interface. Initiation of the trusted path causes suspension of the GUI, and absolutely isolates the trusted command interface from the GUI environment.
- A preferred embodiment of the present invention is based around a combination of a multilevel secure operating system and a customized Intel x86 hardware base. The operating system component of the present invention preferably provides mandatory access control that allows for both a security (MAC) and integrity (MIC) policy. The mandatory security policy enforced by a preferred embodiment of the present invention is reflective of the Bell and LaPadula security model, as described in D. Bell and L. LaPadula; “Secure computer systems: Mathematical Foundation,” ESD-TR-73-278, Vol. 1, Mitre Corp, 1973, the teachings of which are incorporated herein by reference in their entirety.
- Beyond the minimal requirements for a TCSEC B3 or Common Criteria system, a preferred embodiment of the present invention provides a mandatory integrity policy (which is required by medium- and high-robustness profiles), an extra subtype policy, and a familiar, Linux-like operating environment. By way of example, without intending to limit the present invention, the integrity model of a preferred embodiment of the present invention can be used for advanced virus protection. The mandatory integrity policy is reflective of the Biba integrity model, as described in Biba, K. J., “Integrity considerations for Secure computer Systems”, ESD-TR 76-372, MITRE Co., April 1977, the teachings of which are incorporated herein by reference in their entirety.
- In addition to mandatory access control, a preferred embodiment of the present invention also implements discretionary access control (DAC) and provides user identification and authentication means needed for user ID-based policy enforcement. A preferred embodiment of the present invention provides a policy mechanism, called “subtypes,” which can be used in a customer-specific way in conjunction with MAC, MIC, and DAC controls. In this embodiment, each device, process, and file system object has a subtype attribute. Each process has 3 lists of accessible subtypes, one for each the aforementioned device, process and file system object types. In order to access an object of one of those types, a process must have the object's subtype on its own subtype list.
- These four mechanisms (DAC, MAC, MIC and Subtype) can be used in various application designer chosen combinations to restrict or permit access to various data objects, processes, devices and the like. A particular file, for example, might be restricted by a selection of these access controls to being changeable only by a process of a certain classification but even beyond that, by only a certain group and even by a certain user.
- The TSF exhibits several strong architectural characteristics, including: minimization, layering, abstraction, and data hiding. As used herein, minimization refers to an operating system design technique wherein non-critical non-security functionality is kept apart from the TSF to reduce overall system complexity. This can allow humans to successfully evaluate complex data processing programs and systems. Layering, as used herein, refers to an operating system design technique wherein the TSF employs a modularized design with “layers” used as an organizing principle. This provides clearly defined interfaces, individual layer testing, facilitates a locking hierarchy, and points out the layers of data abstraction, as data which is more abstract would be at higher layers. Abstraction, as used herein, refers to an operating system design technique wherein more complex data structures are built from less complicated ones. Abstraction is used to hide unneeded or undesired details which may be appropriate at one layer of the Operating System from processes or modules which operate within a higher layer. Data hiding, as used herein, refers to an operating system design technique wherein the scope of data is minimized. Data which is hidden is visible to only those modules for which visibility is necessary. Data hiding is used to force the use of abstraction. The TSF makes use of hardware features to provide process separation and TSF isolation and has been designed and implemented to resist penetration. The system design is based on a formal security model and other high-level design documentation.
- Unlike most modern operating systems, the operating system component of the present invention has preferably been architected around security. Thus, every level of the system, including each database, application, user, terminal, and process, has a level of security associated with it. As illustrated in
FIG. 3 , the operating system portion of a preferred embodiment of the present invention utilizes an architecture referred to as “rings of isolation” (also referred to as “domains”), in which the inner rings cooperate to provide security functionality, and the outer rings depend on the inner rings for proper functioning. - The multi-domain architecture illustrated in
FIG. 3 prevents terminals from simultaneously connecting to processes at different MAC levels. To connect to a process with a different level, a user must first disconnect, or the operating system must disconnect the user, from any processes currently running. The operating system is essentially tamperproof due to this domain architecture and process isolation. In fact, a preferred embodiment of the present invention is so secure that even processes are restricted by domain privileges, and are allowed to send messages only to those other processes that have the same or lesser domain privileges. All of these conventions are enforced within the system itself. By way of example, without intending to limit the present invention, Domain 0 ofFIG. 3 , which represents the Security Kernel and which operates at the system's highest level of security, is inaccessible by users. Input/Output device drivers reside at this level, thereby preventing unauthorized access to the device drivers. - In addition to enforcing security using the domain architecture described above, a preferred embodiment of the present invention further separates administrator and operator roles using an integrity policy. The system enforces the “principle of least privilege” (i.e., users should have no more authorization than that required to perform their functions) for administrator and operator roles. All actions performed by privileged (and normal) users can be audited. The audit log is protected from modification using integrity and subtype mechanisms.
- The operating system component of a preferred embodiment of the present invention also provides an alarm mechanism to detect any accumulation of events that indicate an imminent violation of the security policy, such as a series of unsuccessful logins or inaccurate passwords. Individual accountability is provided with an auditing capability. Data scavenging is prevented through object reuse (i.e., residual data) prevention mechanisms.
- The multilevel security features of a preferred embodiment of the present invention's TSF enforce trusted labeling, a mandatory access control policy, and a mandatory integrity control policy that enable the system to allow users with different clearances and needs-to-know to simultaneously store and process information that exists at different classification levels or sensitivities and/or in different need-to-know categories or compartments. Authorized users can process information at its actual sensitivity level, helping to eliminate the arbitrary over-classification of information that often occurs in system-high operations.
- With respect to an embodiment of the present invention deployed or evaluated using the Common Criteria, the present invention is preferably designed to meet EAL5 assurance requirements, with portions of the EAL6 and EAL7 requirements also met. For the most part, these EAL requirements are similar to the Orange Book (i.e., TCSEC) B3 assurance requirements. The security functionality required for B3 is preferably achieved, but the exact set of functional requirements met by a preferred embodiment of the present invention will depend on the protection profiles put forward by customers.
- As illustrated in
FIG. 1 , a system that is rated as a Class B3 system provides a TCB/TSF that provides the security features required by the TCSEC. The NCSC's Guidance for Applying the DoD TCSEC in Specific Environments (known as “The Yellow Book”, the teachings of which are incorporated herein by reference in their entirety) includes a “Security Index Matrix for Open Security Environments”. By way of clarification, the terms Open and Closed indicate the strictness of security controls in the system's development environment, not its operational environment.FIG. 2 shows the minimum TCSEC rating a system should have to allow users within a given range of authorizations to access data within a given range of classifications. - The wider the range of classifications, the higher the rating the system needs to assure it will protect data. Class B1 systems (e.g., compartmented-mode workstations) provide too little assurance for many multilevel processing scenarios in which data ranges from Unclassified to Secret, or from Secret to Top Secret/SCI compartmented.
- The operating system component of the present invention preferably comprises a Trusted Computing Base (TCB) and Trusted Security Functions (TSF), which enforce security policy, and untrusted commands, which generally provide user interfaces familiar to Unix and/or Linux users.
- A preferred embodiment of the present invention leverages the Pentium® or Xeon™ CPU's four-domain chip architecture to reinforce the operating system component's mandatory security and integrity access control policies by physically isolating security domains in hardware, thereby preventing system processes from tampering with each other. The domain CPU architecture restricts access to segments, pages, and instructions. As illustrated in
FIG. 3 , there are four levels: Domain 0 toDomain 3, with Domain 0 being the most privileged level. The CPU also provides multiple checks for protection violations within memory references. - As illustrated in
FIG. 3 , non-TSF processes and TSF processes are mapped into the multi-domain CPU architecture in the same manner. Both types of processes map to the same Domain 0 Kernel,Domain 1 Trusted System Services, andDomain 2 Operating System Services. More information on the processes in each domain follows. - Domain 0: Security Kernel
- The most privileged domain, the Security Kernel contains most of the Reference Monitor that enforces system security policy. Small and well structured to enable complete security evaluation, testing, and verification, the Kernel provides basic OS services. Such services include, but are not limited to, resource management, process scheduling, interrupt and trap handling, auditing, and mandatory and discretionary access policy enforcement for processes and device objects. To facilitate such enforcement, I/O device drivers preferably reside in Domain 0. Domain 0 processes cannot be directly called or modified by users.
- Domain 1: Trusted System Services (TSS)
- TSS provides networking, I/O, file system management, and file system object discretionary access policy enforcement for both trusted and untrusted system processes and applications. The TSS environment is controlled by the Security Kernel, which enforces mandatory security, mandatory integrity, and subtype control on the TSS and all other operations.
Domain 1 processes cannot be directly called or modified by users. - Domain 2: Operating System Services (OSS)
- OSS provides APIs expected by applications written for Linux or using Linux tools. OSS also provides proprietary APIs to help manage and use trusted aspects of a preferred embodiment of the present invention. OSS translates the APIs into trusted operating system primitives provided by the Kernel and TSS. OSS also manages some application signals and process groups. Due to the security architecture of a preferred embodiment of the present invention, applications can interface with only the OSS portion of the TSF—they cannot call TSS or the Kernel directly.
- Domain 3: Application Domain
- If a process is running at low integrity and has no privileges, it is considered untrusted. These untrusted applications include the user commands and tools that are familiar to Linux/Unix users. Both trusted and untrusted applications execute in
Domain 3, and can only execute inDomain 3. - Trusted Software
- Trusted Software includes all security-relevant functions that operate as independent services (e.g., a security map editor). Some Trusted Software functions may bypass the TSF's mandatory and/or discretionary controls, e.g., to enable high-integrity users to establish/modify the file system hierarchy to accommodate use of high-integrity nodes. Trusted Software functions are available to system operators and administrators for security-related housekeeping, including, but not limited to user registration/removal, password assignment, system installation/configuration, and privileged tasks not supported by other operating system components. A few Trusted Software functions, such as application session start-up, are available to
Domain 3 users. - Untrusted Software and Runtime Libraries
- Also included as an optional part of a preferred embodiment of the present invention is a Software Development Environment that enables developers to write their own untrusted applications. Typically, “C” is the programming language used for such untrusted applications, although other languages and shells supported by Linux could be used. Untrusted commands and programs are distributed with the operating system for administration of the system.
- Trusted Databases
- A preferred embodiment of the present invention implements trusted databases which contain sensitive user and group access, session control, and print queue information which is protected from unauthorized modification by unprivileged processes. Trusted databases can be manipulated only by user-developed trusted processes, or trusted editors used by system/security administrators.
- Philosophy Of Protection
- To enforce the mandatory access policies that make a preferred embodiment of the present invention multilevel secure, the operating systems component implements a Reference Monitor. The Reference Monitor enforces authorized access relationships between system subjects such as trusted and untrusted processes acting on a user's behalf to perform accesses, or the like, and system objects, such as file system objects, devices, semaphores, sockets, processes, and the like.
- Trusted system subjects are used mainly for functions that manipulate the system's trusted databases or perform strictly controlled circumventions of the TSF's mandatory and/or discretionary access rules. A typical example of a trusted process is a Regrader (reclassifier/relabeller) process in a Trusted Guard. Except for those few processes that must update a trusted database or bypass the operating system component's access controls, untrusted subjects can be relied upon to perform most application functions.
- Reference Monitor
- A Reference Monitor compares each attempt by a subject to reference, or access, an object against a list of reference types (including read, write, and/or execute) the subject is authorized to perform on that object. The Reference Monitor's access validation mechanism is invoked for every reference by a subject to an object, thus preventing any unauthorized accesses. To ensure its integrity, the Reference Monitor's access control/validation mechanism is programmed to be tamperproof. The Reference Monitor is implemented in the TSF, which derives from the Intel CPU's multi-domain isolation mechanisms the absolute separation of the Reference Monitor from
Domain 2 andDomain 3 functions and applications running on the system. - TSF Assurance Mechanisms
- All software processes on the present invention are preferably isolated from one another by the Security Kernel's enforcement of the Bell-LaPadula security and Biba integrity rules. Processes may only access information they dominate, and the entire TSF is protected from unauthorized tampering via the following mechanisms:
- Domain Isolation
- Domain isolation protects code and data in the Kernel from modification by processes in any other Domain and protects the code and data in each Domain from modification by users/processes in any less privileged Domain.
- Integrity
- The system's mandatory integrity mechanism sets integrity levels of TSF program files, databases, and most trusted software processes to operator or higher and excludes untrusted users (subjects) from the TSF by limiting their maximum integrity to less than that of TSF objects.
- Process Isolation
- Trusted Software processes (like most applications) keep their working data in process-local data areas that cannot be shared by other processes or accessed by untrusted software. The Kernel prevents any process from directly accessing another process' program text and local data and prevents untrusted processes from modifying trusted processes and their data.
- Trusted Path
- In a preferred embodiment, before a terminal can communicate with the TSF, the operator must press the Secure Attention Key (SAK), which temporarily disconnects the terminal from any untrusted processor processes. This ensures that the user is communicating with the TSF, not with an untrusted process spoofing a TSF process. Any unlocked terminal used by trusted software is protected from untrusted software and other users' processes by a terminal-unique device subtype. When a user enters the TSF via the secure path, the secure server detaches the terminal's subtype from all untrusted processes associated with the session. Terminal access to untrusted processes is restored only after the user explicitly exits the trusted environment.
- Subtypes
- Subtypes are used like tokens; to access an object on the system, a subject must possess the object subtype for that object. The system's subtype mechanism is used by the Kernel to restrict access to processes, trusted databases, and devices. As described above, the primary use of subtypes is to provide control over the Trusted Path; when the SAK is pressed, the Server changes the subtype of the terminal to prevent any untrusted process from accessing it. Subtypes are also used by the file system management (FSM) process to assure that FSM gets exclusive access to the file object. When it accesses the file object, FSM resets the subtype to one to which only FSM has access. After it finishes processing the file, FSM resets the file to its original subtype. Finally, subtypes are used to protect the system's trusted databases, by giving only trusted programs the appropriate subtypes needed to access the databases.
- Mandatory Security Policy
- Each object in a preferred embodiment of the present invention is referenced by a unique identifier, and has its own set of access and status information (including subtypes) to implement non-hierarchical mandatory access controls based on need-to-know, and mandatory and discretionary access attributes. An object's mandatory access information includes its mandatory security and integrity levels and categories or compartments; this information provides the basis on which the Kernel makes mandatory access control decisions related to the object.
- Subjects in a preferred embodiment of the present invention can only reference objects according to the NCSC-approved Bell-LaPadula formal mathematical model of computer security policy. This policy is implemented by a set of security rules designed to protect data from unauthorized access. Briefly, the mathematical model operates as follows:
- Simple Security:
- Subject may read or execute object only when subject's security level dominates objects.
- Security*Property:
- Subject may write object only when object's security level dominates subjects. The present invention's Security*Property implementation preferably allows subject to write object only when subject and object are at the same security level. This prevents lower level subjects from writing higher-level objects they cannot later access.
- A preferred embodiment of the present invention supports 16 hierarchical security classifications and 64 independent non-hierarchical “need-to-know” security categories/compartments.
- Mandatory Integrity Policy
- A preferred embodiment of the present invention enforces K. J. Biba's integrity policy, a corollary to the Bell-LaPadula model, which enforces the system's mandatory integrity rules. Just as the system's mandatory security rules protect information from unauthorized disclosure, the system's mandatory integrity rules protect information from unauthorized modification.
- The system's mandatory integrity policy enables the security administrator or developer to establish highly protected execution domains in which executables may read the files they need while those files remain protected from modification by unauthorized logic or malicious code. A preferred embodiment of the present invention presently supports 8 hierarchical role-based integrity classifications and 16 independent non-hierarchical need to-know integrity categories/compartments. Briefly, the integrity model operates as follows:
- Simple Integrity:
- Subject may read or execute object (e.g., data file) only when object's integrity level dominates subjects.
- Integrity*Property:
- Subject may write object only when subject's integrity level dominates object's. The present invention's Integrity*Property preferably allows a subject to write an object only when the subject and object integrity levels are the same, preventing higher-integrity subjects from writing lower-integrity objects (which could be considered trustworthy by other software) they cannot later access.
- Discretionary Access Controls
- The present invention preferably enforces a discretionary access policy whereby access to an object is assigned by the object's owner according to the identity of subjects associated with the object and/or groups to which those subjects belong. An object's discretionary access information includes up to at least 7 user and group identifiers (including the object's owning user and owning group), and their individual read, write, and execute permissions. Read, write and execute permissions are also provided for “world”.
- Access Modes:
- Subject may access object in only those mode(s) granted by object's owner. Each object is assigned read, write, execute permissions for object's owner, owner's group(s), members of other groups allowed by owner, and all others (“world” permissions).
- The TSF enforces the following series of rules to determine whether a subject should be granted discretionary access to an object:
-
- If subject owns object, use specified owner permissions; if not,
- If subject has entry in system's Access Control List, use those permissions; if not,
- If subject's group is same as object's group, use specified group permissions; if not,
- If subject's group exists in ACL, use group ACL permissions; if not,
- Use specified “world” permissions.
- Subtype Control
- Processes, devices, and file system objects are controlled by subtype in addition to the mandatory and discretionary controls. Subtypes are non-hierarchical. They can employed by trusted applications to separate applications (e.g., such as stages in a guard), even if those applications run with the same owner and at the same mandatory level.
- Covert Channel Protection
- Systems that enforce a mandatory security policy may still allow unintended signaling channels, or illicit information flows, that are counter to the mandatory security policy. Such signaling channels and illicit flows are commonly known as covert channels. By way of example, without intending to limit the present invention, a classic covert channel is created using the file system, such as by having a malicious process at a low security level attempt to create a file. In such an example, if the file creation attempt is successful, that is deemed equivalent to a “1”, and where the file creation attempt fails, that is deemed equivalent to a “0”. A high security process can control whether the file creation attempt is successful by filling up the file system or portion thereof. Thus, a string of bits can be effectively communicated from the high security process to the low security process by repeating this sequence over and over, with the high security process removing a file when it wants the low security process's creation attempt to succeed. Such a communications means can be highly effective, and can be used to circumvent mandatory security policies or the like.
- Covert channels are generally difficult to use, and low assurance systems are not required to document or reduce them. However, a preferred embodiment of the present invention is designed to be high assurance and to offer protection in highly hostile environments, therefore the present invention preferably incorporates mechanisms to reduce the number and capacity (i.e., speed) of covert channels, and potential covert channels are documented. Mechanisms employed in a preferred embodiment of the present invention which help to protect against covert channel use include, but are not limited to, introducing timing delays and obscuring status values in situations which might be used as a covert channel.
- Hardware
- A preferred embodiment of the present invention preferably leverages the significant processing power and internal architecture of the Intel “Prestonia”
Xeon™ 2+GHz CPUs to improve performance.FIG. 4 provides more detail on a preferred standard hardware configuration of the present invention, including hardware peripherals which the operating system component of a preferred embodiment of the present invention will support. - A preferred embodiment of the present invention can be embodied in tower case or rack mounted configurations, or in high density, TEMPEST, and Zone embodiments. Careful configuration control and testing are applied to assure delivery of a consistent, reliable, and secure product.
- Applications
- Trusted applications on a previous embodiment of the present invention have significantly aided in the maturation of multilevel security (MLS) to the point where MLS systems are being deployed widely in operational configurations at low risk and with significant payoff. Numerous certification and accreditation efforts have been completed of now-operational Trusted Applications—several developed by applicants—that use the previous embodiment as their high-assurance platform. Many of these applications are Trusted Guards designed to allow the strictly controlled sharing of information among networks operating at different sensitivity levels (e.g., Classifications) and/or “needs-to-know” (categories or compartments).
- A preferred embodiment of the present invention can also be designed to be backward compatible with these older trusted applications. However, two “enabling technologies” for building Trusted Guard applications for present invention, the DataSync Guard and the Standard Automated Guard Environment (SAGE), have also been developed.
- With the operating system component of a preferred embodiment of the present invention, the development of Trusted Applications is much easier. Applications can be created entirely on “real” Linux systems, created entirely on an embodiment of the present invention implemented as a development system, or created partially on both. In any of these development environments, an entirely new and richer set of rapidly evolving development tools are available to the programmer and designer.
- Guard-Enabling Technologies
- DataSync Guard
- The customizable DataSync Guard™ represents a new generation of Trusted Guard application, the first-ever TCP/IP socket-based High Assurance Guard. The DataSync Guard strictly enforces the security policies governing the connection-oriented transfer of data between systems that reside on separate system-high networks at different classification (or sensitivity) levels. The DataSync Guard achieves near-real-time data transfers. Originally conceived to enable the reliable synchronization of databases operating at different sensitivity levels, the DataSync Guard is communications protocol independent, and can handle ASCII, HTML, XML, well-formed binary and other data flowing between any two systems that can transfer their data over socket connections to the Guard.
- By replacing “store and forward” file transfer protocols with TCP/IP sockets as its data. transfer mechanism, and performing most of its processing in RAM which eliminates the need to write to or read from disk or resynchronize the file system each time data are passed from one Guard subroutine to another, the DataSync Guard reduces the latency delay of transactions during data throughput.
- In a presently preferred embodiment, the DataSync Guard can support complex filter profiles to mediate data transfers among databases on up to four different single-level system-high networks. The DataSync Guard can filter ASCII and/or well-formed binary data, checking both the correct formatting of the header of the database transaction, and performing security checks on the content of each data element. The DataSync Guard can implement multiple “if-then-else” actions and sophisticated dirty word/clean word searches.
- Standard Automated Guard Environment
- The Standard Automated Guard Environment (SAGETM) is a set of design concepts, interface definitions, executable code, and accreditation documentation. SAGE is a development environment for building connectionless (store-and-forward) Trusted Guards, alternatively referred to as trusted gateways.
- SAGE minimizes the coding required to implement Trusted Guards by providing the common elements (processes, libraries, etc.) that most Guards require. SAGE eases certification and accreditation of these Guards by minimizing the Guard's TSSF. SAGE provides a well-structured framework within which programmers can build Trusted Guard applications more quickly and easily than developing those applications “from scratch”. The general objective of a SAGE Guard is to securely, automatically, and efficiently allow a restricted flow of data between two systems or networks with different security characteristics. While the security policy can be customized by the Guard developer, SAGE has been designed to accurately enforce that policy and to protect data from unauthorized disclosure or modification while the data resides on a preferred embodiment of the present invention.
- SAGE has been developed in standard ANSI C and documented using trusted software principles to ease the burden of accreditation. Several SAGE guards have already been accredited, including guards for the United States Department of Defense, the United States State Department, and the United States Air Force.
- While the invention has been described in detail and with reference to specific embodiments thereof, it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/512,180 US7765595B2 (en) | 2002-06-17 | 2006-08-30 | Access control differentiation in trusted computer system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38873802P | 2002-06-17 | 2002-06-17 | |
US10/462,771 US7103914B2 (en) | 2002-06-17 | 2003-06-17 | Trusted computer system |
US11/512,180 US7765595B2 (en) | 2002-06-17 | 2006-08-30 | Access control differentiation in trusted computer system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/462,771 Division US7103914B2 (en) | 2002-06-17 | 2003-06-17 | Trusted computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070118901A1 true US20070118901A1 (en) | 2007-05-24 |
US7765595B2 US7765595B2 (en) | 2010-07-27 |
Family
ID=33551373
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/462,771 Expired - Lifetime US7103914B2 (en) | 2002-06-17 | 2003-06-17 | Trusted computer system |
US11/487,404 Expired - Lifetime US7549165B2 (en) | 2002-06-17 | 2006-07-17 | Trusted operating system with emulation and process isolation |
US11/512,180 Active 2025-09-09 US7765595B2 (en) | 2002-06-17 | 2006-08-30 | Access control differentiation in trusted computer system |
US11/512,176 Expired - Lifetime US7937757B2 (en) | 2002-06-17 | 2006-08-30 | Multi-domain architecture for process isolation with processor supporting multi-domain architecture |
US11/512,184 Abandoned US20070118902A1 (en) | 2002-06-17 | 2006-08-30 | Process isolation by limiting covert storage channels in trusted operating system |
US11/512,175 Expired - Lifetime US7631342B2 (en) | 2002-06-17 | 2006-08-30 | Data security verification for data transfers between security levels in trusted operating system |
US11/512,174 Expired - Lifetime US7591003B2 (en) | 2002-06-17 | 2006-08-30 | Security policies in trusted operating system |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/462,771 Expired - Lifetime US7103914B2 (en) | 2002-06-17 | 2003-06-17 | Trusted computer system |
US11/487,404 Expired - Lifetime US7549165B2 (en) | 2002-06-17 | 2006-07-17 | Trusted operating system with emulation and process isolation |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/512,176 Expired - Lifetime US7937757B2 (en) | 2002-06-17 | 2006-08-30 | Multi-domain architecture for process isolation with processor supporting multi-domain architecture |
US11/512,184 Abandoned US20070118902A1 (en) | 2002-06-17 | 2006-08-30 | Process isolation by limiting covert storage channels in trusted operating system |
US11/512,175 Expired - Lifetime US7631342B2 (en) | 2002-06-17 | 2006-08-30 | Data security verification for data transfers between security levels in trusted operating system |
US11/512,174 Expired - Lifetime US7591003B2 (en) | 2002-06-17 | 2006-08-30 | Security policies in trusted operating system |
Country Status (4)
Country | Link |
---|---|
US (7) | US7103914B2 (en) |
EP (1) | EP1645069A4 (en) |
JP (1) | JP2007524148A (en) |
WO (1) | WO2005001639A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141333A1 (en) * | 2006-12-12 | 2008-06-12 | Boeing Company, A Corporation Of Delaware | Method and system for object-based multi-level security in a service oriented architecture |
US20090260052A1 (en) * | 2008-04-11 | 2009-10-15 | Microsoft Corporation | Inter-Process Message Security |
US20100042625A1 (en) * | 2005-09-21 | 2010-02-18 | Stored Iq, Inc. | System and method for classifying objects |
US20120167163A1 (en) * | 2010-12-22 | 2012-06-28 | Electronics And Telecommunications Research Institute | Apparatus and method for quantitatively evaluating security policy |
CN102780826A (en) * | 2011-05-11 | 2012-11-14 | 柯尼卡美能达商用科技株式会社 | Image processing system and image processing apparatus |
US8335760B1 (en) * | 2005-02-07 | 2012-12-18 | Hewlett-Packard Development, L. P. | Grid computing system to manage utility service content |
US8463815B1 (en) * | 2007-11-13 | 2013-06-11 | Storediq, Inc. | System and method for access controls |
US8938796B2 (en) | 2012-09-20 | 2015-01-20 | Paul Case, SR. | Case secure computer architecture |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010558B2 (en) | 2001-06-05 | 2011-08-30 | Silicon Graphics International | Relocation of metadata server with outstanding DMAPI requests |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US7617292B2 (en) | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US20040143749A1 (en) * | 2003-01-16 | 2004-07-22 | Platformlogic, Inc. | Behavior-based host-based intrusion prevention system |
US7530103B2 (en) * | 2003-08-07 | 2009-05-05 | Microsoft Corporation | Projection of trustworthiness from a trusted environment to an untrusted environment |
US7313679B2 (en) * | 2003-10-17 | 2007-12-25 | Intel Corporation | Extended trusted computing base |
US20050198099A1 (en) * | 2004-02-24 | 2005-09-08 | Covelight Systems, Inc. | Methods, systems and computer program products for monitoring protocol responses for a server application |
JP4728610B2 (en) * | 2004-08-04 | 2011-07-20 | 株式会社リコー | Access control list attachment system, original content creator terminal, policy server, original content data management server, program, and recording medium |
US8181219B2 (en) | 2004-10-01 | 2012-05-15 | Microsoft Corporation | Access authorization having embedded policies |
US7818781B2 (en) * | 2004-10-01 | 2010-10-19 | Microsoft Corporation | Behavior blocking access control |
US8307453B1 (en) * | 2004-11-29 | 2012-11-06 | Symantec Corporation | Zone breakout detection |
US7882317B2 (en) * | 2004-12-06 | 2011-02-01 | Microsoft Corporation | Process isolation using protection domains |
US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
US8601283B2 (en) * | 2004-12-21 | 2013-12-03 | Sandisk Technologies Inc. | Method for versatile content control with partitioning |
US8504849B2 (en) | 2004-12-21 | 2013-08-06 | Sandisk Technologies Inc. | Method for versatile content control |
US20070168292A1 (en) * | 2004-12-21 | 2007-07-19 | Fabrice Jogand-Coulomb | Memory system with versatile content control |
US7620974B2 (en) * | 2005-01-12 | 2009-11-17 | Symantec | Distributed traffic scanning through data stream security tagging |
US7474618B2 (en) * | 2005-03-02 | 2009-01-06 | Objective Interface Systems, Inc. | Partitioning communication system |
US20060200489A1 (en) * | 2005-03-03 | 2006-09-07 | Microsoft Corporation | Company modeling |
US7900152B2 (en) * | 2005-03-03 | 2011-03-01 | Microsoft Corporation | Adaptable user interface for business software |
US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US7657834B2 (en) * | 2005-06-29 | 2010-02-02 | Trusted Computer Solutions | Sensitivity label translation |
US20070044151A1 (en) * | 2005-08-22 | 2007-02-22 | International Business Machines Corporation | System integrity manager |
US7725737B2 (en) * | 2005-10-14 | 2010-05-25 | Check Point Software Technologies, Inc. | System and methodology providing secure workspace environment |
US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
US8074231B2 (en) * | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
US8146138B2 (en) * | 2005-12-15 | 2012-03-27 | Microsoft Corporation | Access unit switching through physical mediation |
US8161529B1 (en) * | 2006-03-02 | 2012-04-17 | Rockwell Collins, Inc. | High-assurance architecture for routing of information between networks of differing security level |
US7606254B1 (en) * | 2006-03-02 | 2009-10-20 | Rockwell Collins, Inc. | Evaluatable high-assurance guard for security applications |
US7930727B1 (en) * | 2006-03-30 | 2011-04-19 | Emc Corporation | System and method for measuring and enforcing security policy compliance for software during the development process of the software |
US8161281B1 (en) * | 2006-04-13 | 2012-04-17 | Rockwell Collins, Inc. | High assurance data tagger for I/O feeds |
DE102006020093A1 (en) * | 2006-04-26 | 2007-10-31 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Protecting a data processing application of a service provider for a user by a trusted execution environment |
US8561189B2 (en) * | 2006-06-23 | 2013-10-15 | Battelle Memorial Institute | Method and apparatus for distributed intrusion protection system for ultra high bandwidth networks |
US8032898B2 (en) * | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US8639939B2 (en) * | 2006-07-07 | 2014-01-28 | Sandisk Technologies Inc. | Control method using identity objects |
US8613103B2 (en) * | 2006-07-07 | 2013-12-17 | Sandisk Technologies Inc. | Content control method using versatile control structure |
US8266711B2 (en) * | 2006-07-07 | 2012-09-11 | Sandisk Technologies Inc. | Method for controlling information supplied from memory device |
GB2442497B (en) * | 2006-10-02 | 2010-03-31 | Transitive Ltd | Method and apparatus for administering a process filesystem with respect to program code conversion |
US7840795B2 (en) * | 2006-10-17 | 2010-11-23 | Zachary Nathaniel Joseph Peterson | Method and apparatus for limiting access to sensitive data |
US8087065B2 (en) * | 2006-11-17 | 2011-12-27 | Mcafee, Inc. | Method and system for implementing mandatory file access control in native discretionary access control environments |
US8127133B2 (en) * | 2007-01-25 | 2012-02-28 | Microsoft Corporation | Labeling of data objects to apply and enforce policies |
GB0701518D0 (en) * | 2007-01-26 | 2007-03-07 | Hewlett Packard Development Co | Methods, devices and data structures for protection of data |
US20080209535A1 (en) * | 2007-02-28 | 2008-08-28 | Tresys Technology, Llc | Configuration of mandatory access control security policies |
US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US8443191B2 (en) | 2007-04-09 | 2013-05-14 | Objective Interface Systems, Inc. | System and method for accessing information resources using cryptographic authorization permits |
US7949998B2 (en) * | 2007-04-20 | 2011-05-24 | Microsoft Corporation | Programming framework for closed systems |
US20090007256A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Using a trusted entity to drive security decisions |
US8359467B2 (en) * | 2007-07-07 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Access control system and method |
JP4949147B2 (en) * | 2007-07-13 | 2012-06-06 | 株式会社日立ソリューションズ | Method and program for optimizing security policy for secure OS |
US8769268B2 (en) * | 2007-07-20 | 2014-07-01 | Check Point Software Technologies, Inc. | System and methods providing secure workspace sessions |
WO2009018483A1 (en) * | 2007-07-31 | 2009-02-05 | Viasat, Inc. | Input output access controller |
US8256007B2 (en) | 2008-03-25 | 2012-08-28 | Northrop Grumman Systems Corporation | Data security management system and methods |
US10802990B2 (en) | 2008-10-06 | 2020-10-13 | International Business Machines Corporation | Hardware based mandatory access control |
US9166797B2 (en) * | 2008-10-24 | 2015-10-20 | Microsoft Technology Licensing, Llc | Secured compartment for transactions |
US9213566B2 (en) * | 2008-11-26 | 2015-12-15 | Red Hat, Inc. | Implementing security in process-based virtualization |
US9594900B2 (en) * | 2008-12-09 | 2017-03-14 | Microsoft Technology Licensing, Llc | Isolating applications hosted by plug-in code |
US9104618B2 (en) | 2008-12-18 | 2015-08-11 | Sandisk Technologies Inc. | Managing access to an address range in a storage device |
JP5274266B2 (en) * | 2009-01-07 | 2013-08-28 | キヤノン株式会社 | Document management apparatus, document management system, document management method, and computer program |
US20100199357A1 (en) * | 2009-02-02 | 2010-08-05 | Microsoft Corporation | Secure hosting for untrusted code |
US8886672B2 (en) * | 2009-03-12 | 2014-11-11 | International Business Machines Corporation | Providing access in a distributed filesystem |
US8572675B2 (en) * | 2009-04-03 | 2013-10-29 | The Boeing Company | System and method for facilitating the provision of web services across different internet security domains |
US8468607B2 (en) * | 2009-10-07 | 2013-06-18 | International Business Machines Corporation | Associating multiple security domains to application servers |
US9003517B2 (en) | 2009-10-28 | 2015-04-07 | Microsoft Technology Licensing, Llc | Isolation and presentation of untrusted data |
US8499351B1 (en) * | 2009-12-17 | 2013-07-30 | Mcafee, Inc. | Isolated security monitoring system |
CN101938459A (en) * | 2010-06-22 | 2011-01-05 | 北京豪讯美通科技有限公司 | CRNET (China Railcom Net) sSafe cooperative defense system for whole course communication network |
US8776036B2 (en) | 2010-11-23 | 2014-07-08 | Red Hat, Inc. | Determining support criteria for shared libraries based on their priority levels |
US8887122B2 (en) | 2010-11-23 | 2014-11-11 | Red Hat, Inc. | Find and track information of interface usage of software libraries by other software |
US8938706B2 (en) * | 2010-11-23 | 2015-01-20 | Red Hat, Inc. | Providing customized visualization of application binary interface/application programming interface-related information |
US8863108B2 (en) | 2010-11-23 | 2014-10-14 | Red Hat, Inc. | Finding out if software will run on an operating system without installing that software |
US10511630B1 (en) | 2010-12-10 | 2019-12-17 | CellSec, Inc. | Dividing a data processing device into separate security domains |
WO2012110795A1 (en) * | 2011-02-18 | 2012-08-23 | Bae Systems Plc | A network management assembly for managing a flow of network management traffic |
US9635048B2 (en) * | 2011-03-09 | 2017-04-25 | Irdeto B.V. | Method and system for dynamic platform security in a device operating system |
US8099596B1 (en) * | 2011-06-30 | 2012-01-17 | Kaspersky Lab Zao | System and method for malware protection using virtualization |
US8583767B2 (en) * | 2011-08-24 | 2013-11-12 | CSC Holdings, LLC | Virtual service delivery platform |
US9489541B2 (en) * | 2011-09-09 | 2016-11-08 | Nvidia Corporation | Content protection via online servers and code execution in a secure operating system |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
US9026815B2 (en) * | 2011-10-27 | 2015-05-05 | Intel Corporation | Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor |
CN102436566B (en) * | 2012-01-12 | 2014-07-09 | 冶金自动化研究设计院 | Dynamic trusted measurement method and safe embedded system |
US9594921B2 (en) * | 2012-03-02 | 2017-03-14 | International Business Machines Corporation | System and method to provide server control for access to mobile client data |
US9171172B2 (en) * | 2012-08-02 | 2015-10-27 | CellSec, Inc. | Automated multi-level federation and enforcement of information management policies in a device network |
US9294508B2 (en) | 2012-08-02 | 2016-03-22 | Cellsec Inc. | Automated multi-level federation and enforcement of information management policies in a device network |
US10305937B2 (en) | 2012-08-02 | 2019-05-28 | CellSec, Inc. | Dividing a data processing device into separate security domains |
US9547656B2 (en) * | 2012-08-09 | 2017-01-17 | Oracle International Corporation | Method and system for implementing a multilevel file system in a virtualized environment |
US9183385B2 (en) | 2012-08-22 | 2015-11-10 | International Business Machines Corporation | Automated feedback for proposed security rules |
US8873747B2 (en) | 2012-09-25 | 2014-10-28 | Apple Inc. | Key management using security enclave processor |
US9043632B2 (en) | 2012-09-25 | 2015-05-26 | Apple Inc. | Security enclave processor power control |
US9047471B2 (en) | 2012-09-25 | 2015-06-02 | Apple Inc. | Security enclave processor boot control |
US8775757B2 (en) | 2012-09-25 | 2014-07-08 | Apple Inc. | Trust zone support in system on a chip having security enclave processor |
US8832465B2 (en) * | 2012-09-25 | 2014-09-09 | Apple Inc. | Security enclave processor for a system on a chip |
US20140115624A1 (en) * | 2012-10-18 | 2014-04-24 | Broadcom Corporation | Security and Certification in a Set Top Box Device Having a Mixed Operating System or Framework Environment |
US9405562B2 (en) | 2012-10-18 | 2016-08-02 | Broadcom Corporation | Set top box application in a concurrent dual environment |
US9344762B2 (en) * | 2012-10-18 | 2016-05-17 | Broadcom Corporation | Integration of untrusted applications and frameworks with a secure operating system environment |
US9338522B2 (en) * | 2012-10-18 | 2016-05-10 | Broadcom Corporation | Integration of untrusted framework components with a secure operating system environment |
US9600351B2 (en) | 2012-12-14 | 2017-03-21 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
US9250922B2 (en) | 2013-02-28 | 2016-02-02 | Qualcomm Incorporated | Method and apparatus for prefetching peripheral device drivers for smart phones and other connected devices prior to HLOS boot |
CN103246849A (en) * | 2013-05-30 | 2013-08-14 | 浪潮集团有限公司 | Safe running method based on ROST under Windows |
US9424425B2 (en) * | 2013-05-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Protecting anti-malware processes |
US10171483B1 (en) | 2013-08-23 | 2019-01-01 | Symantec Corporation | Utilizing endpoint asset awareness for network intrusion detection |
US8863284B1 (en) | 2013-10-10 | 2014-10-14 | Kaspersky Lab Zao | System and method for determining a security status of potentially malicious files |
US8739287B1 (en) * | 2013-10-10 | 2014-05-27 | Kaspersky Lab Zao | Determining a security status of potentially malicious files |
KR102125923B1 (en) * | 2013-10-24 | 2020-06-24 | 삼성전자 주식회사 | Method and apparatus for upgrading operating system of a electronic device |
IN2013CH05777A (en) | 2013-12-13 | 2015-06-19 | Indian Inst Technology Madras | |
CA2981789A1 (en) | 2014-04-04 | 2015-10-08 | David Goldschlag | Method for authentication and assuring compliance of devices accessing external services |
CN103971067B (en) * | 2014-05-30 | 2015-06-03 | 中国人民解放军国防科学技术大学 | Operating system nucleus universal access control method supporting entities inside and outside nucleus |
US9501667B2 (en) * | 2014-06-20 | 2016-11-22 | Arm Limited | Security domain prediction |
US20170132430A1 (en) * | 2014-07-15 | 2017-05-11 | Neil Sikka | Apparatus for and Method of Preventing Unsecured Data Access |
US9547778B1 (en) | 2014-09-26 | 2017-01-17 | Apple Inc. | Secure public key acceleration |
CN104331329B (en) * | 2014-09-30 | 2017-12-01 | 上海斐讯数据通信技术有限公司 | The mobile office security system and method for support region management |
CN104504340B (en) * | 2014-12-25 | 2017-07-14 | 国家电网公司 | A kind of forced access control method based on power system security label |
US9571524B2 (en) | 2015-01-20 | 2017-02-14 | Cisco Technology, Inc. | Creation of security policy templates and security policies based on the templates |
US9401933B1 (en) * | 2015-01-20 | 2016-07-26 | Cisco Technology, Inc. | Classification of security policies across multiple security products |
US9521167B2 (en) | 2015-01-20 | 2016-12-13 | Cisco Technology, Inc. | Generalized security policy user interface |
US9531757B2 (en) | 2015-01-20 | 2016-12-27 | Cisco Technology, Inc. | Management of security policies across multiple security products |
US9680875B2 (en) | 2015-01-20 | 2017-06-13 | Cisco Technology, Inc. | Security policy unification across different security products |
US9971910B2 (en) * | 2015-01-22 | 2018-05-15 | Raytheon Company | Multi-level security domain separation using soft-core processor embedded in an FPGA |
US9641540B2 (en) | 2015-05-19 | 2017-05-02 | Cisco Technology, Inc. | User interface driven translation, comparison, unification, and deployment of device neutral network security policies |
US9787722B2 (en) | 2015-05-19 | 2017-10-10 | Cisco Technology, Inc. | Integrated development environment (IDE) for network security configuration files |
US9600682B2 (en) * | 2015-06-08 | 2017-03-21 | Accenture Global Services Limited | Mapping process changes |
US10395029B1 (en) * | 2015-06-30 | 2019-08-27 | Fireeye, Inc. | Virtual system and method with threat protection |
US11113086B1 (en) | 2015-06-30 | 2021-09-07 | Fireeye, Inc. | Virtual system and method for securing external network connectivity |
US10726127B1 (en) | 2015-06-30 | 2020-07-28 | Fireeye, Inc. | System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer |
US10642753B1 (en) | 2015-06-30 | 2020-05-05 | Fireeye, Inc. | System and method for protecting a software component running in virtual machine using a virtualization layer |
US9785783B2 (en) * | 2015-07-23 | 2017-10-10 | Ca, Inc. | Executing privileged code in a process |
US9779230B2 (en) * | 2015-09-11 | 2017-10-03 | Dell Products, Lp | System and method for off-host abstraction of multifactor authentication |
US9992232B2 (en) | 2016-01-14 | 2018-06-05 | Cisco Technology, Inc. | Policy block creation with context-sensitive policy line classification |
US10572687B2 (en) * | 2016-04-18 | 2020-02-25 | America as represented by the Secretary of the Army | Computer security framework and hardware level computer security in an operating system friendly microprocessor architecture |
US10192067B2 (en) | 2016-05-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Self-described security model for resource access |
US10776316B2 (en) * | 2018-01-05 | 2020-09-15 | Goodrich Corporation | Automated multi-domain operational services |
US11102002B2 (en) * | 2018-12-28 | 2021-08-24 | Dell Products, L.P. | Trust domain isolation management in secured execution environments |
US11003394B2 (en) | 2019-06-28 | 2021-05-11 | Seagate Technology Llc | Multi-domain data storage system with illegal loop prevention |
CN114462041A (en) * | 2021-12-24 | 2022-05-10 | 麒麟软件有限公司 | Dynamic trusted access control method and system based on dual-system architecture |
KR102405886B1 (en) | 2022-03-17 | 2022-06-08 | 주식회사 넷아스 | Apparatus and method of providing solution of source transformation for architectural changes |
CN117436079B (en) * | 2023-12-20 | 2024-04-05 | 麒麟软件有限公司 | Integrity protection method and system for Linux system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230069A (en) * | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5263147A (en) * | 1991-03-01 | 1993-11-16 | Hughes Training, Inc. | System for providing high security for personal computers and workstations |
US5504814A (en) * | 1991-07-10 | 1996-04-02 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
US5521849A (en) * | 1992-10-22 | 1996-05-28 | Base Ten Systems, Inc. | System for operating application software in a safety critical environment |
US5603014A (en) * | 1993-12-03 | 1997-02-11 | Intel Corporation | Protected mode simulation of a real mode interupt based programming interface in a computer system |
US5628017A (en) * | 1993-03-15 | 1997-05-06 | Microsoft Corporation | Method and system for providing event-response capabilities to pseudocode |
US6029246A (en) * | 1997-03-31 | 2000-02-22 | Symantec Corporation | Network distributed system for updating locally secured objects in client machines |
US6182218B1 (en) * | 1994-12-13 | 2001-01-30 | Mitsubishi Corporation | Digital content management system using electronic watermark |
US6490626B1 (en) * | 1997-11-19 | 2002-12-03 | Hewlett Packard Company | Browser system |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US20030056152A1 (en) * | 2001-09-18 | 2003-03-20 | Fitzgerald Jeffrey J. | Method and system to detect software faults |
US6782424B2 (en) * | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339449A (en) * | 1989-06-30 | 1994-08-16 | Digital Equipment Corporation | System and method for reducing storage channels in disk systems |
US5220661A (en) * | 1989-09-15 | 1993-06-15 | Digital Equipment Corporation | System and method for reducing timing channels in digital data processing systems |
US5590266A (en) * | 1994-10-11 | 1996-12-31 | International Business Machines Corporation | Integrity mechanism for data transfer in a windowing system |
US5687376A (en) * | 1994-12-15 | 1997-11-11 | International Business Machines Corporation | System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation |
US5692124A (en) * | 1996-08-30 | 1997-11-25 | Itt Industries, Inc. | Support of limited write downs through trustworthy predictions in multilevel security of computer network communications |
EP1127314A4 (en) | 1998-09-10 | 2003-03-12 | Sanctum Ltd | Method and system for maintaining restricted operating environments for application programs or operating systems |
EP1056010A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Data integrity monitoring in trusted computing entity |
US6351817B1 (en) * | 1999-10-27 | 2002-02-26 | Terence T. Flyntz | Multi-level secure computer with token-based access control |
US6430561B1 (en) * | 1999-10-29 | 2002-08-06 | International Business Machines Corporation | Security policy for protection of files on a storage device |
US6757824B1 (en) | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
US6990579B1 (en) * | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
JP3630087B2 (en) * | 2000-05-10 | 2005-03-16 | 日本電気株式会社 | Automatic data processor |
WO2002003220A2 (en) * | 2000-07-05 | 2002-01-10 | Ernst & Young Llp | Method and apparatus for providing computer services |
GB0020441D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Performance of a service on a computing platform |
GB2376764B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments |
GB2378272A (en) * | 2001-07-31 | 2003-02-05 | Hewlett Packard Co | Method and apparatus for locking an application within a trusted environment |
US20040064723A1 (en) * | 2001-10-31 | 2004-04-01 | Barnes Brian C. | Method and apparatus for physical address-based security to determine target security |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US7493498B1 (en) * | 2002-03-27 | 2009-02-17 | Advanced Micro Devices, Inc. | Input/output permission bitmaps for compartmentalized security |
US20030196108A1 (en) * | 2002-04-12 | 2003-10-16 | Kung Kenneth C. | System and techniques to bind information objects to security labels |
-
2003
- 2003-06-17 US US10/462,771 patent/US7103914B2/en not_active Expired - Lifetime
-
2004
- 2004-06-15 JP JP2006517366A patent/JP2007524148A/en active Pending
- 2004-06-15 EP EP04755554A patent/EP1645069A4/en not_active Withdrawn
- 2004-06-15 WO PCT/US2004/019434 patent/WO2005001639A2/en active Search and Examination
-
2006
- 2006-07-17 US US11/487,404 patent/US7549165B2/en not_active Expired - Lifetime
- 2006-08-30 US US11/512,180 patent/US7765595B2/en active Active
- 2006-08-30 US US11/512,176 patent/US7937757B2/en not_active Expired - Lifetime
- 2006-08-30 US US11/512,184 patent/US20070118902A1/en not_active Abandoned
- 2006-08-30 US US11/512,175 patent/US7631342B2/en not_active Expired - Lifetime
- 2006-08-30 US US11/512,174 patent/US7591003B2/en not_active Expired - Lifetime
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230069A (en) * | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5263147A (en) * | 1991-03-01 | 1993-11-16 | Hughes Training, Inc. | System for providing high security for personal computers and workstations |
US5504814A (en) * | 1991-07-10 | 1996-04-02 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
US5521849A (en) * | 1992-10-22 | 1996-05-28 | Base Ten Systems, Inc. | System for operating application software in a safety critical environment |
US5628017A (en) * | 1993-03-15 | 1997-05-06 | Microsoft Corporation | Method and system for providing event-response capabilities to pseudocode |
US5603014A (en) * | 1993-12-03 | 1997-02-11 | Intel Corporation | Protected mode simulation of a real mode interupt based programming interface in a computer system |
US6182218B1 (en) * | 1994-12-13 | 2001-01-30 | Mitsubishi Corporation | Digital content management system using electronic watermark |
US6029246A (en) * | 1997-03-31 | 2000-02-22 | Symantec Corporation | Network distributed system for updating locally secured objects in client machines |
US6490626B1 (en) * | 1997-11-19 | 2002-12-03 | Hewlett Packard Company | Browser system |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US20030056152A1 (en) * | 2001-09-18 | 2003-03-20 | Fitzgerald Jeffrey J. | Method and system to detect software faults |
US6782424B2 (en) * | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8335760B1 (en) * | 2005-02-07 | 2012-12-18 | Hewlett-Packard Development, L. P. | Grid computing system to manage utility service content |
US9122750B2 (en) * | 2005-09-21 | 2015-09-01 | International Business Machines Corporation | Classifying objects |
US20100042625A1 (en) * | 2005-09-21 | 2010-02-18 | Stored Iq, Inc. | System and method for classifying objects |
US20080141333A1 (en) * | 2006-12-12 | 2008-06-12 | Boeing Company, A Corporation Of Delaware | Method and system for object-based multi-level security in a service oriented architecture |
US8887296B2 (en) * | 2006-12-12 | 2014-11-11 | The Boeing Company | Method and system for object-based multi-level security in a service oriented architecture |
US8965925B2 (en) | 2007-11-13 | 2015-02-24 | International Business Machines Corporation | Access controls |
US8463815B1 (en) * | 2007-11-13 | 2013-06-11 | Storediq, Inc. | System and method for access controls |
US20090260052A1 (en) * | 2008-04-11 | 2009-10-15 | Microsoft Corporation | Inter-Process Message Security |
US9418219B2 (en) * | 2008-04-11 | 2016-08-16 | Microsoft Technology Licensing, Llc | Inter-process message security |
US20120167163A1 (en) * | 2010-12-22 | 2012-06-28 | Electronics And Telecommunications Research Institute | Apparatus and method for quantitatively evaluating security policy |
CN102780826A (en) * | 2011-05-11 | 2012-11-14 | 柯尼卡美能达商用科技株式会社 | Image processing system and image processing apparatus |
US8938796B2 (en) | 2012-09-20 | 2015-01-20 | Paul Case, SR. | Case secure computer architecture |
US9122633B2 (en) | 2012-09-20 | 2015-09-01 | Paul Case, SR. | Case secure computer architecture |
Also Published As
Publication number | Publication date |
---|---|
US7765595B2 (en) | 2010-07-27 |
JP2007524148A (en) | 2007-08-23 |
US7103914B2 (en) | 2006-09-05 |
WO2005001639A2 (en) | 2005-01-06 |
US20040025016A1 (en) | 2004-02-05 |
US7937757B2 (en) | 2011-05-03 |
US20070130458A1 (en) | 2007-06-07 |
US20070118902A1 (en) | 2007-05-24 |
US20070118900A1 (en) | 2007-05-24 |
US20070056037A1 (en) | 2007-03-08 |
US7591003B2 (en) | 2009-09-15 |
US7549165B2 (en) | 2009-06-16 |
EP1645069A4 (en) | 2010-09-08 |
EP1645069A2 (en) | 2006-04-12 |
US7631342B2 (en) | 2009-12-08 |
US20070056036A1 (en) | 2007-03-08 |
WO2005001639A3 (en) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7765595B2 (en) | Access control differentiation in trusted computer system | |
Mayer et al. | SELinux by example: using security enhanced Linux | |
Badger et al. | Practical domain and type enforcement for UNIX | |
McIlroy et al. | Multilevel security in the UNIX tradition | |
Lindqvist | Mandatory access control | |
KR20010040979A (en) | Stack-based access control | |
GB2301912A (en) | Security for computer system resources | |
EP1159812A1 (en) | Computer security system | |
Lee | Essays about computer security | |
Blanc et al. | Piga-hips: Protection of a shared hpc cluster | |
Herrmann | Information flow analysis of component-structured applications | |
Debbabi et al. | Dynamic monitoring of malicious activity in software systems | |
Frincke | Developing secure objects | |
Miller et al. | Integrity mechanisms in a secure UNIX-Gould UTX/32S | |
Shepherd et al. | Operating System Controls | |
National Computer Security Center (US) | A Guide to Understanding Security Modeling in Trusted Systems | |
Smarkusky et al. | Role based security and Java | |
Mehta | Fine-Grained Control of Java Applets Using a Simple Constraint Language | |
Zhong et al. | Security risk control of COTS-based applications | |
Glover | Integrating a trusted computing base extension server and secure session server into the Linux operating system | |
Smarkusky et al. | 13 ROLE BASED SECURITY AND | |
García-Alfaro et al. | SMARTCOP–a smart card based access control for the protection of network security components | |
Ferraiolo et al. | Another Factor in Determining Security Requirements for Trusted Computer Applications | |
Ooi | Access control for an object-oriented distributed platform | |
Bodeau et al. | Distributed Object Computing (DOC) Security: Paradigms and Strategies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BAE SYSTEMS ENTERPRISE SYSTEMS INCORPORATED,VIRGIN Free format text: MERGER;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY LLC;REEL/FRAME:019009/0886 Effective date: 20061222 Owner name: BAE SYSTEMS ENTERPRISE SYSTEMS INCORPORATED, VIRGI Free format text: MERGER;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY LLC;REEL/FRAME:019009/0886 Effective date: 20061222 |
|
AS | Assignment |
Owner name: BAE SYSTEMS INFORMATION TECHNOLOGY INC., VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:BAE SYSTEMS ENTERPRISE SYSTEMS INCORPORATED;REEL/FRAME:019055/0149 Effective date: 20061231 |
|
AS | Assignment |
Owner name: BAE SYSTEMS INFORMATION SOLUTIONS INC.,VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY INC.;REEL/FRAME:024225/0875 Effective date: 20091231 Owner name: BAE SYSTEMS INFORMATION SOLUTIONS INC., VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY INC.;REEL/FRAME:024225/0875 Effective date: 20091231 |
|
AS | Assignment |
Owner name: BAE SYSTEMS INFORMATION SOLUTIONS INC.,VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY INC.;REEL/FRAME:024505/0296 Effective date: 20091231 Owner name: BAE SYSTEMS INFORMATION SOLUTIONS INC., VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:BAE SYSTEMS INFORMATION TECHNOLOGY INC.;REEL/FRAME:024505/0296 Effective date: 20091231 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BAE SYSTEMS INFORMATION SOLUTIONS INC.;REEL/FRAME:036612/0960 Effective date: 20150725 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |