微软发布AI网络攻防模拟工具

微软本周发布一套原本自用的模拟工具,让安全研究人员模拟构建网络防御环境,以阻挡AI控制的攻击。

微软Microsoft 365 Defender研究团队长期使用AI及机器学习来研究安全防御,其中一个领域是自主系统。他们创造了一个AI模拟研究工具,微软称之为CyberBattleSim,其中以一组智能代理程序利用安全知识及参数对企业环境发动攻防行动,借此研究如何利用强化学习技术来改善安全。

今天微软宣布把CyberBattleSim的Python源码开源给外部研究人员使用。这套工具提供Python写成的OpenAI Gym接口,让企业或安全研究人员可用强化学习算法来训练自动代理程序。OpenAI Gym是常见开发、训练及评估强化学习算法的交互环境,曾被用来开发电玩、机器人模拟及控制系统。CyberBattleSim的程序代码可在Github下载。

和电玩游戏一般,CyberBattleSim也有一个设置场景。CyberBattleSim主要是模拟网络攻击中,攻击者入侵网络后的横向移动阶段。这个环境是由一组计算机节点组成的网络,有固定的网络拓扑及一组默认的漏洞,扮演攻击者的代理程序可以开采并在网络上移动。攻击中的目标是开采这些漏洞以夺取部署部分网络的所有权。而在攻击者移动时,防御代理程序则负责观察网络活动来侦测攻击者所在,并进行控制。

CyberBattleSim也设置三种攻击行为,包括执行本机攻击、远程攻击以及连接其他节点。攻击者的“得分”则来自攻下节点的价值,例如拿下SQL Server的分数比测试机来得高。此外,也设置漏洞遭开采的结果,像是登录凭证外泄、外泄与其他计算机节点有关的信息、泄露节点属性、取得节点控制权,以及节点遭权限扩张。

而在评分上,这套系统以攻、防两方完成目的所采取的模拟步骤,以及在训练阶段模拟步骤的累计得分,来评估各阵营的绩效。

微软指出,CyberBattleSim将计算机系统环境的复杂性高度抽象化(简化),以便评估强化式学习算法,了解AI代理程序如何交互与学习。

微软希望借由开源,鼓励安全研究人员在CyberBattleSim基础上实验,了解强化学习在模拟环境下的交互。目前在算法方面,CyberBattleSim仅提供很简单的代理程序,微软希望能训练更强大的强化学习算法。此外,他们也想知道如何训练出能存储或取得登录凭证的代理程序。其他主题包括自主(AI)安全系统的负责使用、构建有利于防御的企业网络,以及如何不滥用AI技术下,研究如何防御AI网络攻击。