Computer device and method for controlling untrusted access to a peripheral device
First Claim
Patent Images
1. A computer device, comprising:
- a hardware layer comprising a processor, a memory, and a peripheral device;
an operating system executed by the hardware layer, wherein the operating system;
supports the peripheral device using a device driver which drives the peripheral device and a device object as a security object representing the peripheral device in the operating system;
operates a primary user account comprising a user process, wherein the device object is accessible by the user process; and
provisions a secondary user account, derived from the primary user account, wherein the secondary user account is a secure execution environment that isolates an untrusted process; and
an agent as an intermediary executed in cooperation with the operating system, the primary user account and the secondary user account, wherein the agent;
applies security attributes to the device object in the operating system which permit access to the device object by the primary user account while preventing direct access to the device object by the secondary user account;
intercepts a request from the secondary user account made toward the device object in relation to an operation of the peripheral device;
examines the request and determines whether to allow or deny access to the peripheral device from the secondary user account; and
satisfies the request, when the request is allowed, by arranging indirect access to the device object, thereby performing the operation of the peripheral device as requested from the secondary user account.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer device includes hardware with a connected peripheral device such as a camera or a microphone. An operating system is configured to operate the peripheral device using a device driver and a representative device object. An agent is configured to apply security attributes to the device object which permit access from a primary user account while preventing direct access to the device object by a secondary user account in a sandbox. The agent may intercept requests made toward the device object, examine each request, and then satisfy the request, when the request is allowed, by selectively arranging access to the device object from the sandboxed secondary user account.
-
Citations
20 Claims
-
1. A computer device, comprising:
-
a hardware layer comprising a processor, a memory, and a peripheral device; an operating system executed by the hardware layer, wherein the operating system; supports the peripheral device using a device driver which drives the peripheral device and a device object as a security object representing the peripheral device in the operating system; operates a primary user account comprising a user process, wherein the device object is accessible by the user process; and provisions a secondary user account, derived from the primary user account, wherein the secondary user account is a secure execution environment that isolates an untrusted process; and an agent as an intermediary executed in cooperation with the operating system, the primary user account and the secondary user account, wherein the agent; applies security attributes to the device object in the operating system which permit access to the device object by the primary user account while preventing direct access to the device object by the secondary user account; intercepts a request from the secondary user account made toward the device object in relation to an operation of the peripheral device; examines the request and determines whether to allow or deny access to the peripheral device from the secondary user account; and satisfies the request, when the request is allowed, by arranging indirect access to the device object, thereby performing the operation of the peripheral device as requested from the secondary user account. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for controlling access to a peripheral device on a computer device, the method being implemented by hardware of the computer device including at least a processor and a memory, the method comprising:
-
supporting the peripheral device using a device driver which drives the peripheral device and a device object as a security object representing the peripheral device in an operating system of the computer device; operating a primary user account comprising a user process, wherein the device object is accessible by the user process; provisioning a secondary user account, derived from the primary user account, wherein the secondary user account is a secure execution environment which isolates an untrusted process; applying security attributes to the device object in the operating system which permit access to the device object by the primary user account while preventing direct access to the device object by the secondary user account; intercepting a request from the secondary user account made toward the device object in relation to an operation of the peripheral device; examining the request and determining whether to allow or deny access to the peripheral device from the secondary user account; and satisfying the request, when the request is allowed, by arranging indirect access to the device object in the operating system, thereby performing the operation of the peripheral device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable storage medium having recorded thereon instructions which, when implemented by a computer device perform a process for controlling access to a peripheral device, the process including:
-
supporting a peripheral device using a device driver which drives the peripheral device and a device object as a security object representing the peripheral device in an operating system of the computer device; operating a primary user account comprising a user process, wherein the device object is accessible by the user process; provisioning a secondary user account, derived from the primary user account, wherein the secondary user account is a secure execution environment which isolates an untrusted process; applying security attributes to the device object in the operating system which permit access to the device object by the primary user account while preventing direct access to the device object by the secondary user account; intercepting a request from the secondary user account made toward the device object in relation to an operation of the peripheral device; examining the request and determining whether to allow or deny access to the peripheral device from the secondary user account; and satisfying the request, when the request is allowed, by arranging indirect access to the device object in the operating system, thereby performing the operation of the peripheral device.
-
Specification