微软以开源的形式发布了基于 python 的 “CyberBattleSim” 工具包,目前是一个单一企业环境模拟器。
微软最近宣布了基于 Python 的企业环境模拟器的开放源代码可用性。取名为 “CyberBattleSim”。
为网络战进行模拟
CyberBattleSim是一个实验研究平台,用于研究在模拟抽象企业网络环境中运行的自动代理的交互。该模拟提供了计算机网络和网络安全概念的高级抽象。其基于Python的Open AI Gym界面允许使用强化学习算法来训练自动代理。
通过固定的网络拓扑和代理可以用来在网络中横向移动的一组漏洞来参数化仿真环境。攻击者的目标是通过利用计算机节点中植入的漏洞来获得部分网络的所有权。当攻击者尝试在整个网络中传播时,防御者代理会监视网络活动并尝试检测发生的任何攻击并通过驱逐攻击者来减轻对系统的影响。我们提供了一种基本的随机防御器,可以根据预定义的成功概率检测并缓解正在进行的攻击。我们通过重新成像受感染的节点来实现缓解,该过程被抽象地建模为跨越多个模拟步骤的操作。
为了比较代理的性能,我们看两个指标:达到其目标所采取的模拟步骤的数量,以及在整个训练时期内模拟步骤的累积奖励。
项目目标
我们将该项目视为一个实验平台,以对抽象模拟网络环境中的自动代理的交互进行研究。通过开放源代码,我们希望鼓励研究社区调查网络代理在这种网络环境中如何相互作用和发展。
我们提供的仿真固然简单,但这具有优势。它的高度抽象的性质禁止直接应用于现实世界的系统,从而提供了防范潜在的恶意使用经过培训的自动化代理程序的保护措施。同时,它的简单性使我们可以专注于特定的安全性方面,这些方面旨在研究和快速试验最新的机器学习和AI算法。
例如,当前的实现方式侧重于横向移动网络攻击技术,希望了解网络拓扑和配置如何影响它们。考虑到这一目标,我们认为没有必要对实际的网络流量进行建模。这只是未来系统中可能要解决的系统严重局限性的一个例子。
在算法方面,我们提供了一些基本的主体作为起点,但是我们很想知道如何将最新的强化学习算法与它们进行比较。我们发现,与其他应用程序(例如视频游戏或机器人控制)相比,任何计算机系统固有的大型动作空间是强化学习的一个特殊挑战。在使用RL技术(代理通常不具有内部存储器)时,培训可以存储和检索凭据的代理是另一个挑战。这些是模拟可用于基准测试的其他研究领域。
其他令人感兴趣的领域包括自主性网络安全系统的负责任和道德使用:如何设计一种可以使防御者特有的固有优势的企业网络?如何进行安全的研究,以保护企业免受自主网络攻击,同时防止恶意使用此类技术?
项目库:
git clone https://github.com/microsoft/CyberBattleSim.git
本文来源于互联网:微软开源人工智能攻防演练工具Cyber BattleSim