IP Library Granted Patent US 9,003,528
Granted Patent B2
US 9,003,528 · App. 13/550,711 · Granted Apr 7, 2015

Apparatus method and medium for tracing the origin of network transmissions using N-gram distribution of data

Inventor: Salvatore J. Stolfo (Ridgewood, NJ)
Assignee: The Trustees of Columbia University in the City of New York
G06F21/55G06F21/552G06F21/554G06F21/56G06F21/562G06F21/563G06F21/564H04L12/2602H04L43/00H04L63/0218H04L63/0245H04L63/0263H04L63/145
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,003,528
App. No.
13/550,711
Granted
Apr 7, 2015
Kind
B2
Abstract

A method, apparatus, and medium are provided for tracing the origin of network transmissions. Connection records are maintained at computer system for storing source and destination addresses. The connection records also maintain a statistical distribution of data corresponding to the data payload being transmitted. The statistical distribution can be compared to that of the connection records in order to identify the sender. The location of the sender can subsequently be determined from the source address stored in the connection record. The process can be repeated multiple times until the location of the original sender has been traced.

Claims (53)

1. A method of tracing the location of an origin computer system that initially transmits a suspect data payload across a computer network to an end target computer system, the method comprising:

creating, using a hardware processor, a connection record for a transmission to a first computer system through the computer network of a plurality of computer systems;

generating, using the hardware processor, a byte value statistical distribution of data contained in a data payload corresponding to the connection record;

calculating, using the hardware processor, a distance between the byte value statistical distribution of data contained in the data payload and a model distribution representative of normal payloads transmitted through the computer network;

identifying, using the hardware processor, the data payload as a suspect data payload based on the calculated distance;

setting, using the hardware processor, the first computer system as a suspect computer system;

upon determining at least one byte value statistical distribution that is similar to the byte value statistical distribution of the data contained in the suspect data payload, determining, using the hardware processor, address information associated with the at least one byte value statistical distribution; and

setting, using the hardware processor, a second computer system associated with the address information as the suspect computer system.

2. The method of claim 1 , further comprising selecting the model statistical distribution from a plurality of model byte frequency statistical distributions based at least in part on a length of the data contained in the data payload.

3. The method of claim 1 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are byte frequency count.

4. The method of claim 1 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are rank ordered byte frequency count.

5. The method of claim 1 , wherein determining at least one byte value distribution that is similar to the byte value statistical distribution of the data contained in the suspect data payload further comprises:

measuring a distance metric between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload; and

determining that the at least one byte value statistical distribution is similar to the byte value statistical distribution of the data contained in the suspect data payload based at least in part on comparing the distance metric to a predetermined distance.

6. The method of claim 5 , wherein the distance metric is calculated based on a Mahalanobis distance between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload.

7. The method of claim 1 , further comprising assigning different weight factors to selected byte values of the byte value statistical distribution of the data contained in the suspect data payload.

8. The method of claim 7 , wherein higher weight factors are assigned to byte values corresponding to operational codes of a computer system.

9. A system for tracing the location of an origin computer system that initially transmits a suspect data payload across a computer network to an end target computer system, the system comprising:

a processor that:

creates a connection record for a transmission to a first computer system through the computer network of a plurality of computer systems;

generates a byte value statistical distribution of data contained in a data payload corresponding to the connection record;

identifies the data payload as a suspect data payload based on differences detected between the byte value statistical distribution of data contained in the suspect data payload and a model statistical distribution representative of normal payloads transmitted through the computer network;

calculates a distance between the byte value statistical distribution of data contained in the data payload and a model distribution representative of normal payloads transmitted through the computer network;

identifies the data payload as a suspect data payload based on the calculated distance;

sets the first computer system as a suspect computer system;

upon determining at least one byte value statistical distribution that is similar to the byte value statistical distribution of the data contained in the suspect data payload, determines address information associated with the at least one byte value statistical distribution; and

sets a second computer system associated with the address information as the suspect computer system.

10. The system of claim 9 , wherein the processor is further configured to select the model statistical distribution from a plurality of model byte frequency statistical distributions based at least in part on a length of the data contained in the data payload.

11. The system of claim 9 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are byte frequency count.

12. The system of claim 9 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are rank ordered byte frequency count.

13. The system of claim 9 , wherein the processor is further configured to:

measure a distance metric between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload; and

determine that the at least one byte value statistical distribution is similar to the byte value statistical distribution of the data contained in the suspect data payload based at least in part on comparing the distance metric to a predetermined distance.

14. The system of claim 13 , wherein the distance metric is calculated based on a Mahalanobis distance between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload.

15. The system of claim 9 , wherein the processor is further configured to assign different weight factors to selected byte values of the byte value statistical distribution of the data contained in the suspect data payload.

16. The system of claim 15 , wherein higher weight factors are assigned to byte values corresponding to operational codes of a computer system.

17. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for tracing the location of an origin computer system that initially transmits a suspect data payload across a computer network to an end target computer system, the method comprising:

creating a connection record for a transmission to a first computer system through the computer network of a plurality of computer systems;

generating a byte value statistical distribution of data contained in a data payload corresponding to the connection record;

calculating a distance between the byte value statistical distribution of data contained in the data payload and a model distribution representative of normal payloads transmitted through the computer network;

identifying the data payload as a suspect data payload based on the calculated distance;

setting the first computer system as a suspect computer system;

upon determining at least one byte value statistical distribution that is similar to the byte value statistical distribution of the data contained in the suspect data payload, determining address information associated with the at least one byte value statistical distribution; and

setting a second computer system associated with the address information as the suspect computer system.

18. The non-transitory computer-readable medium of claim 17 , wherein the method further comprises selecting the model statistical distribution from a plurality of model byte frequency statistical distributions based at least in part on a length of the data contained in the data payload.

19. The non-transitory computer-readable medium of claim 17 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are byte frequency count.

20. The non-transitory computer-readable medium of claim 17 , wherein the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload are rank ordered byte frequency count.

21. The non-transitory computer-readable medium of claim 17 , wherein determining at least one byte value distribution that is similar to the byte value statistical distribution of the data contained in the suspect data payload further comprises:

measuring a distance metric between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload; and

determining that the at least one byte value statistical distribution is similar to the byte value statistical distribution of the data contained in the suspect data payload based at least in part on comparing the distance metric to a predetermined distance.

22. The non-transitory computer-readable medium of claim 21 , wherein the distance metric is calculated based on a Mahalanobis distance between the at least one byte value statistical distribution and the byte value statistical distribution of the data contained in the suspect data payload.

23. The non-transitory computer-readable medium of claim 17 , wherein the method further comprises assigning different weight factors to selected byte values of the byte value statistical distribution of the data contained in the suspect data payload.

24. The non-transitory computer-readable medium of claim 23 , wherein higher weight factors are assigned to byte values corresponding to operational codes of a computer system.

Assignments (1)
CONFIRMATORY LICENSE Recorded Aug 16, 2012
From: COLUMBIA UNIVERSITY
To: AFRL/RIJ
Reel/Frame 028801/0286 →
Continuity (4)
Continuation 10986467 · Nov 12, 2004
Provisional Application 60518742 · Nov 12, 2003
Provisional Application 60613637 · Sep 28, 2004
Related Publication 20130174255A1 · Jul 4, 2013