In one embodiment, the present invention is related to a computer system including compartments implemented on an operating system. A database contains access rules with the access rules defining which compartments are authorized to access particular file resources. A kernel module receives a system call to access a file from a user space application belonging to a compartment. A security module determines whether the user space application is authorized to access the file utilizing access rules stored in the database.

Patent
   7962950
Priority
Jun 29 2001
Filed
Jun 29 2001
Issued
Jun 14 2011
Expiry
Mar 02 2025
Extension
1342 days
Assg.orig
Entity
Large
85
21
EXPIRED
4. A method for controlling access to a file by a process, said method comprising:
receiving a request from said process to access said file stored in a file system having a subdirectory structure, said process being associated with a compartment implemented on an operating system;
determining an identifier of said compartment;
searching for access rules defining whether processes associated with particular compartments are permitted to access certain file, said rules retained in a database structured in a hierarchical manner that parallels the subdirectory structure; and
if said database does not include an access rule for a subdirectory containing said file, determining permission for said process to access said file according to an access rule for a parent directory of said subdirectory, and accessing said file if permitted.
1. A method for controlling access to a file by a process, said method comprising:
receiving a request from said process to access said file, said process being associated with a compartment implemented on an operating system;
determining an identifier of said compartment; and
searching for access rules defining whether processes associated with particular compartments are permitted to access certain file resources, said rules retained in a database in a hierarchical manner that parallels a subdirectory structure of a file system containing said file;
wherein said request includes a filename containing a path identifier, said path identifier specifying a plurality of subdirectories, and wherein said step of searching includes the sub-steps of:
(a) searching said database according to a lowest subdirectory of said plurality of subdirectories for an access rule applicable to said compartment;
(b) when an access rule is found in step (a), proceeding to step (e);
(c) searching said database according a next higher subdirectory of said plurality of subdirectories for an access rule applicable to said compartment; and
(d) repeating step (c) until the first event of the following events occurs:
(i) an access rule applicable to said compartment is located;
(ii) said database is searched according to a root directory;
(e) when an access rule applicable to said compartment is located, providing access to said file when said access rule applicable to said compartment allows access.
2. The method of claim 1 wherein said step of searching further comprises:
(f) when an access rule applicable to said compartment is not located, providing access to said file.
3. The method of claim 1 wherein said file is stored on a file system that possesses a subdirectory structure, and wherein said database is structured to retain access rules in a hierarchical manner that parallels the subdirectory structure of said file system.
5. The method of claim 4, wherein the database does not include an access rule for each subdirectory of the file system.
6. The method of claim 4, wherein said request includes a filename containing a path identifier specifying a plurality of subdirectories, and wherein the searching includes traversing a linked list structure of the access rules in the database according to the plurality of subdirectories of the path identifier.

This application is related to concurrently filed and commonly assigned U.S. patent application Ser. No. 09/896,385 filed Jun. 29, 2001, entitled, “SYSTEM AND METHOD FOR MANAGEMENT OF COMPARTMENTS IN A TRUSTED OPERATING SYSTEM,” which is hereby incorporated herein by reference.

The present invention is directed to a system and method for computer containment and more particularly to a system and method for restricting access to files by processes.

Containment refers to restrictions on a computer system which prevent user-space applications from performing certain actions. In particular, containment is achieved by forcing a large untrusted application to utilize a smaller trusted application to perform certain actions. By forcing the larger application to do so, the smaller application may ensure that the larger application does not perform undesirable actions, such as interfering with other applications.

One aspect of containment is restricting access to files. For example, it may be advantageous to restrict access to a configuration file, since the configuration file may be utilized to breach the security of the system. Likewise, it is advantageous to prevent most processes from being able to read or write to files containing password information.

