IP Library Granted Patent US 11,042,645
Granted Patent B2
US 11,042,645 · App. 16/049,683 · Granted Jun 22, 2021

Auto-remediation workflow for computer security testing utilizing pre-existing security controls

Inventors: Harry Papaxenopoulos (Riverhead, NY); Eric Sheridan (Greensboro, NC)
Assignee: NTT SECURITY APPSEC SOLUTIONS INC.
G06F21/577G06F8/65G06F21/563G06F21/57G06F2221/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 11,042,645
App. No.
16/049,683
Granted
Jun 22, 2021
Kind
B2
Abstract

Techniques for performing auto-remediation on computer system vulnerabilities in source code utilizing local repositories are disclosed herein. An application source code representation is scanned to determine any security vulnerabilities and from those vulnerabilities, a set of security patch rules are generated that may be used to automatically remediate the vulnerabilities. One or more of the security patch rules is selected for verification and, once verified may be used to generate a security patch. The security patch may then be automatically applied to the source code representation to produce a patched representation of the application source code with the vulnerability at least partly remediated.

Claims (50)

1. A computer-implemented method, the method comprising:

receiving, at a server, results of a scan of application source code, wherein the scan of the application source code did not execute the application source code;

determining, from the results of the scan of the application source code, without executing the application source code, one or more vulnerabilities in the application source code;

in response to determining one or more vulnerabilities in the application source, determining a local rules repository exists;

in response to the local rules repository existing, accessing the local rules repository storing one or more security fix rules;

generating one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository;

verifying the one or more security patch rules;

selecting the verified security patch rule of the one or more security patch rules to generate a security patch to remediate the one or more vulnerabilities; and

applying the security patch to the application source code.

2. The computer-implemented method of claim 1 , wherein the one or more security fix rules created from one or more application programming interfaces for use in the application source code.

3. The computer-implemented method of claim 1 , further comprising:

in response to the local rules repository not existing, generating one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository.

4. The computer-implemented method of claim 1 , wherein the one or more security patch rules are generated in a review mode.

5. The computer-implemented method of claim 1 , further comprising: generating a modified application source code based on the one or more security patch rules.

6. The computer-implemented method of claim 1 , wherein the local rules repository includes a plurality of application programming interfaces that are at least partially and actively utilized in the application source code.

7. The computer-implemented method of claim 1 , wherein the local rules repository includes a plurality of libraries and classes that are at least partially and actively utilized in the application source code.

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

receive results of a scan of application source code, wherein the scan of the application did not execute the application source code;

determine, from the results of the scan of the application source code, without executing the application source code, for one or more vulnerabilities in the application source code;

in response to determining one or more vulnerabilities in the application source, determine a local rules repository exists;

in response to the local rules repository existing, access the local rules repository storing one or more security fix rules;

generate one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository;

verify the one or more security patch rules;

select the verified security patch rule of the one or more security patch rules to generate a security patch to remediate the one or more vulnerabilities; and

apply the security patch to the application source code.

9. The non-transitory computer-readable medium of claim 8 , wherein the one or more security fix rules created from one or more application programming interfaces for use in the application source code.

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

in response to the local rules repository not existing, generate one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository.

11. The non-transitory computer-readable medium of claim 8 , wherein the one or more security patch rules are generated in a review mode.

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

generating a modified application source code based on the one or more security patch rules.

13. The non-transitory computer-readable medium of claim 8 , wherein the local rules repository includes a plurality of application programming interfaces that are at least partially and actively utilized in the application source code.

14. The non-transitory computer-readable medium of claim 8 , wherein the local rules repository includes a plurality of libraries and classes that are at least partially and actively utilized in the application source code.

15. A server comprising:

a processor;

a memory storing instructions, which when executed by the processor, causes the processor to:

receive results of a scan of application source code, wherein the scan of the application did not execute the application source code;

determine, from the results of the scan of the application source code, without executing the application source code, one or more vulnerabilities in the application source code;

in response to determining one or more vulnerabilities in the application source, determine a local rules repository exists;

in response to the local rules repository existing, access the local rules repository storing one or more security fix rules;

generate one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository;

verify the one or more security patch rules;

select the verified security patch rule of the one or more security patch rules to generate a security patch to remediate the one or more vulnerabilities; and

apply the security patch to the application source code.

16. The server of claim 15 , wherein the one or more security fix rules created from one or more application programming interfaces for use in the application source code.

17. The server of claim 15 , comprising further instructions which when executed by the processor, causes the processor to:

in response to the local rules repository not existing, generate one or more security patch rules based at least in part on the one or more vulnerabilities and based at least in part on the one or more security fix rules stored at the local rules repository.

18. The server of claim 15 , wherein the one or more security patch rules are generated in a review mode.

19. The server of claim 15 , wherein the local rules repository includes a plurality of application programming interfaces that are at least partially and actively utilized in the application source code.

20. The server of claim 15 wherein the local rules repository includes a plurality of libraries and classes that are at least partially and actively utilized in the application source code.

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 May 14, 2021
From: WHITEHAT SECURITY, INC.
To: NTT SECURITY APPSEC SOLUTIONS INC.
Reel/Frame 056252/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: SHERIDAN, ERIC; PAPAXENOPOULOS, HARRY; MELTON, JOHN THOMAS
To: WHITEHAT SECURITY, INC.
Reel/Frame 046644/0320 →