Declarative language for specifying a security policy
First Claim
1. A declarative language system for specifying in an annotated policy specification a security policy of a network event, wherein said network event comprises a stack having a plurality of protocol events, wherein each of said plurality of protocol events is associated with a predefined protocol layer, and wherein said network event is an interaction between an active principal and a passive principal, said declarative language system comprising:
- a declarative language comprising a plurality of objects, such that each object of said plurality of objects comprises at least one list having a first element;
a declarative language editor for providing means for specifying in a first policy specification said security policy using said declarative language;
a declarative language compiler for providing means for compiling said first policy specification and generating said annotated policy specification;
means for loading said annotated policy specification into a policy engine;
means for said policy engine to receive said network event from an agent;
means for said policy engine to evaluate said security policy against said network event and to generate a disposition for said network event;
means for said policy engine to communicate agent directives to said agent; and
means for said policy engine to output said network event and said disposition to a datastore.
10 Assignments
0 Petitions
Accused Products
Abstract
The invention is a declarative language system and comprises a language as a tool for expressing network security policy in a formalized way. It allows the specification of security policy across a wide variety of networking layers and protocols. Using the language, a security administrator assigns a disposition to each and every network event that can occur in a data communications network. The event'"'"'s disposition determines whether the event is allowed (i.e. conforms to the specified policy) or disallowed and what action, if any, should be taken by a system monitor in response to that event. Possible actions include, for example, logging the information into a database, notifying a human operator, and disrupting the offending network traffic.
173 Citations
52 Claims
-
1. A declarative language system for specifying in an annotated policy specification a security policy of a network event, wherein said network event comprises a stack having a plurality of protocol events, wherein each of said plurality of protocol events is associated with a predefined protocol layer, and wherein said network event is an interaction between an active principal and a passive principal, said declarative language system comprising:
-
a declarative language comprising a plurality of objects, such that each object of said plurality of objects comprises at least one list having a first element;
a declarative language editor for providing means for specifying in a first policy specification said security policy using said declarative language;
a declarative language compiler for providing means for compiling said first policy specification and generating said annotated policy specification;
means for loading said annotated policy specification into a policy engine;
means for said policy engine to receive said network event from an agent;
means for said policy engine to evaluate said security policy against said network event and to generate a disposition for said network event;
means for said policy engine to communicate agent directives to said agent; and
means for said policy engine to output said network event and said disposition to a datastore. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method for evaluating a policy using a plurality of policy rules, each rule having a ranking and a disposition, to a protocol event reported by an agent, said protocol event having a protocol, a protocol action, a target credential, and an initiator credential, comprising the steps of:
-
selecting a first set of rules from said plurality of policy rules, such that each rule is associated with said agent;
selecting a second set of rules from said first set of rules, such that each rule is associated with said protocol from said event;
selecting a third set of rules from said second set of rules, such that each rule is associated with said protocol action from said event;
searching for a most specific policy rule from said third set, such that said most specific policy rule is satisfied by said protocol event and generating an error disposition when said most specific policy rule is undetermined;
checking said third set of rules for a fourth set of rules having same said ranking as said selected most specific policy rule; and
providing means to select a single applicable rule from said fourth set of rules. - View Dependent Claims (49, 50)
-
-
51. A method for processing an outcome of a policy rule associated with a protocol event of a network event, comprising the steps of:
-
if said outcome is specified and immediate, executing said outcome, producing thereby a disposition for said protocol, and designating said disposition final for said network event if said disposition comprises a final disposition code;
designating said policy rule a pending policy rule for said network event;
promoting said pending policy rule to selected policy rule, if further protocol events are absent;
executing a final outcome of said selected policy rule; and
producing a final disposition for said network event of said selected policy rule final outcome.
-
-
52. A computer implemented system for interpreting different protocols, comprising:
-
a language;
a policy editor adapted to use said language;
a policy specification generated by said policy editor and written in said language;
a policy engine receiving at least one event, wherein said policy engine is associated with said policy specification, and wherein said policy engine interprets said language; and
a disposition generated by said policy engine using said event and said policy specification.
-
Specification