IP Library Granted Patent US 10,810,164
Granted Patent B2
US 10,810,164 · App. 15/418,074 · Granted Oct 20, 2020

Securing access to functionality of a file-based write filter

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 10,810,164
App. No.
15/418,074
Granted
Oct 20, 2020
Kind
B2
Abstract

Access to functionality of a file-based write filter can be secured. A policy-based filter can be configured to monitor and filter calls to APIs that access functionality of the file-based write filter. Based on policy, the policy-based filter can selectively block such calls to ensure that only permitted applications and/or users are allowed to access the functionality of the file-based write filter. In some cases, the policy-based filter can be configured to communicate with a server component to determine whether a particular attempt to access the functionality of the file-based write filter should be allowed.

Claims (54)

1. A method, implemented by a policy-based filter that executes on a computing device as an intermediary between a file-based write filter and a write filter application programming interface (API) that applications employ to access functionality of the file-based write filter, for securing access to functionality of the file-based write filter, the method comprising:

in response to an application employing the write filter API to submit a request to add an artifact to an exclusion list of the file-based write filter to thereby cause the file-based write filter to allow Input/Output (I/O) requests that target the artifact to be directed to a protected volume, intercepting, by the policy-based filter, the request to add the artifact to the exclusion list before the request to add the artifact to the exclusion list is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to add the artifact to the exclusion list against policies; and

when the policies indicate that the request to add the artifact to the exclusion list is not authorized, blocking, by the policy-based filter, the request to add the artifact to the exclusion list so that the request to add the artifact to the exclusion list is not passed to the file-based write filter thereby causing the file-based write filter to redirect I/O requests that target the artifact so that the I/O requests are not directed to the protected volume, whereas when the policies indicate that the request to add the artifact to the exclusion list is authorized, allowing, by the policy-based filter, the request to add the artifact to the exclusion list so that the request to add the artifact to the exclusion list is passed to the file-based write filter thereby causing the file-based write filter to allow I/O requests that target the artifact to be directed to the protected volume.

2. The method of claim 1 , wherein intercepting the request to add the artifact to the exclusion list comprises hooking a call to a function of the write filter API.

3. The method of claim 1 , wherein intercepting the request to add the artifact to the exclusion list comprises employing a filter driver to receive an input/output control (IOCTL) targeting the file-based write filter that was generated in response to the application employing the write filter API to submit the request to add the artifact to the exclusion list.

4. The method of claim 1 , wherein evaluating the request to add the artifact to the exclusion list against policies comprises determining whether the application is permitted to add exclusions to the exclusion list.

5. The method of claim 1 , wherein evaluating the request to add the artifact to the exclusion list against policies comprises determining whether a current user is permitted to add exclusions to the exclusion list.

6. The method of claim 1 , wherein evaluating the request to add the artifact to the exclusion list against policies comprises determining whether an access window is open.

7. The method of claim 6 , wherein determining whether an access window is open comprises communicating with an agent.

8. The method of claim 7 , wherein the agent communicates with a server-based component to determine whether an administrator has opened an access window.

9. The method of claim 1 , further comprising:

intercepting, by the policy-based filter, a request to persist an artifact stored in an overlay to the protected volume before the request to persist the artifact stored in the overlay to the protected volume is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume against policies; and

when the policies indicate that the request to persist the artifact stored in the overlay to the protected volume is not authorized, blocking, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume so that the request to persist the artifact stored in the overlay to the protected volume is not passed to the file-based write filter thereby causing the file-based write filter to retain the artifact in the overlay and to continue redirecting I/O requests that target the artifact so that the I/O requests are directed to the overlay rather than to the protected volume, whereas when the policies indicate that the request to persist the artifact stored in the overlay to the protected volume is authorized, allowing, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume so that the request to persist the artifact stored in the overlay to the protected volume is passed to the file-based write filter thereby causing the file-based write filter to persist the artifact to the protected volume.

10. The method of claim 1 , further comprising:

intercepting, by the policy-based filter, a request to disable the file-based write filter before the request to disable the file-based write filter is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to disable the file-based write filter against policies; and

when the policies indicate that the request to disable the file-based write filter is not authorized, blocking, by the policy-based filter, the request to disable the file-based write filter so that the request to disable the file-based write filter is not passed to the file-based write filter thereby causing the file-based write filter to remain enabled, whereas when the policies indicate that the request to disable the file-based write filter is authorized, allowing, by the policy-based filter, the request to disable the file-based write filter so that the request to disable the file-based write filter is passed to the file-based write filter thereby causing the file-based write filter to be disabled.

11. The method of claim 1 , further comprising:

intercepting, by the policy-based filter, a request to disable write filtering for a particular volume before the request to disable write filtering for the particular volume is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to disable write filtering for the particular volume against policies; and

when the policies indicate that the request to disable write filtering for the particular volume is not authorized, blocking, by the policy-based filter, the request to disable write filtering for the particular volume so that the request to disable write filtering for the particular volume is not passed to the file-based write filter thereby causing the file-based write filter to continue performing write filtering for the particular volume, whereas when the policies indicate that the request to disable write filtering for the particular volume is authorized, allowing, by the policy-based filter, the request to disable write filtering for the particular volume so that the request to disable write filtering for the particular volume is passed to the file-based write filter thereby causing the file-based write filter to disable write filtering for the particular volume.

