IP Library Granted Patent US 9,560,028
Granted Patent B1
US 9,560,028 · App. 14/451,037 · Granted Jan 31, 2017

Systems and methods for filtering interprocess communications

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 9,560,028
App. No.
14/451,037
Granted
Jan 31, 2017
Kind
B1
Abstract

The disclosed computer-implemented method for filtering interprocess communications may include (1) identifying a service process that provides a service on the computing device, (2) authenticating the service process, (3) identifying a request by a client process to use the service provided by the service process, (4) authenticating the client process, (5) receiving an interprocess communication from the client process directed toward the service process, (6) determining that the interprocess communication is malicious, and (7) in response to determining that the interprocess communication is malicious, blocking the interprocess communication from being communicated to the service process. Various other methods, systems, and computer-readable media are also disclosed.

Claims (66)

1. A computer-implemented method for filtering interprocess communications, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a service process that provides a service on the computing device;

authenticating the service process by inspecting an assertion file to identify the service provided by the service process;

identifying a request by a client process to use the service provided by the service process;

authenticating the client process;

receiving an interprocess communication from the client process directed toward the service process;

deriving, based on authenticating the client and service processes, a context that identifies an operating environment of the client and service processes;

determining that the interprocess communication is unexpected within the context and is therefore malicious; and

in response to determining that the interprocess communication is malicious, blocking the interprocess communication from being communicated to the service process.

2. The computer-implemented method of claim 1 , wherein receiving the interprocess communication from the client process comprises intercepting the interprocess communication from an interprocess communication service of an operating system executing on the computing device.

3. The computer-implemented method of claim 1 , wherein blocking the interprocess communication from being communicated to the service process comprises preventing the interprocess communication from using an interprocess communication service of an operating system executing on the computing device.

4. The computer-implemented method of claim 1 , wherein authenticating the service process comprises authenticating a digital signature included in the assertion file associated with the service process.

5. The computer-implemented method of claim 1 , wherein:

determining that the interprocess communication is unexpected within the context and is therefore malicious comprises determining that the interprocess communication is not associated with the service provided by the service process.

6. The computer-implemented method of claim 1 , wherein authenticating the client process comprises authenticating a digital signature included in an assertion file associated with the client process.

7. The computer-implemented method of claim 6 , wherein:

authenticating the client process further comprises identifying at least one service used by the client process by inspecting the assertion file; and

determining that the interprocess communication is unexpected within the context and is therefore malicious comprises determining that the interprocess communication is not associated with the service identified by the client process.

8. The computer-implemented method of claim 1 , further comprising authenticating a policy controller that evaluates interprocess communications for maliciousness, wherein determining that the interprocess communication is malicious comprises:

submitting content of the interprocess communication and/or the context of the interprocess communication to the policy controller; and

receiving from the policy controller an indication that the interprocess communication is malicious.

9. The computer-implemented method of claim 1 , wherein:

determining that the interprocess communication is malicious comprises at least one of:

obtaining, by querying a reputation database using information identifying a file associated with the client process, a reputation for the client process; and

obtaining, by querying a reputation database using information identifying a file associated with the service process, a reputation for the service process; and

determining that the interprocess communication is malicious comprises determining that the reputation of the client process and/or the reputation of the service process is negative.

10. A system for filtering interprocess communications, the system comprising:

a service authentication module, stored in memory, that:

identifies a service process that provides a service on a computing device; and

authenticates the service process by inspecting an assertion file to identify the service provided by the service process;

a client authentication module, stored in memory, that:

identifies a request by a client process to use the service provided by the service process; and

authenticates the client process;

a communication module, stored in memory, that receives an interprocess communication from the client process directed toward the service process;

a policy control module, stored in memory, that:

derives, based on authenticating the client and service processes, a context that identifies an operating environment of the client and service processes;

determines that the interprocess communication is unexpected within the context and is therefore malicious; and

in response to determining that the interprocess communication is malicious, blocks the interprocess communication from being communicated to the service process; and

at least one physical processor configured to execute the service authentication module, the client authentication module, the communication module, and the policy control module.

11. The system of claim 10 , wherein the communication module receives the interprocess communication from the client process by intercepting the interprocess communication from an interprocess communication service of an operating system executing on the computing device.

12. The system of claim 10 , wherein the policy control module blocks the interprocess communication from being communicated to the service process by preventing the interprocess communication from using an interprocess communication service of an operating system executing on the computing device.

13. The system of claim 10 , wherein the service authentication module authenticates the service process by:

authenticating a digital signature included in the assertion file associated with the service process.

14. The system of claim 10 , wherein:

the policy control module determines that the interprocess communication is unexpected within the context and is therefore malicious by determining that the interprocess communication is not associated with the service provided by the service process.

15. The system of claim 10 , wherein the client authentication module authenticates the client process by:

authenticating a digital signature included in an assertion file associated with the client process.

16. The system of claim 15 , wherein:

the client authentication module further authenticates the client process by identifying at least one service used by the client process by inspecting the assertion file; and

the policy control module determines that the interprocess communication is unexpected within the context and is therefore malicious by determining that the interprocess communication is not associated with the service identified by the client process.

17. The system of claim 10 , wherein the policy control module:

authenticates a policy controller that evaluates interprocess communications for maliciousness; and

determines that the interprocess communication is malicious by:

submitting the interprocess communication to the policy controller; and

receiving from the policy controller an indication that the interprocess communication is malicious.

18. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a service process that provides a service on the computing device;

authenticate the service process by inspecting an assertion file to identify the service provided by the service process;

identify a request by a client process to use the service provided by the service process;

authenticate the client process;

receive an interprocess communication from the client process directed toward the service process;

derive, based on authenticating the client and service processes, a context that identifies an operating environment of the client and service processes;

determine that the interprocess communication is malicious; and

in response to determining that the interprocess communication is unexpected within the context and is therefore malicious, block the interprocess communication from being communicated to the service process.

19. The non-transitory computer-readable medium of claim 18 , wherein the one or more computer-readable instructions cause the computing device to receive the interprocess communication from the client process by intercepting the interprocess communication from an interprocess communication service of an operating system executing on the computing device.

20. The non-transitory computer-readable medium of claim 18 , wherein the one or more computer-readable instructions cause the computing device to block the interprocess communication from being communicated to the service process by preventing the interprocess communication from using an interprocess communication service of an operating system executing on the computing device.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2014
From: SALEHPOUR, JONATHON; WITTEN, BRIAN T
To: SYMANTEC CORPORATION
Reel/Frame 033458/0201 →