IP Library Granted Patent US 8,555,409
Granted Patent B2
US 8,555,409 · App. 13/287,982 · Granted Oct 8, 2013

System and method for providing private session-based access to a redirected USB device or local device

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 8,555,409
App. No.
13/287,982
Granted
Oct 8, 2013
Kind
B2
Abstract

Restricting access to a device from a server, where the device is remote to the server and is connected locally to a client that is remote to the server, is described. The operations may include facilitating interception, at the server, of a function call to create a symbolic link; facilitating determination that the intercepted function call to create the symbolic link corresponds to a device object associated with the device that is remote to the server and is connected locally to a client that is remote to the server; facilitating obtaining configuration data indicating whether access to the device is to be restricted; and facilitating creation of the symbolic link in a local namespace of an object manager namespace of the server, upon obtaining configuration data indicating that access to the device is to be restricted.

Claims (92)

1. A method for restricting access to a device from a server, the method comprising:

intercepting, at the server, a function call to create a symbolic link;

determining that the intercepted function call corresponds to a device object associated with the device that is remote to the server and is connected locally to a client that is remote to the server;

obtaining configuration data indicating whether access to the device is to be restricted; and

creating the symbolic link in a local namespace of an object manager namespace of the server, upon obtaining configuration data indicating that access to the device is to be restricted.

2. The method according to claim 1 , wherein the device is a USB device.

3. The method according to claim 1 , wherein creating the symbolic link comprises creating the symbolic link in a local namespace associated with the client's user session on the server, the client having the device locally connected.

4. The method according to claim 1 , wherein intercepting the functional call comprises:

modifying a system service description table (SSDT) of the server to redirect function calls to create symbolic links to an intercept module; and

redirecting the function call to create the symbolic link to the intercept module.

5. The method according to claim 1 , wherein determining that the intercepted function call corresponds to a device object associated with the device that is remote to the server comprises:

traversing a device stack associated with the device object to identify a lowest bus driver associated with the device object; and

determining that the device object is associated with the device that is remote to the server and is connected locally to the client that is remote to the server, based on the identification of the bus driver.

6. The method according to claim 1 , wherein obtaining configuration data comprises:

retrieving configuration data associated with the device from a storage device of the server.

7. The method according to claim 1 , wherein obtaining configuration data comprises:

receiving configuration data associated with the device object from a user session of the client having the device connected locally.

8. The method according to claim 1 , further comprising:

providing secure session-based access to the device using the symbolic link created in the local namespace of the object manager namespace of the server.

9. The method according to claim 1 , further comprising:

creating the symbolic link in a local namespace associated with a first user session;

receiving, at the server, a request including the created symbolic link from a second user session;

determining whether the created symbolic link is in a local namespace associated with the second user session or in a global namespace; and

blocking the received request upon determining that the created symbolic link is not in the local namespace associated with the second user session and not in the global namespace.

10. The method according to claim 1 , further comprising:

intercepting, at the server, a function call to delete the symbolic link; and

deleting the symbolic link from the object manager namespace of the server.

11. The method according to claim 10 , wherein deleting the symbolic link comprises:

determining that the function call to delete the symbolic link corresponds to a symbolic link in the local namespace of the object manager namespace of the server; and

deleting the symbolic link from the local namespace of the object manager namespace of the server.

12. A non-transitory machine-readable storage medium encoded with instructions executable by one or more processors to perform one or more operations, the one or more operations comprising:

intercepting, at a server, a function call to create a symbolic link;

determining that the intercepted function call corresponds to a device object associated with a device that is remote to the server and is connected locally to a client that is remote to the server;

obtaining configuration data indicating whether access to the device is to be restricted; and

creating the symbolic link in a local namespace of an object manager namespace of the server, upon obtaining configuration data indicating that access to the device is to be restricted.

13. The machine-readable storage medium according to claim 12 , wherein the device is a USB device.

14. The machine-readable storage medium according to claim 12 , wherein creating the symbolic link comprises creating the symbolic link in a local namespace associated with the client's user session on the server, the client having the device locally connected.

15. The machine-readable storage medium according to claim 12 , wherein intercepting the function call comprises:

modifying a system service description table (SSDT) of the server to redirect function calls to create symbolic links to an intercept module; and

redirecting the function call to create the symbolic link to the intercept module.

16. The machine-readable storage medium according to claim 12 , wherein determining that the intercepted function call corresponds to a device object associated with a device that is remote to the server comprises:

