在现代军事领域,及时的信息越来越重要。然而,攻击正变得越来越复杂。快速识别、选择和执行网络防御响应至关重要。

新型人工智能 (AI) 统计前瞻规划技术已用于对目标环境进行网络攻击。这些技术以前没有在网络建模中使用过,但它们在其他领域的成功表明了它们的实用性。人工智能展示了它能够组装复杂的攻击,显示出解决网络领域问题的能力。

Mininet/Containernet 解决方案在目标环境的完整表示方面取得了重大进展,这使人们相信这种表示是可能的。这将允许构建具有代表性的目标环境以进行快速分析。

人工智能可用于大规模生成成功攻击特征的数据,促进机器学习人工智能的训练,以检测此类攻击,这在现实世界数据稀少的情况下至关重要。

这种方法的一个优点是人工智能不是在学习,而是在进行前瞻性规划。因此,随着新漏洞的识别,人工智能可用的攻击和防御动作可以轻松更新,而无需重新训练。这种敏捷性在快速发展的网络领域中至关重要。

1 引言

军事领域的计算机网络,以及所有地方的计算机网络,都越来越受到网络攻击。显然,能够快速检测到此类攻击的漏洞并选择合适的应对措施是非常重要的。因此,人们对利用人工智能(AI)技术开发自动化的网络防御程序产生了广泛的兴趣。例如,在2020年2月,微软研究院建立了一个名为CyberBattleSim的网络攻击模拟器,参考文献[1],它通过开源的AI Gym工具包使用强化学习(RL)算法。在谷歌上搜索可以很快找到半打类似的基于RL的网络攻击模拟器。

相比之下,本文描述了一种使用统计前瞻计划而不是RL的自动化人工智能网络模拟。统计前瞻规划(SFP)算法是一系列稳健的随机人工智能技术,使用统计模型(也称为前瞻模型)来模拟未来可能的状态。它们无需训练,因此比基于学习的方法快得多。SFP算法的例子包括蒙特卡洛搜索、蒙特卡洛树搜索和滚动地平线进化。最近的参考文献,见Perez-Liebana等人,参考文献[2],其中描述了SFP在视频计算机游戏中的应用。快速算法和游戏在军事方面当然也很重要。

本项目中使用的人工智能软件是由QinetiQ训练和模拟有限公司开发的任务规划师人工智能工具的扩展。最初,任务规划器(Mission Planner)被用于生成和分析陆上兵棋推演中的指令。此后,任务规划器也被成功地用于反潜战等情况下。任务规划器中的人工智能引擎,在设计上对特定的应用一无所知,只根据特定指令序列的奖励或效用来工作。这使任务规划器具有相当大的通用性。特别是,任务规划器可以被用来规划网络攻击和防御。参见参考文献[3]对任务规划器在其最初的陆上兵棋推演角色中的讨论。

任务规划器内的人工智能引擎使用随机优化算法(在这种情况下是模拟退火)来选择一个最佳的订单序列。或者,在网络背景下,一个最佳脚本。由人工智能引擎生成的脚本在引擎本身没有任何意义。它们被传递给任务规划器中的一个特定应用组件,称为解码器。这将计算出一个数值,称为奖励或效用或价值,并将其传回给人工智能引擎。优化算法迭代进行,产生一个脚本序列,其值逐渐(但通常不是单调的)收敛到一个最佳值。

这项工作的目的是确定任务规划器是否可以用来产生对计算机网络的网络攻击。必须牢记,本文只描述了这项工作的第一阶段。

2 方法路径

2.1 网络攻击结构

在一个远程服务器上设置了一个包含几个已知漏洞的目标虚拟目标网络(例如,一些机器可能有旧版本的操作系统,缺少重要的安全补丁)。该目标网络通过一个Middle Ware组件与任务规划师解码器进行通信。

图 2-1:网络攻击结构:按计划(左)和按实施(右)。