To restrict access to files, known trusted operating systems associate access information with each file stored on a file system. Specifically, the file structure is modified to include an additional permission data structure with each file. The permission data structure contains essentially a list of identifiers with each identifier specifying a group of processes that are allowed to access the respective file. When a process attempts to access a particular file, the process performs a system call to the kernel. The identifier of the process is obtained by the kernel routine associated with the system call. The kernel routine accesses the file by reading the list of identifiers. A logical comparison is made between the identifier received from the process and the list of identifiers. If a match is found, the kernel routine performs the access operation (e.g., opening the file). If no match is found, the kernel routine does not perform the access operations and, instead, returns an exception (e.g., error message).

Although associating such a data structure with each file does restrict certain processes from accessing certain files, this approach is problematic in many respects. First, the amount of permission data is large, because file systems of ordinary complexity typically contain thousands of files. Secondly, the task of synchronizing permission data with file creation and file deletion is challenging. For example, many processes may create and delete files during their operation. If permission data is created or modified for each file operation, system performance is significantly degraded. Moreover, if permission data is also maintained by a system administrator, system administration is quite cumbersome when the number of files exceeds a small number.

It shall be appreciated that associating the additional data structure with each file causes the file system format to be incompatible with other file system formats. In particular, this approach is incompatible with the file system formats utilized by traditional UNIX operating systems. Thus, once data is stored in the above format, well-known applications and utilities cannot be utilized with the preceding access limiting file structure.

In one embodiment, the present invention is related to a computer system including compartments implemented on an operating system. A database contains access rules with said access rules defining which compartments are authorized to access particular file resources. A kernel module receives a system call to access a file from a user space application belonging to a compartment. A security module determines whether said user space application is authorized to access said file utilizing access rules stored in said database.

FIG. 1 depicts a block diagram example of compartments according to the prior art.

FIG. 2 depicts an exemplary system that utilizes compartments to provide containment according to embodiments of the present invention.

FIG. 3 depicts another exemplary system that utilizes compartments to provide containment according to embodiments of the present invention.

FIG. 4 depicts an exemplary file system to which access is restricted according to embodiments of the present invention.

Compartments refer to groups of processes or threads which are limited to accessing certain subsets of system resources of a computer system. FIG. 1 depicts a block diagram example of compartments. This system includes two subsets of system resources (resource 1 and resource 2). This system also includes three compartments (designated compartments A, B, and C). Compartment A is only permitted to access the system resources associated with resource 1. Compartment C is only permitted to access the system resources associated with resource 2. Compartment B is permitted to access the system resources associated with both resource 1 and resource 2. As an example, if a process is designated as belonging to compartment A, the process would be allowed to access resource 1 but would be prevented from accessing resource 2.

According to embodiments of the present invention, by utilizing compartments, the security of a computer system may be enhanced through mandatory access control. Mandatory access control refers to access control that a process cannot override. By utilizing mandatory access control, a breach of security in one compartment will not effect resources associated with another compartment. Specifically, if the security of an application operating in compartment A is compromised, the breach of security is limited to a subset of system resources. For example, resource 1 may include system resources associated with receiving TCP/IP packets without including system resources used to send TCP/IP packets. Instead, the system resources used to send TCP/IP packets may be assigned to resource 2. If an application in compartment A is compromised by a buffer-overflow attack, the application could not be utilized to launch a denial of service attack against another web-resource. The application could not launch such an attack, since it is not permitted to access system resources associated with sending TCP/IP packets.

In embodiments of the present invention, any number of system resources may be organized according to compartment access control. For example, system resources associated with TCP/IP networking, routing tables, routing caches, shared memory, message queues, semaphores, process/thread handling, and user-id (UID) handling may be limited by utilizing compartments according to embodiments of the present invention.