traversing a device stack associated with the device object to identify a lowest bus driver associated with the device object; and

determining that the device object is associated with the device that is remote to the server and is connected locally to the client that is remote to the server, based on the identification of the bus driver.

17. The machine-readable storage medium according to claim 12 , wherein obtaining configuration data comprises:

retrieving configuration data associated with the device from a storage device of the server.

18. The machine-readable storage medium according to claim 12 , wherein obtaining configuration data comprises:

receiving configuration data associated with the device object from a user session of the client having the device connected locally.

19. The machine-readable storage medium according to claim 12 , wherein the one or more operations further comprise:

providing secure session-based access to the device using the symbolic link created in the local namespace of the object manager namespace of the server.

20. The machine-readable storage medium according to claim 12 , wherein the one or more operations further comprise:

creating the symbolic link in a local namespace associated with a first user session;

receiving, at the server, a request including the created symbolic link from a second user session;

determining whether the created symbolic link is in a local namespace associated with the second user session or in a global namespace; and

blocking the received request upon determining that the created symbolic link is not in the local namespace associated with the second user session and not in the global namespace.

21. The machine-readable storage medium according to claim 12 , wherein the one or more operations further comprise:

intercepting, at the server, a function call to delete the symbolic link; and

deleting the symbolic link from the object manager namespace of the server.

22. The machine-readable storage medium according to claim 21 , wherein deleting the symbolic link from the object manager namespace of the server comprises:

determining that the function call to delete the symbolic link corresponds to a symbolic link in the local namespace of the object manager namespace of the server; and

deleting the symbolic link from the local namespace of the object manager namespace of the server.

23. A hardware apparatus, comprising:

a processor; and

a memory encoded with instructions executable by the processor to perform one or more operations comprising:

intercepting, at a server, a function call to create a symbolic link;

determining that the intercepted function call to create the symbolic link corresponds to a device object associated with a device that is remote to the server and is connected locally to a client that is remote to the server;

obtaining configuration data indicating whether access to the device is to be restricted; and

creating the symbolic link in a local namespace of an object manager namespace of the server, upon obtaining configuration data indicating that access to the device is to be restricted.

24. The hardware apparatus according to claim 23 , wherein the device is a USB device.

25. The hardware apparatus according to claim 23 , wherein creating the symbolic link comprises creating the symbolic link in a local namespace associated with the client's user session on the server, the client having the device locally connected.

26. The hardware apparatus according to claim 23 , wherein intercepting the function call comprises:

modifying a system service description table (SSDT) of the server to redirect, function calls to create symbolic links, to an intercept module; and

redirecting a function call to create the symbolic link to the intercept module.

27. The hardware apparatus according to claim 23 , wherein determining that the intercepted function call to create the symbolic link corresponds to a device object associated with a device that is remote to the server comprises:

traversing a device stack associated with the device object to identify a lowest bus driver associated with the device object; and

determining that the device object is associated with the device that is remote to the server and is connected locally to the client that is remote to the server, based on the identification of the bus driver.

28. The hardware apparatus according to claim 23 , wherein the obtaining configuration data comprises:

retrieving configuration data associated with the device from a storage device of the server.

29. The hardware apparatus according to claim 23 , wherein the obtaining configuration data comprises:

receiving configuration data associated with the device object from a user session of the client having the device connected locally.

30. The hardware apparatus according to claim 23 , wherein the one or more operations further comprise:

providing secure session-based access to the device using the symbolic link created in the local namespace of the object manager namespace of the server.

31. The hardware apparatus according to claim 23 , wherein the one or more operations further comprise:

creating the symbolic link in a local namespace associated with a first user session;

receiving, at the server, a request including the created symbolic link from a second user session;

determining whether the created symbolic link is in a local namespace associated with the second user session or in a global namespace; and

blocking the received request upon determining that the created symbolic link is not in the local namespace associated with the second user session and not in the global namespace.

32. The hardware apparatus according to claim 23 , wherein the one or more operations further comprise:

intercepting, at the server, a function call to delete the symbolic link; and

deleting the symbolic link from the object manager namespace of the server.

33. The hardware apparatus according to claim 32 , wherein deleting the symbolic link from the object manager name space of the server comprises:

determining that the function call to delete the symbolic link corresponds to a symbolic link in the local namespace of the object manager namespace of the server; and

deleting the symbolic link from the local namespace of the object manager namespace of the server.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →