IP Library Granted Patent US 11,663,105
Granted Patent B2
US 11,663,105 · App. 16/569,015 · Granted May 30, 2023

String pattern matching for multi-string pattern rules in intrusion detection

Inventors: Jingmin Zhou (Los Gatos, CA); Subrahmanyam Manuguri (San Jose, CA); Jayant Jain (Cupertino, CA); Anirban Sengupta (Saratoga, CA)
Assignee: VMWARE, INC.
G06F11/3072G06F40/205G06V10/955
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 11,663,105
App. No.
16/569,015
Granted
May 30, 2023
Kind
B2
Abstract

In some embodiments, a method stores a plurality of identifiers for a plurality of rules. The plurality of rules each include a set of patterns, and a rule and a pattern combination is associated with an identifier in the plurality of identifiers. Information being sent on a network is scanned and the method determines when a pattern in the information matches a pattern for a rule. The method identifies an identifier for the pattern where the identifier identifies a rule and a pattern combination. Then, the method identifies the rule and the pattern combination based on the identifier. The set of patterns for the rule is found in the information based on determining that the rule and the pattern combinations for the rule have been found in the information.

Claims (50)

1. A method comprising:

storing, by a computing device, a plurality of identifiers for a plurality of rules, wherein the plurality of rules each includes a set of patterns, wherein a rule and a pattern combination is associated with an identifier in the plurality of identifiers;

scanning, by the computing device, information being sent on a network;

determining, by the computing device, when a pattern in the information matches a pattern in the set of patterns for a rule;

identifying, by the computing device, an identifier for the pattern, wherein the identifier identifies the rule and the pattern combination;

identifying, by the computing device, the rule and the pattern combination based on the identifier; and

determining, by the computing device, when the set of patterns for the rule is found in the information based on determining that the rule and the pattern combinations for the rule have been found in the information.

2. The method of claim 1 , wherein determining the set of patterns for the rule is found in the information is based on a single scan of characters in the information in order.

3. The method of claim 1 , wherein the identifier for the pattern includes a first portion of information that identifies the rule and a second portion of information that identifies the pattern in the rule and the pattern combination.

4. The method of claim 1 , further comprising:

storing a first indicator that indicates the pattern of the rule is included in the information; and

determining when all indicators for patterns in the set of patterns for the rule have been determined.

5. The method of claim 1 , wherein when the set of patterns for the rule is found in the information, performing an action associated with the rule.

6. The method of claim 1 , wherein each rule and pattern combination for the plurality of rules is associated with a unique identifier.

7. The method of claim 1 , further comprising:

continuing to scan the information to determine another pattern that is found in the information until the set of patterns for the rule is found in the information.

8. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be operable for:

storing a plurality of identifiers for a plurality of rules, wherein the plurality of rules each include a set of patterns, wherein a rule and a pattern combination is associated with an identifier in the plurality of identifiers;

scanning information being sent on a network;

determining when a pattern in the information matches a pattern in the set of patterns for a rule;

identifying an identifier for the pattern, wherein the identifier identifies the rule and the pattern combination;

identifying the rule and the pattern combination based on the identifier; and

determining when the set of patterns for the rule is found in the information based on determining that the rule and the pattern combinations for the rule have been found in the information.

9. The non-transitory computer-readable storage medium of claim 8 , wherein determining the set of patterns for the rule is found in the information is based on a single scan of characters in the information in order.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the identifier for the pattern includes a first portion of information that identifies the rule and a second portion of information that identifies the pattern in the rule and the pattern combination.

11. The non-transitory computer-readable storage medium of claim 8 , further configured for:

storing a first indicator that indicates the pattern of the rule is included in the information; and

determining when all indicators for patterns in the set of patterns for the rule have been determined.

12. The non-transitory computer-readable storage medium of claim 8 , wherein when the set of patterns for the rule is found in the information, performing an action associated with the rule.

13. The non-transitory computer-readable storage medium of claim 8 , wherein each rule and pattern combination for the plurality of rules is associated with a unique identifier.

14. The non-transitory computer-readable storage medium of claim 8 , further configured for:

continuing to scan the information to determine another pattern that is found in the information until the set of patterns for the rule is found in the information.

15. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:

storing a plurality of identifiers for a plurality of rules, wherein the plurality of rules each include a set of patterns, wherein a rule and a pattern combination is associated with an identifier in the plurality of identifiers;

scanning information being sent on a network;

determining when a pattern in the information matches a pattern in the set of patterns for a rule;

identifying an identifier for the pattern, wherein the identifier identifies the rule and the pattern combination;

identifying the rule and the pattern combination based on the identifier; and

determining when the set of patterns for the rule is found in the information based on determining that the rule and the pattern combinations for the rule have been found in the information.

16. The apparatus of claim 15 , wherein determining the set of patterns for the rule is found in the information is based on a single scan of characters in the information in order.

17. The apparatus of claim 15 , wherein the identifier for the pattern includes a first portion of information that identifies the rule and a second portion of information that identifies the pattern in the rule and the pattern combination.

18. The apparatus of claim 15 , further configured for:

storing a first indicator that indicates the pattern of the rule is included in the information; and

determining when all indicators for patterns in the set of patterns for the rule have been determined.

19. The apparatus of claim 15 , wherein when the set of patterns for the rule is found in the information, performing an action associated with the rule.

20. The apparatus of claim 15 , wherein each rule and pattern combination for the plurality of rules is associated with a unique identifier.

21. The apparatus of claim 15 , further configured for:

continuing to scan the information to determine another pattern that is found in the information until the set of patterns for the rule is found in the information.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: ZHOU, JINGMIN; MANUGURI, SUBRAHMANYAM; JAIN, JAYANT; SENGUPTA, ANIRBAN
To: VMWARE, INC.
Reel/Frame 050360/0152 →
Continuity (1)
Related Publication 20210081461A1 · Mar 18, 2021
Cited By (1)
US 12,261,859