IP Library Granted Patent US 7,487,545
Granted Patent B2
US 7,487,545 · App. 10/870,540 · Granted Feb 3, 2009

Probabilistic mechanism to determine level of security for a software package

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 7,487,545
App. No.
10/870,540
Granted
Feb 3, 2009
Kind
B2
Abstract

A mechanism for determining a probabilistic security score for a software package is provided. The mechanism calculates a raw numerical score that is probabilistically linked to how many security vulnerabilities are present in the source code. The score may then be used to assign a security rating that can be used in either absolute form or comparative form. The mechanism uses a source code analysis tool to determine a number of critical vulnerabilities, a number of serious vulnerabilities, and a number of inconsequential vulnerabilities. The mechanism may then determine a score based on the numbers of vulnerabilities and the number of lines of code.

Claims (11)

1. A computer-implemented method for determining a level of security for a portion of software code, the method comprising:

determining a number of security vulnerabilities for the portion of software code by invoking one or more source code analysis tools;

receiving one or more output logs from the one or more source code analysis tools;

parsing the one or more output logs for a tag;

identifying each instance of the tag in the one or more output logs as a security vulnerability;

correlating the one or more output logs;

determining a weight for the security vulnerability identified based on at least one of a reputation of a source code analysis tool that reported it, a severity that the source code analysis tool reported, and a number of source code analysis tools that reported the security vulnerability;

determining, for each security vulnerability in the number of security vulnerabilities for the portion of software code, a vulnerability level, wherein the vulnerability level is one of critical, serious, and inconsequential;

determining a security level score for the portion of software code, wherein the security level score is probabilistically linked to the number of security vulnerabilities, wherein determining the security level score for the portion of software code includes weighting the each security vulnerability based on its corresponding vulnerability level and calculating the security level score using the following equation:

score=100−(100*((( h*hw )+( m*mw+l )/ loc ))[floor=0]

 where h is a number of vulnerabilities with a critical rating, hw is a weight for critical vulnerabilities, m is a number of vulnerabilities with a serious rating, mw is a weight for medium vulnerabilities, l is a number of vulnerabilities with a low or inconsequential rating, and loc is a number of lines of code in the portion of software code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2010
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TREND MICRO INCORPORATED
Reel/Frame 024286/0924 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2004
From: HALL, KYLENE JO; KIRKLAND, DUSTIN C.; RATLIFF, EMILY JANE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014857/0457 →