现代社会在生活的几乎所有方面都越来越依赖计算机系统,而这些系统的安全已经成为一个紧迫的问题。迄今为止,由几个相互关联的网络安全建模研究项目组成的研究计划包括:对Petri网的形式进行定义,并对网络攻击建模的具体功能进行扩展;从攻击模式数据库中自动生成可执行的网络攻击组件模型;对网络攻击中的攻击者和防御者策略进行正式表述和机器学习;以及对组件模型进行验证和确认。由于网络攻击的目标计算机系统可能有多个和/或以前未知的漏洞,因此需要将组件模型结合或组成代表目标系统的集成复合模型。作为回应,这项工作中开发了选择和组成这些组件模型的方法和支持软件。

实现了一个存储组件模型的资源库,并定义了组件模型元数据,以帮助用户选择适当的模型进行组合。两者都进行了测试。几个组合操作和两种不同形式或层次的组合,即粗粒度和细粒度,都被定义。粗粒度组合结合了攻击模式的模型来模拟完整的目标系统,而细粒度组合结合了单个攻击技术的模型来模拟新的攻击模式。这两种形式的组合都需要增加特定的模型元素来支持组合操作。两个层次的组合都使用多个用例进行了测试。由此产生的复合模型被检查是否符合建模形式主义,然后使用模拟器运行,以确认模型是可执行的。仿真的结果与现实世界的经验一致。

引言

自20世纪40年代以来,计算技术已经迅速发展。随着这些发展和新技术的容易获得,计算机已成为许多流氓个人和国家为实现其目标而选择的武器。作为回应,网络安全已成为政府和私人组织的优先事项。对网络攻击的建模和模拟可以深入了解侵略者成功的机会和防御者可以采取的措施,以提高安全性。通过模拟了解潜在的网络攻击的威胁和行为,可以深入了解攻击如何进行,以及如何在攻击开始前阻止攻击或在攻击开始后挫败攻击。为了充分利用网络攻击模拟的潜在好处,模型应该是可重新配置和可重复使用的,这样就可以模拟不同类型的网络攻击,而不需要为每种类型的网络攻击开发全新的模型。

为了研究安全威胁,已经进行了多个领域的研究。网络安全研究课题包括对计算机网络的攻击建模、使用基于代理的建模的恶意软件传播,以及使用博弈论对攻击者和防御者的行动进行建模[Fanti, 2016] [Kotenko, 2015] [Jaisul, 2014]。网络攻击的知识被描述为有助于设计安全软件[Barnum, 2007]。大多数网络攻击已经被发现遵循一组模式之一。特别是,MITRE公司开发了一个在线数据库,称为常见攻击模式列举和分类(CAPEC),其中记录了500多种不同的攻击模式、共同属性、目标和缓解措施[MITRE, 2017]。CAPEC(3.1版)数据库中描述的每个攻击模式都可以由个人或组织独立完成,与其他任何攻击无关。然而,攻击者的一些目标可以通过不同的技术来实现,也就是说,有不止一种方法可以试图获得与系统相关的特权信息或安装恶意软件。攻击者由于自己对过程的控制,可能更喜欢运行一种攻击而不是另一种。然而,因为攻击者有选择,所以必须考虑这些。攻击者也可以将两种或更多的技术或攻击模式的部分结合起来,创造一个新的攻击模式,以提高成功的机会。

因此,网络攻击的有效模拟不能只使用基于CAPEC数据库中描述的攻击模式的模型,其中每个攻击模式都是单独描述的。相反,必须能够选择攻击模式的单个模型或攻击模式中特定技术的模型,并将它们结合或 "组成 "为反映攻击者可用的攻击模式和技术范围的复合模型。这样做需要一个组合框架,其中包括一个基于元数据的选择组件模型的方法,用于组合它们的操作和建模结构,以及一个自动或半自动处理该过程的软件工具。本论文中描述的研究项目以下一节描述的多项目研究计划为背景,介绍了这样一个框架。

1.1 研究计划项目和结构

该项目是多个相互关联的研究项目的第二阶段,这些项目结合起来,可以提供网络攻击建模的综合能力。图1.1显示了该研究项目的整体结构和进展顺序。

