IP Library Granted Patent US 8,539,593
Granted Patent B2
US 8,539,593 · App. 12/358,580 · Granted Sep 17, 2013

Extraction of code level security specification

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 8,539,593
App. No.
12/358,580
Granted
Sep 17, 2013
Kind
B2
Abstract

A method comprising, receiving a source code, identifying a data structure access in the source code, determining whether the data structure access is associated with a security check function, defining the data structure access as a security sensitive operation responsive to determining that the data structure access is associated with the security check function, and defining a security specification to include the security check function and the security sensitive operation.

Claims (29)

1. A method comprising:

receiving with a processor a source code;

identifying with the processor a data structure access in the source code, wherein the data structure access (Access i ) is defined as AST:=type name(- >field)*| global variable; wherein, AST is an Abstract Syntax Tree;

determining whether the data structure access is associated with a security check function;

defining the data structure access as a security sensitive operation responsive to determining that the data structure access is associated with the security check function; and

defining a security specification to include the security check function and the security sensitive operation,

wherein the determining whether the data structure access is associated with a security check function is defined by the function: ∀InstanceOf(Op i ) u , ∃InstanceOf(Check i ) v , such that InstanceOf(Op i ) v < protected InstancOf(Check i ) v =>Op i < protected Check i , wherein Op i is the security sensitive operation and Check n is the security check function.

2. The method of claim 1 , wherein the security check function (Check n ) is operative to deny a requested data structure access to an unauthorized requestor.

3. The method of claim 1 , wherein the method further comprises outputting the security specification to a display for analysis by a user.

4. The method of claim 1 , wherein the method further comprises:

identifying an instance of the security sensitive operation in the source code;

determining whether the instance of the security sensitive operation is paired with the associated security check function; and

outputting a notification identifying the instance of the security sensitive operation responsive to determining that the instance of the security sensitive operation is not paired with the associated security check function.

5. The method of claim 1 , wherein the method further comprises:

identifying an instance of the security sensitive operation in the source code;

determining whether the instance of the security sensitive operation is paired with the associated security check function; and

determining whether the instance of the security sensitive operation is performed by an untrusted entity;

outputting a notification identifying the instance of the security sensitive operation responsive to determining that the instance of the security sensitive operation is not paired with the associated security check function and is performed by an untrusted entity.

6. A system comprising: a hardware processor operative to receive a source code, identify a data structure access in the source code, wherein the data structure access (Access i ) is defined as AST :=type name(->field) * | global variable; wherein, AST is an Abstract Syntax Tree, determine whether the data structure access is associated with a security check function, define the data structure access as a security sensitive operation responsive to determining that the data structure access is associated with the security check function, and define a security specification to include the security check function and the security sensitive operation,

wherein the determining whether the data structure access is associated with a security check function is defined by the function: ∀InstanceOf(Op i ) u , ∃InstanceOf(Check i ) v , such that InstanceOf(Op i ) v < protected InstanceOf(Check i ) v =>Op i < protected Check i , wherein Op i is the security sensitive operation and Check n is the security check function.

7. The system of claim 6 , wherein the security check function (Check n ) is operative to deny a requested data structure access to an unauthorized requestor.

8. The system of claim 6 , wherein the method further comprises outputting the security specification to a display for analysis by a user.

9. The system of claim 6 , wherein the hardware processor is further operative to identify an instance of the security sensitive operation in the source code, determine whether the instance of the security sensitive operation is paired with the associated security check function, and output a notification identifying the instance of the security sensitive operation responsive to determining that the instance of the security sensitive operation is not paired with the associated security check function.

10. The system of claim 6 , wherein the hardware processor is further operative to identify an instance of the security sensitive operation in the source code, determine whether the instance of the security sensitive operation is paired with the associated security check function, and determine whether the instance of the security sensitive operation is performed by an untrusted entity, output a notification identifying the instance of the security sensitive operation responsive to determining that the instance of the security sensitive operation is not paired with the associated security check function and is performed by an untrusted entity.

11. A non-transitory computer readable medium including: instruction to receive a source code, identify a data structure access in the source code, wherein the data structure access (Access i ) is defined as AST:=type_name(−>field)*| global variable; wherein, AST is an Abstract Syntax Tree, determine whether the data structure access is associated with a security check function, define the data structure access as a security sensitive operation responsive to determining that the data structure access is associated with the security check function, and define a security specification to include the security check function and the security sensitive operation,

wherein the determining whether the data structure access is associated with a security check function is defined by the function: ∀InstanceOf(Op i ) u , ∃InstanceOf(Check i ) v , such that InstanceOf(Op i ) v < protected InstanceOf(Check i ) v =>Op i < protected Check i , wherein Op i is the security sensitive operation and Check n is the security check function.

12. The computer readable medium of claim 11 , wherein the security check function (Check n ) is operative to deny a requested data structure access to an unauthorized requestor.

13. The computer readable medium of claim 11 , wherein the instruction further comprises outputting the security specification to a display for analysis by a user.

14. The computer readable medium of claim 11 , wherein the instruction further comprise, identify an instance of the security sensitive operation in the source code, determine whether the instance of the security sensitive operation is paired with the associated security check function, and output a notification identifying the instance of the security sensitive operation responsive to determining that the instance of the security sensitive operation is not paired with the associated security check function.

Assignments (1)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Nov 8, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044413/0144 →