12. A method, implemented by a policy-based filter that executes on a computing device as an intermediary between a file-based write filter and a write filter application programming interface (API) that applications employ to access functionality of the file-based write filter, for securing access to functionality of the file-based write filter, the method comprising:

in response to an application employing the write filter API to submit a request to persist an artifact stored in an overlay to a protected volume, intercepting, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume before the request to persist the artifact stored in the overlay to the protected volume is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume against policies; and

when the policies indicate that the request to persist the artifact stored in the overlay to the protected volume is not authorized, blocking, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume so that the request to persist the artifact stored in the overlay to the protected volume is not passed to the file-based write filter thereby causing the file-based write filter to retain the artifact in the overlay and to continue redirecting Input/Output (I/O) requests that target the artifact so that the I/O requests are directed to the overlay rather than to the protected volume, whereas when the policies indicate that the request to persist the artifact stored in the overlay to the protected volume is authorized, allowing, by the policy-based filter, the request to persist the artifact stored in the overlay to the protected volume so that the request to persist the artifact stored in the overlay to the protected volume is passed to the file-based write filter thereby causing the file-based write filter to persist the artifact to the protected volume.

13. The method of claim 12 , wherein intercepting the request to persist the artifact stored in the overlay to the protected volume comprises one or both of:

hooking a call to a function of the write filter API; or

employing a filter driver to receive an input/output control (IOCTL) targeting the file-based write filter that was generated in response to the application employing the write filter API to submit the request to persist the artifact stored in the overlay to the protected volume.

14. The method of claim 12 , wherein evaluating the request to persist the artifact stored in the overlay to the protected volume against policies comprises one or more of:

determining whether the application is permitted to persist artifacts stored in the overlay to the protected volume;

determining whether a current user is permitted to persist artifacts stored in the overlay to the protected volume; or

determining whether an access window is open.

15. The method of claim 12 , wherein evaluating the request to persist the artifact stored in the overlay to the protected volume against policies comprises:

determining whether the application is permitted to persist artifacts stored in the overlay to the protected volume;

determining whether a current user is permitted to persist artifacts stored in the overlay to the protected volume; and

determining whether an access window is open.

16. A method, implemented by a policy-based filter that executes on a computing device as an intermediary between a file-based write filter and a write filter application programming interface (API) that applications employ to access functionality of the file-based write filter, for securing access to functionality of the file-based write filter, the method comprising:

in response to an application employing the write filter API to submit a request to disable the file-based write filter, intercepting, by the policy-based filter, the request to disable the file-based write filter before the request to disable the file-based write filter is passed to the file-based write filter;

evaluating, by the policy-based filter, the request to disable the file-based write filter against policies; and

when the policies indicate that the request to disable the file-based write filter is not authorized, blocking, by the policy-based filter, the request to disable the file-based write filter so that the request to disable the file-based write filter is not passed to the file-based write filter thereby causing the file-based write filter to remain enabled, whereas when the policies indicate that the request to disable the file-based write filter is authorized, allowing, by the policy-based filter, the request to disable the file-based write filter so that the request to disable the file-based write filter is passed to the file-based write filter thereby causing the file-based write filter to be disabled.

17. The method of claim 16 , wherein the request to disable the file-based write filter comprises a request to disable write filtering for a particular volume such that when the policies indicate that the request to disable write filtering for the particular volume is not authorized, the policy-based filter blocks the request to disable write filtering for the particular volume so that the request to disable write filtering for the particular volume is not passed to the file-based write filter thereby causing the file-based write filter to continue performing write filtering for the particular volume, whereas when the policies indicate that the request to disable write filtering for the particular volume is authorized, the policy-based filter allows the request to disable write filtering for the particular volume so that the request to disable write filtering for the particular volume is passed to the file-based write filter thereby causing the file-based write filter to disable write filtering for the particular volume.

18. The method of claim 16 , wherein intercepting the request to disable the file-based write filter comprises one or both of:

hooking a call to a function of the write filter API; or

employing a filter driver to receive an input/output control (IOCTL) targeting the file-based write filter that was generated in response to the application employing the write filter API to submit the request to disable the file-based write filter.

19. The method of claim 16 , wherein evaluating the request to disable the file-based write filter against policies comprises one or more of:

determining whether the application is permitted to disable the file-based write filter;

determining whether a current user is permitted to disable the file-based write filter; or

determining whether an access window is open.

20. The method of claim 16 , wherein evaluating the request to disable the file-based write filter against policies comprises:

determining whether the application is permitted to disable the file-based write filter;

determining whether a current user is permitted to disable the file-based write filter; and

determining whether an access window is open.

Assignments (9)
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 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
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 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: JOSHI, SALIL S; KAUSHIK, PUNEET; POPLI, SUMIT
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 041109/0338 →