IP Library › Granted Patent US 12,153,890
Granted Patent B2
US 12,153,890 · App. 16/690,439 · Granted Nov 26, 2024

Generating anomaly-detection rules for communication protocols

Inventors: Keren Cohavi (Tel-Aviv, IL); Liora Braunstin (Tel Aviv, IL); Kiril Lashchiver (Kiryat Ono, IL); Yoav Spector (Ramat Gan, IL)
Assignee: Intuit Inc.
G06F40/30G06F40/289H04L63/20H04L41/0681
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 12,153,890
App. No.
16/690,439
Granted
Nov 26, 2024
Kind
B2
Abstract

A method and system for generating anomaly-detection rules for communication protocols are provided. The method includes receiving communication data; constructing at least one N-gram from the received communication data; analyzing the at least one N-gram by comparing the constructed at least one N-gram with a repository of N-gram analyses to identify conditional probabilities of certain characteristics; and generating anomaly-detection rules based on the N-gram analysis.

Claims (45)

1. A method comprising:

receiving a request packet, comprising a formatted data unit, that is being communicated between two machines using a communication protocol, wherein the formatted data unit contains at least one information element within the communication protocol and used as part of the communication protocol, and wherein the at least one information element includes a tuple;

extracting the at least one information element from the formatted data unit;

constructing a first bigram comprising a first element and a second element by selecting the at least one information element as the first element of the first bigram, and determining the second element of the first bigram by performing a bigram analysis, comprising:

selecting at least one bigram from a dictionary comprising a plurality of bigrams, the plurality of bigrams each having the first element constructed from a previous request packet and the second element constructed from a corresponding previous response packet corresponding to a request-response transaction of the communication protocol, wherein the first element of the at least one bigram of the plurality of bigrams includes the first element of the first bigram, to obtain a set of selected bigrams,

selecting the second element of the first bigram as a most commonly paired second element with the first element of the first bigram within the set of selected bigrams, and

calculating a probability of the second element of the first bigram from the set of selected bigrams;

establishing, based on the probability and the first element of the first bigram, a rule for the communication protocol, the rule governing communication between the two machines; and

applying the rule for anomaly detection during monitored communication between the two machines using the communication protocol.

2. The method of claim 1 , wherein:

receiving the request packet includes intercepting and processing a communication destined for an application on at least one of the two machines.

3. The method of claim 1 , wherein:

receiving the request packet includes intercepting and duplicating an original communication of a data stream between the two machines to form a duplicate communication, processing the duplicate communication, and returning the original communication to the data stream.

4. The method of claim 1 , wherein receiving the request packet includes receiving a communication data log, containing records of at least one communication, from a plug-in.

5. The method of claim 1 , further comprising:

constructing an n-gram from the request packet, wherein the request packet includes information elements, content data and context data.

6. The method of claim 5 , wherein the n-gram comprises at least one of unigrams, bigrams, or higher-order n-grams.

7. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process comprising:

receiving a request packet, comprising a formatted data unit, that is being communicated between two machines using a communication protocol, wherein the formatted data unit contains at least one information element within the communication protocol and used as part of the communication protocol, and wherein the at least one information element includes a tuple;

extracting the at least one information element from the formatted data unit;

constructing a first bigram comprising a first element and a second element by selecting the at least one information element as the first element of the first bigram, and determining the second element of the first bigram by performing a bigram analysis, comprising:

selecting at least one bigram from a dictionary comprising a plurality of bigrams, the plurality of bigrams each having the first element constructed from a previous request packet and the second element constructed from a corresponding previous response packet corresponding to a request-response transaction of the communication protocol, wherein the first element of the at least one bigram of the plurality of bigrams includes the first element of the first bigram, to obtain a set of selected bigrams,

selecting the second element of the first bigram as a most commonly paired second element with the first element of the first bigram within the set of selected bigrams, and

calculating a probability of the second element of the first bigram from the set of selected bigrams;

establishing, based on the probability and the first element of the first bigram, a rule for the communication protocol, the rule governing communication between the two machines; and

applying the rule for anomaly detection during monitored communication between the two machines using the communication protocol.

8. A system comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive a request packet, comprising a formatted data unit, that is being communicated between two machines using a communication protocol, wherein the formatted data unit contains at least one information element within the communication protocol and used as part of the communication protocol, and wherein the at least one information element includes a tuple;

extract the at least one information element from the formatted data unit;

construct a first bigram comprising a first element and a second element, by selecting the at least one information element as the first element of the first bigram, and determining the second element of the first bigram by performing a bigram analysis, comprising:

selecting at least one bigram from a dictionary comprising a plurality of bigrams, the plurality of bigrams each having the first element constructed from a previous request packet and the second element constructed from a corresponding previous response packet corresponding to a request-response transaction of the communication protocol, wherein the first element of the at least one bigram of the plurality of bigrams includes the first element of the first bigram, to obtain a set of selected bigrams,

selecting the second element of the first bigram as a most commonly paired second element with the first element of the first bigram within the set of selected bigrams, and

calculating a probability of the second element of the first bigram from the set of selected bigrams;

establish, based on the probability and the first element of the first bigram, a rule for the communication protocol, the rule governing communication between the two machines; and

apply the rule for anomaly detection during monitored communication between the two machines using the communication protocol.

9. The system of claim 8 , wherein the system is further

configured to intercept and process a communication destined for an application on at least one of the two machines.

10. The system of claim 8 , wherein the system is further

configured to intercept and duplicate an original communication of a data stream between the two machines to form a duplicate communication, process the duplicate communication, and return the original communication to the data stream.

11. The system of claim 8 , wherein the system is further

configured to receive a communication data log, containing records of at least one communication, from a plug-in.

12. The system of claim 8 , wherein the system is further configured to: construct an n-gram from the request packet, wherein the request packet includes information elements, content data and context data.

13. The system of claim 12 , wherein the n-gram comprises at least one of unigrams, bigrams, or higher-order n-grams.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2022
From: IMVISION SOFTWARE TECHNOLOGIES LTD.
To: INTUIT INC.
Reel/Frame 059344/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: COHAVI, KEREN; BRAUNSTIN, LIORA; LASHCHIVER, KIRIL; SPECTOR, YOAV
To: IMVISION SOFTWARE TECHNOLOGIES LTD.
Reel/Frame 051075/0340 →
Continuity (2)
Provisional Application 62770225 · Nov 21, 2018
Related Publication 20200159998A1 · May 21, 2020