AMADEUS: Towards the AutoMAteD secUrity teSting
版权归原文作者及出版单位所有,如有侵权请联系删除
系统的适当配置已经成为避免网络安全风险的基本因素。因此,网络安全漏洞的分析是一项强制性任务,但可能受到威胁的漏洞和系统配置的数量极高。本文提出了一种利用软件产品线技术分析系统易受攻击配置的方法。我们提出了一个名为AMADEUS的解决方案,以实现和支持基于特征模型的配置系统网络安全漏洞的自动分析和测试。
AMADEUS是一个整体解决方案,能够自动分析组织中的特定基础设施、现有漏洞以及从漏洞库中提取的可能配置。通过使用这些信息,AMADEUS能够自动生成特征模型,用于提取知识的推理能力,例如确定具有某些特征的攻击向量。AMADEUS通过展示特征模型支持威胁场景的能力得到了验证,其中涉及从真实存储库中提取的各种漏洞。此外,我们还为软件产品线工程和网络安全的新应用打开了大门。
AMADEUS被用于发现和分析生态系统的IT资源中易受攻击的配置,其整体架构如下:
AMADEUS是以分析一组系统或设备、找出他们的关键特征开始的。并且,为了收集和恢复组织中使用的配置信息,分为两大解决方案:主动和被动解决方案,如CMDB、Lynis、Nmap等工具。
从前一个步骤中获得的或者是用户提供的报告中整理出一些术语,如:运行的服务、版本、活动端口。AMADEUS集成了NVD解决方案,通过一个scrapper来分析信息数据结构,并且保留特定的漏洞信息,如CVE-ID等。
获取的漏洞会被用于提取相关的配置信息。这一阶段需要开始关注如下信息:是什么软件配置?是否与软件、硬件、应用程序、操作系统相关?存在此漏洞的版本?
AMADEUS试图推断或者构建一些可能会导致受到攻击的可能的配置的有效特征模型。这些特征模型可用于创建针对已知漏洞可能发生攻击的目录场景。
特征模型组合了一组相关的特性及其依赖关系,并且设计了各种各样的符号,其中最广泛的是Czarnecki提出来的,描述了一组特征和他们之间的约束(关系)。
如下图是一个简易版的特征模型,其包含了CVE-2020-1933的58个CPE中的3个。
AMADEUS为每个CVE创建一个特征模型,并且包含了配置的每一个CPE信息。
并且上述的特征模型构建过程分为两步:
在SPLs中,著名的反向工程提供了根据一组配置生成FMs的机制。
创建特征模型(FM)的算法的思路主要有三个部分,如下:
具体的算法包含以下两个部分:
使用我们的特征模型主要可以应用于如下推理任务: