标签:特征 模型 配置 漏洞 AMADEUS 测试 自动化 FM
原文
AMADEUS: Towards the AutoMAteD secUrity teSting
出版
- SPLC '20: Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A
- October 2020
- Article No.: 11
- Pages 1–12
- https://doi.org/10.1145/3382025.3414952
申明
版权归原文作者及出版单位所有,如有侵权请联系删除
摘要
系统的适当配置已经成为避免网络安全风险的基本因素。因此,网络安全漏洞的分析是一项强制性任务,但可能受到威胁的漏洞和系统配置的数量极高。本文提出了一种利用软件产品线技术分析系统易受攻击配置的方法。我们提出了一个名为AMADEUS的解决方案,以实现和支持基于特征模型的配置系统网络安全漏洞的自动分析和测试。
AMADEUS是一个整体解决方案,能够自动分析组织中的特定基础设施、现有漏洞以及从漏洞库中提取的可能配置。通过使用这些信息,AMADEUS能够自动生成特征模型,用于提取知识的推理能力,例如确定具有某些特征的攻击向量。AMADEUS通过展示特征模型支持威胁场景的能力得到了验证,其中涉及从真实存储库中提取的各种漏洞。此外,我们还为软件产品线工程和网络安全的新应用打开了大门。
文章贡献
- 定义和实现了用FMs管理漏洞配置的必要阶段
- 整合现有的分析工具,以便从系统中提取相关信息
- 集成了外部漏洞库、目录和数据库
- 废弃外部储存库以获得被分析系统的受影响的漏洞,并提取漏洞配置相关的信息
- 根据识别的漏洞以及漏洞的配置自动推断特征模型
- 对特征模型进行推理,以便生成用于安全性测试的攻击向量
- 在一个场景中进行了AMADEUS性能评估,分析了其服务和应用,该场景有至少20个漏洞以及上千种漏洞配置
系统架构
AMADEUS被用于发现和分析生态系统的IT资源中易受攻击的配置,其整体架构如下:
基础设施分析
AMADEUS是以分析一组系统或设备、找出他们的关键特征开始的。并且,为了收集和恢复组织中使用的配置信息,分为两大解决方案:主动和被动解决方案,如CMDB、Lynis、Nmap等工具。
提取漏洞
从前一个步骤中获得的或者是用户提供的报告中整理出一些术语,如:运行的服务、版本、活动端口。AMADEUS集成了NVD解决方案,通过一个scrapper来分析信息数据结构,并且保留特定的漏洞信息,如CVE-ID等。
获取漏洞配置信息
获取的漏洞会被用于提取相关的配置信息。这一阶段需要开始关注如下信息:是什么软件配置?是否与软件、硬件、应用程序、操作系统相关?存在此漏洞的版本?
特征模型生成和推理
AMADEUS试图推断或者构建一些可能会导致受到攻击的可能的配置的有效特征模型。这些特征模型可用于创建针对已知漏洞可能发生攻击的目录场景。
漏洞特征模型生成
特征模型组合了一组相关的特性及其依赖关系,并且设计了各种各样的符号,其中最广泛的是Czarnecki提出来的,描述了一组特征和他们之间的约束(关系)。
如下图是一个简易版的特征模型,其包含了CVE-2020-1933的58个CPE中的3个。
AMADEUS为每个CVE创建一个特征模型,并且包含了配置的每一个CPE信息。
并且上述的特征模型构建过程分为两步:
- 检索仅包含关于CPE集合内的每个(attribute, value)对的信息的不受限制的特征模型;
- 包括对前一特征模型的交叉树关系形式的限制,以使其等同于CPE,避免可能由不受限制的特征模型产生的可能配置。
从CPE中检索不受限制的特征模型
在SPLs中,著名的反向工程提供了根据一组配置生成FMs的机制。
创建特征模型(FM)的算法的思路主要有三个部分,如下:
- 为每个供应商创建一个子FM
- 为运行中的配置创建子FM
- 将这些子FM集成到单个FM树中
上述流程的图示如下:
对特征模型进行交叉树约束
具体的算法包含以下两个部分:
- 在同一产品的特征叶之间创建交叉树约束(在同一子FM的相关属性的值之间)
- 在产品的特征叶和运行配置的相关属性值和运行配置的子FM的根之间创建交叉树约束
特征模型推理
使用我们的特征模型主要可以应用于如下推理任务:
- 生成攻击向量
- 获取/检查一个特定的配置
- 获取具有某个优先级的攻击向量
标签:特征,模型,配置,漏洞,AMADEUS,测试,自动化,FM 来源: https://www.cnblogs.com/chaosliang/p/16539635.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。