IP Library Granted Patent US 7,016,951
Granted Patent B1
US 7,016,951 · App. 09/552,878 · Granted Mar 21, 2006

System and method for network security

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,016,951
App. No.
09/552,878
Granted
Mar 21, 2006
Kind
B1
Abstract

A system for network security transparently occupies an observation port on the data stream, passing the entire range of network information to a dedicated interpreter. The interpreter resolves the data stream into individual data packets, which are then assembled into reconstructed network sessions according to parameters such as protocol type, source and destination addresses, source and destination ports, sequence numbers and other variables. The different types of sessions may include the traffic of many different types of users, such as e-mail, streaming video, voice-over-Internet and others. The system detects and stores the sessions into a database. A parser module may extract only the minimum information needed to reconstruct individual sessions. A backend interface permits a systems administrator to interrogate the forensic record of the network for maintenance, security and other purposes. The invention is not constrained to detect limited types of data, but rather captures and records a comprehensive record of network behavior.

Claims (56)

1. A system for extracting information from network data, comprising:

an input interface connected to at least one source of network data; and

a network event sensor, communicating with the input interface, the network event sensor comprising

an interpreter module, the interpreter module scanning the network data to generate logical groupings of the network data, and

an assembler module, communicating with the interpreter module, the assembler module scanning the logical groupings to generate at least one session object,

wherein the network event sensor applies a lexical engine to the at least one session object recursively to identify protocols within other protocols to extract nested or underlying objects encapsulated in one or more different protocols and to identify at least one network event as at least one of a predetermined set of event types.

2. The system of claim 1 , wherein the at least one source of network data comprises an observation port connected to a network and continuously capturing network data from the network.

3. The system of claim 2 , wherein the observation port comprises a network interface card.

4. The system of claim 3 , wherein the network comprises at least one of an Ethernet network, a token ring network, and a TCP/IP network.

5. The system of claim 3 , wherein the network interface card is invisible to the network.

6. The system of claim 1 , wherein the at least one source of network data comprises stored network data.

7. The system of claim 6 , wherein the stored network data comprise at least one of captured network files, Website mirrors, archives of Usenet files, and archives of email files.

8. The system of claim 1 , wherein the logical groupings comprise packets.

9. The system of claim 1 , wherein the interpreter module removes low-level encoding information from the network data to generate the logical groupings.

10. The system of claim 9 , wherein the low-level encoding information removed by the interpreter module comprises hardware addressing information.

11. The system of claim 1 , wherein the at least one session object comprises at least one session file.

12. The system of claim 1 , wherein the assembler module scans the logical groupings by examining at least one of source address, destination address, sequence numbers, source port, and destination port to generate the at least one session object.

13. The system of claim 1 , wherein the lexical engine detects the presence of at least one predefined keyword to identify the at least one of a predetermined set of event types.

14. The system of claim 13 , wherein the predetermined set of event types comprises at least one of TCP, IP, UDP, SMTP, HTTP, NNTP, FTP, TELNET, DNS, RIP, BGP, MAIL, NEWS, HTML, XML, PGP, S/MIME, POP, IMAP, V-CARD, ICMP, NetBUI, IPX and SPX.

15. The system of claim 13 , wherein the lexical engine accumulates a total number of occurrences for the at least one predefined keyword to identify the event type.

16. The system of claim 15 , wherein the lexical engine applies a threshold to the number of occurrences to identify the event type.

17. The system of claim 1 , further comprising an extractor module, the extractor module extracting the at least one network event from the at least one session object according to the at least one of a predetermined set of event types.

18. The system of claim 17 , wherein the extractor module comprises a library of extractor types, each of the extractor types corresponding to at least one of the at least one of a predetermined set of event types.

19. The system of claim 18 , wherein the extractor module stores a minimum subset of the network data to reconstruct the at least one network event.

20. The system of claim 19 , wherein the minimum subset of the network data is stored in a database.

21. The system of claim 20 , further comprising a presentation module, communicating with the database, the presentation module querying the database for information related to the at least one network event.

22. The system of claim 1 , wherein the network event sensor also applies a port detection engine to the network data to identify the at least one network event.

23. The system of claim 1 , wherein the at least one source of network data comprises a plurality of sources of network data.

24. A method for extracting information from network data, comprising the steps of:

receiving network data from at least one source of network data;

scanning the network data to generate logical groupings of the network data;

scanning the logical groupings to generate at least one session object; and

recursively applying at least a lexical engine to the at least one session object to identify protocols within other protocols to extract nested or underlying objects encapsulated in one or more of the protocols and to identify more than one network event type contained in the at least one session object.

25. The method of claim 24 , wherein the at least one source of network data comprises an observation port connected to a network and continuously capturing network data from the network.

26. The method of claim 25 , wherein the observation port comprises a network interface card.

27. The method of claim 26 , wherein the network comprises at least one of an Ethernet network, a token ring network, and a TCP/IP network.

