IP Library Granted Patent US 12,141,289
Granted Patent B1
US 12,141,289 · App. 17/122,734 · Granted Nov 12, 2024

Real time application protection system configuration deficiency prediction

Inventors: Matthew Thomas McDonald (Callahan, FL); Jeremy W. Long (Herndon, VA); Mitch Moon (Plymouth, MN); Isaiah Adonu (Oro Valley, AZ)
Assignee: Wells Fargo Bank, N.A.
G06F21/577G06N20/00G06F2221/033
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 12,141,289
App. No.
17/122,734
Granted
Nov 12, 2024
Kind
B1
Abstract

Techniques are described for improving real-time application protection (RTAP) systems (e.g., web application firewalls (WAFs), runtime application self-protection (RASP) systems). In particular, a device within a trusted network may configured to predict vulnerabilities of proposed configurations for the RTAP systems. For example, the device may train one or more machine learning models with a first plurality of configuration settings of application protection systems corresponding to a plurality of applications and a first plurality of known vulnerabilities corresponding the first plurality of configuration settings; apply the one or more machine learning models to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting; and identify one or more configuration changes to the proposed configuration setting to overcome the predicted one or more potential vulnerabilities.

Claims (63)

1. A computer-implemented method comprising:

training a first machine learning model with a first configuration setting of application protection systems corresponding to a plurality of applications and a first plurality of known vulnerabilities corresponding to the first configuration setting;

training a second machine learning model with a second configuration setting of application protection systems corresponding to the plurality of applications and a second plurality of known vulnerabilities corresponding to the second configuration setting;

applying each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting;

wherein applying each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting comprises:

segmenting the proposed configuration setting into a plurality of sections;

applying each of the first machine learning model and the second machine learning model to each section of the plurality of sections;

predicting, for each section of the plurality of sections, a respective set of potential vulnerabilities;

generating a list of the one or more potential vulnerabilities of the proposed configuration setting based on the respective set of potential vulnerabilities for each section of the plurality of sections of the proposed configuration setting;

identifying one or more configuration changes to the proposed configuration setting to overcome the predicted one or more potential vulnerabilities; and

generating and providing an alert to a user identifying the predicted one or more potential vulnerabilities, wherein the alert includes a section by section list of the plurality of sections, the respective set of potential vulnerabilities from the list of one or more potential vulnerabilities for each of the plurality of sections, and an indication to focus testing of the proposed configuration setting based on the predicted one or more potential vulnerabilities.

2. The method of claim 1 , further comprising:

training each of the first machine learning model and the second machine learning model with a plurality of system logs of the application protection systems, the plurality of system logs including data corresponding to one or more attacks.

3. The method of claim 1 , further comprising:

transmitting the alert to a secondary device of the user.

4. The method of claim 1 , further comprising:

testing the proposed configuration setting based on the predicted one or more potential vulnerabilities.

5. The method of claim 1 , wherein training each of the first machine learning model and the second machine learning model comprises training each of the first machine learning model and the second machine learning model to predict whether configuration data in a respective type of configuration file or a respective section of a configuration file is affected by a respective type of vulnerability of the plurality of known vulnerabilities.

6. The method of claim 5 , wherein applying each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting comprises:

applying a respective machine learning model correlated to the respective type of vulnerability to the proposed configuration setting, wherein the respective machine learning model is configured to receive a configuration file of the proposed configuration setting as an input and is configured to output a prediction of whether the configuration file or a section of the configuration file is affected by the respective type of vulnerability.

7. The method of claim 1 , further comprising:

based on generating the alert including the indication, automatically executing an instruction to run one or more tests for the predicted one or more potential vulnerabilities on the proposed configuration setting.

8. The method of claim 1 , further comprising:

receiving a request from the user to run one or more tests for the predicted one or more potential vulnerabilities in accordance with the indication included in the alert; and

based on the request, executing an instruction to run the one or more tests for the predicted one or more potential vulnerabilities on the proposed configuration setting.

9. A device comprising:

a memory; and

one or more processors in communication with the memory, the one or more processors configured to:

train a first machine learning model with a first plurality of configuration setting of application protection systems corresponding to a plurality of applications and a first plurality of known vulnerabilities corresponding to the first configuration setting;

train a second machine learning model with a second configuration setting of application protection systems corresponding to the plurality of applications and a second plurality of known vulnerabilities corresponding to the second configuration setting;

apply each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting;

wherein applying each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting comprises:

segmenting the proposed configuration setting into a plurality of sections;

