IP Library Granted Patent US 10,116,696
Granted Patent B2
US 10,116,696 · App. 14/322,692 · Granted Oct 30, 2018

Network privilege manager for a dynamically programmable computer network

Inventors: Phillip A. Porras (Cupertino, CA); Kenneth C. Nitz (Redwood City, CA)
Assignee: SRI International
H04L63/20H04L63/126
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,116,696
App. No.
14/322,692
Granted
Oct 30, 2018
Kind
B2
Abstract

A network security policy may be implemented at network switches as a set of active packet disposition directives. In a dynamically programmable network, the network switches can be dynamically reprogrammed with new packet disposition directives. An event auditor passively monitors network traffic and provides network activity data indicative of network flows to a network privilege manager. The network privilege manager determines a current network context based on the network activity data. In response to the current network context, the network privilege manager selects a security policy and generates one or more flow policy directives in accordance with the selected policy.

Claims (59)

1. A method comprising:

obtaining, by a computing device on a network, data comprising network activity data and reputation data and role data, wherein the network activity data includes data corresponding to a state of one or more network flows in the network and the reputation data identifies one or more acceptable or unacceptable network flows over the network and the role data identifies a role associated with an endpoint of a network flow on the network and at least some of the data corresponds to real-time activity;

determining a current network context using at least some of the data;

selecting a security policy from one or more security policies by matching a first portion of the current network context to a criterion of the security policy;

adjusting a value of a threshold attribute of the security policy based on the data that corresponds to real-time activity, wherein the value of the attribute identifies one or more of a number and a duration associated with network flows;

in response to a second portion of the current network context matching the adjusted value of the threshold attribute, cause execution of the security policy on the network to control traffic over the network.

2. The method of claim 1 , further comprising:

selecting the security policy from one or more contextual security policies when the criterion matches the current network context more than a particular number of times within a particular time period.

3. The method of claim 1 , further comprising:

selecting the security policy from one or more contextual security policies when the criterion matches an event count within an update interval.

4. The method of claim 1 , wherein determining the current network context includes determining a role associated with an endpoint of a network flow within the network.

5. The method of claim 1 , wherein the reputation data is received from a network intelligence server.

6. The method of claim 1 , wherein the reputation data includes a threat type associated with a malicious network address.

7. The method of claim 1 , further comprising:

updating the current network context after transmitting the directive.

8. The method of claim 1 , further comprising:

receiving corroborating reputation data.

9. A computing device, comprising:

one or more processors; and

a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:

generating network activity data, wherein the network activity data includes data corresponding to a current dynamic state of one or more network flows in a network, and wherein the network is dynamically programmable;

receiving reputation data, wherein the reputation data identifies one or more acceptable or unacceptable network flows over the network;

determining a current version of the reputation data and a current version of the network activity data, wherein a current version corresponds to real-time activity;

determining a current network context at a current time, wherein the current network context is associated with a criterion, and wherein the current network context is determined using at least some of the current version of the network activity data and at least some of the current version of the reputation data;

identifying a contextual security policy of one or more contextual security policies, wherein the contextual security policy is identified using the criterion associated with the current network context, wherein the contextual security policy defines an action corresponding to the current network context, and wherein the action defines one or more new flow rules;

adjusting a value of an attribute of the contextual security policy based on one or more of the network activity data and the reputation data that corresponds to real-time activity, wherein the value of the attribute identifies one or more of a number and a duration associated with network flows;

when the current network context matches the adjusted value of the attribute of the contextual security policy, generating a directive, wherein generating the directive includes using the contextual security policy and the current network context; and

transmitting the directive, wherein when the directive is received, the directive facilitates programming the one or more new flow rules at a network switch when the network switch has no prior flow rules, or updating one or more pre-existing flow rules at the network switch when the network switch has one or more prior flow rules, to control the flow of traffic over the network.

10. The computing device of claim 9 , further comprising:

selecting the contextual security policy from one or more contextual security policies when the criterion matches the current network context more than a particular number of times within a particular time period.

11. The computing device of claim 9 , further comprising:

selecting the contextual security policy from one or more contextual security policies when the criterion matches an event count within an update interval.

12. The computing device of claim 9 , wherein determining the current network context includes determining a role associated with an endpoint of a network flow within the network.

13. The computing device of claim 9 , wherein the reputation data is received from a network intelligence server.

14. The computing device of claim 9 , wherein the reputation data includes a threat type.

15. The computing device of claim 9 , wherein the reputation data includes a threat type associated with a malicious network address.

16. The computing device of claim 9 , further comprising:

updating the current network context after transmitting the directive.

17. The computing device of claim 9 , further comprising:

receiving corroborating reputation data.

18. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium of a computing device, including instructions configured to cause one or more data processors to:

generate network activity data, wherein the network activity data includes data corresponding to a current dynamic state of one or more network flows in a network, and wherein the network is dynamically programmable;

receive reputation data, wherein the reputation data identifies one or more acceptable or unacceptable network flows over the network;

determine a current version of the reputation data and a current version of the network activity data, wherein a current version corresponds to real-time activity;

determine a current network context at a current time, wherein the current network context is associated with a criterion, and wherein the current network context is determined using at least some of the current version of the network activity data and at least some of the current version of the reputation data;

identify a contextual security policy of one or more contextual security policies, wherein the contextual security policy is identified using the criterion associated with the current network context, wherein the contextual security policy defines an action corresponding to the current network context, and wherein the action defines one or more new flow rules;

adjust a value of an attribute of the contextual security policy based on one or more of the network activity data and the reputation data, wherein the value of the attribute identifies one or more of a number and a duration associated with network flows;

when the current network context matches the adjusted value of the attribute of the contextual security policy, generate a directive, wherein generating the directive includes using the contextual security policy and the current network context; and

transmit the directive, wherein when the directive is received, the directive facilitates programming the one or more new flow rules at a network switch when the network switch has no prior flow rules, or updating one or more pre-existing flow rules at the network switch when the network switch has one or more prior flow rules, to control traffic over the network.

19. The computer-program product of claim 18 , further comprising instructions that, when executed by the one or more data processors, cause the one or more processors to:

select the contextual security policy from one or more contextual security policies when the criterion matches the current network context more than a particular number of times within a particular time period.

20. The computer-program product of claim 18 , further comprising instructions that, when executed by the one or more data processors, cause the one or more processors to:

select the contextual security policy from one or more contextual security policies when the criterion matches an event count within an update interval.

21. The computer-program product of claim 18 , wherein determining the current network context includes determining a role associated with an endpoint of a network flow within the network.

22. The computer-program product of claim 18 , wherein the reputation data is received from a network intelligence server.

23. The computer-program product of claim 18 , wherein the reputation data includes a threat type associated with a malicious network address.

24. The computer-program product of claim 18 , further comprising instructions that, when executed by the one or more data processors, cause the one or more processors to:

update the current network context after transmitting the directive.

25. The computer-program product of claim 18 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: receive corroborating reputation data.

Assignments (2)
CONFIRMATORY LICENSE Recorded Oct 27, 2014
From: SRI INTERNATIONAL
To: AFRL/RIJ
Reel/Frame 034056/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2014
From: PORRAS, PHILLIP A.; NITZ, KENNETH C.
To: SRI INTERNATIONAL
Reel/Frame 034007/0947 →
Continuity (8)
Continuation In Part 14322617 · Jul 2, 2014
Continuation In Part 13801855 · Mar 13, 2013
Continuation In Part 13801871 · Mar 13, 2013
Provisional Application 62011800 · Jun 13, 2014
Provisional Application 61991345 · May 9, 2014
Provisional Application 61845253 · Jul 11, 2013
Provisional Application 61650287 · May 22, 2012
Related Publication 20140331280A1 · Nov 6, 2014