MITRE维护的通用攻击模式列举和分类(CAPEC)是一个记录已知网络攻击模式的数据库[MITRE, 2017]。每个CAPEC条目都描述了网络攻击的特定类型;例如,其条目包括跨站脚本(CAPEC-63)、SQL注入(CAPEC-66)和鱼叉式网络钓鱼(CAPEC-163)。CAPEC数据库的条目有两种形式:一种是人类可读的文本,在数据库的网络访问版本中在线显示;另一种是XML,可以下载和处理。

在第一个项目中,CAPEC条目被自动转换为可执行的PNPSC网,对条目中描述的攻击进行建模。CAPEC条目的XML版本被输入到一个Python脚本中,该脚本产生一个可执行的修改过的Petri网或作为Graphviz图像的PNPSC网的视觉图[Whitaker, 2019]。这个项目在图1.1(a)中得到说明。

第一个项目中使用的CAPEC网络攻击模式数据库作为网络攻击模型自动生成的输入,以攻击者为中心的方式描述攻击。在第二个项目中,网络攻击组件模型将被加强,以包括防御者的行动、反应和技术。通常情况下,防御者有多种单独或联合部署的技术来检测或阻止攻击者的行动。此外,还将增加目标计算机系统上正常用户活动和非攻击者网络流量的表示。

增强的PNPSC模型将帮助系统设计者在评估不同防御技术时进行决策分析。在使用增强型PNPSC模型模拟网络攻击以比较不同的防御技术时,必须确定和收集性能指标。可重复的统计和分析方法将使用性能指标作为输入来比较不同的防御技术。实验设计方法将被用来确定哪些防御技术是防御攻击的关键因素,允许减少模拟运行的总次数,同时保持高水平的统计信心。这个项目在图1.1(b)中说明。

第一个项目中产生的PNPSC网和第二个项目中增强的PNPSC网被认为是组件模型,而不是完整的模型,因为它们只模拟单一类型的网络攻击。大多数需要建模的计算机系统可能会受到不止一种类型的攻击,因此必须将多个组件模型结合起来才能完全代表该系统。因此,在前两个项目中产生的网络攻击组件模型必须被整合或组成,以产生对目标计算机系统攻击的完整模型。第三个项目是关于促成这些组合。

这种组合要求组件模型被定义为可组合的,即包括作为 "连接器 "的地方和过渡,并允许PNPSC网被连接。连接器的设计必须保留组件模型的建模语义,并通过连接传递所需信息。此外,在组成组件模型之前,必须对它们进行选择,也就是说,必须从所有组件模型库中选择对目标计算机系统进行攻击所需的正确模型。一般来说,组件选择问题是NP-完全的[Petty, 2003b]。组件选择是NP-完备的,因为要确定找到一个满足要求的组合,在文字情况下,可能需要尝试存储库中所有可能的组件组合,如果有n个组件,这就是O(2n)。然而,工程解决方案,特别是描述每个组件的元数据,已经被提出来提供一个实用的组件选择能力[Taylor, 2015]。这个项目如图1.1(c)所示。

在第四个项目中,目标计算机系统的模型得到了验证和确认。验证是确定一个模型的实现是否与它的规格一致的过程[Petty, 2010]。在这项工作中,PNPSC网是通过将其与相应的CAPEC条目进行比较来验证的。这样做的方法包括分析PNPSC网的形式属性,并根据使用谓词微积分描述的可允许攻击状态验证网的可达标记。

验证决定了一个模型的行为和输出与被建模的系统或现象的一致程度[Petty, 2010]。PNPSC网将针对实际的网络攻击进行验证,使用的方法包括手动执行PNPSC网所代表的攻击序列[Christensen,2017]和使用网络安全主题专家小组进行面对面验证[Cantrell,2018]。这个项目在图1.1(d)中说明。

