Enterprise threat modeling
AssigneeMicrosoft Corporation
InventorsTalhah M. Mir, Anil Kumar Revuru, Shawn G. Veney
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
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.
Dependencies are inferred from the claim text.