IP Library Granted Patent US 10,965,708
Granted Patent B2
US 10,965,708 · App. 16/001,812 · Granted Mar 30, 2021

Systems and methods for machine learning based application security testing

Inventors: Sergey Kolychev (Portland, OR); Robert Stone (Fremont, CA); James Richardson (Houston, TX)
Assignee: WHITEHAT SECURITY, INC.
H04L63/1433G06F21/577G06N3/0445G06N3/0454G06N3/08G06F2221/034
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,965,708
App. No.
16/001,812
Granted
Mar 30, 2021
Kind
B2
Abstract

Discloses are systems, methods and computer readable mediums for automated verifications of potential vulnerabilities of one or more sites or code utilizing one or more neural networks. The systems, methods and computer readable mediums can transmit one or more scan operations to one or more sites, receive one or more responses to the one or more scan operations, tokenize the one or more responses, transmit to one or more neural networks the one or more tokenized responses, receive from the one or more neural networks verification of the one or more tokenized responses, and determine one or more confidences of the one or more verified responses.

Claims (58)

1. A system for verifying vulnerabilities, the system comprising:

a processor; and

a computer-readable medium storing instructions, which when executed by the processor causes the processor to:

transmit one or more scan operations to scan for potential vulnerabilities of one or more sites;

receive one or more responses to the one or more scan operations including at least one potential vulnerability of the potential vulnerabilities;

tokenize the one or more responses in to one or more input arrays of varied lengths;

transmit, to one or more neural networks of a plurality of neural networks based on the varied lengths of the one or more input arrays, the one or more tokenized responses, wherein a first neural network of the plurality of neural networks is configured to receive an input array of a first length of the varied lengths and a second neural network of the plurality of neural networks is configured to receive an input array of a second length of the varied lengths;

receive, from the one or more neural networks, verification of the one or more tokenized responses; and

determine one or more confidences of the one or more verified responses.

2. The system of claim 1 , wherein the one or more scan operations are one or more hypertext transport protocol-requests and the one or more responses are one or more hypertext transport protocol responses.

3. The system of claim 1 , further comprising instructions which when executed by the processor causes the processor to:

automatically identify one or more potential vulnerabilities in the one or more responses;

in response to the identification of the one or more potential vulnerabilities, determine the varied lengths, wherein the varied lengths are associated with the one or more input arrays;

take one or more excerpts of the one or more responses of the varied lengths; and

convert the one or more excerpts into one or more tokens.

4. The system of claim 3 , wherein the identification is performed using matched expressions.

5. The system of claim 1 , wherein the one or more neural networks are trained by historical request and response pairs.

6. The system of claim 1 , wherein the one or more neural networks are one of character-level convolutional neural networks or long short term memory recurrent neural networks.

7. The system of claim 1 , wherein the one or more confidences associated with the one or more verified responses are based on a ratio the one or more neural networks have properly identified the one or more potential vulnerabilities.

8. The system of claim 1 , wherein tokenizing the one or more responses comprises:

taking at least one excerpt of the one or more responses at the specific length, wherein the at least one excerpt includes the at least one potential vulnerability.

9. A computer-implemented method for verifying vulnerabilities, the method comprising:

transmitting, by a scanner, one or more scan operations to scan for potential vulnerabilities of one or more sites;

receiving, at the scanner, one or more responses to the one or more scan operations including at least one potential vulnerability of the potential vulnerabilities;

tokenizing, by the scanner, the one or more responses in to one or more input arrays of varied lengths;

verifying, by one or more neural networks of a plurality of neural networks based on the varied lengths of the one or more input arrays, the one or more tokenized responses, wherein a first neural network of the plurality of neural networks is configured to receive an input array of a first length of the varied lengths and a second neural network of the plurality of neural networks is configured to receive an input array of a second length of the varied lengths; and

determining one or more confidences of the one or more verified responses.

10. The method of claim 9 , wherein the one or more scan operations are one or more hypertext transport protocol requests and the one or more responses are one or more hypertext transport protocol responses.

11. The method of claim 9 , wherein the tokenizing further comprising:

automatically identifying one or more potential vulnerabilities in the one or more responses;

in response to identifying the one or more potential vulnerabilities, determining the varied lengths, wherein the varied lengths are associated with the one or more input arrays;

