危机纪年第8年,正准备进入冬眠的面壁者罗辑感染了时下流行的“轻流感”。
一开始,他的症状和别人差不多,流鼻涕、嗓子疼。
可是两天后,情况变得不一样起来,罗辑开始发烧,到了夜里,病情更是急剧恶化,呕吐、吐血等等症状相继出现。
到第二天凌晨,他休克了,嘴唇发紫,身上几乎看不到生命迹象。
——《三体II 黑暗森林》
如果你还对《三体》有印象,大概记得这个名叫“基因导弹”的暗杀武器。它可以大范围散布,对一般人影响极其轻微,但是,一旦它识别出了暗杀目标的基因特征,就会在这个人的血液中制造致命毒素。
在计算机的世界里,也有这样的病毒。
今天,IBM研究院在计算机安全大会BlackHat上展示了他们制造的恶意软件:DeepLocker。
这个恶意软件运用AI来识别攻击对象,有针对性地发作。而在目标出现之前,它只会藏身在普通的软件之中默默休眠,几乎没有一个病毒该有的特征,隐蔽性极强。
人脸识别、地理信息、语音识别、全方位数据分析等等方式,都可以用来锁定攻击目标。
也就是说,这是一个可能只有你自己会中招的电脑病毒。
IBM说,他们制造这个AI病毒,是为了研究AI在危险分子手里会被拿来干什么坏事。
箱子里的WannaCry
为了展示DeepLocker的能力,IBM设计了一个概念验证测试:
把大名鼎鼎的WannaCry,藏到一个普普通通的视频会议软件里,让它在认出某个人的脸时解锁、执行。
WannaCry去年5月爆发,被称作“自熊猫烧香以来影响力最大的病毒之一”,影响了至少150个国家、30万名用户,造成损失80亿美元。被感染的电脑会锁定,弹出一个索要比特币的对话框。
原本的WannaCry利用Windows系统漏洞传播,打上安全补丁就可以有效防范。
而藏在视频会议软件里的WannaCry就不一样了:用户会主动下载安装使用,在攻击发动之前,就算感染了全世界的电脑,也是无声无息。
有多少人用这个软件来开视频会议,DeepLocker就能看见多少人的脸。然后,它会在帮人开会的过程中,悄悄将人脸输入到自己的AI模型里进行识别,除此之外毫无异常。
如果攻击目标出现在视频会议之中,异常立刻就来了。DeepLocker识别出目标,就会启动WannaCry。
在这个测试里,DeepLocker就是锁着WannaCry的箱子,而攻击目标的脸,就是它的钥匙。
道高一尺,魔高一丈
既然想用强大的病毒,为什么还要把它锁进箱子里呢?
做好隐蔽工作,能让病毒更广泛地传播,更有效地骗过所有人、所有防火墙的眼睛,渗透到那些防范严密的地方。
纵观计算机病毒的发展历程,可谓道高一尺,魔高一丈,帮病毒伪装成安全无害的样子,蒙混到各种系统之中的方法,层出不穷。
上世纪80年代的病毒还很单纯,通过改变有效载荷,隐藏在程序中,迷惑系统放他进门;随后,反病毒行业炼成了分析混淆代码的能力,可以推断出这种病毒的恶意意图。
90年代,恶意软件作者们开始给恶意负载加密来蒙混过关,让恶意代码只有在被解密到内存中、即将执行的时候才能检测到;反病毒行业祭出了虚拟运行软件、让病毒暴露本质的沙盒。
2000年之后,杀毒软件普及,为了想逃过沙盒的检查,有了检测到自己在虚拟环境中就停止执行的病毒;
而在目前的2010年代,病毒已经不再针对所有电脑“大杀特杀”了,而是通过对目标属性的检测,找出攻击目标,仅仅对设定的目标发动攻击。
名盛一时的“震网”(Stuxnet)就是这样。它在全球范围传播,感染了伊朗60%的个人电脑,却不发动全面的攻击。
专家认为,这个病毒的目标是伊朗的铀浓缩设备,只有遇到西门子SIMATICWinCC监控与数据采集 (SCADA)系统,才会发起攻击。
就像一个藏身于角落的狙击手。
今天的DeepLocker,运用AI把病毒的针对性和隐蔽性又提升了一个等级。
病毒怎么认出攻击目标?
IBM做出的这个DeepLocker,是一个只攻击特定人员的计算机病毒。
搭载了人工智能模型的DeepLocker,可以将正常的应用、病毒、和目标属性组合在一起,拼成一个看起来人兽无害的“乖乖女”,无论用静态、动态还是手动分析的方法来分析这只“乖乖女”,系统都无法监测出有什么问题。
但是,当“乖乖女”碰到不同的用户,她却表现出了不同的样子:
碰到不符合目标属性的用户,“乖乖女”不把他当做攻击目标,就变成了一个外表美丽、内心邪恶的“绿茶婊”,表现出正常的样子,;
可是如果她碰到了符合目标属性的用户,“乖乖女”分分钟变成了“女魔王”,露出一脸恶毒样,开始大肆攻击她的设定目标。
如此一来,正是那些不符合目标属性的“无知用户”的纵容,让“乖乖女”更容易传播,有机会接近目标用户,使目标用户中招。
而病毒又是怎样去识别目标的呢?
前文提到的攻击铀浓缩设施的震网是用的传统的“if…else”结构,如果发现系统中安装了西门子的STEP7,就启动攻击。
而AI时代的目标属性识别则采取了复杂的DNN结构,通过DNN来判断多个维度的目标属性,在DNN判断为符合时,病毒启动攻击。
而能让DNN来识别的目标属性则很多,可以是摄像头拍下的用户照片,也可以是用户行为,还可以是用户的地理位置、活动信息、软硬件特征等多种因素。
比如人脸识别。
就像之前那个把WannaCry藏在视频会议软件中的例子一样,当DNN判断出,电脑摄像头前的人是某个特定的目标人物时,就会启动攻击。
所以,计算机病毒是否攻击你也要看脸了,那些“看一眼,电脑就炸”的电子设备杀手们,可能只是长得比较像病毒的攻击目标。
目标属性和密匙被加密到了DNN中。
首先,将目标属性和密匙集成在DNN中,密匙将病毒加密到隐藏的有效载荷中。
而后,当DNN检测到符合属性的目标时,通过恢复钥匙,将隐藏的有效载荷中的病毒解密出来。
而钥匙本身,就是符合属性的目标。
以人脸为例,当系统检测到人脸时,根据面部特征生成高位人脸特征,之后通过钥匙生成模型,将特征转化为一串密码。如果密码正确,也就是说人脸符合目标属性,病毒就会被放出来。
DeepLocker的优越性在于,一方面不会显示程序正在寻找的内容,比如人脸、组织或环境特征,隐藏它在寻找的人;另一方面,DeepLocker会完全伪装成人畜无害的样子,隐瞒程序的恶意用途,收起自身的锋芒。
背后的科学家们
现在,我们来介绍一下这项研究的作者。
一作Dhilung Kirat,IBM汤姆斯沃森研究中心科学家,出生在尼泊尔。除了做研究之外,他还是一名业余摄影师。
别的科学家的主页都是论文,他的主页打开之后,画风是这样:
这样:
这样:
简直不要太美丽。
二作Jiyong Jang也是汤姆斯沃森研究中心的亚裔科学家,本科和硕士毕业于韩国延世大学,后来去了CMU读博。
最后一位作者Marc Ph. Stoecklin,IBM认知安全和网络情报团队的负责人,曾就读于洛桑理工学院和瑞士联邦理工学院。
原文发布时间为:2018-08-10
本文作者:郭一璞 夏乙 发自 凹非寺