/ main /
We are working on improvement of our software tools and their availability for wide audience. However, building of ontology-driven threat models is a bit tedious at the moment. We hope to enhance the usability on our own (also we welcome any initiative of creation tools for the ontology-driven threat modeling).
You can download the OWASP Threat Dragon desktop application from Github. There is its documentation. Instead of usage Dragon's built-in threat rule engine, we use here our one, called OdTMServer, as a part of the ontology-driven threat modeling framework.
You need a git client, java & maven.
- Clone the OdTM git repository, go to the 'applications/OdTMServer' folder and compile it:
mvn compile
- Prepare a properties file for every diagram (use the 'server_acctp.properties' file in the OdTMServer folder as an example):
BASEMODEL: ../../OdTMBaseThreatModel.owl
MODELS: ../../../SPCatalogMaker/schema/SecurityPatternCatalogNaiveSchema.owl, ../../../SPCatalogMaker/catalogs/acctp/catalog/common.owl, ../../../SPCatalogMaker/catalogs/acctp/catalog/ACCTPCatalog.owl, ../../OdTMACCTP.owl
DOMAINMODELIRI: http://www.grsu.by/net/OdTMACCTP
CLASSMODELIRI: http://www.grsu.by/net/ACCTP/common
TDFILE: cases/tdexample_acctp.json
TDOUT: cases/tdexample_acctp_modelled.json
The 'TDFILE' property describes a source JSON file, created by Threat Dragon, and 'TDOUT' points to a target JSON file with the ontological threat model.
For the cloud modeling you need files of several ontologies:
OdTMBaseThreatModel.owl - the base threat model (the 'BASEMODEL' property)
Other are items of the 'MODELS' property:
SecurityPatternCatalogNaiveSchema.owl - the SP schema;
common.owl - the ACCTP common (class) model;
ACCTPCatalog.owl - the ACCTP target model;
OdTMACCTP.owl - the ACCTP domain specific threat model.
- Run a particular modeling with a command like:
mvn -e exec:java -q -Dexec.mainClass="ab.run.consoleApplication" -Dexec.args="server_acctp.properties"
where the last item is the properties file.
- Use Threat Dragon to create a diagram, like this:
To enable cloud related threats, you should mark items by the labels from the ACCTP common model with the 'Description' field (the 'webapp' item belongs to the 'CloudApplication' class in the picture, and user is labeled as 'class#RemoteUser', service has the 'class#ExternalService' label).
Current list of the labels includes:
class#CloudApplication
class#CloudInfrastructure
class#ComplianceManager
class#ExternalService
class#PaaSApplication
class#PrivacyManager
class#RemoteUser
class#SaaSApplication
class#VirtualMachine
-
Use Dragon's saved JSON file as a source ('TDFILE') of the OdTMServer console application to get a target JSON file ('TDOUT').
-
Load the target JSON to Threat Dragon:
Now you can work with threats (apply mitigations, define severity or delete a threat).
/ main /