IP Library Granted Patent US 11,403,392
Granted Patent B2
US 11,403,392 · App. 16/734,482 · Granted Aug 2, 2022

Security handling during application code branching

Inventors: Mukundan Sundararajan (Bangalore, IN); Priti Srikrishnan (Bangalore, IN); Jignesh K. Karia (Thane, IN)
Assignee: International Business Machines Corporation
G06F21/54G06F8/73G06F21/125G06F21/14G06F21/562
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,403,392
App. No.
16/734,482
Granted
Aug 2, 2022
Kind
B2
Abstract

Aspects of the present invention provide an approach for security handling of application code branching from requirements elicitation through the software development lifecycle (SDLC) to deployment and operation. In an embodiment, a set of security rules is collected related to a defined security policy (e.g., of an organization). During a requirements elicitation phase, any code branches which go outside of its current execution space are dynamically identified using natural language techniques. A potential gap is reported in a generated gap document when an identified code branch is not consistent with the set of security rules.

Claims (41)

1. A method for security handling of application code branching, comprising:

collecting a set of security rules related to a defined security policy;

applying the set of security rules to an application having a plurality of code branches;

dynamically identifying, during an elicitation of requirements phase, a code branch, within an instruction order of the application, which executes outside of its current execution space, wherein the identifying includes using natural language processing on a set of documents related to the application;

generating, when a return from the code branch is inconsistent with the set of security rules, representing a potential security gap, a gap document including the potential security gap;

inserting customized programming that addresses the potential security gap into a security hook; and

connecting the application to the security hook when the return from the code branch is inconsistent with the set of security rules.

2. The method of claim 1 , wherein the return from the code branch is selected from a group consisting of a security hook, a safe position, and an endpoint.

3. The method of claim 1 , wherein the set of documents is selected from the group consisting of business requirements, architecture design documentation, and pseudo code.

4. The method of claim 1 , further comprising generating the gap document after an execution of the application.

5. The method of claim 1 , further comprising terminating an execution of the application when the return from the code branch is inconsistent with the set of security rules.

6. The method of claim 1 , wherein the defined security policy represents a security posture of an organization.

7. The method of claim 1 , wherein the security hook is in an intermediate layer between the application and an operating system layer.

8. A computer program product embodied in a computer readable storage medium that, when executed by a computer device, performs a method for security handling of application code branching, the method comprising:

collecting a set of security rules related to a defined security policy;

applying the set of security rules to an application having a plurality of code branches;

dynamically identifying, during an elicitation of requirements phase, a code branch, within an instruction order of the application, which executes outside of its current execution space, wherein the identifying includes using natural language processing on a set of documents related to the application;

generating, when a return from the code branch is inconsistent with the set of security rules, representing a potential security gap, a gap document including the potential security gap;

inserting customized programming that addresses the potential security gap into a security hook; and

connecting the application to the security hook when the return from the code branch is inconsistent with the set of security rules.

9. The computer program product of claim 8 , wherein the return from the code branch is selected from a group consisting of a security hook, a safe position, and an endpoint.

10. The computer program product of claim 8 , wherein the set of documents is selected from the group consisting of business requirements, architecture design documentation, and pseudo code.

11. The computer program product of claim 8 , further comprising generating the gap document after an execution of the application.

12. The computer program product of claim 8 , further comprising terminating an execution of the application when the return from the code branch is inconsistent with the set of security rules.

13. The computer program product of claim 8 , wherein the defined security policy represents a security posture of an organization.

14. The computer program product of claim 8 , wherein the security hook is in an intermediate layer between the application and an operating system layer.

15. A computer system for security handling of application code branching, the computer system comprising:

a memory medium comprising program instructions;

a bus coupled to the memory medium; and

a processor for executing the program instructions, the instructions causing the system to:

collect a set of security rules related to a defined security policy;

apply the set of security rules to an application having a plurality of code branches;

dynamically identify, during an elicitation of requirements phase, a code branch, within an instruction order of the application, which executes outside of its current execution space, wherein the identifying includes using natural language processing on a set of documents related to the application;

generate, when a return from the code branch is inconsistent with the set of security rules, representing a potential security gap, a gap document including the potential security gap;

inserting customized programming that addresses the potential security gap into a security hook; and

connecting the application to the security hook when the return from the code branch is inconsistent with the set of security rules.

16. The computer system of claim 15 , wherein the return from the code branch is selected from a group consisting of a security hook, a safe position, and an endpoint.

17. The computer system of claim 15 , wherein the set of documents is selected from the group consisting of business requirements, architecture design documentation, and pseudo code.

18. The computer system of claim 15 , the instructions causing the system to generate the gap document after an execution of the application.

19. The computer system of claim 15 , the instructions causing the system to terminate an execution of the application when the return from the code branch is inconsistent with the set of security rules.

20. The computer system of claim 15 , wherein the defined security policy represents a security posture of an organization.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S FIRST NAME PREVIOUSLY RECORDED ON REEL 051419 FRAME 0593. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 3, 2020
From: SUNDARARAJAN, MAKUNDAN; SRIKRISHNAN, PRITI; KARIA, JIGNESH K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051777/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2020
From: SUNDARARAJAN, MUKUNDAN; SRIKRISHNAN, PRITI; KARIA, JINGNESH K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051419/0593 →
Continuity (1)
Related Publication 20210209226A1 · Jul 8, 2021