28. The method of claim 26 , wherein the network interface card is invisible to the network.

29. The method of claim 24 , wherein the at least one source of network data comprises stored network data.

30. The method of claim 29 , wherein the stored network data comprise at least one of captured network files, Website mirrors, archives of Usenet files, and archives of email files.

31. The method of claim 24 , wherein the logical groupings comprise packets.

32. The method of claim 24 , further comprising a step of removing low level encoding information from the network data to generate the logical groupings.

33. The method of claim 32 , wherein the low-level encoding information comprises hardware addressing information.

34. The method of claim 24 , wherein the at least one session object comprises at least one session file.

35. The method of claim 24 , wherein the step of scanning the logical groupings comprises a step of examining at least one of source address, destination address, sequence numbers, source port, and destination port to generate the at least one session object.

36. The method of claim 24 , further comprising a step of identifying the at least one network event as at least one of a predetermined set of event types.

37. The method of claim 36 , wherein the step of identifying comprises a step of detecting the presence of at least one predefined keyword to identify the at least one of a predetermined set of event types.

38. The method of claim 37 , wherein the predetermined set of event types comprises at least one of TCP, IP, UDP, SMTP, HTTP, NNTP, FTP, TELNET, DNS, RIP, BGP, MAIL, NEWS, HTML, XML, PGP, S/MIME, POP, IMAP, V-CARD, ICMP, NetBUI, IPX and SPX.

39. The method of claim 37 , wherein the step of detecting comprises a step of accumulating a total number of occurrences for the at least one predefined keyword to identify the event type.

40. The method of claim 39 , wherein the step of detecting comprises a step of applying a threshold to the number of occurrences to identify the event type.

41. The method of claim 36 , further comprising a step of extracting the at least one network event from the at least one session object according to the at least one of a predetermined set of event types.

42. The method of claim 41 , wherein the step of extracting comprises a step of selecting at least one extractor module from a library of extractor types, each of the extractor types corresponding to at least one of the at least one of a predetermined set of event types.

43. The method of claim 42 , further comprising a step of storing a minimum subset of the network data to reconstruct the at least one network event.

44. The method of claim 43 , wherein the step of storing comprises a step of storing the minimum subset of the network data in a database.

45. The method of claim 44 , further comprising a step of querying the database for information related to the at least one network event.

46. The method of claim 24 , further comprising a step of applying a port detection engine to the network data to identify the at least one network event.

47. The method of claim 24 , wherein the at least one source of network data comprises a plurality of sources of network data.

Assignments (22)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
CHANGE OF NAME Recorded May 17, 2011
From: NETWITNESS HOLDING INC.
To: EMC CORPORATION
Reel/Frame 026292/0374 →
CHANGE OF NAME Recorded May 16, 2011
From: NETWITNESS LLC
To: NETWITNESS HOLDING INC.
Reel/Frame 026283/0986 →
MERGER Recorded May 4, 2011
From: NETWITNESS CORPORATION
To: NETWITNESS LLC
Reel/Frame 026221/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2007
From: MANTECH INTERNATIONAL CORPORATION; MANTECH INFORMATION SYSTEMS & TECHNOLOGY CORP.
To: NETWITNESS ACQUISITION CORP.
Reel/Frame 018746/0480 →
MEMORANDUM OF SECURITY AGREEMENT - PATENTS Recorded Oct 23, 2006
From: NETWORK FORENSICS, INC.
To: CTX CORPORATION
Reel/Frame 018419/0788 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2006
From: CTX CORPORATION
To: NETWORK FORENSICS, INC.
Reel/Frame 018419/0751 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S AND ASSIGNEE'S NAMES PREVIOUSLY RECORDED AT REEL 015573 FRAME 0061 Recorded Oct 23, 2006
From: NETWORK FORENSICS, INC.
To: CTX CORPORATION
Reel/Frame 018493/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2006
From: TOTMAN, SCOTT V.
To: CTX CORPORATION
Reel/Frame 018418/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2006
From: ABROMAVAGE, JOHN D.; LONGWORTH, MARK; MOORE, TODD A.
To: CTX CORPORATION
Reel/Frame 018418/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2006
From: ROMANO, VINCE
To: CTX CORPORATION
Reel/Frame 018418/0291 →
MERGER Recorded Mar 16, 2006
From: MANTECH CTX CORPORATION
To: MANTECH INFORMATION SYSTEMS & TECHNOLOGY CORP.
Reel/Frame 017686/0874 →
MERGER Recorded Jul 19, 2004
From: CTX CORPORATION
To: MANTECH CTX CORPORATION
Reel/Frame 015576/0544 →
ASSET PURCHASE AGREEMENT Recorded Jul 16, 2004
From: CTX CORPORATION
To: NETWORK FORENSICS, INC.
Reel/Frame 015573/0061 →