IP Library Granted Patent US 11,062,055
Granted Patent B2
US 11,062,055 · App. 16/142,894 · Granted Jul 13, 2021

Computer device and method for managing privilege delegation

Inventor: John Goodridge (Sale, GB)
Assignee: AVECTO LIMITED
G06F21/6281G06F21/629
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,062,055
App. No.
16/142,894
Granted
Jul 13, 2021
Kind
B2
Abstract

A computer device and method for managing privilege delegation to control execution of commands on files on the computer device is described. An agent plugin intercepts a request in a user account of a logged-in user to execute a command therein on a file having first privileges assigned thereto, wherein the agent plugin is provided for the file. The agent plugin obtains information related to the request and forwards the information to an agent service cooperating with an operating system of the computer device. The agent service determines whether to execute the command on the file in the user account according to second privileges different from the first privileges. The agent service launches an agent proxy process having the second privileges assigned thereto by the agent service if it is determined to execute the command on the file in the user account according to the second privileges. The agent proxy process causes the command to be executed on the file in the user account by the operating system, according to the second privileges assigned to the agent proxy process.

Claims (43)

1. A computer device configured to manage privilege delegation to control execution of commands on files on the computer device, the computer device comprising:

memory configured to store an operating system; and

processing circuitry operatively connected to the memory and configured to:

modify a virtual method table to point to a hooking function associated with an agent plugin, wherein the agent plugin is configured to intercept requests relating to a file using the hooking function;

intercept, via the agent plugin, a request in a user account of a logged-in user to execute therein a command on the file according to first privileges assigned thereto;

obtain, via the agent plugin, information related to the request and forward the information to an agent service cooperating with the operating system;

determine, via the agent service, whether to execute the command on the file in the user account according to second privileges different from the first privileges; and

launch an agent proxy process having the second privileges assigned thereto by the agent service, responsive to determining to execute the command on the file in the user account according to the second privileges,

wherein the agent proxy process is configured to

cause the command to be executed on the file in the user account, according to the second privileges assigned to the agent proxy process.

2. The computer device according to claim 1 , wherein the processing circuitry is further configured to:

intercept the request by intercepting a request to create a context menu for the file, wherein the context menu includes a plurality of verb commands, each verb command corresponding to a respective command on the file; and

obtain the information related to the request by obtaining a file identifier of the file from the request to create the context menu.

3. The computer device according to claim 2 , wherein the processing circuitry is further configured to insert a custom verb command into the plurality of verb commands.

4. The computer device according to claim 3 , wherein the processing circuitry is further configured to insert the custom verb command into the plurality of verb commands by replacing a verb command of the plurality of verb commands with the custom verb command.

5. The computer device according to claim 2 , wherein the processing circuitry is further configured to obtain the information related to the request by obtaining a particular verb command from amongst the plurality of verb commands, responsive to a user selection, by the user, of the particular verb command.

6. The computer device according to claim 1 , wherein the processing circuitry is further configured to determine whether to execute the command on the file in the user account according to the second privileges by consulting a plurality of rules, stored on the computer device, according to, at least in part, the forwarded information.

7. The computer device according to claim 1 , wherein the processing circuitry is further configured to determine whether to execute the command on the file in the user account according to the second privileges by establishing authorisation from the user to execute the command.

8. The computer device according to claim 7 , wherein the processing circuitry is further configured to establish authorisation by providing a graphical user interface (GUI) dialog comprising at least one of a confirmation, a challenge-response, and a reason, and receiving a response therefrom.

9. The computer device according to claim 7 , wherein the processing circuitry is further configured to determine whether to execute the command on the file in the user account according to the second privileges by permitting or denying the authorisation to execute the command.

10. The computer device according to claim 1 , wherein the processing circuitry is further configured to terminate the agent proxy process responsive to determining that the command has been executed on the file in the user account.

11. A method of managing privilege delegation to control execution of commands on files on a computer device, the method being implemented by hardware of the computer device including at least a processing circuit and a memory, the method comprising:

modifying a virtual method table to point to a hooking function associated with an agent plugin, wherein the agent plugin is configured to intercept requests relating to a file using the hooking function;

intercepting, via the agent plugin, a request in a user account of a logged-in user to execute a command therein on the file having first privileges assigned thereto;

obtaining information related to the request and forwarding the information to an agent service cooperating with an operating system of the computer device;

determining, via the agent service, whether to execute the command on the file in the user account according to second privileges different from the first privileges;

launching an agent proxy process having the second privileges assigned thereto by the agent service, responsive to determining to execute the command on the file in the user account according to the second privileges; and

causing the command to be executed on the file in the user account according to the second privileges assigned to the agent proxy process.

12. The method according to claim 11 , wherein intercepting the request comprises intercepting a request to create a context menu for the file, wherein the context menu includes a plurality of verb commands, each verb command corresponding to a respective command on the file and wherein obtaining the information related to the request comprises obtaining a file identifier of the file from the request to create the context menu.

13. The method according to claim 12 , comprising inserting a custom verb command into the plurality of verb commands.

14. The method according to claim 13 , wherein inserting the custom verb command into the plurality of verb commands comprises replacing a verb command of the plurality of verb commands with the custom verb command.

15. The method according to claim 12 , wherein obtaining the information related to the request comprises obtaining a particular verb command from amongst the plurality of verb commands, responsive to a user selection, by the user, of the particular verb command.

16. The method according to claim 12 , wherein determining whether to execute the command on the file in the user account according to the second privileges comprises consulting a plurality of rules, stored on the computer device, according to, at least in part, the forwarded information.

17. The method according to claim 12 , wherein determining whether to execute the command on the file in the user account according to the second privileges comprises establishing authorisation from the user to execute the command.

18. The method according to claim 17 , wherein establishing authorisation comprises providing a graphical user interface (GUI) dialog comprising at least one of a confirmation, a challenge-response, and a reason, and receiving a response therefrom.

19. The method according to claim 11 , comprising terminating the agent proxy process after causing the command to be executed on the file in the user account.

20. A non-transitory computer-readable storage medium having instructions recorded thereon, which when implemented by processing circuitry of a computer device configured to manage privilege delegation to control execution of commands on files on the computer device, cause the computer device to:

modify a virtual method table to point to a hooking function associated with an agent plugin, wherein the agent plugin is configured to intercept requests relating to a file using the hooking function;

intercept, via the agent plugin, a request in a user account of a logged-in user to execute a command therein on the file having first privileges assigned thereto;

obtain, via the agent plugin, information related to the request and forward the information to an agent service cooperating with an operating system of the computer device;

determine, via the agent service, whether to execute the command on the file in the user account according to second privileges different from the first privileges;

launch an agent proxy process having the second privileges assigned thereto by the agent service, responsive to determining to execute the command on the file in the user account according to the second privileges; and

cause the command to be executed on the file in the user account according to the second privileges assigned to the agent proxy process.

Assignments (5)
RELEASE OF FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 28, 2023
From: JEFFERIES FINANCE LLC
To: AVECTO LTD
Reel/Frame 065696/0980 →
RELEASE OF SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 28, 2023
From: JEFFERIES FINANCE LLC
To: AVECTO LTD
Reel/Frame 065697/0239 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Dec 31, 2018
From: AVECTO LTD
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 047996/0201 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Dec 31, 2018
From: AVECTO LTD
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 047996/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: GOODRIDGE, JOHN
To: AVECTO LIMITED
Reel/Frame 046982/0942 →