DonFJ、蒋宝尚编译

人工智能黑暗面

机器学习是现在大家都打了鸡血想用或者在用的技术。

但是,你以为只有好人能用它吗?Too young too simple!

接下来,我将揭秘AI技术黑暗的一面——犯罪份子和人工智能的孽缘。

当计算科学发展的不够完善,还没能解决启发式问题的时候,很多安全问题都是利用规则来解决的,这些规则都是“死”的。

那时候没人觉得计算机能够破解密码、读出来验证码内容或者掌握马路交通的规律。但是现在,人工智能发展极快,老掉牙的基于规则的安全保障系统轻而易举的就被AI秒成渣。

验证码和AI的不解情缘

当我们上网的时候,最烦的就是验证码,它老是来让你填。这是计算机在确定你却是是个“大活人”,而不是一个程序在恶意攻击访问它。

这样做是因为咱们人类用户通过鼠标键盘访问某个网站或资源的这个操作,计算机都能用一段程序来同样做到。

比如说,当你连续三次在登陆Facebook的时候输错密码,网站肯定会跳出来一个验证码来确定你是个活人而不是恶意暴力破解密码的程序(当然了,我会首先想到梯子被踹了)。Facebook还有很多公司的服务器都是这种安全措施,而这种安全措施都是用验证码的,比如常见的验证码长成这样:

多年以来,验证码都能有效的区分恶意攻击代码还有人类用户。但是现在聪明AI时代到来了,验证码在它面前仿佛就是送分题。

CNN(卷积神经网络)就是一个很简单的技术来破解验证码,只要你能给他大量的验证码学习数据集。每张验证码都有一个特定的目标,识别文字或者识别物体之类的。

但是,这些问题在CNN面前都将形同虚设。上述说的只是一个简单的栗子,没太多的技术术语,只要知道简单的神经网络的原理就能看懂。

既然验证码的保护都不起作用了,暴力破解的威胁就更可怕了。你也许会说,我看到过更难的那种验证码,就是从一堆图片里找出个公交车或者找出路牌儿之类的那种(你肯定没少上Youtube!) 。但其实,它们对于AI来说也不难,你肯定听说过谷歌大法的目标检测有多伟大,虽然谷歌仅仅把它作为搜索引擎的一个基础功能来用。

GAN和密码的那些事

注:GAN = Generative Adversarial Networks,读音:干!翻译是对抗生成网络。

咱们的密码一般不会设的特别奇怪,长这样的毕竟是少类: 5f2#V0”P?oz3(几乎就是异类了)。

差不多咱们的密码都长成这样:kronebourg1664,名字加数字大小写什么好记还好输入。

当然了,也有少部分不怕死的这么设密码:password(肯定老被盗)。

对于猜到第一种密码,我天,太难了,不论是对人脑来说还是对一块GTX 1080 GPU来说都太难猜中了(GTX 1080是一块英伟达家的GPU,不只是能用来玩游戏,现在更多人用来跑深度学习工程)。

但是其他的密码嘛,相对来说就容易一些了。所以我们怎么猜这些密码呢?最简单的方法就是翻一本厚厚的字典,然后将每个单词都当成密码去试。这种情况下如果你也就能猜中用“password”当密码的童鞋了。

什么?你真的拿“password”当密码?哥们儿,英语不错呀,你怎么不试试拼音“mima”当密码?赶紧换一个靠谱的吧……

现在,来点高科技的,用AI来猜你的密码。你以为AI还会翻字典?当然不是,神经网络会自己产生一大堆密码候选项。我们就用这堆候选来攻破你的密码。很玄幻?读一读PassGAN这篇文章吧,下面这个图讲了这堆候选项是怎么产生的。

PassGAN:A Deep Learning Approach for Password Guessing的arxiv链接是:https://arxiv.org/abs/1709.00440

就算你对神经网络很熟,这篇论文可能看起来也不是那么轻松。 这不是简单的通过输入来预测结果,它是先从数据里面学习数据的特点,然后让生成器生成一些具有类似特点的样本出来的特殊网络结构。

专业上叫Generative Adversarial Network(对抗生成网络,一般简写成GAN,提出GAN的就是那个写深度学习花书的大神古德菲洛)。GAN里面包括了两个神经网络,一个生成器和一个检查器。

检查器用于检验输入的数据是否合理,生成器用于来回折腾演化自己让生成的数据能在检查器眼皮子底下蒙混过关。

译者注:这里有个链接,我觉得可以不加,因为就是在一个门户里搜了一下神经网络关键词的结果,毫无营养……然后那个啥,GAN的解释我没用原文,因为太枯燥了怕别人看不懂,我就结合自己的认识写了一个,如果翻译的不好的话再联系我翻译这句。

