IP Library Granted Patent US 8,789,187
Granted Patent B1
US 8,789,187 · App. 11/864,787 · Granted Jul 22, 2014

Pattern tracking and capturing human insight in a web application security scanner

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,789,187
App. No.
11/864,787
Granted
Jul 22, 2014
Kind
B1
Abstract

An apparatus and method of managing vulnerability testing of a web application is provided for running a set of one or more scripted tests against a web application, recording results of the one or more scripted tests, providing an interface for a human evaluator to review the recorded results, and accepting from the human evaluator custom test parameters based on observations of the recorded results, wherein custom test parameters include at least one context usable by a future tester in deciding whether to run the custom test, and also includes at least one instruction for automatically running custom test steps of the custom test.

Claims (53)

1. A method of managing vulnerability testing of a web application, the method comprising:

running a set of one or more scripted tests against a web application using a computer processor;

recording results of the one or more scripted tests;

providing an interface for a human evaluator to review the recorded results; and

accepting from the human evaluator custom test parameters for a custom test record, wherein the custom test record includes indications of the custom test parameters for a custom test associated with the custom test record, and wherein at least some of the custom test parameters are based on observations of the recorded results, the custom test record including at least one context related to the recorded results and usable by a future tester in deciding whether to run the custom test, and also including a pattern in the web application recognized by the human evaluator and based on observations of the recorded results;

automatically running a second scripted test against the web application or another web application using a computer processor, the second scripted test including a plurality of requests for service from the web application or the other web application, wherein running the second scripted test includes communicating at least one of the requests for service to the web application or the other web application; and

comparing the at least one of request for service communicated to the web application or other web application to one or more of the custom test records previously created, wherein comparing comprises at least comparing the pattern included in the custom test parameters to determine whether or not the at least one request communicated to the web application or other web application matches the pattern of one or more of the custom tests.

2. The method of claim 1 , wherein the custom test parameters include an indication of which web applications to run the custom test against or which class of web applications to run the custom test against.

3. The method of claim 1 , further comprising:

checking previously created custom tests for relevancy; and

discarding irrelevant custom tests.

4. The method of claim 1 , wherein at least some of the observations used by the human evaluator to decide to generate the custom test are stored in a context of the custom test.

5. The method of claim 1 , further comprising presenting the at least one context included in the custom test parameters to the future tester if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

6. The method of claim 1 , wherein the recorded results include an expression, and the custom test parameters include the same expression as the recorded results.

7. The method of claim 1 , further comprising running the custom test if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

8. The method of claim 1 , wherein the at least one context is related to indicators of potential weaknesses of the web application.

9. The method of claim 1 , further comprising accepting from the human evaluator a test script for the custom test.

10. The method of claim 1 , wherein the custom test parameters further include at least one instruction for running custom test steps of the custom test.

11. The method of claim 1 , wherein the pattern in the web application is recognized as leading to a potential security vulnerability that may not be readily apparent to subsequent testers.

12. The method of claim 1 , wherein the custom test parameters include a plurality of patterns obtained as a result of running and recording the results of a plurality of scripted tests, and the method further comprises comparing the at least one request for service communicated to the web application or other web application to the plurality of patterns to determine whether or not the at least one request communicated to the web application or other web application matches at least one of the plurality of patterns.

13. A computing device for managing vulnerability testing of a web application, the computing device comprising:

a computer processor configured to read machine-readable instructions from a tangible, non-transitory computer-readable medium, the machine-readable instructions comprising:

program code for running a set of one or more scripted tests against a web application;

program code for recording results of the one or more scripted tests;

program code for providing an interface for a human evaluator to review the recorded results; and

program code for accepting from the human evaluator custom test parameters for a custom test record, wherein the custom test record includes indications of the custom test parameters for a custom test associated with the custom test record, and wherein at least some of the custom test parameters are based on observations of the recorded results, the custom test record including at least one context related to the recorded results and usable by a future tester in deciding whether to run the custom test, and also including a pattern in the web application recognized by the human evaluator and based on observations of the recorded results;

