Centralized event detection
A threat management facility stores a number of entity models that characterize reportable events from one or more entities. A stream of events from compute instances within an enterprise network can then be analyzed using these entity models to detect behavior that is inconsistent or anomalous for one or more of the entities that are currently active within the enterprise network.
1 . A computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:
storing an entity model at a threat management facility for an enterprise network, the entity model characterizing a baseline of expected events for a stack of assets, each asset in the stack of assets representing an entity associated with a compute instance, and the baseline of expected events based on events from a corresponding entity over an interval spanning an historical window;
instrumenting a local security agent on the compute instance to detect one or more events from one or more sensors on the compute instance and report a number of event vectors, the number of event vectors including the one or more events;
receiving an event stream that includes the number of event vectors at the threat management facility;
calculating a risk score for the compute instance based on a comparison of one or more of the event vectors included in the event stream received at the threat management facility with the entity model for the entity;
selecting a remedial action for the compute instance based on the number of event vectors when the risk score exceeds a threshold; and
adjusting, with the threat management facility, a local monitoring activity by the local security agent on the compute instance to increase a level of the local activity monitoring based on a determination that the risk score indicates a deviation from the baseline of expected events.
2 . The computer program product of claim 1 , wherein the interval for the baseline of expected events is algorithmically determined.
3 . The computer program product of claim 1 , wherein the threat management facility stores a plurality of entity models for a plurality of different entity types associated with the compute instance.
4 . The computer program product of claim 1 , wherein the threat management facility stores a plurality of entity models for a plurality of different entity types associated with the enterprise network.
5 . The computer program product of claim 1 , wherein the event stream received by the threat management facility includes additional event vectors from a plurality of other compute instances associated with the enterprise network.
6 . The computer program product of claim 1 , wherein the event vectors are received from two or more different entities associated with the compute instance.
7 . The computer program product of claim 1 , further comprising code that performs the step of refining the entity model based on one or more additional event vectors in the event stream received after the entity model is created.
8 . The computer program product of claim 7 , wherein refining the entity model includes refining the entity model based on a distance in an event vector space between the entity model and the one or more additional event vectors in the event stream.
9 . The computer program product of claim 1 , wherein instrumenting the compute instance includes configuring the compute instance to normalize at least one of the events from at least one of the one or more sensors.
10 . The computer program product of claim 1 , wherein instrumenting the compute instance includes configuring the compute instance to tokenize at least one of the events from at least one of the one or more sensors.
11 . The computer program product of claim 1 , wherein instrumenting the compute instance includes configuring the compute instance to encrypt at least one of the events from at least one of the one or more sensors.
12 . The computer program product of claim 1 , wherein instrumenting the compute instance includes prioritizing at least one of the events from at least one of the one or more sensors.
13 . The computer program product of claim 1 , wherein calculating the risk score includes calculating a distance between one or more of the event vectors and the baseline in a vector space using at least one of a Mahalanobis distance, a Euclidean distance, and a Minkowski distance.
14 . The computer program product of claim 1 , wherein calculating the risk score includes calculating a distance between one or more of the event vectors and the baseline using a k-nearest neighbor algorithm.
15 . A method, comprising:
storing an entity model at a threat management facility for a compute instance in an enterprise network, the entity model characterizing a baseline of expected events for a stack of assets, each asset in the stack of assets representing an entity associated with the compute instance, and the baseline of expected events based on events from a corresponding entity over an interval spanning an historical window;
instrumenting the compute instance to detect one or more events and report a number of event vectors, the number of event vectors including the one or more events;
receiving an event stream that includes the number of event vectors;
calculating a risk score for the compute instance based on a comparison of one or more of the event vectors included in the event stream with the entity model for the entity;
selecting a remedial action for the compute instance based on the number of event vectors when the risk score exceeds a threshold; and
adjusting local monitoring activity on the compute instance based on a determination that the risk score indicates a deviation from the baseline of expected events.
16 . The method of claim 15 , wherein adjusting the local monitoring activity includes increasing a level of local activity monitoring when the risk score indicates the deviation from the baseline.
17 . The method of claim 15 , further comprising refining the entity model based on additional event vectors in the event stream received after the entity model is created.
18 . The method of claim 15 , wherein receiving the event stream includes receiving the event stream at a threat management facility.
19 . The method of claim 18 , wherein adjusting local monitoring activity on the compute instance includes adjusting local monitoring activity in response to an instruction from the threat management facility.
20 . A system, comprising:
a compute instance in an enterprise network, the compute instance configured to detect one or more events associated with the compute instance and to report a number of event vectors, the number of event vectors including the one or more events; and
a threat management facility, the threat management facility including a memory storing an entity model characterizing a baseline of expected events for a stack of assets, each asset in the stack of assets representing an entity associated with the compute instance, and the baseline of expected events based on events from a corresponding entity over an interval spanning an historical window, and the threat management facility configured to receive an event stream that includes the number of event vectors, calculate a risk score for the compute instance based on a comparison of one or more of the event vectors included in the event stream with the entity model for the entity, select a remedial action for the compute instance based on the number of event vectors when the risk score exceeds a threshold, and adjust local monitoring activity on the compute instance to increase a level of local activity monitoring based on a determination that the risk score indicates a deviation from the baseline of expected events.