applying each of the first machine learning model and the second-machine learning model to each section of the plurality of sections;

predicting, for each section of the plurality of sections, a respective set of potential vulnerabilities;

generating a list of the one or more potential vulnerabilities of the proposed configuration setting based on the respective set of potential vulnerabilities for each section of the plurality of sections of the proposed configuration setting;

identify one or more configuration changes to the proposed configuration setting to overcome the predicted one or more potential vulnerabilities; and

generate and provide an alert to a user identifying the predicted one or more potential vulnerabilities, wherein the alert includes a section by section list of the plurality of sections, the respective set of potential vulnerabilities from the list of one or more potential vulnerabilities for each of the plurality of sections, and an indication to focus testing of the proposed configuration setting based on the predicted one or more potential vulnerabilities.

10. The device of claim 9 , wherein the one or more processors are further configured to:

train each of the first machine learning model and the second machine learning model with a plurality of system logs of the application protection systems, the plurality of system logs including data corresponding to one or more attacks.

11. The device of claim 9 , wherein the one or more processors are further configured to:

transmit the alert from the device to a secondary device of the user.

12. The device of claim 9 , wherein the one or more processors are further configured to:

test the proposed configuration setting based on the predicted one or more potential vulnerabilities.

13. The device of claim 9 , wherein the one or more processors are further configured to:

train each of the first machine learning model and the second machine learning model to predict whether configuration data in a respective type of configuration file or a respective section of a configuration file is affected by a respective type of vulnerability of the plurality of known vulnerabilities.

14. The device of claim 13 , wherein the one or more processors are further configured to:

apply a respective machine learning model correlated to the respective type of vulnerability to the proposed configuration setting, wherein the respective machine learning model is configured to receive a configuration file of the proposed configuration setting as an input and is configured to output a prediction of whether the configuration file or a section of the configuration file is affected by the respective type of vulnerability.

15. A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause one or more processors of the computing system to:

train a first machine learning model with a first plurality of configuration settings of application protection systems corresponding to a plurality of applications and a first plurality of known vulnerabilities corresponding to the first configuration setting;

train a second machine learning model with a second configuration setting of application protection systems corresponding to the plurality of applications and a second plurality of known vulnerabilities corresponding to the second configuration setting;

apply the each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting;

wherein applying each of the first machine learning model and the second machine learning model to a proposed configuration setting to predict one or more potential vulnerabilities of the proposed configuration setting comprises:

segmenting the proposed configuration setting into a plurality of sections;

applying the each of the first machine learning model and the second machine learning model to each section of the plurality of sections;

predicting, for each section of the plurality of sections, a respective set of potential vulnerabilities;

generating a list of the one or more potential vulnerabilities of the proposed configuration setting based on the respective set of potential vulnerabilities for each section of the plurality of sections of the proposed configuration setting;

identify one or more configuration changes to the proposed configuration setting to overcome the predicted one or more potential vulnerabilities; and

generate and provide an alert to a user identifying the predicted one or more potential vulnerabilities, wherein the alert includes a section by section list of the plurality of sections, the respective set of potential vulnerabilities from the list of one or more potential vulnerabilities for each of the plurality of sections, an indication to focus testing of the proposed configuration setting based on the predicted one or more potential vulnerabilities.

16. The non-transitory computer-readable medium of claim 15 , further comprising instructions that, when executed by the computing system, cause the one or more processors of the computing system to:

train each of the first machine learning model and the second machine learning model with a plurality of system logs of the application protection systems, the plurality of system logs including data corresponding to one or more attacks.

17. The non-transitory computer-readable medium of claim 15 , further comprising instructions that, when executed by the computing system, cause the one or more processors of the computing system to:

transmit the alert from the computing system to a secondary computing device of the user.

Assignments (3)
REQUEST FOR ADDRESS CHANGE Recorded Dec 5, 2025
From: WELLS FARGO BANK, N.A.
To: WELLS FARGO BANK, N.A.
Reel/Frame 073894/0935 →
ADDRESS CHANGE Recorded Jun 2, 2025
From: WELLS FARGO BANK, N.A.
To: WELLS FARGO BANK, N.A.
Reel/Frame 071769/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2021
From: MCDONALD, MATTHEW THOMAS; LONG, JEREMY W.; MOON, MITCH; ADONU, ISAIAH
To: WELLS FARGO BANK, N.A.
Reel/Frame 054945/0896 →
Continuity (1)
Provisional Application 62972280 · Feb 10, 2020
Cited By (3)
US 12,401,680 US 12,603,915 US 12,675,581