恶意软件在AI领域,攻和防谁更厉害?
神经网络对抗掀起血雨腥风,人工智能(AI)在利用对抗模型成功解决图像分类与计算机音频识别两大难题之后,如今又将目标指向恶意软件检测领域。2018年3月12日,慕尼黑大学、意大利卡利亚里大学与意大利 Pluribus One 公司共同发布的论文描述了如何击败 MalConv。
研究人员创建“AI攻击者”,旨在突破AI防线
MalConv
2017年,英伟达、博思艾伦以及马里兰大学的研究人员们共同训练出一套神经网络——MalConv 软件,能够摄入 EXE 文件并发现其中存在的恶意软件样本。 MalConv 能够对可执行文件进行静态分析(即查看二进制文件内容,但不会实际运行)。一旦其神经网络拥有足够大的学习集,即可在实践场景中对恶意软件进行分析,准确度可高达98%。但由于 MalConv 属于一套神经网络,而神经网络在对抗性攻击面前非常脆弱。
如何愚弄MalConv?
研究人员们正在探索破坏人工智能所需的最小变化,他们从简单的字节填充开始,在二进制文件末尾添加10000个字节。这种方法使得 MalConv 的准确度降低了一半以上。
与恶意软件样本相比,10 KB的填充量只是一项微小的变化。论文解释称,“这意味着只需要将不足1%的字节作为输入内容提交至深层网络当中。”然而这样的攻击方式仍能实现进一步精简,这是因为其完全可以将“攻击字节”放在二进制文件内,从而大幅增加攻击的成功率。
然而,在可执行文件内对字节进行操作往往更加复杂且困难,几乎无法以自动化方式进行; 而字节填充则非常简单。研究人员们逐渐发现,基于梯度的填充字节序列比随机填充字节效果更好。论文指出,添加随机字节并不能真正有效规避神经网络的检测,但当基于梯度的攻击在填充10000个字节时,能够以高达60%的成功率骗过 MalConv。这是因为通过充足的训练,基于梯度的方案能够创建出“针对各个样本的有组织的填充字节模式”,这意味着该恶意模型已经学习掌握了防护工具检测各类恶意软件样本的具体模式。