查看原文
其他

霸榜 GitHub,破解神经网络、攻击 GPU,AI 黑客教程来了!

GitHubDaily 2019-12-27

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!


转自机器之心 ,参与一鸣

深度学习的广泛使用也让很多黑客跃跃欲试,想利用 AI 的弱点发起攻击。本项目总结了很多相关的方法和经验,用于教学示范,目前已登 GitHub 热榜,今天获得了 200 多赞。

随着深度学习的发展,各行各业都在考虑将相关新技术引入业务场景中,网络安全领域也不例外。
近一段时间以来,很多网络安全公司都尝试用神经网络去检测病毒、发现程序后门等,而一些数据公司也使用了神经网络发现和检测恶意爬虫程序。但是,神经网络真的在软件层面上是安全吗?
今日的 GitHub 趋势榜上有一个「骇入神经网络指南」项目。作者提供了一系列教学资料和代码,告诉了我们黑客会怎样对神经网络发起攻击。和对抗样本攻击不同,这些攻击都是从软件层面进行的,和使用对抗样本混淆模型能力的攻击不同。


项目地址:https://github.com/Kayzaks/HackingNeuralNetworks


安全攻防战蔓延到 AI


在项目中,作者主要介绍了几种利用神经网络弱点对其发动攻击的方法,包括从使用神经网络的应用中找到漏洞,进行信息窃取、恶意程序注入和后门入侵等。此外还有利用深度学习训练中的内存加速,从 GPU 攻入系统的方法。项目具体分为多个章节,每个章节都提供了对应的代码和练习教程。除此以外,作者还提供了一篇文章,详细介绍了攻击原理和思路。


教程文章地址:https://github.com/Kayzaks/HackingNeuralNetworks/blob/master/Article.pdf


课程目录


项目分为 8 个章节,目录如下:


  1. 最后一层攻击

  2. 寻找神经网络后门

  3. 信息窃取

  4. 暴力破解

  5. 神经溢出

  6. 恶意软件注入

  7. 神经混淆

  8. 寻找漏洞

  9. 攻击 GPU


如何攻击 AI 系统


作者在教程文章中提供了一个例子:攻击使用神经网咯的虹膜识别系统。假设黑客可以部分地进入到某虹膜识别系统中,但是该系统的识别认证是由一个神经网络组成的,黑客无法获取完整代码,仅有模型文件「model.h5」,怎样才能进行攻击?


具体而言,这种 HDF5 文件几乎存储了模型所有的相关信息,包括架构和权重等。因此,作者认为修改文件中的权重等信息,特别是在模型的最后一层上。以一个二分类问题为例,模型的最后一层可能有两个神经元,正样本得到一个权重,而负样本则是另一个。黑客可以改变负样本的权重,使其也对本应当识别为陌生人的人授予进入的权利。


修改神经网络权重以改变识别结果。


此外,神经网络也可以被修改,以窃取输入数据。例如,黑客可以在网络的输入层前加入一层,让这个层根据反向传播调整自身权重(其他层不参与训练),最后根据特定的标签获得对应的层和权重。这样一来,如果需要一个能够绕过虹膜识别 AI 的数据,只需要利用这样的神经网络生成一个对应的输入即可。


研究者将一个新层加在已有层上。这时候只需要训练新层,旧层不训练。


攻击 GPU 缓存


除了这些以外,作者还谈到了如何让深度学习中使用的 GPU 发生缓存溢出,以便于获取控制系统权限的方法。在一个图像任务中,为了对图片进行预处理并分配给模型,系统可能会将图像和模型加载到 DRAM 中并使用两个不同的核进行处理。


由于预训练需要处理图像,而模型本身也很大,如果同时对两者使用全局内存(global memory),就可能使得分配给图像的内存发生溢出。溢出后,黑客就有了可以修改模型的能力。通过修改模型,则可以进一步控制整个系统。


安装依赖和使用


作者表示,本项目需要 Python 和相关依赖。项目相关代码是在 VS Code 上完成的。


具体需要的依赖包包括:


  1. Keras

  2. Numpy

  3. SciPy

  4. PyCuda

  5. NLTK 


安装后就可以使用教程了。在每个章节的代码目录中都附有具体的说明信息,读者可参考说明和代码研究实现。---以上便是今天的分享,觉得内容不错,还请点个在看,谢谢。推荐阅读:2019 最新计算机技能排名出炉:Python 排第三,第一名是...
这些项目,入选了 2019 年最佳开源软件榜单!
科技向善:全网黑客,都在帮一个脑瘫女孩破解软件!我开发了一款软件,完成了舔狗的绝地反杀(代码开源)!浓缩的精华,一本一天便能读完的 Python 开源书籍!「GitHub 交流群」已开放想入群的可在公众号后台回复「入群」

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存