IP Library Granted Patent US 7,496,662
Granted Patent B1
US 7,496,662 · App. 10/843,375 · Granted Feb 24, 2009

Systems and methods for determining characteristics of a network and assessing confidence

Assignee: Sourcefire, Inc.
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 7,496,662
App. No.
10/843,375
Granted
Feb 24, 2009
Kind
B1
Abstract

A packet transmitted on a network is read and decoded. A network device and its operating system are identified by analyzing the decoded packet. If more than one operating system is identified from the decoded packet, the operating system is selecting by comparing confidence values assigned to the operating systems identified. A service running on the network device is identified from the decoded packet or subsequent packets that are read, decoded and analyzed. The network topology of a network is determined by reading, decoding, and analyzing a plurality of packets. A flow between two network devices is determined by reading, decoding, and analyzing a plurality of packets. Vulnerabilities are assigned to operating systems and services identified by reading, decoding, and analyzing packets. Network configuration policy is enforced on operating systems and services identified by reading, decoding, and analyzing packets.

Claims (44)

1. A method for selecting an operating system of a network device from the results of two or more operating system identification techniques used in a passive network detection system, comprising:

employing the two or more operating system identification techniques to create two or more operating system results;

assigning each of the two or more operating system results a confidence value;

comparing confidence values of the two or more operating system results; and

selecting a result with a highest confidence value as the operating system of the network device,

wherein the confidence values are pre-determined numeric weights based respectively on the two or more operating system identification techniques used to produce the two or more operating system results, further,

if the selected result is equivalent to a previous selected result for the network device, adding a confirming increment value to a confidence value of the previous selected result to produce a confidence value of the result, wherein the confirming increment value is calculated as one half an absolute value of a difference between the confidence value of the previous selected result and the confidence value of the result;

if the result is not equivalent to the previous selected result for the network device, calculating a detracting increment value as one half of the confirming increment value and subtracting the detracting increment value from the confidence value of the previous selected result to produce the confidence value of the result.

2. The method of claim 1 , further comprising assigning a higher confidence value to a result of an operating system identification technique that uses protocol fields that cannot be altered.

3. The method of claim 2 , wherein the operating system identification technique comprises examining a chronological order of transmission control protocol options.

4. The method of claim 1 , further comprising assigning a higher confidence value to a result of an operating system identification technique that uses protocol fields that are not typically modified.

5. The method of claim 4 , wherein the operating system identification technique comprises examining timestamps.

6. The method of claim 1 , further comprising assigning the confidence value based on a statistical formula.

7. The method of claim 1 , further comprising assigning the confidence value based on a decision-tree.

8. The method of claim 1 , further comprising assigning the confidence value based on one or more of a plurality of services identified over time and a plurality of protocol fields decoded from packets read on a network over time.

9. The method of claim 1 , further comprising actively scanning the network device to distinguish between one or more operating system results with substantially equivalent confidence values.

10. A method for selecting a service of a network device from the results of two or more service identification techniques used in a passive network detection system, comprising:

employing the two or more service identification techniques to create two or more service results;

assigning each of the two or more service results a confidence value;

comparing confidence values of the two or more service results; and

selecting a result with a highest confidence value as the service of the network device,

wherein the confidence values are two or more predetermined numeric weights based respectively on the two or more service identification techniques used to produce the two or more service results, further

if the selected result is equivalent to a previous selected result for the network device, adding a confirming increment value to a confidence value of the previous selected result to produce a confidence value of the result, wherein the confirming increment value is calculated as one half an absolute value of a difference between the confidence value of the previous selected result and the confidence value of the result;

if the result is not equivalent to the previous selected result for the network device, calculating a detracting increment value as one half of the confirming increment value and subtracting the detracting increment value from the confidence value of the previous selected result to produce the confidence value of the result.

11. The method of claim 10 , further comprising assigning a higher confidence value to a result of a service identification technique that uses protocol fields that cannot be altered.

12. The method of claim 10 , wherein the service identification technique comprises examining a chronological order of transmission control protocol options.

13. The method of claim 10 , further comprising assigning a higher confidence value to a result of a service identification technique that uses protocol fields that are not modified.

14. The method of claim 13 , wherein the service identification technique comprises examining timestamps that are not modified to comprises zero values.

15. The method of claim 10 , further comprising assigning the confidence value based on a statistical formula.

16. The method of claim 10 , further comprising assigning the confidence value based on a decision-tree.

17. The method of claim 10 , further comprising actively scanning the network device to distinguish between one or more service results with substantially equivalent confidence values.

18. A method for determining a confidence value of a result for one of an operating system and a service by considering previous results, comprising:

identifying a result from a first one or more packets by an identifying technique;

if the result is equivalent to a previous result for a previous packet, adding a confirming increment value to a confidence value of the previous result to produce a confidence value of the result, wherein the confirming increment value is calculated as one half an absolute value of a difference between the confidence value of the previous result and the confidence value of the result;

if the result is not equivalent to a previous result, calculating a detracting increment value as one half of the confirming increment value and subtracting the detracting increment value from the confidence value of the previous result to produce the confidence value of the result;

identifying a subsequent result from a second one or more packets by a second identifying technique;

if the subsequent result is equivalent to the result, calculating the confirming increment value as one half an absolute value of a difference between the confidence value of the previous result and the confidence value of the result and adding the confirming increment value to the confidence value of the result to produce a confidence value of the subsequent result;

if the subsequent result is not equivalent to the result and the result is not equivalent to a previous result, doubling the detracting increment value and subtracting the detracting increment value from the confidence value of the result to produce the confidence value of the subsequent result; and

if the subsequent result is not equivalent to the result and the result is equivalent to a previous result, calculating the detracting increment value as one half of the confirming increment value and subtracting the detracting increment value from the confidence value of the result to produce the confidence value of the subsequent result,

wherein the confidence value is a numeric weight based on the identifying technique,

wherein the first one or more packets, the second one or more packets, and the previous packet are from a same network device,

wherein the identifying technique is used to identify an operating system or service of the network device.

19. The method of claim 18 , wherein a maximum confidence value is scaled by a number of hops from a source of one of the first one or more packets and the second one or more packets to a location at which the one of the first one or more packets and the second one or more packets is detected.

20. The method of claim 18 , wherein the confirming increment is scaled by a number of hops from a source of one of the first one or more packets and the second one or more packets to a location at which the one of the first one or more packets and the second one or more packets is detected.

Assignments (3)
CHANGE OF NAME Recorded Mar 24, 2014
From: SOURCEFIRE, INC.
To: SOURCEFIRE LLC
Reel/Frame 032513/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2014
From: SOURCEFIRE LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 032513/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2004
From: ROESCH, MARTIN; DEMPSTER, RONALD A.
To: SOURCEFIRE, INC.
Reel/Frame 015719/0452 →
Continuity (1)
Provisional Application 6046939500 · May 12, 2003