IP Library Granted Patent US 10,594,573
Granted Patent B2
US 10,594,573 · App. 14/991,641 · Granted Mar 17, 2020

Systems and methods for rule quality estimation

Inventors: Ross R. Kinder (Ann Arbor, MI); Jon R. Ramsey (Atlanta, GA); Timothy M. Vidas (Omaha, NE); Robert Danford (Boulder, CO)
Assignee: SecureWorks Corp.
H04L43/028H04L43/08
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 10,594,573
App. No.
14/991,641
Granted
Mar 17, 2020
Kind
B2
Abstract

A method of assessing the quality of a network filter rule containing a wildcard includes determine an instantaneous entropy for the network filter rule based on string distances or instantaneous entropy between a plurality of wildcard matches for the network filter rule. The method further includes performing an action if the string distance or instantaneous entropy for the network filter rule crosses a threshold. The action being selected from disabling the network filter rule, flagging the rule as a low quality rule, generating a candidate rule based on a portion of the match having low entropy and a portion of the match having high entropy, or a combination thereof.

Claims (32)

1. A method of assessing the quality of a network filter rule containing a wildcard, comprising:

when the network filter rule is triggered, recording a string matching the wildcard as a wildcard match in a log;

obtaining a plurality of strings from a plurality of wildcard matches for the network filter rule;

determining an instantaneous string entropy for the network filter rule based on the plurality of strings, the instantaneous string entropy being a measure of similarity of the string matches calculated from a histogram of characters in the wildcard matches; and

if the instantaneous entropy for the network filter rule crosses a threshold, flagging the rule as a low quality rule and generating a candidate rule based on a portion of the match having low entropy and a portion of the match having high entropy.

2. The method of claim 1 , wherein the wildcard matches are obtained from an event log.

3. The method of claim 1 , further comprising identifying a temporal substring of the wildcard match and replacing the temporal substring with random characters, the temporal sub string including text that matches a date, time, or event.

4. The method of claim 1 , further comprising identifying a sequence substring of the wildcard match and replacing the sequence substring with random characters, the sequence substring including a sequence of decimal digits corresponding to a sequence number.

5. The method of claim 4 , wherein a processor is further configured to store up to L sequence numbers from the wildcard matches.

6. The method of claim 5 , wherein the sequence number is in a range of i−2L and i+2L, where i is one of the stored sequence numbers.

7. The method of claim 1 , wherein the candidate rule includes the portion of the match having low entropy and a wildcard replacing the portion of the match having high entropy.

8. An information handling system, comprising:

a storage for maintaining a list of network filter rules containing a wildcard and a log of network filtering events;

a processor configured to:

when the network filter rule is triggered, record a string matching the wildcard as a wildcard match in the log;

obtain a plurality of strings from a plurality of wildcard matches for the network filter rule;

determine an instantaneous string entropy for the network filter rule based on the plurality of strings, the instantaneous string entropy being a measure of similarity of the string matches calculated from a histogram of characters in the wildcard matches; and

if the instantaneous entropy for the network filter rule crosses a threshold, flag the rule as a low quality rule and generate a candidate rule based on a portion of the match having low entropy and a portion of the match having high entropy.

9. The information handling system of claim 8 , wherein the processor is further configured to identify a temporal substring of the wildcard match and replace the temporal sub string with random characters, the temporal sub string including text that matches a date, time, or event.

10. The information handling system of claim 8 , wherein the processor is further configured to identify a sequence substring of the wildcard match and replace the sequence sub string with random characters, the sequence sub string including a sequence of decimal digits corresponding to a sequence number.

11. The information handling system of claim 10 , wherein the processor is further configured to store up to L sequence numbers from wildcard matches.

12. The information handling system of claim 11 , wherein the sequence number is in a range of i−2L and i+2L, where i is one of the stored sequence numbers.

13. The information handling system of claim 8 , wherein the candidate rule includes the portion of the match having low entropy and a wildcard replacing the portion of the match having high entropy.

14. A method of assessing the quality of a network filter rule containing a wildcard, comprising:

extracting a plurality of strings from a plurality of wildcard matches of the network filter rule from a log of network filtering events;

determining an instantaneous string entropy for the network filter rule based on a string distance between the plurality of strings, the instantaneous string entropy being a measure of similarity of the string matches calculated from a histogram of characters in the wildcard matches; and

if a score based on the string distance crosses a threshold, flagging the rule as a low quality rule and generating a candidate rule based on a portion of the match having low entropy and a portion of the match having high entropy, wherein the candidate rule includes the portion of the match having low entropy and a wildcard replacing the portion of the match having high entropy.

15. The method of claim 14 , wherein the wildcard matches are obtained from an event log.

16. The method of claim 14 , further comprising identifying a temporal substring of the wildcard match and replace the temporal substring with random characters, the temporal sub string including text that matches a date, time, or event.

17. The method of claim 14 , further comprising identifying a sequence substring of the wildcard match and replace the sequence substring with random characters, the sequence substring including a sequence of decimal digits corresponding to a sequence number.

18. The method of claim 17 , wherein the processor is further configured to store up to L sequence numbers from wildcard matches.

19. The method of claim 18 , wherein the sequence number is in a range of i−2L and i+2L, where i is one of the stored sequence numbers.

Assignments (12)
SECURITY INTEREST Recorded May 2, 2025
From: SECUREWORKS CORP.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 071156/0529 →
RELEASE OF REEL 037848 FRAME 0001 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0152 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 037848 FRAME 0210 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040031/0725 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
RELEASE OF REEL 037847 FRAME 0843 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040017/0366 →
ENTITY CONVERSION WITH NAME CHANGE Recorded May 4, 2016
From: SECUREWORKS HOLDING CORPORATION
To: SECUREWORKS CORP.
Reel/Frame 038608/0757 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2016
From: KINDER, ROSS R.; RAMSEY, JON R.; VIDAS, TIMOTHY M.; DANFORD, ROBERT
To: SECUREWORKS HOLDING CORPORATION
Reel/Frame 038389/0814 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 037848/0210 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037848/0001 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037847/0843 →