FIG. 2 depicts exemplary system 200 that illustrates how compartments may be implemented according to embodiments of the present invention. System 200 includes process 201 that is associated with a compartment. Process 201 executes code in user-space, i.e. a hardware-enforced operating mode that limits the operations of process 201. Process 201 may include code that is operable to attempt to access a protected resource (e.g., opening a certain file) according to a compartment scheme. Process 201 performs a system call to the kernel of the operating system. The system call includes transferring control to access control logic 202. Access control logic 202 receives a compartment identifier or tag of process 201. Access control logic 202 utilizes the compartment identifier to search rule database 203 to determine whether the compartment associated with process 201 is permitted access to the particular resource. If access is permitted by the rules contained in rule database 203, access control logic 202 transfers processing control to communication access module 204 that performs the software operations to access the resource. If access is not permitted, access control logic 202 transfers processing control to exception handling module 205. Exception handling module 205 may return an exception (e.g., an error message) to process 201 and/or it may stop the operations of process 201.

System 300 of FIG. 3 depicts another exemplary system that utilizes compartments to provide containment. System 300 includes a plurality of compartments. In this example, WEB compartment 301, FTP compartment 302, and SYSTEM compartment 303 are shown. Each compartment is associated with various executing processes or threads. The processes of the compartments are limited to accessing system resources according to the rules stored in rule database 316. Rule database 316 may include various components or modules for the various types of resources. Rule database 316 may comprise separate tables for TCP/IP networking resource rules and for file system resource rules. Also, the various components may be stored in different locations. For example, TCP/IP resource rules may be stored in random access memory while file system resource rules may be stored on the file system.

SYSTEM compartment 303 may include processes that facilitate command line utilities 304 to modify the compartments or rules associated with the compartments. Command line utilities 304 may include commands to create or delete a particular compartment. Command line utilities 304 may further include commands to create, delete, and/or modify the rules stored in rule database 316 that limit access to system resources.

Command line utilities 304 may further include commands to execute a process in a specific compartment. For example, a command may be utilized to execute an HTTP web server application in WEB compartment 301. The command causes a thread to be created. The command also creates an entry in the thread registry of the kernel (not shown). The thread is associated with a unique identifier. Also, the thread is associated with the identifier of WEB compartment 301. When the particular thread makes systems calls to the kernel to access system resources, the kernel utilizes the unique thread identifier to determine the compartment identifier. The kernel then determines whether the particular thread is authorized to access the requested resource. It shall be appreciated that this approach is quite advantageous, because this approach requires no modification to the application being executed. Thus, the exemplary compartment approach described herein allows the security of ordinary platforms to be upgraded to include access control without requiring appreciable modification of user-space application code.

In the example of FIG. 4, command line utilities 304 access the kernel via kernel modules 322. Routines of kernel modules 322 advantageously perform the actual manipulation (e.g., addition, modification, or deletion) of the respective objects as desired by the particular commands. Further examples of compartment manipulation via command line utilities are disclosed in U.S. patent application Ser. No. 09/896,385 filed Jun. 29, 2001, entitled, “SYSTEM AND METHOD FOR MANAGEMENT OF COMPARTMENTS IN A TRUSTED OPERATING SYSTEM,” which has been incorporated herein by reference.

The kernel of system 300 includes a plurality of modules. Certain modules are accessed by the various compartments via system calls. For example, processes operating in either WEB compartment 301 or FTP compartment 302 may communicate with processes operating on other systems via the Internet by utilizing system calls to routines of TCP/IP networking module 306. Socket communication may occur via UNIX domain sockets module 308. Interprocess communication module 310 includes kernel routines to facilitate communication between processes via shared memory, stacks, semaphores, and/or the like. Interprocess communication module 310 may also facilitate spawning or forking new processes. File access module 312 may facilitate access to files on a file system. For example, file access module 312 may facilitate opening, closing, reading from, writing to, deleting, renaming files, and/or the like. Other kernel modules may be provided via other subsystems module 314.

Each of the kernel modules advantageously interacts with security module 320. Security module 320 enforces the compartment scheme to prevent unauthorized access to system resources. Security module 320 utilizes device configuration module 318 and rule database 316 to facilitate compartment limitations. Security module 320 is capable of determining which resources are available to system 300 via device configuration module 318. Security module 320 further receives identification of a compartment and identification of a system resource to be accessed from a routine of a kernel module. Security module 320 searches rule database 316 to locate an applicable rule. Security module 320 permits or disallows access upon the basis of an applicable rule, or upon the basis of a default rule if no applicable rule is located.

