IP Library Granted Patent US 7,891,003
Granted Patent B2
US 7,891,003 · App. 11/424,122 · Granted Feb 15, 2011

Enterprise threat modeling

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,891,003
App. No.
11/424,122
Granted
Feb 15, 2011
Kind
B2
Abstract

A threat modeling application generates threats to a business application. The threat modeling application receives user input associated with business application data. The input may be received through an interface provided by the threat modeling application. Threats are automatically generated from the received data and an attack library. The attack library includes information regarding attacks and related countermeasures. By automatically generating threats based on business application information, the threat modeling application can generate security threats consistently and objectively.

Claims (56)

1. A method for generating a threat model for a software application, comprising:

receiving application modeling data in a user interface, the application modeling data defines a software application that includes components and one or more calls, a call identifies a caller, first data affected by the call, an action taken by the caller with respect to the first data, and at least one of the components affected by the action of the caller;

providing, in the user interface, a list of pre-defined attributes that are relevant to threats;

receiving a selection of at least one of the pre-defined attributes, the selection associating the selected pre-defined attribute with a first component of the components;

determining allowable actions based on the definitions of the calls in the application modeling data;

automatically generating threat information based on the application modeling data, the allowed actions, the selected at least one pre-defined attribute, and an attack library, the attack library includes attacks that are associated with the pre-defined attributes, the automatically generating threat information includes identifying attacks in the attack library that are associated with the selected pre-defined attribute; and

providing, in the user interface, countermeasures associated with the threat information.

2. The method of claim 1 , wherein said step of providing countermeasures includes:

identifying one or more of the components associated with a first of the calls; and

identifying one or more threats associated with the identified components.

3. The method of claim 2 , wherein said step of providing countermeasures includes:

identifying one or more countermeasures associated with a first of the attacks that are associated with the selected pre-defined attribute; and

associating the identified one or more countermeasures with the one or more threats.

4. The method of claim 1 , further comprising:

generating reports associated with a threat model by a threat modeling application.

5. The method of claim 1 , further comprising:

saving threat model data to a threat model file.

6. The method of claim 1 , further comprising determining un-allowable actions based on the allowable actions, wherein the determining un-allowable actions includes:

determining an unauthorized disclosure that is a variation of one of the allowed actions.

7. The method of claim 1 , further comprising determining un-allowable actions based on the allowable actions, wherein the determining un-allowable actions includes:

determining an illegal execution that is a variation of one of the allowed actions.

8. The method of claim 1 , further comprising determining un-allowable actions based on the allowable actions, wherein the determining un-allowable actions includes:

determining an ineffective execution that is a variation of one of the allowed actions.

9. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:

receiving application modeling data in a user interface, the application modeling data defines a business application including one or more business application components, and one or more use cases, a use case includes a list of business application calls, a business application call in a given one of the use cases identifies a caller, first data affected by the call, an action taken by the caller with respect to the first data, and at least one of the components affected by the action of the caller;

converting, by a threat modeling application, the list of business application calls for each use case into allowed actions of the callers with respect to the first data and the components for the use case;

automatically generating threat information derived from the allowed actions of the callers and an attack library, the automatically generating threat information includes generating one or more threats for each call in each use case; and

generating a threat model associated with the business application.

10. One or more processor readable storage devices according to claim 9 , wherein said step of generating a threat model includes:

receiving input associated with prioritizing a generated threat.

11. One or more processor readable storage devices according to claim 10 , wherein said step of prioritizing includes:

prioritizing the impact or probability associated with the generated threat.

12. One or more processor readable storage devices according to claim 9 , wherein said step of generating a threat model includes:

determining that a risk associated with a selected threat should be reduced; and

providing countermeasures to the selected threat.

13. One or more processor readable storage devices according to claim 9 , further comprising:

determining un-allowable actions based on the allowed actions, wherein the determining un-allowable actions includes determining an unauthorized disclosure that is a variation of one of the allowed actions.

14. One or more processor readable storage devices according to claim 9 , further comprising:

determining un-allowable actions based on the allowed actions, wherein the determining un-allowable actions includes determining an illegal execution that is a variation of one of the allowed actions.

15. One or more processor readable storage devices according to claim 9 , further comprising:

determining un-allowable actions based on the allowed actions, wherein the determining un-allowable actions includes determining an ineffective execution that is a variation of one of the allowed actions.

16. An apparatus for processing data, comprising:

a communication interface;

a storage device; and

one or more processors in communication with said storage device and said communication interface, said one or more processors perform a method comprising,

comparing application modeling data to an attack library, the application modeling data defines a business application, the definition including one or more business application components, one or more use cases, a use case includes a list of business application calls, a business application call in a given one of the use cases identifies a caller, first data affected by the call, an action taken by the caller with respect to the first data, and at least one of the components affected by the action of the caller, the comparing includes determining allowable actions based on the definitions of the business application calls in each of the use cases;

automatically identifying attacks and threats associated with the business application based on said step of comparing, the automatically identifying attacks and threats includes determining unallowable actions based on the allowable actions, and

generating a threat model associated with the business application, the threat model incorporating the attacks and threats.

17. The apparatus of claim 16 , wherein said step of comparing includes:

identifying attacks in the attack library having an attribute value that matches a corresponding attribute value in a portion of the application data.

18. The apparatus of claim 16 , wherein said step of generating a threat model includes:

identifying one or more countermeasures associated with an attack; and

associating the countermeasures with the identified threats.

19. The apparatus of claim 16 , further comprising:

providing an interface for viewing the threat model.

20. The apparatus of claim 16 , further comprising receiving the application modeling data in a user interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2006
From: MIR, TALHAH M.; REVURU, ANIL KUMAR; VENEY, SHAWN G.
To: MICROSOFT CORPORATION
Reel/Frame 017852/0689 →