IP Library › Granted Patent US 10,592,405
Granted Patent B2
US 10,592,405 · App. 15/723,905 · Granted Mar 17, 2020

Visualization of vulnerabilities detected by static application testing

Inventors: Kristofer A. Duer (Manchester, NH); John T. Peyton (Arlington, MA); Stephen D. Teilhet (Milford, NH); Lin Tan (Waterloo, CA); Jinqiu Yang (Waterloo, CA)
Assignee: International Business Machines Corporation
G06F11/3692G06F11/3688G06F21/577G06F2221/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 10,592,405
App. No.
15/723,905
Granted
Mar 17, 2020
Kind
B2
Abstract

Vulnerability testing of applications may include one or more of identifying a number of paths from a software application being tested, identifying a number of nodes associated with the paths, determining one or more of the paths which share one or more of the nodes, designating the paths which share the nodes as overlapping paths, and displaying the overlapping paths and the shared nodes as an interactive visualization to identify to identify optimal locations to fix one or more vulnerability findings.

Claims (44)

1. A method comprising:

testing, via a device, a software application while the application is being executed;

identifying, via the device, paths of traces of vulnerabilities found in the software application while the software application is being tested;

identifying, via the device, nodes located on the paths;

determining, via the device, that at least two vulnerability findings have overlapping paths in response to traces of the at least two vulnerability findings sharing one or more nodes; and

displaying, via a display, the overlapping paths of the traces of the at least two vulnerability findings as an interactive visualization to identify optimal locations to fix one or more vulnerability findings.

2. The method of claim 1 , wherein each trace is associated with a corresponding potential vulnerability finding.

3. The method of claim 1 , wherein displaying the overlapping paths comprises displaying a bipartite graph with a cluster of the overlapping paths, and wherein the cluster comprises a plurality of vulnerability findings each sharing a same fix location.

4. The method of claim 3 , further comprising:

identifying a fix location that is shared by two or more clusters; and

identifying a collision occurrence in the interactive visualization at the fix location.

5. The method of claim 1 , wherein the bipartite graph comprises only nodes which are shared by the at least two vulnerability findings.

6. The method of claim 1 , wherein each node includes a vulnerability finding type node or a trace type node.

7. The method of claim 1 , further comprising:

performing one or more of removing, nullifying, and modifying the optimal locations to fix the one or more vulnerability findings.

8. An apparatus, comprising:

a processor configured to:

test a software application while the application is being executed;

identify paths of traces of vulnerabilities found in the software application while the software application is being tested;

identify nodes located on the paths; and

determine that at least two vulnerability findings have overlapping paths in response to traces of the at least two vulnerability findings sharing one or more nodes; and

a display configured to display the overlapping paths of the traces of the at least two vulnerability findings as an interactive visualization to identify optimal locations to fix one or more vulnerability findings.

9. The apparatus of claim 8 , wherein each trace is associated with a corresponding potential vulnerability finding.

10. The apparatus of claim 8 , wherein displaying the overlapping paths comprises displaying a bipartite graph with a cluster of the overlapping paths.

11. The apparatus of claim 8 , wherein the bipartite graph comprises only nodes which are shared by the at least two vulnerability findings.

12. The apparatus of claim 11 , wherein the processor is further configured to:

identify a fix location that is shared by two or more clusters; and

identify a collision occurrence in the interactive visualization at the fix location.

13. The apparatus of claim 8 , wherein each node includes a vulnerability finding type node or a trace type node.

14. The apparatus of claim 8 , wherein the processor is further configured to perform one or more of removing, nullifying, and modifying the optimal locations to fix the one or more vulnerability findings.

15. A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:

testing, via a device, a software application while the application is being executed;

identifying, via the device, paths of traces of vulnerabilities found in the software application while the software application is being tested

identifying nodes located on the paths;

determining that at least two vulnerability findings have overlapping paths in response to traces of the at least two vulnerability findings sharing one or more nodes;

displaying the overlapping paths of the traces of the at least two vulnerability findings as an interactive visualization to identify optimal locations to fix one or more vulnerability findings.

16. The non-transitory computer readable storage medium of claim 15 , wherein each is associated with a corresponding potential vulnerability finding.

17. The non-transitory computer readable storage medium of claim 15 , wherein displaying the overlapping paths comprises displaying a bipartite graph with a cluster of the overlapping paths.

18. The non-transitory computer readable storage medium of claim 17 , wherein the processor is further configured to perform:

identifying a fix location that is shared by two or more clusters; and

identifying a collision occurrence in the interactive visualization at the fix location, wherein each node includes a vulnerability finding type node or a trace type node.

19. The non-transitory computer readable storage medium of claim 15 , wherein the bipartite graph comprises only nodes which are shared by the at least two vulnerability findings.

20. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

performing one or more of removing, nullifying, and modifying the optimal locations to fix the one or more vulnerability findings.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2017
From: DUER, KRISTOFER A.; PEYTON, JOHN T.; TEILHET, STEPHEN D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043770/0442 →
Continuity (1)
Related Publication 20190102286A1 · Apr 4, 2019
Cited By (1)
US 12,554,859