Implementation of attack(-defense) trees.
Project description
adtrees
implements some methods for qualitative and quantitative evaluation of security using attack trees
and attack-defense trees.
The package is intended to be used together with the ADTool, but this is not obligatory.
Prerequisites
Optimization problems on attack-defense trees are solved using lp_solve. For the installation of lp_solve, see Using lpsolve from Python. General information on lp_solve can be found here.
No special prerequisites for the remaining functionalities of adtrees
.
Installation
pip install adtrees
Example
import adtrees as adt
# initialize attack(-defense) tree from an output file 'tree.xml' produced by the ADTool
T = adt.ADTree('tree.xml')
# create a basic assignment of cost for the basic actions of the defender in T
ba = adt.BasicAssignment()
for b in T.basic_actions('d'):
ba[b] = 10
# create an instance of the 'maximal coverage' optimization problem
problem = adt.ADTilp(T, costassignment=ba, budget=100, problem='coverage')
# solve the problem
problem.solve()
# the optimal set of countermeasures and some additional information is displayed
For other functionalities and more details, refer to the walk-through examples in examples folder.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file adtrees-0.0.6.tar.gz
.
File metadata
- Download URL: adtrees-0.0.6.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a |
|
MD5 | 571f79847d0ba7d3b9e0d7130625d7f9 |
|
BLAKE2b-256 | 2d85e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e |
File details
Details for the file adtrees-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: adtrees-0.0.6-py3-none-any.whl
- Upload date:
- Size: 32.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e |
|
MD5 | 1283d661e891369ce69d12014efffc66 |
|
BLAKE2b-256 | adc06119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3 |