It shall be appreciated that system 300 is an exemplary system. The present invention is not limited to any particular compartment or containment scheme. Specifically, numerous approaches may be utilized to prevent processes belonging to a compartment from accessing system resources. For example, access control may be implemented at the user-level via several techniques. A strace( ) mechanism may be utilized to trace each system call of a given process. The strace( ) mechanism examines each system call and its arguments. The strace( ) mechanism either allows or disallows the system call according to rules defined in a rule database. As another example, system call wrapping may be utilized. In system call wrapping, wrapper functions, using a dynamically linked shared library, examine system calls and arguments. The wrapper functions also either allow or disallow system calls according to rules defined in a rule database. User-level authorization servers may be utilized to control access to system resources. User-level authorization servers may control access to system resources by providing a controlled data channel to the kernel.

In embodiments of the present invention, access to files by processes is restricted by rules based on process compartments. Reference is now made to FIG. 4 that depicts an exemplary file system to which access is controlled by rules based on process compartments. This file system is organized according to a subdirectory structure. The highest component of this file system is the root directory (referred to as root 401). Underneath root 401, several subdirectories are shown including /apache 402, /lib 403, /etc 404. It shall be appreciated that any number of subdirectories could exist at any level of this file system. However, the number of subdirectories shown in FIG. 4 is limited to aid the reader's understanding of embodiments of the present invention. Additionally, several subdirectories are shown underneath /apache 402 (/apache/conf 405 and /apache/logs 406). As is well known in the art, the pathname to a file in a subdirectory is given by the various subdirectories. For example, the pathname for the file “/apache/conf/user0146.1ogs” is /apache/conf 406. The pathname and filename may be passed to a function or a system call to perform various access operations such as opening the file, reading from the file, writing to the file, renaming the file, deleting the file, and/or the like.

TABLE I, below, sets forth a number of exemplary rules that may be included in database 316 to control access to this exemplary file system consistent with the teachings of the present invention:

TABLE I
Rule No. Compartment Pathname Access
1 WEB /apache/conf READ
2 WEB /apache/logs READ, WRITE
3 WEB / NONE (no access)
4 SYSTEM / READ, WRITE

The rules of TABLE I define the permissions given to any process belonging to WEB compartment 301 and SYSTEM compartment 303 to access files within root directory 401 and files within the /apache/conf 405 and /apache/logs 406 subdirectories. For example, a process that belongs to WEB compartment 301 is permitted to read any file within /apache/conf 405 and is allowed to read or write to any file within /apache/logs 406. However, processes belonging to WEB compartment 301 are not permitted any access to files within root directory 401. A process in SYSTEM compartment 303 is permitted read and write access to files within root directory 401.

The rules set forth in TABLE I may be stored in database 316 in any form. However, it is advantageous to store the rules in a manner that parallels the subdirectory structure of this file system. For example, database 316 may include a series of data structures for each subdirectory of file system 300. The data structures for each subdirectory may contain the rules pertaining to the respective subdirectories. Also, the data structures may form a linked list structure. Specifically, the data structures may contain a pointer to its parent subdirectory and a pointer to each child subdirectory. By organizing the rules in this preferable manner, security module 320 may search the database in an efficient manner by traversing the data structures according to the pathname of the file to be accessed. It shall be appreciated that other mechanisms may be utilized in lieu of a pointer approach. For example, a relational database structure may be utilized to organize rules according to the structure of the file system.

