中医讲究“望闻问切”。望,指观气色;闻,指听声息;问;指询问症状;切;指摸脉象。
如果我们把中医的思路,套用计算机科学上,会发生什么?
近日,法国研究机构 IRISA 的团队,发表了这样一篇论文:针对物联网设备,完全不通过物理和软件方式接入目标系统,仅通过“体外”检测其发出的电磁波,就能发现目标系统是否遭到入侵,甚至还能判别入侵的恶意软件种类,准确度高达99.82%。
| 电脑查毒,也能“望闻问切”?
首先,让我们回忆下物联网的定义:在物联网的时代,万物都能联网。而在这一概念之下,每个物体/设备,其实都是一个自主运行的计算机系统。
这些系统,从硬件、固件/软件上,都是五花八门、形态各异的。与此同时,大多数物联网设备都缺乏对于系统安全的考虑,而且它们也已投放到了越来越多关键的场景中使用,比如能源、交通、军事等——因此,物联网设备日益成为恶意软件攻击的目标。
可想而知,针对物联网设备的查毒、杀毒,成了大问题。
近日,来自法国 IRISA 的团队在计算机安全方面的学术大会 ACSAC 上发表了论文,题为《混淆揭晓:通过电磁信号甄别混淆后恶意软件种类》(Obfuscation Revealed: Leveraging Electromagnetic Signals for Obfuscated Malware Classification)。
他们的研究对象,正是物联网设备。
这支团队来自于法国计算机科学和随机系统研究院 (IRISA)、国立计算机及自动化研究院 (INRIA)、“法国版中科院” CNRS,和雷恩第一大学。
他们提出了一种全新的方式,只用一台树莓派电脑作为“探测机”,对目标系统在运行时散射出的电磁波形进行检测,从而准确地判断目标系统是在正常运转,还是已经被病毒入侵。
更厉害的是,该团队用此方法进行了大量的检测,积累了海量的数据用于训练探测机——对于三种不同类型的恶意软件,探测机都能够精准识别出其种类,准确率高达99.82%。
“我们的检测方法不需要对目标设备进行任何的调试(接入),可以轻松实现独立部署。这种方法更厉害之处,在于它无法被恶意软件本身‘反侦察’到,”论文写道,“甚至对于那些用混淆手法修改过的恶意软件,我们的方法都能够准确地识别出其代码本质、使用的遮盖方法等。”
换成我们一开始用的中医的比喻:
这就是用中医四诊里的“闻”和“切”,来给计算机“看病”,而且准确率高到不可思议,成为了一种完全可靠的计算机查毒方法。
截至2020年底,全球投入使用的物联网设备数量已经高达2000亿台,几乎折合每人26台……
这些物联网设备当中,有些只是纯粹通了电路,加了传感器,有些则有着多核的处理器,具有更强大的算力。这些物联网设备也成为了天然的黑客攻击对象——特别是那些具有完整操作系统的设备,基本上已经和我们日常使用的电脑/手机无异了,受计算机病毒和恶意软件的攻击面更大。
而如果我们想要在成千上万种功能形态配置各异的物联网设备上,运行“查毒软件”,简直太难了。
也正因此,针对物联网设备查毒的这项工作,“体外检查”成为了一个听起来特别酷炫,却还真有实际意义的重要方向。毕竟,现在一些高科技的病毒已经具备很强的“反侦察”能力,能够在被找到的时候自行摧毁或是改变形态。
论文写道:
“恶意软件无法侦测到外部对目标系统电磁波散射的测量,对于硬件级别的事件(如电磁波散射、硬件发热等)也没有控制。因此,基于硬件的保护系统无法被恶意软件反制,从而让电磁波散射探测高隐蔽性恶意软件(如内核 rootkit)成为可能。”
值得提及的是,在此之前,计算机安全领域已经有一些采用电磁波方式来探测病毒的研究了。但本文的团队指出,之前的实验环境都更简单,只是做了基本的可行性研究,没有涉及到复杂的计算机恶意软件(如变种病毒、加入混淆技术的病毒等),也无法对不同种类的恶意软件进行准确的甄别。
“我们提出的方法,能够在仅采用电磁散射作为探测方法的前提下,准确甄别真实世界里存在的,不断升级、变形的恶意软件样本。”
| 当电磁散射的“玄学”,碰上深度学习的“显学”
光靠“闻”和“切”,就能判断计算机系统是否中毒,而且还能准确识别出中了哪种毒?
对于大部分非专业人士来说,这简直是反常识的……
事实上,IRISA 团队所采用的病毒识别和检测方法,也不是真的只有电磁波检测。整个“探测机”系统虽然运行在一台树莓派单片机上,它的实际训练流程还是比较复杂的,而且也用到了当今的“显学”之一——深度学习。
整个训练过程如下:
首先是数据搜集过程。研究团队采用三种主流的恶意软件类型(DDoS 命令、勒索软件、内核 rootkit),搭配当今在计算机病毒领域一些主流的混淆方法,构建了一套包含三十种恶意软件的数据集。团队再用这些病毒入侵一台运行 Linux 操作系统的单片机,并且对系统散射出的电磁波场进行嗅探和数据记录。
值得注意的是数据集分成了三组,其中只有一组会用于训练,剩下两组均用于检测。
探测机由一台树莓派和一台示波器组成。树莓派很便宜,但出于实验准确性目的,团队采用的是高端示波器,价格贵的离谱……
然后是信号处理过程。由于目标单片机采用的是 ARM 架构多核处理器,记录下的原始电磁信号存在大量噪音,团队采用短时傅里叶变换 (STFT) 对其进行信号处理,生成频谱图,再提取信号特征,用于下一步骤的神经网络训练。
最后是训练过程。团队采用了支持向量机 (SVM)、多层感知器 (MLP)、卷积神经网络 (CNN) 等多种结构从简单到复杂的神经网络,对上一步提取的特征进行学习训练。
团队用这样的实验环境,总共收集了10万组信号特征设置进行训练,将神经网络放到探测机上进行验证。
结果令人震惊:采用多种架构训练的神经网络,在恶意软件的类型识别上均达到了超过98%的准确度。
特别是采用 CNN 训练的探测机:
识别 DDoS、勒索软件、内核 Rootkit 三种主要类型的准确度高达99.82%;
识别 gonnacry、keysniffer、maK_It、mirai 和 bashlite 等五种恶意软件家族的准确度高达99.61%;
识别虚假控制流、指令集替换、虚拟化等七种代码混淆方式,准确度高达82.70%,显著优于随机猜测的14.29%;
对于从未在训练数据集中出现的新恶意软件家族,准确度高达98.85%。
通过这项前所未有的实验,IRISA 团队在计算机系统的旁路恶意软件检测上取得了前所未有的成绩。
他们证明了这种查毒方式真的非常好用,对于此前不存在的恶意软件变种,具有极高的甄别能力,并且对于各种复杂混淆技术的耐受性非常强。
更重要的是,这种旁路检测手段,对于目标系统完全没有任何侵入和修改。恶意软件的反侦察能力再强,也拿它没招……
早在2016年,恶意软件 mirai 就已经引发过一场病毒“海啸”,感染了数十万个路由器、摄像头、打印机等物联网设备,形成大规模“僵尸”网络,进而导致多次全球级别的互联网服务崩溃事故。
在2020年,物联网设备的数量首次超过非物联网。一些权威机构更是预计,全球物联网设备将在2025年达到300亿台。展望未来,物联网恶意软件对于人类社会运转的威胁程度将不断提高。
而对抗物联网病毒,我们需要两手抓:设备投放使用前的安全设计达标,和设备投放使用后的有效查/杀技术。
对于前者,算力成本一直是个迈不过去的坎。而对于后者,至少现在我们手里已经有一种武器了。
本文来自微信公众号“硅星人”