图2-1中的左手图显示了预定的结构。

  • 解码器将一个攻击脚本传递给中间设备组件。
  • Middle Ware组件在评估网络上执行攻击脚本。
  • 对评估网络的攻击结果被返回到Middle Ware组件,该组件评估攻击的成功率,并计算出一个结果的数值分数。
  • 这个数值分数被传回给解码器。

该项目最初考虑使用基于Mininet的目标环境,包括Containernet和libvirt支持,以允许使用docker容器和虚拟机。这将允许在评估网络上快速生成和测试攻击脚本。由于libvirt对Containernet的支持是实验性的,并且已经5年没有更新了,所以是不能用的,所以不可能用Mininet来实现目标网络。出于这个原因,对评估网络的调用被删除了,取而代之的是一个脚本标记,用来评估人工智能生成的脚本与给定的人工生成的脚本的相似度。实施的网络攻击结构如图2-1中的右图所示。

2.2 脚本标记

正如参考文献[3]所解释的那样,任务规划器的脚本由树组成,其中树中的每个节点要么是:

  • 一个命令节点;
  • 一个输入节点,包含一个用于指令节点的数值参数。

一个输入节点总是一个指令节点的子节点,输入节点的参数值被应用于父指令节点。一个输入结点没有任何子结点。

指令节点必须始终有至少一个子节点。指令节点的子节点本身可以是指令节点或输入节点。指令节点只能是有限数量的可能类型中的一个。

对于给定的一对相同类型的指令节点,脚本标记可以按以下方式计算出一个相似度值。

1.将该值初始化为零。

2.如果两个节点都没有父节点,则加1(到值)。

3.如果两个节点都有一个父节点,并且两个父节点都是同一类型,则加1。

4.遍历每个顺序节点对的输入节点,比较每个列表中的第一个条目,第二个条目,以此类推,当其中一个列表用完时结束;对于每一对具有相同价值的输入节点,在相似性值上加1,对于每一对具有相同类型的输入节点,再加1。

5.将相似度值规范化,用父节点的子节点数除以相似度值,以父节点的子节点数最少的为准。

脚本标记在两个脚本A和B之间计算出一个整体的相似度分数,具体如下:

1.将分数初始化为零。

2.对于脚本A中的每个顺序节点,找出脚本B中具有最大相似度的相同类型的顺序节点,并将这个最大相似度值加到分数中。

3.将分数归一化,用脚本中订单节点的数量来计算,以指令节点数量最多的脚本为准。

这个算法返回一个介于0和1之间的值。如果所有的指令节点类型和输入值完全匹配,它将返回1。如果没有匹配,它将返回0。

图 2-2:实时网络:使用 VMWare 的完整企业架构。

2.3 实时网络

图2-2显示了用于测试人工智能攻击的实时网络,其中一个双宿主、域连接的网络服务器按照洛克希德网络杀戮链的7个步骤被破坏。见参考文献[4]。在成功入侵网络服务器后,人工智能重复侦察、武器化、交付等过程,以确定域中的漏洞,并将其攻击性工具转移到被入侵的服务器上,利用这一点来捕获域用户的NTLM哈希值。见参考文献[5]。人工智能将NTLM哈希值复制到它用于初始访问的攻击箱,在那里它使用开膛手约翰来识别域用户的用户名和密码。见参考文献[6]。在这个例子中,收获的用户账户是域管理员的账户,AI现在使用这些凭据连接到ADServer,并在域上创建自己的账户。图2-2左侧的绿色方块包含被攻击的虚拟网络。图中间的红色方块包含攻击框,它是本测试中攻击源的物理计算机。

由于Covid的限制,该项目具有分散性,被破坏的实时网络和承载任务规划器的计算机在地理上是分开的,因此必须使用ZeroTier软件定义网络来提供安全通信。见参考文献[7]。

最初,攻击脚本是在攻击箱上手工开发的,并通过观察对网络服务器的攻击结果进行手工测试。一旦开发出令人满意的攻击脚本,它就被纳入脚本标记,并使用任务规划器AI来生成一个最佳的攻击脚本。然后通过互联网将其传递给攻击箱,从那里向目标网络发起攻击。

