攻击(防御)树的实现。

adtrees的Python项目详细描述


adtrees使用attack trees实现一些安全性定性和定量评估方法 以及attack-defense trees

该包打算与ADTool一起使用,但这不是必需的。

先决条件

利用lp_solve求解攻防树优化问题。有关lp_solve的安装,请参见Using lpsolve from Python。有关lp_solve的一般信息可以在here中找到。

对于adtrees的其余功能没有特殊的先决条件。

安装

pip install adtrees

示例

importadtreesasadt# initialize attack(-defense) tree from an output file 'tree.xml' produced by the ADToolT=adt.ADTree('tree.xml')# create a basic assignment of cost for the basic actions of the defender in Tba=adt.BasicAssignment()forbinT.basic_actions('d'):ba[b]=10# create an instance of the 'maximal coverage' optimization problemproblem=adt.ADTilp(T,costassignment=ba,budget=100,problem='coverage')# solve the problemproblem.solve()# the optimal set of countermeasures and some additional information is displayed

有关其他功能和更多详细信息,请参阅examples folder中的演练示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Microsoft Office Word或Excel文档中查找突出显示的文本   Java反射:获取方法返回参数的类型   java根据从字符串解析的日期对ArrayList<String>进行排序   不带IDE JSONObject的json JAVA   Selenium检查属性是否包含java中字符串的一部分   java Hibernate在使用@PostConstruct时找不到绑定到线程的会话   java频繁访问对象属性会带来成本吗?   java如何使用spring boot从json更新数据   Android Studio中的java适当边距布局   java spring引导无法在spring测试类中注入spring服务   java在插入排序中删除重复项   如何在JAVA中重写异常类方法   java Guava缓存内存泄漏   多线程处理三个必须并行执行的任务completableFuture,如果其中任何一个在java中引发异常,则全部取消