program code for automatically running a second scripted test against the web application or another web application using a computer processor, the second scripted test including a plurality of requests for service from the web application or the other web application, wherein running the second scripted test includes communicating at least one of the requests for service to the web application or the other web application; and

program code for comparing the at least one request for service communicated to the web application or other web application to one or more of the custom test records previously created, wherein comparing comprises at least comparing the pattern included in the custom test parameters to determine whether or not the at least one request communicated to the web application or other web application matches the pattern of one or more of the custom tests.

14. The computing device of claim 13 , wherein the custom test parameters include an indication of which web applications to run the custom test against or which class of web applications to run the custom test against.

15. The computing device of claim 13 , wherein the machine-readable instructions further comprise:

program code for checking previously created custom tests for relevancy; and

program code for discarding irrelevant custom tests.

16. The computing device of claim 13 , wherein at least some of the observations used by the human evaluator to decide to generate the custom test are stored in a context of the custom test.

17. The computing device of claim 13 , wherein the machine-readable instructions further comprise:

program code for presenting the at least one context included in the custom test parameters to the future tester if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

18. The computing device of claim 13 , wherein the recorded results include an expression, and the custom test parameters include the same expression as the recorded results.

19. The computing device of claim 13 , wherein the machine-readable instructions further comprise program code for running the custom test if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

20. A non-transitory computer-readable medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus having stored thereon instructions configured to manage vulnerability testing of a web application, the computer-readable medium being electronically readable, comprising:

program code for running a set of one or more scripted tests against a web application;

program code for recording results of the one or more scripted tests;

program code for providing an interface for a human evaluator to review the recorded results; and

program code for accepting from the human evaluator custom test parameters for a custom test record, wherein the custom test record includes indications of the custom test parameters for a custom test associated with the custom test record, and wherein at least some of the custom test parameters are based on observations of the recorded results the custom test record including at least one context related to the recorded results and usable by a future tester in deciding whether to run the custom test, and also including a pattern in the web application recognized by the human evaluator and based on observations of the recorded results;

program code for automatically running a second scripted test against the web application or another web application using a computer processor, the second scripted test including a plurality of requests for service from the web application or the other web application, wherein running the second scripted test includes communicating at least one of the requests for service to the web application or the other web application; and

program code for comparing the at least one request for service communicated to the web application or other web application to one or more of the custom test records previously created, wherein comparing comprises at least comparing the pattern included in the custom test parameters to determine whether or not the at least one request communicated to the web application or other web application matches the pattern of one or more of the custom tests.

21. The computer-readable medium of claim 20 , wherein the custom test parameters include an indication of which web applications to run the custom test against or which class of web applications to run the custom test against.

22. The computer-readable medium of claim 20 , further comprising:

program code for checking previously created custom tests for relevancy; and

program code for discarding irrelevant custom tests.

23. The computer-readable medium of claim 20 , wherein at least some of the observations used by the human evaluator to decide to generate the custom test are stored in a context of the custom test.

24. The computer-readable medium of claim 20 , further comprising:

program code for presenting the at least one context included in the custom test parameters to the future tester if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

25. The computer-readable medium of claim 20 , wherein the recorded results include an expression, and the custom test parameters include the same expression as the recorded results.

26. The computer-readable medium of claim 20 , further comprising program code for running the custom test if it is determined that there is a match between the at least one request communicated to the web application or other web application and the pattern included in the custom test parameters.

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST Recorded Jun 17, 2022
From: ORIX GROWTH CAPITAL, LLC
To: WHITEHAT SECURITY, INC.
Reel/Frame 060242/0589 →
REASSIGNMENT AND RELEASE OF SECURITY INTEREST Recorded Jun 17, 2022
From: WESTERN ALLIANCE BANK AS SUCCESSOR IN INTEREST TO BRIDGE BANK, NATIONAL ASSOCIATION
To: WHITEHAT SECURITY, INC.
Reel/Frame 060456/0685 →
SECURITY INTEREST Recorded Nov 23, 2016
From: WHITEHAT SECURITY, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 040413/0127 →
SECURITY AGREEMENT Recorded Jul 24, 2012
From: WHITEHAT SECURITY, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 028629/0507 →