Skip to main content

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

adtrees-0.0.6.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

adtrees-0.0.6-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

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

Hashes for adtrees-0.0.6.tar.gz
Algorithm Hash digest
SHA256 364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a
MD5 571f79847d0ba7d3b9e0d7130625d7f9
BLAKE2b-256 2d85e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e

See more details on using hashes here.

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

Hashes for adtrees-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e
MD5 1283d661e891369ce69d12014efffc66
BLAKE2b-256 adc06119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page