Additionally, it is advantageous to minimize the number of rules stored in database 316. According to embodiments of the present invention, a default rule may be placed in root directory 401 for compartments. The default rule is applied until another rule is specified at a data structure associated with lower subdirectory. The specific rule in the data structure associated with the lower subdirectory is applied to every child subdirectory thereafter until another rule is located. According to the exemplary rules given in TABLE I, the default rule for a process belonging to WEB compartment 301 is no access. More specific rules are provided for /apache/conf 405 and /apache/logs 406. By applying this approach, a process belonging to WEB compartment 301 is allowed access to read from every file in /apache/conf 405 and every child subdirectory associated with /apache/conf 405. Likewise, a process belonging to WEB compartment 301 is allowed access to read from and write to every file in /apache/logs 406 and every child subdirectory associated with /apache/logs 406.

According to embodiments of the present invention, security module 320 determines which rules apply based on the compartment identifier of the process. If no rules are located in rule database 316, access is permitted by default. If one or more rules apply, security module 320 preferably utilizes the most specific rule. Specifically, security module 320 first examines the rules to determine whether a specific rule applies to the particular file. If such a rule is located, it is applied. If not, security module 320 examines the lowest subdirectory associated with the file that is defined by the pathname. If a rule is provided for that subdirectory, it is applied. If not, security module 320 successively searches for a rule at each higher parent subdirectory until a rule is located or root directory 401 is reached.

For example, a process belonging to WEB compartment 301 may attempt to read /apache/conf/httpd.conf. A number of rules (Rules 1, 2, and 3) exist for WEB compartment 301. Accordingly, the most specific rule is applied. The rule pertaining to the lowest subdirectory, /apache/conf 405, is applied, i.e. Rule 1, because no rule explicitly exists for apache/conf/httpd.conf. Security module 320 permits access on the basis of Rule 1. Later, the same process belonging to WEB compartment 301 may attempt to write to /apache/conf/httpd.conf. As discussed, Rule 1 applies. In this case, security module 320 does not permit access to the file, because only READ access is permitted by Rule 1.

The same process belonging to WEB compartment 301 may attempt to write to /etc/passwd. A number of rules (Rules 1, 2, and 3) exists for WEB compartment 301. A specific rule is not provided for the file. Accordingly, security module 320 examines the lowest subdirectory defined by the pathname. No rule applies for /etc 404 for WEB compartment 301. Security module 320 searches the parent of /etc 404 which is root directory 401. Security module 320 locates Rule 3 (no access) which is associated with root directory 401. Accordingly, access is not permitted.

It shall be appreciated that embodiments of the present invention provide several advantages. First, the use of a database to retain access information related to compartments greatly simplifies security management. Specifically, it is not necessary to apply and validate access information to each file. Synchronization issues are significantly reduced, since access information need not be modified for each additional or deleted file. The amount of access information is significantly reduced, because rules are based on subdirectories instead of based on individual files. Structuring the database of rules to parallel the subdirectory structure of the file system allows for efficient access to rules of the database by the kernel. Also, structuring the database in this manner simplifies maintenance of rules by a system administrator. Additionally, it shall be appreciated that embodiments of the present invention are compatible with known file system formats. Specifically, embodiments of the present invention may be implemented without modifying the file structure of files, because a database is utilized that is distinct from the files. Accordingly, embodiments of the present invention allow platforms to implement security procedures without requiring modification of the user-space applications or modification of their file systems.

Choo, Tse Huong, Leerssen, Scott Alan, Berger, Joubert

