IP Library Granted Patent US 9,800,592
Granted Patent B2
US 9,800,592 · App. 14/451,045 · Granted Oct 24, 2017

Data center architecture that supports attack detection and mitigation

Inventors: Navendu Jain (Seattle, WA); Rui Miao (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L63/1416H04L47/726H04L63/0236H04L67/10
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,800,592
App. No.
14/451,045
Granted
Oct 24, 2017
Kind
B2
Abstract

Described herein are various technologies pertaining to identification of inbound and outbound network and application attacks with respect to a data center. Commodity servers are used to monitor ingress and egress traffic flows, and anomalies are detected in the traffic flows. Responsive to detecting an anomaly, a mitigation strategy is executed to mitigate damage caused by a cyber-attack.

Claims (74)

1. A method comprising:

at a computing device in a data center:

receiving traffic flow summaries from virtual machines (VMs) executing on server computing devices in the data center, wherein the server computing devices are positioned in the data center to receive traffic transmitted from host computing devices in the data center and traffic transmitted to the host computing devices in the data center, the host computing devices configured to execute workloads of clients of the data center, wherein a traffic flow summary in the traffic flow summaries is generated by a VM based upon a traffic flow transmitted between:

a host computing device in the data center; and

a first server computing device;

responsive to receiving the traffic flow summaries and based upon the traffic flow summaries, identifying an attack in the data center;

when the attack is identified, generating a signal that indicates that the attack has been identified; and

based upon the traffic flow summaries, causing at least one VM to be newly instantiated on a second server computing device in the server computing devices, wherein the VM is configured to generate at least one traffic flow summary based upon data packets received by the VM.

2. The method of claim 1 , the server computing devices positioned in-band, such that the server computing devices receive the traffic as the traffic traverses through the data center.

3. The method of claim 2 , wherein each server computing device in the server computing devices is also configured to execute a software load balancer (SLB), and further wherein a third server computing device in the server computing devices generates the traffic flow summary based upon data packets directed to the host computing device by the SLB.

4. The method of claim 2 , wherein each server computing device in the server computing devices has at least one VM instantiated thereon, and wherein the computing device is further configured to allocate resources to the VM based upon the traffic flow summary generated by the VM.

5. The method of claim 1 , wherein the traffic flow summary is indicative of at least one inter-flow or intra-flow traffic feature corresponding to the traffic flow.

6. The method of claim 5 , wherein identifying the attack in the data center comprises at least one of:

receiving first traffic flow summaries of a plurality of ingress traffic flows, wherein ingress traffic flows are traffic flows transmitted to at least one host computing device in the host computing devices;

aggregating the first traffic flow summaries; and

identifying an inbound attack based upon the aggregating of the first traffic flow summaries, the inbound attack being an attack on the at least one host computing device; or

receiving second traffic flow summaries of a plurality of egress traffic flows, wherein egress traffic flows are traffic flows transmitted from at least one host computing device in the host computing devices;

aggregating the second traffic flow summaries; and

identifying an outbound attack based upon the aggregating of the second traffic flow summaries, the outbound attack being an attack from the at least one host computing device.

7. The method of claim 6 , wherein the traffic flow summary identifies the first server computing device, wherein identifying the inbound attack or the outbound attack comprises:

comparing the identity of the first server computing device with a blacklist that identifies computing devices known to participate in attacks; and

determining that the first server computing device is included in the blacklist; and

wherein the method further comprises:

responsive to determining that the first computing device is included in the blacklist, blocking data in the traffic flow that is from or to the first server computing device.

8. The method of claim 6 , wherein identifying the attack further comprises:

identifying the host computing device, the host computing device is to receive an ingress traffic flow;

responsive to identifying the host computing device, determining a volume of traffic directed to the host computing device by the first server computing device over a window of time; and

identifying the attack based at least in part upon the volume of traffic directed to the host computing device by the first server computing device over the window of time.

9. The method of claim 1 , wherein causing at least one VM to be newly instantiated on a second server computing device in the server computing devices comprises:

transmitting an instruction to the second server computing device, wherein the second server computing device instantiates the at least on VM in response to receipt of the instruction.

10. The method of claim 1 , further comprising:

at the second server computing device, and subsequent to the VM being instantiated thereon:

sampling a plurality of data packets from a new traffic flow at a configurable sampling rate; and

generating a new traffic flow summary for the new traffic flow based upon the plurality of sampled data packets.

11. The method of claim 1 , wherein identifying the attack comprises identifying a type of the attack from amongst a plurality of possible attack types; and

executing a mitigation strategy based at least in part upon the identifying of the type of the attack.

12. A data center, comprising:

a first plurality of server computing devices that are configured to execute computing workloads of clients of the data center;

a second plurality of server computing devices that are in network communication with the first plurality of server computing devices, each server computing device in the second plurality of server computing devices comprises:

at least one processor; and

memory that has loaded therein:

a software load balancer (SLB); and

a virtual machine (VM) that executes a monitor component, wherein the monitor component, when executed by the at least one processor, causes the at least one processor to perform acts comprising:

generating representations of data packets output by the SLB; and

generating a traffic flow summary based upon the representations of the data packets, wherein the traffic flow summary is indicative of a feature of traffic transmitted between:

 a first server computing device in the first plurality of server computing devices; and

 a second server computing device over a window of time; and

output the traffic flow summary; and

a controller server computing device that is in network communication with the second plurality of server computing devices, wherein the controller server computing device is configured to perform acts comprising:

receiving traffic flow summaries from the monitor components executing in the VMs; and

identifying either an inbound attack or an outbound attack based upon the traffic flow summaries, the inbound attack being an attack on the first computing device from the second computing device, the outbound attack being an attack on the second server computing device from the first server computing device.

13. The data center of claim 12 , the inbound attack or the outbound attack being an intra-data center attack.

14. The data center of claim 12 , further comprising:

a core router, wherein traffic directed from the core router to the first server computing device passes through one of the server computing devices in the second plurality of server computing devices prior to reaching the first server computing device.

15. The data center of claim 12 , the SLBs configured to direct traffic across a plurality of network infrastructure devices based upon traffic flow volumes flowing through the SLBs.

16. The data center of claim 12 , wherein the monitor component, when executed by the server computing device in the second plurality of server computing devices, is further configured to:

sample traffic output by the SLB at a configured sampling rate to acquire the data packets output by the SLB.

17. The data center of claim 16 , wherein the controller server computing device is further configured to perform acts comprising:

responsive to receiving the traffic flow summaries, performing at least one of the following acts:

allocating additional computing resources to the VM based upon the traffic flow summary;

de-allocating computing resources from the VM based upon the traffic flow summary;

instantiating a new VM based upon the traffic flow summary; or

shutting down the VM.

18. A server computing device in a data center, the server computing device comprises:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform acts comprising:

receiving traffic flow summaries from virtual machines (VMs) executing on server computing devices in the data center, wherein the server computing devices are positioned in the data center to receive traffic transmitted from host computing devices in the data center and traffic transmitted to the host computing devices in the data center, the host computing devices configured to execute workloads of clients of the data center, wherein a traffic flow summary in the traffic flow summaries is generated by a VM based upon a traffic flow transmitted between:

a host computing device in the data center; and

a first server computing device;

responsive to receiving the traffic flow summaries and based upon the traffic flow summaries, identifying an attack in the data center;

when the attack is identified, generating a signal that indicates that the attack has been identified; and

based upon the traffic flow summaries, causing at least one VM to be newly instantiated on a second server computing device in the server computing devices, wherein the VM is configured to generate at least one traffic flow summary based upon data packets received by the VM.

19. The server computing device of claim 18 , wherein the server computing devices are positioned in-band, such that the server computing devices receive the traffic as the traffic traverses through the data center.

20. The server computing device of claim 19 , wherein each server computing device in the server computing devices is also configured to execute a software load balancer (SLB), and further wherein a third server computing device in the server computing devices generates a traffic flow summary based upon data packets directed to the host computing device by the SLB.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: JAIN, NAVENDU; MIAO, RUI
To: MICROSOFT CORPORATION
Reel/Frame 033469/0158 →
Continuity (1)
Related Publication 20160036838A1 · Feb 4, 2016