taking one or more excerpts of the one or more responses of the varied lengths; and

converting the one or more excerpts into one or more tokens.

12. The method of claim 11 , wherein the identifying is performed using matched expressions.

13. The method of claim 9 , wherein the one or more neural networks are trained by historical request and response pairs.

14. The method of claim 9 , wherein the one or more neural networks are one of character-level convolutional neural networks or long short term memory recurrent neural networks.

15. The method of claim 9 , wherein the one or more confidences associated with the one or more responses are based on a ratio the one or more neural networks have properly identified the one or more potential vulnerabilities.

16. The method of claim 9 , wherein tokenizing the one or more responses further comprising:

taking at least one excerpt of the one or more responses at the specific length, wherein the at least one excerpt includes the at least one potential vulnerability.

17. A non-transitory computer-readable medium storing instructions, which when executed by a processor causes the processor to:

transmit one or more scan operations to scan for potential vulnerabilities of one or more sites;

receive one or more responses to the one or more scan operations including at least one potential vulnerability of the potential vulnerabilities;

tokenize the one or more responses in to one or more input arrays of varied lengths;

transmit, to one or more neural networks of a plurality of neural networks based on the varied lengths of the one or more input arrays, the one or more tokenized responses, wherein a first neural network is configured to receive an input array of a first length of the varied lengths and a second neural network is configured to receive an input array of a second length of the varied lengths;

receive, from the one or more neural networks, verification of the one or more tokenized responses; and

determine one or more confidences of the one or more verified responses.

18. The non-transitory computer-readable medium of claim 17 , wherein the one or more scan operations are one or more hypertext transport protocol requests and the one or more responses are one or more hypertext transport protocol responses.

19. The non-transitory computer-readable medium of claim 17 , further comprising instructions which when executed by the processor causes the processor to:

automatically identify one or more potential vulnerabilities in the one or more responses;

in response to the identification of the one or more potential vulnerabilities, determine the varied lengths, wherein the varied lengths are associated with the one or more input arrays;

take one or more excerpts of the one or more responses of the varied lengths; and

convert the one or more excerpts into one or more tokens.

20. The non-transitory computer-readable medium of claim 19 , wherein the identification is performed using matched expressions.

21. The non-transitory computer-readable medium of claim 17 , wherein the one or more neural networks are trained by historical request and response pairs.

22. The non-transitory computer-readable medium of claim 17 , wherein the one or more neural networks are one of character-level convolutional neural networks or long short term memory recurrent neural networks.

23. The non-transitory computer-readable medium of claim 17 , wherein the one or more confidences associated with the one or more responses are based on a ratio the one or moreneural networks have properly identified the one or more potential vulnerabilities.

24. The non-transitory computer-readable medium of claim 17 , wherein tokenizing the one or more responses comprises:

taking at least one excerpt of the one or more responses at the specific length, wherein the at least one excerpt includes the at least one potential vulnerability.

Assignments (7)
SECURITY INTEREST Recorded Sep 30, 2024
From: BLACK DUCK SOFTWARE, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 069083/0149 →
CHANGE OF NAME Recorded Jul 30, 2024
From: SOFTWARE INTEGRITY GROUP, INC.
To: BLACK DUCK SOFTWARE, INC.
Reel/Frame 068191/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2024
From: SYNOPSYS, INC.
To: SOFTWARE INTEGRITY GROUP, INC.
Reel/Frame 066664/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: SYNOPSYS SOFTWARE INTEGRITY SOLUTIONS, INC.
To: SYNOPSYS, INC.
Reel/Frame 060698/0193 →
CHANGE OF NAME Recorded Jul 25, 2022
From: NTT SECURITY APPSEC SOLUTIONS INC.
To: SYNOPSYS SOFTWARE INTEGRITY SOLUTIONS, INC.
Reel/Frame 060884/0443 →
CHANGE OF NAME Recorded Jul 22, 2022
From: WHITEHAT SECURITY, INC.
To: NTT SECURITY APPSEC SOLUTIONS INC.
Reel/Frame 060829/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2019
From: KOLYCHEV, SERGEY; STONE, ROBERT; RICHARDSON, JAMES
To: WHITEHAT SECURITY, INC.
Reel/Frame 047925/0526 →