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.
Release files for adtrees 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adtrees-0.0.6.tar.gz | 27.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adtrees-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.4 kB
Release files / adtrees-0.0.6.tar.gz
| Download URL | adtrees-0.0.6.tar.gz |
|---|---|
| Size | 27.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a
|
|
BLAKE2b-256 checksum How to use checksums |
2d85e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / adtrees-0.0.6-py3-none-any.whl
| Download URL | adtrees-0.0.6-py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e
|
|
BLAKE2b-256 checksum How to use checksums |
adc06119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|