为了使用PassGAN,我们要有一个不知道哪儿来的真实的密码数据集(也许是某东某讯某度泄漏的?)。从这个数据集里起码能知道人们真正使用的数据集大概长成什么样。一般就是有一些大写字母,一些日期,一些随机的数字,一些名字之类的。

然后呢,我们要用到一个噪声产生器,就是生成一些随机数用的。噪声产生器和密码数据集就是咱们神经网络模型的输入了。

网络的输出就是二分类值,也就是说在有监督训练的时候,网络模型会被告诉说这个密码是真实的还是假的。

在每次神经网络前向传递的时候,网络的输出都会跟真实的标签值进行比较,然后带着这个误差值反向传递回去迭代修改网络的权重。生成器也会跟着模型的训练而成长,因为随着网络模型变化,生成器根据噪声所产生的结果也越接近真实的密码。

当生成器训练完毕之后,之后我们再输入一个噪声,网络就能输出一个特别真实的密码。所以我们只要让PassGAN运行几个小时,就能得到一堆密码候选项了。

AI和网络钓鱼的那些事儿

钓鱼是很常见的黑客技术。你肯定收到过一些看着不太对劲的邮件,自称是银行、移动联通或者微博的人。然后邮件里面还给你一个链接,跳到一个能让你中毒的网页。

想做这样一个钓鱼邮件,你只要照着Facebook或者什么其他大公司的邮件样式外观和语言仿造一封即可。然后又见里面说你的软件得更新,或者点开看看这里有什么惊喜,或者让你填写登陆信息等。

简单粗暴还老套。不论你写了什么,结果都会被发送到不法分子的服务器上。先不说这个,AI是怎么跟钓鱼勾搭上的?

机器学习里面有个利器叫爬虫,它能通过爬取目标网站的各种信息来改进钓鱼技术。通过爬虫保存下来的数据,黑客们能够学习到这些网站的外观,还有文字书写的风格,然后据此产出大量的假邮件然后大规模发送。但是有邮件不知道往哪儿发也是个问题。所以聪明的黑客还能通过前面咱们说的GAN技术来猜测邮件地址,这就增加了让人上当的机会。

有的童鞋可能说了,现在我们用的邮箱里面都有反钓鱼的安全措施~安全的很。但悲剧的是,现在的机器学习已经知道怎么产生能够通过钓鱼检查的钓鱼邮件了!

训练集是这样婶儿的,一大堆邮件,一些邮件是被反钓鱼拦住的,还有一些是能成功发送的。然后我们就能据此训练处一个神经网络模型,来知道钓鱼算法是怎么检测的。在不久的将来,钓鱼邮件也许都是这种反钓鱼巨网下的“漏网之鱼”。

详情请戳这篇DeepPhish论文:https://albahnsen.com/wp-content/uploads/2018/05/deepphish-simulating-malicious-ai_submitted.pdf

咳咳,总结一下

好消息是,目前只有三种被AI攻克的安全领域。坏消息是,还有巨多的场景正面临着AI黑客的威胁,比如诈骗广告等。但是我相信AI在合法的领域中应用所带来的好处要远大于不法之徒将它们用于作恶上的坏处。

其实,挺讽刺的,现在有很多将人工智能用于侦破犯罪活动的案例,从街头的巡查到网络诈骗都有所设计。最后总结一下:

1.如果你觉的自己的密码能让GAN给猜到的话,赶紧换个密码吧,比如wenzhaizhenshuai就很不错(因为没人觉得文摘菌帅,所以GAN学不到这个信息)。

2.别点开不知道谁发给你的链接,除非你十分确定发邮件的人没问题;

3.千万别用AI做恶呀!

相关报道:https://medium.com/predict/a-technical-look-at-how-criminals-use-ai-4080f2e325a9

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

产业密码爬虫GAN网络安全
2
相关数据
来也机构

「来也」是国内领先的人工智能交互平台,由常春藤盟校(Ivy League)归国博士和MBA团队发起,核心技术涵盖自然语言处理(NLP)、多轮对话控制和个性化推荐系统等。公司已获得数十项专利和国家高新技术企业认证。 来也的愿景是通过AI赋能,让每个人拥有助理。C 端产品小来是智能化的在线助理,通过业内创新的AI+Hi模式,提供日程、打车、咖啡、差旅和个性化查询等三十余项技能(覆盖400w用户和数十万服务者),让用户用自然语言发起需求并得到高效的满足。B端品牌吾来输出知识型的交互机器人和智能客户沟通系统,帮助各领域企业客户打造行业助理。目前已经在母婴,商旅,金融和汽车等行业的标杆企业实现商业化落地。

https://www.laiye.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

推荐文章
暂无评论
暂无评论~