Attack trees are an important tool in security analysis, and an important part of attack tree analysis is computing metrics. This paper focuses on dynamic attack trees and their min time metric, i.e. the minimal time to attack a system. For general attack trees, calculating min time efficiently is an open problem, with the fastest current method being enumerating all minimal attacks, which is NP-hard. This paper presents three tools for calculating min time. First, we introduce a novel method for general dynamic attack trees based on mixed integer linear programming. Second, we show how the computation can be sped up by identifying the modules of an attack tree, i.e. subtrees connected to the rest of the attack tree via only one node. Finally, we define a general semantics for dynamic attack trees that significantly relaxes the restrictions on attack trees compared to earlier work, allowing us to apply our methods to a wide variety of attack trees. Experiments on both a case study of a server cluster and a synthetic testing set of large attack trees verify that both the integer linear programming approach and modular analysis considerably decrease the computation time of attack time analysis.
翻译:攻击树是安全分析的一个重要工具,攻击树分析的一个重要部分是计算量度。 本文侧重于动态攻击树及其分钟时间测量, 即攻击系统最短的时间。 对于一般攻击树来说, 计算分钟效率是一个开放的问题, 目前最快的方法是罗列所有最小攻击, 也就是NP- 硬的。 本文介绍了三个计算分钟时间的工具。 首先, 我们根据混合整数线性编程为一般攻击树引入了一种新的方法。 第二, 我们展示了如何通过识别攻击树的模块来加快计算速度, 即只通过一个节点来识别与攻击树其余部分相连的亚树。 最后, 我们定义了动态攻击树的一般语义, 与先前的工作相比, 大大放松了对攻击树的限制, 使我们能够将我们的方法应用于范围广泛的攻击树。 实验了服务器集群的案例研究和大型攻击树的合成测试组, 检验了整数线性编程方法和模块分析都大大缩短了攻击时间分析的计算时间 。</s>