IP Library Granted Patent US 10,523,701
Granted Patent B2
US 10,523,701 · App. 16/161,372 · Granted Dec 31, 2019

Automated configuration of application firewalls

Inventor: Erik J. Peterson (Andover, MA)
Assignee: Veracode, Inc.
H04L63/1433H04L63/0245H04L63/0263H04L63/1483
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,523,701
App. No.
16/161,372
Granted
Dec 31, 2019
Kind
B2
Abstract

In a system for configuring a web application firewall, one or more parameters of the firewall are adjusted such that a test configured for exposing a vulnerability of an application protected by the application firewall is blocked by the firewall and another test configured to invoke functionality of the application but that does not expose or exploit any security vulnerability is not blocked by the firewall. A notification is provided to a user if such a firewall configuration is not found after a specified number of attempts.

Claims (53)

1. A method comprising:

transmitting a first test to an application behind an application firewall;

identifying at least a first vulnerability of the application based, at least in part, on a response to the first test;

modifying a configuration of the application firewall to block requests exploiting the first vulnerability;

obtaining a benchmark response corresponding to an expected response to a legitimate request to invoke a functionality of the application;

transmitting a second test to the application indicating the legitimate request;

based on comparing the benchmark response to a response to the second test, determining if the modified configuration of the application firewall interferes with transmission of the legitimate request to the application; and

based on a determination that the modified configuration interfered with the transmission of the legitimate request, modifying the configuration of the application firewall to allow the legitimate request.

2. The method of claim 1 ,

wherein determining if the configuration of the application firewall interferes with transmission of the legitimate request to the application comprises determining that the response to the second test fails to match the benchmark response.

3. The method of claim 1 , further comprising:

identifying a user input field of the application that is associated with the first vulnerability,

wherein the legitimate request supplies input data for the user input field.

4. The method of claim 3 , wherein identifying the user input field comprises performing a dynamic application security test to identify the user input field.

5. The method of claim 1 , further comprising:

repetitively transmitting the first test to the application and modifying the configuration of the application firewall until the application firewall blocks transmission of the first test to the application or until at least one of a defined period of time or a threshold number of repetitions.

6. The method of claim 5 , further comprising:

based on repeating the first test for at least one of the threshold number of repetitions or the defined period of time, reporting the vulnerability associated with the first test.

7. The method of claim 1 , wherein modifying the configuration of the application firewall comprises modifying at least one of a request limits parameter, a cookie parameter, a URL protection parameter, a parameter specifying processing of special characters, or a parameter specifying processing of keywords.

8. The method of claim 1 , further comprising:

receiving information that provides a map of the application;

wherein the first test is determined based, at least in part, on the map of the application.

9. The method of claim 1 , wherein obtaining the benchmark response comprises obtaining the benchmark response from at least one of a prior response to a legitimate request and application data.

10. The method of claim 1 further comprising:

based on modifying the configuration of the application firewall to allow the legitimate request, transmitting another request to the application exploiting the first vulnerability;

determining if the modified configuration of the application firewall allows requests exploiting the first vulnerability; and

based on determining that the modified configuration of the application firewall allows requests exploiting the first vulnerability, differently modifying the configuration of the application firewall to block requests exploiting the first vulnerability.

11. One or more non-transitory computer-readable media comprising program code for configuring an application firewall, the program code comprising instructions to:

transmit a first test to the application comprising a security test associated with a first defect of the application;

modify a configuration of the application firewall based, at least in part, on identification of an application vulnerability corresponding to the defect;

obtain a benchmark response corresponding to an expected response to a legitimate request to invoke a functionality of the application;

transmit a second test to the application, the second test comprising the legitimate request;

based on comparison of the benchmark response to a response to the second test, determine if the modified configuration of the application firewall interferes with transmission of the legitimate request to the application; and

based on a determination that a response to the second test and the benchmark response do not match, modify the configuration of the application firewall to allow the legitimate request.

12. The one or more non-transitory computer-readable media of claim 11 , wherein the program code further comprises instructions to:

repetitively transmit the first test to the application, modify the configuration of the application firewall, and transmit the second test to the application until the application firewall blocks transmission of the first test and does not block transmission of the second test.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the legitimate request supplies input data for a user input field.

14. The one or more non-transitory computer-readable media of claim 11 , wherein the program code further comprises instructions to:

based on repetition of the first test for at least one of a threshold number of operations or for a defined period of time, report the application vulnerability.

15. The one or more non-transitory computer-readable media of claim 11 , wherein the instructions to modify the configuration of the application firewall comprise instructions to modify at least one of a request limits parameter, a cookie parameter, a URL protection parameter, a parameter specifying processing of special characters, or a parameter specifying processing of keywords.

16. An apparatus comprising:

a processor; and

a computer-readable medium comprising instructions executable by the processor to cause the apparatus to,

transmit a first test to an application behind an application firewall;

modify a configuration of an application firewall to block requests exploiting a first vulnerability of the application, the first test associated with the first vulnerability;

obtain a benchmark response corresponding to an expected response to a legitimate request to the application;

transmit a second test comprising a legitimate request to the application;

based on comparison of the benchmark response to a response to the second test, determine if the modified configuration of the application firewall at least partially blocks transmission of the legitimate request to the application; and

based on a determination that the modified configuration at least partially blocks transmission of the legitimate request, modify the configuration of the application firewall to allow the legitimate request.

17. The apparatus of claim 16 , wherein the application comprises a web application and wherein the application firewall comprises a web application firewall.

18. The apparatus of claim 16 , wherein the first vulnerability comprises a vulnerability to at least one of SQL injection, denial of service, credit card exposure, buffer overflow, command injection, cross-site scripting, and phishing.

19. The apparatus of claim 16 , wherein the instructions to determine if the modified configuration of the application firewall at least partially blocks transmission of the legitimate request comprise instructions to determine that the response to the second test fails to match the benchmark response.

20. The apparatus of claim 16 , wherein the instructions to obtain the benchmark response comprise instructions to obtain the benchmark response from at least one of a prior response to a legitimate request and application data.

Assignments (4)
SECURITY INTEREST Recorded May 25, 2022
From: VERACODE, INC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 060011/0351 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 2, 2022
From: BARCLAYS BANK PLC, AS AGENT
To: VERACODE, INC.
Reel/Frame 059846/0650 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 5, 2020
From: VERACODE, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 054330/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: PETERSON, ERIK J.
To: VERACODE, INC.
Reel/Frame 047268/0123 →