社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

黑客利用机器学习发动网络攻击的6种途径

嘶吼专业版 • 6 年前 • 642 次点击  


机器学习算法在改进安全解决方案,帮助人类分析师更快地分类威胁和阻断漏洞的同时,也将成为威胁行为者发动更大、更复杂攻击的有力武器。

在最简单的层面上,机器学习被定义为“(计算机)在没有被明确编程的情况下就能学习的能力”。这对于信息安全行业而言是一个巨大进步。这项技术可以帮助安全分析师完成“从恶意软件和日志分析到尽可能早地识别和关闭漏洞”的跨越。同时,它还可以改善终端安全性,自动执行重复性任务,甚至可以降低导致数据泄露的攻击的可能性。

自然地,人们也就相信这些智能安全解决方案能够比传统的旧工具更为快速有效地发现并阻止下一次WannaCry攻击。J.Gold Associates总裁兼首席分析师Jack Gold表示,

“机器学习仍然是一个新兴的领域,但它显然是未来的发展方向。人工智能和机器学习将极大地改变安全运作方式。随着数据和应用程序的快速发展,除了使用基于AI的自动化系统来分析网络流量和用户交互之外,似乎也没有其他更好的方法来实现安全性了。”

但问题是,黑客也清楚地了解这一点,并期待建立自己的人工智能和机器学习工具来发动攻击。

网络犯罪分子如何利用机器学习?

网络犯罪分子越来越有组织地在暗网上提供广泛的服务,最终,这种创新速度将超越安全防御的发展速度。而且考虑到机器和深度学习等技术尚未开发的潜力,这种情况着实令人担忧。

McAfee公司首席技术官Steve Grobman表示,

“我们必须认识到,虽然机器学习、深度学习和人工智能等技术将成为未来网络防御的基石,但我们的对手正在极尽疯狂地实践和创新它们。就像网络安全领域时常上演的那样,通过技术放大的人类智能将成为攻击者和防守者之间军备竞赛的制胜因素。”

这自然会让人们担心未来是属于AI对AI的终结大战。赛门铁克首席技术官Nick Savvides表示,这是“网络安全领域人工智能VS人工智能的第一年”,攻击者能够更有效地探索受损网络,这显然也促使安全供应商努力去建立更加自动化和智能的解决方案。

Darktrace公司技术总监Dave Palmer强调称,

“自动化响应是网络安全的未来。算法可以采取智能和有针对性的补救措施,以减缓甚至停止正在进行的攻击,同时仍然允许正常的业务活动照常运行。”

目前,基于机器学习的在野攻击在很大程度上仍然是闻所未闻的,但一些技术已经被犯罪集团所掌握和利用。

1. 恶意软件逃避检测的能力越来越强

对网络犯罪分子而言,恶意软件的创建主要是一个手动过程。他们通过编写脚本来不断完善计算机病毒和木马,并利用rootkit、密码抓取工具和其他工具来协助分发和执行任务。

但试想一下,如果他们能够加速这个过程结果会如何?机器学习有没有办法帮助他们创建恶意软件?

第一个使用机器学习来创建恶意软件的已知示例,是2017年一篇题为《基于GAN生成黑箱攻击的对抗性恶意软件示例》的论文中提出的。在报告中,作者揭示了他们如何构建一个生成式对抗网络(GAN )的算法来生成对抗性恶意软件样本,这些样本能够绕过基于机器学习的检测系统。

另一个已知示例发生在 DEFCON 2017大会上,当时,安全公司Endgame透露了如何使用Elon Musk的OpenAI框架创建自定义的恶意软件,以创建安全引擎无法检测到的恶意软件。Endgame的研究是基于看起来有恶意的二进制文件,并且通过更改一些部分,最终使得生成的代码对于防病毒引擎而言似乎是良性和可信的。

与此同时,其他研究人员预测,机器学习最终可能会被用来“根据实验室中检测到的内容,随时修改代码”,这是对多态恶意软件的扩展。

2. 组建智能僵尸网络发动大规模攻击

Fortinet曾认为,2018年会是自学习“蜂巢网络(Hivenets)”和“集群机器人(swarmbots)”的一年,这实质上标志着“智能”物联网设备可以被攻击者操纵,针对易受攻击的系统实施大规模攻击。Fortinet全球安全策略师Derek Manky表示,

“它们将能够相互交流,并根据共享的当地情报采取行动。此外, 僵尸网络会变得更为聪明,可以在无需人工操纵的情况下按照命令行事。因此,Hivenets将能够以群集的速度成倍增长,扩大其同时攻击多个受害者的能力,并显着阻碍防守方的缓解和响应行为。”

