IP Library Granted Patent US 10,721,210
Granted Patent B2
US 10,721,210 · App. 16/406,318 · Granted Jul 21, 2020

Secure labeling of network flows

Inventors: Daniel Salvatore Schiappa (Bedford, NH); Andrew J. Thomas (Oxfordshire, GB); Kenneth D. Ray (Seattle, WA); Joseph H. Levy (Farmington, UT)
Assignee: Sophos Limited
H04L63/0227H04L9/3247H04L63/02H04L63/0236H04L63/0428H04L63/126H04L63/14H04L63/1408H04L63/1441H04L63/20
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,721,210
App. No.
16/406,318
Granted
Jul 21, 2020
Kind
B2
Abstract

An enterprise security system is improved by instrumenting endpoints to explicitly label network flows with cryptographically secure labels that identify an application or other source of each network flow. Cryptographic techniques may be used, for example, to protect the encoded information in the label from interception by third parties or to support cryptographic authentication of a source of each label. A label may provide health, status, or other heartbeat information for the endpoint, and may be used to identify compromised endpoints, to make routing decisions for network traffic (e.g., allowing, blocking, rerouting, etc.), to more generally evaluate the health of an endpoint that is sourcing network traffic, or for any other useful purpose.

Claims (41)

1. A computer program product for managing network flows at an endpoint in a network, computer program product comprising computer executable code embodied in a nontransitory computer readable medium that, when executing on one or more computing devices, performs operations comprising:

providing a first key to the endpoint;

receiving a data structure from a source on the endpoint, the data structure including a payload and a header;

generating, at the endpoint, a label for the data structure, the label including information about the source of the data structure on the endpoint;

using the first key provided to the endpoint, adding a cryptographic signature for the label to the header of the data structure;

transmitting the data structure from the endpoint to a remote location through a network device for the network;

at the network device, verifying an authenticity of the cryptographic signature using a corresponding second key; and

based on the information about the source of the data structure and the authenticity of the label, applying a routing rule at the network device to conditionally route the data structure to the remote location accessible from the endpoint through the network.

2. The computer program product of claim 1 , wherein the label includes an identifier for the endpoint.

3. The computer program product of claim 1 , wherein the label includes an identifier of a user of the source of the data structure on the endpoint.

4. The computer program product of claim 1 , further comprising code that performs an operation of encrypting information within the label.

5. The computer program product of claim 1 , wherein the label includes a health status of the endpoint.

6. The computer program product of claim 1 , further comprising code that performs an operation of determining a reputation of the source identified in the label, wherein applying the routing rule at the network device is further based on the reputation of the source identified in the label.

7. A method for managing network flows at an endpoint in a network, the method comprising:

providing a first key to the endpoint;

receiving a data structure from a source on the endpoint, the data structure including at least a header;

generating, at the endpoint, a label for the data structure, the label including information about the source of the data structure on the endpoint;

using the first key provided to the endpoint, adding a cryptographic signature for the label to the header of the data structure;

transmitting the data structure from the endpoint to a remote location through a network device for the network;

at the network device, verifying an authenticity of the cryptographic signature using a corresponding second key; and

based on the information about the source of the data structure and the authenticity of the label, applying a routing rule at the network device to conditionally route the data structure to the remote location accessible from the endpoint through the network.

8. The method of claim 7 , wherein the label includes an identifier for the endpoint.

9. The method of claim 7 , wherein the label includes an identifier of a user of the source of the data structure on the endpoint.

10. The method of claim 7 , wherein the label includes a health status of the endpoint.

11. The method of claim 7 , further comprising determining a reputation of the source identified in the label, wherein applying the routing rule at the network device is further based on the reputation of the source identified in the label.

12. A system comprising:

an endpoint including a first memory, a first processor, and a network interface configured to couple the endpoint in a communicating relationship with a data network, the first processor configured to execute instructions stored in the first memory to perform operations of receiving a first key to the endpoint, receiving a data structure from a source on the endpoint, the data structure including at least a header, generating a label for the data structure, the label including information about the source of the data structure on the endpoint, using the first key provided to the endpoint, adding a cryptographic signature for the label to the header of the data structure, and transmitting the data structure from the endpoint to a remote location through a network device for the data network; and

the network device of the data network, the network device including a second memory and a second processor, the second processor configured to execute instructions stored in the second memory to perform operations of verifying an authenticity of the cryptographic signature using a corresponding second key, and, based on the information about the source of the data structure and the authenticity of the label, applying a routing rule at the network device to conditionally route the data structure to the remote location accessible from the endpoint through the data network.

13. The system of claim 12 , wherein the network device includes at least one of a gateway, a router, or a threat management facility.

14. The system of claim 12 , wherein the second processor is further configured to execute instructions stored in the second memory to perform an operation of determining a reputation of the source identified in the label, wherein applying the routing rule at the network device is further based on the reputation of the source identified in the label.

15. The system of claim 12 , wherein the label includes one or more of an identifier for the endpoint, a user of the source on the endpoint, or a health status of the endpoint.

16. A method for managing network flows at a network device, the method comprising:

providing a first key to an endpoint;

receiving, at the network device, a data structure from a source on the endpoint, the data structure including a label including information about the source of the data structure on the endpoint, and the label having a cryptographic signature added using the first key provided to the endpoint;

processing the data structure on the network device to extract the label having the cryptographic signature;

verifying an authenticity of the cryptographic signature using a corresponding second key; and

based on information about the source of the data structure and the authenticity of the cryptographic signature of the label, applying a routing rule at the network device to conditionally route the data structure to a remote location accessible from the endpoint through the network.

17. The method of claim 16 , wherein applying the routing rule at the network device is further based on a reputation of the source identified in the label.

18. The method of claim 16 , further comprising receiving an indication that the source is compromised and preventing routing of additional network traffic for the source through the network device.

19. The method of claim 16 , further comprising detecting an absence of an expected heartbeat from the endpoint for the source and preventing routing of additional network traffic for the source through the network device until the expected heartbeat is received.

20. The method of claim 16 , wherein the network device includes at least one of a gateway, a firewall, a router, and a threat management facility.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053476/0681 Recorded Mar 9, 2021
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: SOPHOS LIMITED
Reel/Frame 056469/0815 →
PATENT SECURITY AGREEMENT FIRST LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 053124/0350 →
PATENT SECURITY AGREEMENT SECOND LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 053476/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2019
From: SCHIAPPA, DANIEL SALVATORE; THOMAS, ANDREW J.; RAY, KENNETH D.; LEVY, JOSEPH H.
To: SOPHOS LIMITED
Reel/Frame 049115/0690 →