Patent Priority Assignee Title
10021196, Jun 22 2015 Amazon Technologies, Inc Private service endpoints in isolated virtual networks
10037339, Dec 28 2017 DROPBOX, INC Synchronized organization directory with team member folders
10095879, Dec 28 2017 DROPBOX, INC Restrictive access control list
10256993, Sep 19 2014 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
10324903, Dec 28 2017 DROPBOX, INC Content management client synchronization service
10367753, Nov 18 2011 Amazon Technologies, Inc. Virtual network interface records
10397344, Jun 22 2015 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
10521599, Feb 28 2017 BlackBerry Limited Label transition for mandatory access controls
10523590, Oct 28 2016 BlackBerry Limited Channel-based mandatory access controls
10558619, Aug 08 2016 Microsoft Technology Licensing, LLC Detection of bulk operations associated with remotely stored content by client device
10592470, Aug 10 2016 Microsoft Technology Licensing, LLC Discovery of calling application for control of file hydration behavior
10599673, Dec 28 2017 DROPBOX, INC Content management client synchronization service
10614042, Aug 08 2016 Microsoft Technology Licensing, LLC Detection of bulk operations associated with remotely stored content
10616210, Aug 19 2016 Microsoft Technology Licensing, LLC Protection feature for data stored at storage service
10671638, Dec 28 2017 DROPBOX, INC Allocation and reassignment of unique identifiers for synchronization of content items
10691719, Dec 28 2017 DROPBOX, INC Cursor with last observed access state
10691720, Dec 28 2017 DROPBOX, INC Resynchronizing metadata in a content management system
10691721, Dec 28 2017 DROPBOX, INC. Restrictive access control list
10719408, Aug 03 2016 Microsoft Technology Licensing, LLC Retain locally deleted content at storage service
10719409, Aug 03 2016 Microsoft Technology Licensing, LLC Retainment of locally deleted content at storage service by client device
10726044, Dec 28 2017 DROPBOX, INC Atomic moves with lamport clocks in a content management system
10733205, Dec 28 2017 DROPBOX, INC Violation resolution in client synchronization
10762104, Dec 28 2017 DROPBOX, INC File journal interface for synchronizing content
10776386, Dec 28 2017 DROPBOX, INC Content management client synchronization service
10789268, Dec 28 2017 DROPBOX, INC Administrator console for an organization directory
10789269, Dec 28 2017 DROPBOX, INC Resynchronizing metadata in a content management system
10848346, Sep 19 2014 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
10848431, Nov 18 2011 Amazon Technologies, Inc. Virtual network interface objects
10866963, Dec 28 2017 DROPBOX, INC File system authentication
10866964, Dec 28 2017 DROPBOX, INC Updating a local tree for a client synchronization service
10872098, Dec 28 2017 DROPBOX, INC Allocation and reassignment of unique identifiers for synchronization of content items
10877993, Dec 28 2017 DROPBOX, INC Updating a local tree for a client synchronization service
10922333, Dec 28 2017 DROPBOX, INC Efficient management of client synchronization updates
10929426, Dec 28 2017 DROPBOX, INC Traversal rights
10929427, Dec 28 2017 DROPBOX, INC Selective synchronization of content items in a content management system
10936622, Dec 28 2017 DROPBOX, INC Storage interface for synchronizing content
10949445, Dec 28 2017 DROPBOX, INC Content management client synchronization service
10997200, Dec 28 2017 DROPBOX, INC. Synchronized organization directory with team member folders
11003685, Dec 28 2017 DROPBOX, INC Commit protocol for synchronizing content items
11010402, Dec 28 2017 DROPBOX, INC Updating a remote tree for a client synchronization service
11016991, Dec 28 2017 DROPBOX, INC Efficient filename storage and retrieval
11048720, Dec 28 2017 DROPBOX, INC Efficiently propagating diff values
11080297, Dec 28 2017 DROPBOX, INC Incremental client synchronization
11120039, Dec 28 2017 DROPBOX, INC Updating a remote tree for a client synchronization service
11172032, Jun 22 2015 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
11176164, Dec 28 2017 DROPBOX, INC Transition to an organization directory
11188559, Dec 28 2017 DROPBOX, INC Directory snapshots with searchable file paths
11204938, Dec 28 2017 DROPBOX, INC Caching of file system warning queries to determine an applicable file system warning
11218420, Nov 18 2011 Amazon Technologies, Inc. Virtual network interface objects
11295246, Feb 29 2012 Amazon Technologies, Inc. Portable network interfaces for authentication and license enforcement
11308118, Dec 28 2017 DROPBOX, INC File system warnings
11314774, Dec 28 2017 DROPBOX, INC. Cursor with last observed access state
11386116, Dec 28 2017 DROPBOX, INC Prevention of loss of unsynchronized content
11423048, Dec 28 2017 DROPBOX, INC. Content management client synchronization service
11429634, Dec 28 2017 DROPBOX, INC Storage interface for synchronizing content
11461365, Dec 28 2017 DROPBOX, INC. Atomic moves with lamport clocks in a content management system
11475041, Dec 28 2017 DROPBOX, INC. Resynchronizing metadata in a content management system
11500897, Dec 28 2017 DROPBOX, INC. Allocation and reassignment of unique identifiers for synchronization of content items
11500899, Dec 28 2017 DROPBOX, INC. Efficient management of client synchronization updates
11514078, Dec 28 2017 DROPBOX, INC. File journal interface for synchronizing content
11593394, Dec 28 2017 DROPBOX, INC File system warnings application programing interface (API)
11630841, Dec 28 2017 DROPBOX, INC. Traversal rights
11637906, Jun 22 2015 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
11657067, Dec 28 2017 Dropbox Inc. Updating a remote tree for a client synchronization service
11669544, Dec 28 2017 DROPBOX, INC. Allocation and reassignment of unique identifiers for synchronization of content items
11704336, Dec 28 2017 DROPBOX, INC. Efficient filename storage and retrieval
11755616, Dec 28 2017 DROPBOX, INC. Synchronized organization directory with team member folders
11782949, Dec 28 2017 DROPBOX, INC. Violation resolution in client synchronization
11792041, Sep 19 2014 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
11836151, Dec 28 2017 DROPBOX, INC Synchronizing symbolic links
11880384, Dec 28 2017 DROPBOX, INC Forced mount points / duplicate mounts
8700898, Oct 02 2012 CA, Inc. System and method for multi-layered sensitive data protection in a virtual computing environment
8813225, Jun 15 2012 Amazon Technologies, Inc Provider-arbitrated mandatory access control policies in cloud computing environments
8839447, Feb 27 2012 CA, INC System and method for virtual image security in a cloud environment
8868710, Nov 18 2011 Amazon Technologies, Inc Virtual network interface objects
8954964, Feb 27 2012 CA, INC System and method for isolated virtual image and appliance communication within a cloud environment
9009471, Oct 02 2012 CA, Inc. System and method for multi-layered sensitive data protection in a virtual computing environment
9055093, Oct 21 2005 SYROWIK, DAVID R Method, system and computer program product for detecting at least one of security threats and undesirable computer files
9280674, Dec 04 2012 Fujisu Limited Information processing apparatus and method of controlling same
9369403, Nov 18 2011 Amazon Technologies, Inc. Virtual network interface objects
9389898, Oct 02 2012 CA, Inc.; CA, INC System and method for enforcement of security controls on virtual machines throughout life cycle state changes
9436832, Feb 27 2012 CA, Inc. System and method for virtual image security in a cloud environment
9787499, Sep 19 2014 Amazon Technologies, Inc Private alias endpoints for isolated virtual networks
9817687, Feb 27 2012 CA, Inc. System and method for isolated virtual image and appliance communication within a cloud environment
9916545, Feb 29 2012 Amazon Technologies, Inc Portable network interfaces for authentication and license enforcement
Patent Priority Assignee Title
4984272, Nov 30 1988 AT&T Bell Laboratories; BELL TELEPHONE LABORATORIES, INCORPORATED, A CORP OF NY ; AMERICAN TELEPHONE AND TELEGRAPH COMPANY, A CORP OF NY Secure file handling in a computer operating system
5720033, Jun 30 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Security platform and method using object oriented rules for computer-based systems using UNIX-line operating systems
5778222, Jun 27 1994 International Business Machines Corporation Method and system for managing access to objects
5802590, Dec 13 1994 Microsoft Technology Licensing, LLC Method and system for providing secure access to computer resources
6023765, Dec 06 1996 SECRETARY OF COMMERCE, UNITED STATES OF AMERICA, THE, AS REPRESENTED BY THE Implementation of role-based access control in multi-level secure systems
6038563, Oct 31 1997 Oracle America, Inc System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
6044467, Dec 11 1997 Oracle America, Inc Secure class resolution, loading and definition
6047377, Dec 11 1997 Oracle America, Inc Typed, parameterized, and extensible access control permissions
6202066, Nov 19 1997 COMMERCE, GOVENMENT OF THE UNITED STATES OF AMERICA THE, AS REPRESENTED BY THE SECRETARY OF Implementation of role/group permission association using object access type
6408298, Dec 15 1999 Microsoft Technology Licensing, LLC Methods and systems for copying and moving across virtual namespaces
6928466, Sep 28 2000 EMC IP HOLDING COMPANY LLC Method and system for identifying memory component identifiers associated with data
20020026592,
20020107874,
20020186260,
20040158722,
EP768594,
EP926605,
WO2061552,
WO2061553,
WO2061554,
WO250644,
////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 29 2001Hewlett-Packard Development Company, L.P.(assignment on the face of the patent)
Sep 20 2001LEERSSEN, SCOTT ALANHewlett-Packard CompanyASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0126600468 pdf
Oct 03 2001CHOO, TSE HUONGHewlett-Packard CompanyASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0126600468 pdf
Oct 09 2001BERGER, JOUBERTHewlett-Packard CompanyASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0126600468 pdf
Sep 26 2003Hewlett-Packard CompanyHEWLETT-PACKARD DEVELOPMENT COMPANY L P ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0140610492 pdf
Oct 27 2015HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Hewlett Packard Enterprise Development LPASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0370790001 pdf
Apr 05 2017Hewlett Packard Enterprise Development LPENTIT SOFTWARE LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0427460130 pdf
Sep 01 2017Borland Software CorporationJPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017Attachmate CorporationJPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017NetIQ CorporationJPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017MICRO FOCUS US , INC JPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017SERENA SOFTWARE, INC JPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017ARCSIGHT, LLCJPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017ENTIT SOFTWARE LLCJPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
Sep 01 2017MICRO FOCUS SOFTWARE, INC JPMORGAN CHASE BANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0441830718 pdf
May 23 2019ENTIT SOFTWARE LLCMICRO FOCUS LLCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0500040001 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A NetIQ CorporationRELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A MICRO FOCUS SOFTWARE INC F K A NOVELL, INC RELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A Attachmate CorporationRELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A SERENA SOFTWARE, INC RELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A MICRO FOCUS US , INC RELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A Borland Software CorporationRELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A MICRO FOCUS LLC F K A ENTIT SOFTWARE LLC RELEASE OF SECURITY INTEREST REEL FRAME 044183 07180627460399 pdf
Jan 31 2023JPMORGAN CHASE BANK, N A MICRO FOCUS LLC F K A ENTIT SOFTWARE LLC RELEASE OF SECURITY INTEREST REEL FRAME 044183 05770635600001 pdf
Date Maintenance Fee Events
Dec 08 2014M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 04 2019REM: Maintenance Fee Reminder Mailed.
Jul 22 2019EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Jun 14 20144 years fee payment window open
Dec 14 20146 months grace period start (w surcharge)
Jun 14 2015patent expiry (for year 4)
Jun 14 20172 years to revive unintentionally abandoned end. (for year 4)
Jun 14 20188 years fee payment window open
Dec 14 20186 months grace period start (w surcharge)
Jun 14 2019patent expiry (for year 8)
Jun 14 20212 years to revive unintentionally abandoned end. (for year 8)
Jun 14 202212 years fee payment window open
Dec 14 20226 months grace period start (w surcharge)
Jun 14 2023patent expiry (for year 12)
Jun 14 20252 years to revive unintentionally abandoned end. (for year 12)