论文标题
可伸缩边缘阻止算法,用于防御活动目录样式攻击图
Scalable Edge Blocking Algorithms for Defending Active Directory Style Attack Graphs
论文作者
论文摘要
Active Directory(AD)是Windows域网络的默认安全管理系统。广告环境自然描述了一个攻击图,其中节点代表计算机/帐户/安全组,而边缘表示现有的访问/已知漏洞,允许攻击者从一个节点访问另一个节点。在实用的广告用例中,我们研究了一个攻击者和一名防守者之间的stackelberg游戏。攻击者有多个输入节点可供选择,并且有一个目标(域管理员)。每个边缘都有故障率。攻击者以最大成功率选择了攻击路径。防守者可以从一组可阻止的边缘中阻止有限数量的边缘(即撤销访问权限),受预算限制。辩护人的目的是最大程度地降低攻击者的成功率。 我们利用实用广告图的树类似于设计可扩展算法。我们提出了两种结合理论固定参数分析和实际优化技术的新方法。 对于具有小树宽度的图形,我们建议基于树分解的动态程序。然后,我们提出了一种将基于树分解的动态程序转换为增强学习环境的通用方法,这会导致任何时间缩放更好的算法,但却失去了最佳保证。 对于具有少量非分类路径的图(我们专门针对AD图发明的参数),我们提出了一种构元化技术,该技术大大降低了模型,然后通过混合组合编程来求解。 在实验上,我们的算法尺度以处理具有数万个节点的合成AD图。
Active Directory (AD) is the default security management system for Windows domain networks. An AD environment naturally describes an attack graph where nodes represent computers/accounts/security groups, and edges represent existing accesses/known exploits that allow the attacker to gain access from one node to another. Motivated by practical AD use cases, we study a Stackelberg game between one attacker and one defender. There are multiple entry nodes for the attacker to choose from and there is a single target (Domain Admin). Every edge has a failure rate. The attacker chooses the attack path with the maximum success rate. The defender can block a limited number of edges (i.e., revoke accesses) from a set of blockable edges, limited by budget. The defender's aim is to minimize the attacker's success rate. We exploit the tree-likeness of practical AD graphs to design scalable algorithms. We propose two novel methods that combine theoretical fixed parameter analysis and practical optimisation techniques. For graphs with small tree widths, we propose a tree decomposition based dynamic program. We then propose a general method for converting tree decomposition based dynamic programs to reinforcement learning environments, which leads to an anytime algorithm that scales better, but loses the optimality guarantee. For graphs with small numbers of non-splitting paths (a parameter we invent specifically for AD graphs), we propose a kernelization technique that significantly downsizes the model, which is then solved via mixed-integer programming. Experimentally, our algorithms scale to handle synthetic AD graphs with tens of thousands of nodes.