Securing CPU affinity in multiprocessor architectures
AssigneeSamsung Electronics Co., Ltd.
InventorsXinwen Zhang, Jean-Pierre Seifert, Onur Aciicmez, Qingwei Ma
Life of this patent
Estimating the term…
Abstract
In an embodiment of the present invention, the ability for a user or process to set or modify affinities is restricted in order to method for control a multi-processor environment. This may be accomplished by using a reference monitor that controls a process' capability to retrieve and set its or another process' affinity. This aids in the prevention of security breaches.
Claims20
A method for controlling a multi-processor environment, comprising:
- assigning one or more processes to one or more attributes;
- receiving a request to get or set an affinity for a process;
- running an initial check of permissions at a Discretionary Access Control (DAC) control module;
- running a second check of permissions in a secure environment to serve as a reference monitor for setting affinity by using a security hook contained in a primitive system call function in a kernel of the multi-processor environment for policy enforcement, wherein the security hook checks to see if getting or setting the affinity is permitted for a process from which the request is received wherein the security hook checks to see if getting or setting the affinity is permitted by accessing a security module in the kernel, the security module having a set of defined policies, wherein assigned attributes are mapped against the set of policies;
- and
- restricting the request based on one or more security settings.
A method for controlling a secure multi-processor environment, comprising:
- assigning one or more processes to one or more attributes including type attributes;
- receiving a request to get or set an affinity for a process;
- running a security hook contained in a primitive system call function in a kernel of the secure multi-processor environment to perform policy enforcement to serve as a reference monitor for setting affinity, wherein the security hook checks to see if getting or setting the affinity is permitted for a process from which the request is received wherein the security hook checks to see if getting or setting the affinity is permitted by accessing a security module, the security module residing in the kernel and including a set of defined policies to map different types of processes and object and specify the permissions of processes based on their types;
- and
- restricting the request based on one or more security settings.
A method for preventing security breaches in a multi-processor environment, the method comprising:
- assigning one or more processes to one or more attributes;
- receiving a request to get or set an affinity for a process;
- running an initial check of permissions at a Discretionary Access Control (DAC) control module;
- running a second check of permissions to serve as a reference monitor for setting affinity by using security hooks contained in primitive system call functions in a kernel of the multi-processor environment to perform policy enforcement;
- receiving, at a policy decision point module residing in a Security Module in the kernel parameters forwarded by the hooks in system call functions in a kernel of the multi-processor environment, wherein the parameters contain information about a process requesting access to change an affinity of a process as well as information regarding the process whose affinity is to be changed;
- and
- determining whether to allow the requesting process to change the affinity based at least partially upon security settings corresponding to the information about the requesting process.
An apparatus for controlling a multi-processor environment, comprising:
- management tool means for assigning one or more processes to one or more attributes;
- means in a secure environment for receiving a request to get or set an affinity for a process;
- reference monitor means in the secure environment for running a security hook contained in a primitive system call function in a kernel of the multi-processor environment to perform policy enforcement, wherein the security hook checks to see if getting or setting the affinity is permitted for a process from which the request is received;
- and
- means for restricting the request based on one or more security settings.
A system for controlling a multi-processor environment, comprising:
- two or more processors;
- a management tool to assign one or more processes to one or more attributes;
- an operating system configured to send a request to get or set an affinity for a process to a security module residing in a kernel to act as a reference monitor for setting affinity;
- and
- wherein the security module includes a security server that is configured to restricting the request based on one or more security settings;
- the security server configured to receive parameters forwarded by hooks in system call functions in the kernel of the multi-processor environment, wherein the parameters contain information about a process requesting access to change an affinity of a process as well as information regarding the process whose affinity is to be changed, and to determine whether to allow the requesting process to change the affinity based at least partially upon security settings corresponding to the information about the requesting process.
Dependencies are inferred from the claim text.