探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?( 二 )


光是掌握这些基本“疾病”还不够,AI还得学会识破恶意软件的进一步“伪装”。
例如,混淆技术 (Obfuscation)就是比较常见的恶意软件伪装方法。

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
这种方法有意让代码模糊不清,从而使逆向工程变得困难,原本是一种用于保护含有IP价值的程序。但后来却被黑客反向用来削弱杀毒软件,以逃脱其追捕。
据此,研究人员利用混淆技术对恶意软件进行了进一步“升级”,再加入数据集中。
其中,就包括采用静态代码重写(不透明谓词、假控制流、指令替换、控制流扁平化)和动态代码重写(打包器、代码虚拟化)等方式,对数据进行处理。
另一方面,除了恶意软件数据以外,AI还得知道正常情况下的信号数据。
所以除了恶意的“病毒数据库”,开发者还准备了一个良性数据集,以模拟真实场景中“随机突发”的病毒入侵事件。
哪些算是良性数据呢?
比如计算、设备睡眠、照片捕捉、网络工作连接,以及像是媒体播放这种长时间的可执行程序运行。

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
由于树莓派部署了一个Linux 4.19.57-v7 ARM v7l的Raspbian Buster操作系统,开发者就从新安装的Linux系统中收集ARM可执行文件,以此生成良性数据集。
在整个过程中,研究人员一共收集了100000份电磁波数据,用于训练AI。
但这些数据在交给AI用于训练之前,还需要经过一些处理,从收集数据到完成训练一共分成三步。
采用时频域分析降低噪声影响首先,部署数据收集装置,收集信号数据。

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
这个数据收集装置分为被攻击设备和示波器两部分,其中树莓派是被攻击设备,高速数字转换器PicoScope 6407(示波器)用于采集和传输数据。
部署好的数据收集装置如下,其中PicoScope 6407的探针(EM probe)会被放在树莓派上,用于收集信号:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
然后,对数据进行预处理。

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
由于收集到的电磁波信号伴随大量噪音,因此需要将收集到的信号数据进行时域和频域分析,进行特征采集:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
最后,用这些数据训练AI。
为了选出最适合这项实验的AI,研究人员分别训练了SVM、NB、MLP和CNN四种类型的网络:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
最后他们发现MLP和CNN是最棒的:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
其中CNN还要更好一点,具体模型的架构如下:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
训练结果如下,其中1963份良性数据(benign)中,只有1个被误测为DDoS;Rootkit类型的恶意软件数据全部被正确识别;DDoS和Ransomware的识别效果也不错:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
当然,除了单独的恶意软件类型以外,采用混淆技术后模型分类的效果也依旧不错。
整套流程的逻辑如下:

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?
文章插图
其中,树莓派代表的是“被攻击设备”,示波器用探针在外部收集电磁信号后,传给AI进行预测,AI再将预测结果反馈给防火墙,决定是否要拦截恶意软件。

推荐阅读