有趣的是,Manky说这些攻击还没有使用swarm技术,这项技术可以使这些Hivenet从他们过去的行为中自我学习。作为人工智能的一个子领域,swarm技术被定义为“分散的、自组织的系统,自然的或人造的集体行为”,现在已经用于无人机和新兴的机器人设备中。(编者按:虽然是未来派的小说,但有些人可以从《黑镜》“全网公敌(Hated in The Nation)”一集所提到的swarm技术的犯罪可能性中得出结论,在这一集中,成千上万的自动化蜜蜂因监视和物理攻击而受到损害。)

3. 先进的鱼叉式网络钓鱼邮件变得更聪明

对抗性机器学习的一个更明显的应用,是使用诸如文本到语音转换、语音识别和自然语言处理(NLP)之类的算法来实现更智能 的社会工程。毕竟,通过循环神经网络(recurrent neural network),你已经可以形成这样的软件写作风格,所以理论上钓鱼邮件可以变得更加复杂和可信。

特别是,机器学习可以促进高级鱼叉式网络钓鱼电子邮件瞄准高价值目标,同时自动化整个流程。系统可以接受真正的电子邮件培训,并学会制作外观和内容都令人信服的邮件。

迈克菲实验室曾预测称,网络犯罪分子将越来越多地利用机器学习来分析大量被盗记录,以识别潜在的受害者,并能够针对这些目标受害者构建非常有效的且内容详尽的电子邮件。

此外,在Black Hat USA 2016会议上,John Seymour和Philip Tully还发表了一篇名为《社会工程数据科学的武器化:Twitter上的自动化E2E鱼叉式网络钓鱼》的论文,该论文提出了一种循环神经网络的概念,通过这种循环神经网络可以学习如何向特定用户发布网络钓鱼信息。在该论文中,他们还提出了SNAP_R神经网络,该网络是经过鱼叉式攻击钓鱼渗透测试数据训练的,可以动态的从目标用户时间线帖子(以及他们发送或者关注的用户)中获取主题,以增加潜在受害者触发链接的可能性。

随后的测试表明,这个系统非常有效。在涉及90个用户的测试中,该框架的成功率在30%到60%之间变化,这对于手动鱼叉式网络钓鱼和群发钓鱼的结果有了相当大的改进。

4. 威胁情报“噪声层”增加

在机器学习方面, 威胁情报可以说是喜忧参半。一方面,人们普遍认为,在误报时代,机器学习系统将有助于分析人员识别来自多个系统的真实威胁。Recorded Future首席技术官兼联合创始人StaffanTruvé在一份白皮书中表示,

“应用机器学习在威胁情报领域取得了两项重大进展。首先,处理和构建如此庞大的数据量,包括分析其中的复杂关系,是一个几乎不可能仅靠人力就能解决的问题。用更有能力的人来训练机器,就意味着你可以比以往任何时候都更有效地发现并应对新出现的威胁。其次就是自动化——让机器承担人类可以毫无问题地完成的任务,并利用这项技术将数量处理量扩展到更大的规模。”

但是,也有人认为犯罪分子会再次适应这些警报。迈克菲的Grobman之前曾指出过一种被称为“提高噪声层”(raising the noise floor)的技术。黑客会利用这种技术来轰击环境,从而对常见的机器学习模型产生大量的误报。一旦目标重新校准其系统以滤除误报,攻击者就可以通过机器学习系统发起真正的攻击。

5. 未经授权的访问

2012年,研究人员Claudia Cruz、Fernando Uceda和Leobardo Reyes 发表了一个利用机器学习发动安全攻击的早期例子。他们使用支持向量机(support vector machines,简称SVM)来打破在reCAPTCHA图像上运行的系统,精度为82%。随后所有验证码机制得到改进,只有研究人员使用深度学习才能再次打破验证码。2016年,他们又发表了一篇文章,详细介绍了如何使用深度学习以92%的准确率打破简单验证码。

另外,2017年 BlackHat 大会上的《我是机器人(I am Robot)》研究揭示了研究人员如何打破最新的语义图像CAPTCHA,并比较了各种机器学习算法。该论文承诺打破Google的reCAPTCHA准确率为98%。

6. 投毒机器学习引擎

一种更简单且有效的技术是,用于检测恶意软件的机器学习引擎可能会被毒害,使其失效,就像过去犯罪分子对反病毒引擎所做的一样。这听起来很简单;机器学习模型从输入数据中学习,如果该数据池中毒,那么输出也会中毒。来自纽约大学的研究人员展示了卷积神经网络(CNN)如何能够通过CNN(如Google、微软和AWS)产生这些错误(但受控的)结果。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34817
 
642 次点击