IP Library Granted Patent US 8,103,765
Granted Patent B2
US 8,103,765 · App. 12/430,790 · Granted Jan 24, 2012

Method of non-intrusive analysis of secure and non-secure web application traffic in real-time

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 8,103,765
App. No.
12/430,790
Granted
Jan 24, 2012
Kind
B2
Abstract

Provided is a method and system for monitoring and analysis of networked systems, that is non-intrusive and real time. Both secure and non-secure traffic may be analyzed. The provided method involves non-intrusively copying data from a communication medium, reconstructing this data to a higher level of communication, such as the application level, grouping the data into sets, each set representing a session, and organizing the data for chosen sessions in hierarchical fashion which corresponds to the hierarchy of the communicated information. If monitored communications are encrypted, they are non-intrusively decrypted in real time. Hierarchically reconstructed session data is used by one or more plug-in applications, such as alarms, archival applications, visualization applications, script generation applications, abandonment monitoring applications, error detection applications, performance monitoring applications, and others.

Claims (61)

1. A method, comprising:

non-instrusively capturing a plurality of communications from a communication channel in substantially real-time;

grouping the plurality of communications into one or more streams, each stream representing a network connection;

processing the one or more streams in parallel to create a plurality of transactions, wherein a first transaction includes a request communication and a response communication from the plurality of communications;

storing the plurality of transactions in a memory;

analyzing the plurality of transactions to detect a transaction of interest, wherein the transaction of interest is detected based on a predefined event; and

retrieving a set of transactions belonging to the plurality of transactions from the memory based on metadata associated with the transaction of interest, wherein each transaction in the set of transactions has a predefined relationship with the transaction of interest; and

organizing the set of transactions into a hierarchical data structure according to dependencies between the set of transactions.

2. The method of claim 1 , further comprising adding connection meta information to each stream.

3. The method of claim 1 , wherein each of the plurality of transactions comprises session identifications and monitoring data.

4. The method of claim 1 , wherein analyzing the plurality of transactions comprises monitoring the plurality of transactions as the plurality of transactions are being created.

5. The method of claim 1 , wherein creating the plurality of transactions comprises configuring one or more of the plurality of communications to access the application level information.

6. The method of claim 1 , wherein creating the plurality of transactions comprises decrypting one or more of the plurality of communications.

7. The method of claim 6 , wherein decrypting further comprises generating a session key from a previously provided pre-master secret.

8. The method of claim 1 , wherein organizing the set of transactions includes identifying one or more page root documents from the set of transactions.

9. The method of claim 1 , further comprising generating a script from the hierarchical data structure to create a web application session.

10. A method for non-intrusive analysis of secure communication between two or more applications communicating through a communication channel, comprising:

non-intrusively and securely capturing a communication passing through the communication channel in substantially real-time;

grouping the communication into one or more streams in substantially real-time, each stream representing a network connection;

processing the one or more streams in parallel to an application layer in substantially real-time to create a plurality of transactions;

storing the plurality of transactions in a memory;

analyzing the plurality of transactions to detect a transaction of interest, wherein the transaction of interest is detected based on a predefined event;

parsing the transaction of interest and one or more of the plurality of transactions to determine a set of transactions associated with a web application session and a dependency among the set of transactions; and

grouping the set of transactions into a hierarchical data structure, according to the dependencies among the set of transactions.

11. The method of claim 10 , wherein processing the one or more streams further comprises decrypting the communication and another communication.

12. The method of claim 10 , wherein the dependency between a first transaction and a second transaction signifies an HTTP reference included in the first transaction, wherein the HTTP reference is configured to refer to an addressable object at least partially included in the second transaction.

13. The method of claim 10 , wherein the dependency between a first and a second transaction indicates an HTML reference included in the first transaction, wherein the HTML reference is configured to refer to an addressable object at least partially included in the second transaction.

14. The method of claim 10 , further comprising:

retrieving, from the memory, a second transaction that includes a message body to replace a first transaction that does not include a message body.

15. The method of claim 10 , further comprising:

generating a script from the hierarchical data structure to recreate a web application session.

16. A method, comprising:

non-intrusively copying a plurality of secure communications from a communication channel in substantially real-time;

separating the plurality of secure communications into one or more streams in substantially real-time, each stream representing a network connection;

processing the one or more streams into a set of transactions in substantially real-time, the set of transactions associated with the network communication; and

arranging one or more of the set of transactions into a hierarchical data structure according to dependencies between the set of transactions.

17. The method of claim 16 , wherein each transaction comprises:

meta information;

a request header; and

a response header.

18. The method of claim 17 , wherein arranging one or more of the set of transactions further comprises:

identifying a first set of dependencies associated with the set of transactions;

parsing a request body and a response body belonging to a transaction;

identifying a second set of dependencies associated with the set of transactions based on at least one of the request body and the response body; and

arranging one or more of the set of transactions into a hierarchical data structure according to the first set of dependencies and the second set of dependencies.

19. The method of claim 16 , wherein processing the one or more streams further comprises:

adding meta information to at least one of the one or more streams;

creating a plurality of transactions from the one or more streams, wherein each transaction comprises one or more communications of a single stream; and

storing the plurality of transactions.

20. The method of claim 19 , further comprising:

analyzing the plurality of transactions in order to select a transaction of interest; and

retrieving a set of transactions from the plurality of transactions, wherein each transaction of the set of transactions has a predefined relationship with the transaction of interest.

21. The method of claim 19 , wherein creating a plurality of transactions further comprises:

deriving another stream from the one or more streams

deriving a plurality of request messages and a plurality of response messages from the another stream; and

combining the plurality of request messages and the plurality of response messages into a plurality of transactions, each transaction comprising a request message and a response message,

wherein at least one of the one or more streams is an encrypted stream and decrypting the encrypted stream creates the another stream.

22. The method of claim 19 , further comprising:

analyzing the plurality of transactions in order to select a transaction of interest;

retrieving a first transaction based on the meta information, the first transaction having a request body and a response body; and

retrieving a second transaction based on the request body and the response body.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →