IP Library Granted Patent US 9,921,942
Granted Patent B1
US 9,921,942 · App. 14/921,403 · Granted Mar 20, 2018

Security validation of software delivered as a service

Inventors: Peter A. Makohon (Charlotte, NC); Ross Cavanaugh (Harrisburg, NC)
Assignee: Wells Fargo Bank, N.A.
G06F11/3612G06F17/30598G06F21/577H04L43/50G06F2221/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 9,921,942
App. No.
14/921,403
Granted
Mar 20, 2018
Kind
B1
Abstract

An electronic computing device obtains application source code to be tested. The application source code is automatically categorized into one or more hardware or software classifications. One or more tests are identified for the application source code based on the one or more hardware or software classifications. The one or more tests are run against the application source code. The one more tests are monitored as they are running. Based on results from the one or more tests, a test score representing a security risk of the application source code is automatically determined. A summary of the results from the one or more tests, including the test score, is visually displayed on the electronic computing device.

Claims (68)

1. An electronic computing device comprising:

a processing unit; and

system memory, the system memory including instructions which, when executed by the processing unit, cause the first electronic computing device to:

obtain application source code to be tested;

automatically categorize the application source code into one or more hardware or software classifications, comprising: identify a specific code platform for the application source code;

identify one or more tests for the application source code based on the one or more hardware or software classifications for running against the specific platform;

run the one or more tests against the application source code;

monitor the one more tests as they are running;

based on results from the one or more tests, automatically determine a test score representing a security risk of the application source code; and

visually display a summary of the results from the one or more tests, including the test score, on the electronic computing device.

2. The electronic computing device of claim 1 , wherein run the one or more tests against the application source code comprises:

monitor network traffic between the electronic computing device and a server computer; and

monitor network traffic between the electronic computing device and a client computer.

3. The electronic computing device of claim 1 , wherein the one or more tests comprises determining whether one or more files write data in one or more specific directories.

4. The electronic computing device of claim 1 , wherein the one or more tests comprises determining whether one or more specific modules are called during the running of the one or more tests.

5. The electronic computing device of claim 1 , wherein automatically categorize the application source code into one or more hardware or software classifications comprises:

automatically identify one or more software components being used on the application source code; and

identify one or more tests for running against the one or more software components.

6. The electronic computing device of claim 1 , wherein the application source code is categorized by mapping the application source code against a set of profiles of characteristics of other software applications that have been analyzed.

7. The electronic computing device of claim 1 , wherein the application source code includes one or more of client side code or server side code.

8. The electronic computing device of claim 1 , further comprising:

analyzing the test results; and

determining one or more additional tests to be run based on the test results.

9. The electronic computing device of claim 1 , further comprising:

monitor updates to the application source code; and

automatically initiate the one or more tests when an update to the application source code is detected.

10. The electronic computing device of claim 1 , wherein automatically determine a test score further comprises:

automatically classify the results from the one or more tests into a predetermined number of categories;

assign a numerical score to each result based on the category to which the result has been classified; and

calculate a cumulative score for the results.

11. The electronic computing device of claim 1 , wherein visually display the results from the one or more tests comprises:

display a graphic of one or more software components of the application source code; and

use a color for one or more of the software components to display a degree of risk for the one or more of the software components.

12. A method implemented on an electronic computing device for testing source code of a software application to identify security vulnerabilities in the software application, the method comprising:

on the electronic computing device, automatically categorizing the application source code into one or more categories of a plurality of available categories for classifying an architecture, a hardware or software platform, software components or an operating system of the application source code;

identifying one or more tests for the application source code based on the one category of the application source code;

running the one or more tests against the application source code on the hardware or software platform;

monitoring the one more tests as they are running;

based on results from the one or more tests, automatically determining a test score representing a security risk of the application source code;

visually displaying a summary of the results from the one or more tests, including the test score, on the electronic computing device; and

mapping one or more of the results of the one or more tests against a set of profiles, the profiles based on past results of running the one or more tests.

13. The method of claim 12 , wherein automatically, categorizing the application source code into one or more categories of a plurality of available categories comprises:

automatically identifying a specific platform for the application source code; and

identifying one or more tests for running against the specific platform.

14. The method of claim 13 , wherein the platform is one of Apple IOS or Android.

15. The method of claim 12 , wherein automatically, categorizing the application source code into one or more categories of a plurality of available categories comprises:

automatically identifying one or more software components being used on the application source code; and

identifying one or more tests for running against the one or more software components.

16. The method of claim 12 , wherein visually displaying the results from the one or more tests comprises:

displaying a graphic of one or more software modules of the test application code; and

using a color for one or more of the software modules to display a degree of risk for the one or more of the software modules.

17. The method of claim 12 , wherein visually displaying the results from the one or more tests comprises displaying a message or a graphic indicating a location in the application source code at which a security vulnerability is detected.

18. An electronic computing device comprising:

a processing unit; and

system memory, the system memory including instructions which, when executed by the processing unit, cause the electronic computing device to:

obtain application source code to be tested;

automatically categorize the application source code into one or more categories of a plurality of available categories for classifying the application source code, the categorization of the application source code into the one or more categories of the plurality of available categories comprising one or more of:

automatically identify a specific code platform for the application source code; and

automatically identify one or more software components being used on the application source code;

identify one or more tests for the application source code based on the one category of the application source code for running against the specific code platform;

run the one or more tests against the application source code, the running of the one or more tests against the application source code comprising:

test server application source code on the electronic computing device;

test client application source code on the electronic computing device;

monitor network traffic between the electronic computing device and a server computer; and

monitor network traffic between the electronic computing device and a client computer;

monitor the one more tests as they are running;

based on results from the one or more tests, automatically determine a test score representing a security risk of the application source code; and

visually display a summary of the results from the one or more tests, including the test score, on the electronic computing device.

Assignments (2)
STATEMENT OF CHANGE OF ADDRESS OF ASSIGNEE Recorded Jun 17, 2025
From: WELLS FARGO BANK, N.A.
To: WELLS FARGO BANK, N.A.
Reel/Frame 071658/0990 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: MAKOHON, PETER A.; CAVANAUGH, ROSS
To: WELLS FARGO BANK, N.A.
Reel/Frame 040311/0248 →