中国领先的IT技术网站
|
|

BlackHat 2017:机器学习对抗机器学习:攻防的新一轮猫鼠游戏

7月23日,被誉为黑客圈“奥斯卡”的美国黑帽大会 BlackHat 2017在拉斯维加斯拉开帷幕,并计划于北京时间7月28日落幕。大概在同一时间,另外两个黑客盛会 DEF CON 和 BSides,也都设在纸醉金迷的拉斯维加斯举行。

作者:AngelaY来源:FreeBuf|2017-08-01 12:25

开发者大赛路演 | 12月16日,技术创新,北京不见不散


7 月 23 日,被誉为黑客圈“奥斯卡”的美国黑帽大会 BlackHat 2017在拉斯维加斯拉开帷幕,并计划于北京时间 7 月 28 日落幕。大概在同一时间,另外两个黑客盛会 DEF CON 和 BSides,也都设在纸醉金迷的拉斯维加斯举行。这三大盛会可以说是安全圈和黑客圈的狂欢了。然而,有人欢喜有人忧:数万黑客云集拉斯维加斯,却让当地企业忧心忡忡,担心自己的业务系统被黑客攻击。因此,在 DEF CON 开始之前(当地时间 7 月 24 日),其举办地 Caesars Palace 酒店就已经关闭了业务中心系统和电脑,防止遭遇攻击。其他大型商家也纷纷采取了一些其他措施防止攻击。

关闭系统抵抗攻击看起来是很有效的方法,但却会对业务造成影响。目前,安全领域正大肆流行一种新的对抗攻击的方法,就是利用人工智能。

人工智能目前多以机器学习的方式实现,正成为信息安全领域炙手可热的技术。许多人认为人工智能将成为网络安全的救世主,因为机器学习可以实时学习黑客和恶意程序的行为并迅速响应,进而打击黑客、对抗恶意软件。当然,也有人提出警告:机器学习有助于保护网络安全,但并非银弹。

这牵涉到一个重要问题:机器学习如果能学会检测恶意程序,那么机器学习也能学会躲避利用机器学习进行的检测。这个问题也困扰着来自 Endgame 数据科学部门的技术主管 Hyrum Anderson 。

攻 vs. 防:机器学习 vs. 机器学习

在 2016 年 8 月的 BSides 拉斯维加斯大会上,Anderson 就展示过他在机器学习领域的研究成果:检测(甚至生成)恶意攻击的深度对抗架构。当时,他讲述了安全领域红蓝对抗的概念,并表示,利用了机器学习的红蓝对抗,实质上就是 “恶意” 算法不断探测防御性算法并寻找弱点和可攻击点。同样,利用这个过程,防御性算法也能从探测内容中学习如何改善提升防御体系。

北京时间本周五(7 月 28 日),在 Black Hat USA 2017 大会上, Anderson 将会进一步阐述这个概念,并以“通过对抗性探测技术,测试机器学习的恶意程序检测能力”为主题进行分享。分享的核心思想是利用机器学习技术提高机器学习的防御能力。事实上,在攻防对抗中,这的确是非常重要的一步。

Minerva 公司联合创始人及副总裁 Omri Moyal 表示:鉴于目前越来越多的企业采用利用机器学习技术的恶意程序检测产品,许多攻击者也很快会用机器学习技术武装自己,逃避检测。最高级的攻击者会开发自己的入侵模型。一些攻击者会借鉴多种公开研究成果中提及的理念甚至代码,一些还会利用已有的测试和试错结果,还有一些干脆直接复制其他攻击者的成果。在这场猫鼠游戏中,防御者应当改变模式,学会将攻击工具标记为恶意程序。这个过程类似于以前的“恶意程序签名” ,但却更加复杂。

Anderson 提出的这个理念有助于促进防御者进行攻防演练,防御者既扮演猫的角色又扮演老鼠的角色,这样就能比攻击者领先一步。Anderson 在 Black Hat 上的发言,会以 “所有的机器学习模型都有盲点或容易出错的点(即模型错误)”这一论述作为开头。基于此论述,如果高级攻击者了解防御者所使用的模型,就可以利用自己的机器学习模型来探测防御者所使用模型的盲点。

先于攻击者找出机器学习模型的盲点

Moyal 解读了 Anderson 论点的深层含义:正如应对前几代的反病毒软件一样,攻击者可以不断评估自己的恶意程序抗击机器学习检测的能力,直到开发出抗检测的变种。

恶意程序的作者长期观测处于 Virus Total 等安全软件扫描环境中新装或重装的恶意软件,确认这些恶意软件是否能绕过防御者的反病毒检测。而现在,他们则很快会使用机器学习模型,来测试恶意软件抵御机器学习防御模型的能力,并找出盲点。

最后得到的样本可以用于攻击该防御模型。这样一来,恶意攻击被检测出来的概率就更低。此外,攻击者还可以实现这类攻击软件生成的自动化,绕过机器学习防御模型的检测,甚至还能利用入侵机器学习模型提升生产过程。

基于上述论述,Anderson 得出的初步结论是:防御者应当主动找到防御模型的盲点并在攻击者发现之前消除这些盲点。但是,为了达到这个目的,防御者就要去模拟攻击者的行为,用机器学习模型探测机器学习模型,这也正是讽刺之处。事实上,这类似于多年来安全研究员一直在做的事情:他们研究各类软件,抢在恶意攻击者之前找到漏洞并进行修复,防止漏洞被利用。

在分享中,Anderson 还将介绍一种利用 AI 代理躲避恶意程序检测的科学方法。尽管 Anderson 的例子只涉及 Windows PE(可移动可执行)文件,但方法的基本原理和框架是通用的,可以应用在其他领域。

这种代理可以检查 PE 文件并对该文件进行详细研究,以找到一种躲避恶意软件检测的方法。代理还能学习如何“攻破”防御。然而,如果主要使用者是防御人员,这种方法能找到的就是可以修复的盲点;如果主要使用者是攻击人员,那么能找到的就是可以利用的盲点。

Anderson 将要分享的要点在于,利用机器学习探测恶意软件在初期也许能成功实现恶意软件防护,但遇到高级攻击者后,就很快会被找出破绽。哪怕如今人工智能席卷全球,有一点仍旧没有改变:保持比攻击者更快一步,这一直是且一直会是信息安全行业的关键所在。

【编辑推荐】

  1. 红帽来了!首届广东省“红帽杯”网络安全攻防大赛精彩谢幕
  2. 道与魔的网络攻防博弈中,这家安全公司要做企业数据的“贴身保镖”
  3. 挨踢部落坐诊第六期:机器学习如何判断突发情况?
  4. Black Hat 2017黑帽大会:8款值得一看的黑客工具
  5. BlackHat2017:黑客使用机器学习预测BEC攻击的成功率
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Linux编程技术详解

本书全面介绍了Linux编程相关的知识,内容涵盖Linux基本知识、如何建立Linux开发环境、Linux开发工具、Linux文件系统、文件I/O操作、设备文...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动