不安装任何杀毒软件|ai如何识破恶意软件?( 二 )


光是掌握这些基本“疾病”还不够 , AI还得学会识破恶意软件的进一步“伪装” 。
例如 , 混淆技术(Obfuscation)就是比较常见的恶意软件伪装方法 。
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
这种方法有意让代码模糊不清 , 从而使逆向工程变得困难 , 原本是一种用于保护含有IP价值的程序 。 但后来却被黑客反向用来削弱杀毒软件 , 以逃脱其追捕 。
据此 , 研究人员利用混淆技术对恶意软件进行了进一步“升级” , 再加入数据集中 。
其中 , 就包括采用静态代码重写(不透明谓词、假控制流、指令替换、控制流扁平化)和动态代码重写(打包器、代码虚拟化)等方式 , 对数据进行处理 。
另一方面 , 除了恶意软件数据以外 , AI还得知道正常情况下的信号数据 。
所以除了恶意的“病毒数据库” , 开发者还准备了一个良性数据集 , 以模拟真实场景中“随机突发”的病毒入侵事件 。
哪些算是良性数据呢?
比如计算、设备睡眠、照片捕捉、网络工作连接 , 以及像是媒体播放这种长时间的可执行程序运行 。
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
由于树莓派部署了一个Linux4.19.57-v7ARMv7l的RaspbianBuster操作系统 , 开发者就从新安装的Linux系统中收集ARM可执行文件 , 以此生成良性数据集 。
在整个过程中 , 研究人员一共收集了100000份电磁波数据 , 用于训练AI 。
但这些数据在交给AI用于训练之前 , 还需要经过一些处理 , 从收集数据到完成训练一共分成三步 。
采用时频域分析降低噪声影响
首先 , 部署数据收集装置 , 收集信号数据 。
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
这个数据收集装置分为被攻击设备和示波器两部分 , 其中树莓派是被攻击设备 , 高速数字转换器PicoScope6407(示波器)用于采集和传输数据 。
部署好的数据收集装置如下 , 其中PicoScope6407的探针(EMprobe)会被放在树莓派上 , 用于收集信号:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
然后 , 对数据进行预处理 。
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
由于收集到的电磁波信号伴随大量噪音 , 因此需要将收集到的信号数据进行时域和频域分析 , 进行特征采集:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
最后 , 用这些数据训练AI 。
为了选出最适合这项实验的AI , 研究人员分别训练了SVM、NB、MLP和CNN四种类型的网络:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
最后他们发现MLP和CNN是最棒的:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
其中CNN还要更好一点 , 具体模型的架构如下:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
训练结果如下 , 其中1963份良性数据(benign)中 , 只有1个被误测为DDoS;Rootkit类型的恶意软件数据全部被正确识别;DDoS和Ransomware的识别效果也不错:
不安装任何杀毒软件|ai如何识破恶意软件?
文章图片
当然 , 除了单独的恶意软件类型以外 , 采用混淆技术后模型分类的效果也依旧不错 。
整套流程的逻辑如下:
不安装任何杀毒软件|ai如何识破恶意软件?