经过验证的模型被执行以模拟网络攻击[Bland, 2018] [Bland, 2020]。进行模拟攻击的多次迭代,以支持机器学习算法,特别是带有ε-贪婪策略的强化学习[Sutton, 2018]。该算法的任务是学习采取哪些行动,即改变PNPSC网的不同可观察标记的过渡率,以实现攻击者或防御者的目标。强化学习算法被设计成进攻方或防守方,其学习过程的目的是即使被同样在学习的玩家反对,也能保持稳健。这个项目如图1.1(e)所示。

整个研究项目由位于亨茨维尔的阿拉巴马大学计算机科学系副教授兼信息技术和系统中心(ITSC)建模和模拟高级科学家Mikel Petty博士负责协调。各个项目和从事这些项目的人员是:

  • "从漏洞数据库生成网络攻击模型组件",T. Whitaker博士,建模与仿真

  • "增加防御者和用户",C. D. Colvett,工业与系统工程和工程管理的博士候选人

  • 选择和组成网络攻击模型组件",K. Maxwell,计算机科学博士候选人

  • 验证网络攻击模型",N. Christensen,网络安全硕士;W. A. Cantrell博士,建模与仿真

  • "网络攻击和防御策略的机器学习",J. Bland博士,计算机工程

1.2 研究问题

在某些特殊情况 [Page, 1999] 和一般情况下 [Petty, 2006],组件选择问题已被证明是 NP 完全问题。然而,也有人声称,如果有规范和启发式的选择和组合来实现特定目的,它可能允许在可接受的时间内解决实际实例 [Taylor,2015]。必须为 PNPSC 模型或其组件定义选择和组合过程规范,以组合成完整的网络攻击模型。因此,本研究要解决的研究问题是:

  • 1.PNPSC网的形式属性是什么,它们与组成PNPSC组件模型的关系如何?

  • 2.在选择PNPSC组件模型进行组合时,能否在可接受的时间内解决NP不完全的组件选择问题?

    • a.哪些元数据应与组件模型相关联以促进组合?

    • b.在大多数情况下,哪些使用组件元数据的启发式方法可以有效地选择组件?

  • 3.什么是定义可重用和可组合的PNPSC组件模型的适当的颗粒度?

    • a.颗粒度级别之间有什么区别,它们对PNPSC网络攻击模型的整体设计有什么影响?

    • b.多于一个层次的颗粒度是否适用?

  • 4.如何将PNPSC组件模型组成完整的PNPSC网络攻击模型?

    • a.为了使PNPSC组件模型能够被组成,除了个别组件中的接口外,还必须增加哪些其他地方和过渡作为外部 "接口"?

    • b.必须修改组件模型的内部设计以使它们能够作为组件使用?

对这些问题的回答是在本研究中形成的,并在本论文中提出。

1.3 研究任务

为了回答所提出的研究问题,需要完成一些具体的任务来确定答案。表1.1显示了研究任务的分布情况,以及这些任务对回答哪些问题的帮助。

第2章首先对现有文献进行了全面回顾,并对分析问题所需的基本概念进行了描述。第3章介绍了为网络攻击建模而设计的形式主义,随后第4章描述了验证过程。第5章定义了模型组件和组成方法所需的颗粒度,随后第6章描述了选择算法和为协助该过程而创建的工具。第7章和第8章介绍了基于组件颗粒度的案例研究。最后,第9章介绍了本研究的结论,强调了这些结果的意义和预期的未来工作。

成为VIP会员查看完整内容
34

相关内容

网络攻击是指任何非授权而进入或试图进入他人计算机网络的行为。
【伯克利博士论文】可信赖机器学习,227页pdf
专知会员服务
85+阅读 · 2022年12月12日
【伯克利博士论文】机器学习安全性,172页pdf
专知会员服务
36+阅读 · 2022年12月6日
【CMU博士论文】黑盒和多目标优化策略,151页pdf
专知会员服务
46+阅读 · 2022年11月24日
专知会员服务
47+阅读 · 2021年9月5日
《军事行动自动化》【译文】2022最新报告
专知
45+阅读 · 2022年11月13日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2023年3月15日
Arxiv
12+阅读 · 2021年7月26日
已删除
Arxiv
31+阅读 · 2020年3月23日
Arxiv
10+阅读 · 2018年2月17日
VIP会员
相关基金
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
微信扫码咨询专知VIP会员