10.1 Gym-Malware简介

2017年7月的DEFCON黑客大会上,EndGame安全公司技术总监Hyrum Anderson,演示了如何使用机器学习创建恶意代码,从而绕过杀毒软件的检测。整个方案基于OpenAI Gym框架开发,称为Gym-Malware。Gym-Malware经过15小时的训练,运行了10万个样本,让16%的恶意软件样本通过了杀毒软件的检测。Gym-Malware的项目地址为:


https://github.com/endgameinc/gym-malware

Gym-Malware的安装非常方便,从GitHub同步代码后,执行如下操作即可:


pip install -r requirements.txt

图10-1 强化学习基本原理

如图10-1所示,在强化学习里面,智能体向环境执行动作A,环境向智能体反馈转移到的下一个状态S以及该动作对应的奖励R,智能体不断重置环境以及尝试不同的动作,然后根据返回的奖励R和状态S,学习出执行何种动作可以获得最大的奖励,当智能体处于该环境下任意状态下时,都能够选择出最佳的动作。相类似的,恶意软件的作者在制作免杀的恶意软件时,也是不断尝试各种免杀方法,根据杀软的反馈进一步调整直到免杀,同时也积累了经验,面对类似的恶意软件也能以最佳的方式进行免杀。

如图10-2所示,Gym-Malware正是使用了强化学习的方式,通过自动化的方式尝试不同免杀方法,最终在与杀毒软件的对抗中学习出如何生成免杀恶意软件。

图10-2 Gym-Malware的基本原理