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. 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 introduces 3 new tools for calculating min time. First, we show that static attack trees can be handled by a fast bottom-up algorithm. Second, we introduce a novel method for general dynamic attack trees based on mixed integer linear programming. Third, 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. Experiments on a generated testing set of large attack trees verify that these methods have a large impact on performance.
翻译:攻击树是安全分析的一个重要工具, 攻击树分析的一个重要部分是计算量度。 本文以动态攻击树及其分钟时间量度为重点。 对于一般攻击树来说, 计算分钟有效是一个开放的问题, 目前最快的方法是用NP- hard 来计算所有最小攻击。 本文引入了 3 个计算分钟数的新工具 。 首先, 我们显示静攻击树可以用快速的自下而上算法处理 。 其次, 我们引入了一个基于混合整数线性编程的一般攻击树的新方法 。 第三, 我们展示了如何通过识别攻击树的模块来加速计算, 即仅通过一个节点来计算与攻击树其余部分相连的亚树 。 对大型攻击树的生成测试实验证实这些方法对性能有重大影响 。