图 2-3:域接管所需的攻击脚本组件、

2.4 AI攻击语法

图2-3显示了领域接管所需的攻击脚本组件(战术用深蓝色阴影,技术用浅蓝色阴影),以及一些当前攻击不需要的额外组件。任务规划者可以从一个潜在的无限选项中决定哪些脚本是必需的。例如,不需要的组件来自于数据渗出攻击。还要注意,PYTHONSERVER和PYTHON3SERVER是不同的实例;PYTHONSERVER用于webserver和wget,而PYTHON3SERV必须是python3。该项目以MITRE ATT&CK®中列出的战术和技术为基础,MITRE ATT&CK®是一个基于现实世界观察的全球可访问的网络战术和技术知识库。见参考文献[8]。这些组件被提供给Mission Planner,然后Mission Planner必须以正确的顺序将它们组装起来,以达到预期的结果。

有些组件有许多选项,例如INITIALACCESS可以是公共应用程序,或外部远程服务。RECONNAISSANCE比较复杂,它可以是NMAP、NESSUS或OPENVAS中的一种,NMAP RECONNAISSANCE可以是任何一种可用的选项,从隐蔽性到攻击性不等。这些组件选项在图2-3中用虚线表示。实线箭头表示域接管攻击所需的脚本组件的正确顺序。

3 AI的性能

表 3-1:域接管脚本的 AI 进度报告。

表3-2: AI进度报告的关键。

表3-1列出了Mission Planner在域接管脚本方面的AI进度报告,表3-2解释了各栏的内容。表3-1显示,在第15代时,优化器取得了93.994%的最佳分数。这个脚本与目标脚本只有一步之差,尽管它仍然导致了一次失败的攻击。在第21代时,得到了一个接近完美的解决方案,导致攻击成功。总耗时为37秒。

图 3-1:在域接管期间提高百分比分数。

图3-1显示了在每一代中取得的百分比分数的提高。最好的分数逐渐增加到100%。当然,平均得分不如最佳得分;然而,随着最佳得分的接近,差异也在减少。这就是模拟退火算法的典型行为。

4 结论

我们已经表明,任务规划器的人工智能引擎原则上可以用来发动自动网络攻击。虽然不可能将优化器直接连接到被攻击的网络,但这是通过脚本标记来模拟的。虽然适合于演示,但这确实限制了优化器,因为所采用的方法的一个重要优势是,它能够为以前从未解决过的问题找到新的解决方案。使用脚本标记评估不可能证明这一点。

因此,下一步将是用一个基于Mininet、Containernet、libvirt的解决方案来取代脚本标记。我们相信,这将允许优化器对目标环境进行快速原型设计。这项工作的一个重要部分将是评估对运行时间的影响。还应测试更广泛的目标网络和网络攻击类型。

任务规划器的人工智能引擎也可以被扩展,以便它可以防御网络攻击。一旦实现了这一点,可以将攻击和防御的人工智能引擎结合起来,形成一个对抗性的人工智能,其中攻击和防御部分依次对立。每一次通过这个攻防循环都会进一步提高这两个组件的实力和稳健性,因为每个组件都被迫对能力更强的对手做出反应。

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

相关内容

人工智能在军事中可用于多项任务,例如目标识别、大数据处理、作战系统、网络安全、后勤运输、战争医疗、威胁和安全监测以及战斗模拟和训练。
《军事行动自动化》【译文】2022最新报告
专知
47+阅读 · 2022年11月13日
国家自然科学基金
4+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
11+阅读 · 2012年12月31日
国家自然科学基金
14+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年11月17日
Arxiv
15+阅读 · 2021年11月19日
Deep Face Recognition: A Survey
Arxiv
17+阅读 · 2019年2月12日
VIP会员
相关VIP内容
相关资讯
相关基金
国家自然科学基金
4+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
11+阅读 · 2012年12月31日
国家自然科学基金
14+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
微信扫码咨询专知VIP会员