人工智能在计算机网络技术中的应用-新型人工智能(AI)统计前瞻规划技术用于网络攻击
在现代军事领域,及时的信息越来越重要。然而,攻击正变得越来越复杂。快速识别、选择和执行网络防御响应至关重要。
新型人工智能 (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中的左手图显示了预定的结构。
该项目最初考虑使用基于Mininet的目标环境,包括Containernet和libvirt支持,以允许使用docker容器和虚拟机。这将允许在评估网络上快速生成和测试攻击脚本。由于libvirt对Containernet的支持是实验性的,并且已经5年没有更新了,所以是不能用的,所以不可能用Mininet来实现目标网络。出于这个原因人工智能在计算机网络技术中的应用,对评估网络的调用被删除了,取而代之的是一个脚本标记,用来评估人工智能生成的脚本与给定的人工生成的脚本的相似度。实施的网络攻击结构如图2-1中的右图所示。
【完整中英文请上专知查阅】
专知便捷查看