第8章 恶意程序检测

北京时间2017年5月12日,一款名为“WannaCry”的勒索软件在全球范围内爆发,造成极大影响。此次爆发的“WannaCry”勒索软件来自“永恒之蓝”(EternalBlue),主要利用微软Windows操作系统的MS17-010漏洞进行自动传播。相关数据显示,每小时攻击次数高达4000余次。“永恒之蓝”是一种特洛伊加密软件,利用Windows操作系统在445端口的安全漏洞潜入电脑,对多种文件类型加密并添加.onion后缀,使用户无法打开。百余个国家和地区的政府、电力、电信、医疗机构等重要信息系统及个人电脑遭受到严重的网络攻击,最严重区域集中在北美、欧洲、澳洲等(见图8-1)。截至目前,全球攻击案例超过75000个。从受攻击目标类型与地域分布来看,此次攻击未表现出显著的地域与行业分布特点,与“WannaCry”随机扫描传播机制一致,攻击无明显指向性和目标性 [1]

图8-1 被勒索软件感染的机场显示屏

勒索软件是恶意程序中的蠕虫的一种,常见的恶意程序包括木马、病毒、蠕虫等。网络蠕虫程序是一种使用网络连接从一个系统传播到另一个系统的感染病毒程序。一旦这种程序在系统中被激活,网络蠕虫可以表现得像计算机病毒或细菌,或者可以注入特洛伊木马程序,或者进行任何次数的破坏或毁灭行动。传播的途径常见的有系统漏洞、系统弱密码、电子邮件、IM中的恶意链接等。

常见的恶意程序识别方法主要静态文件特征码、高危动态行为特征等,随着恶意程序的指数级增长,传统的基于规则的检测技术已经难以覆盖全部恶意程序,终端安全厂商将大量的人力物力投入到使用沙箱以及机器学习技术上,希望可以有效提高恶意程序的识别能力。

本章将介绍PE(Protable Executable)文件的基础知识以及基于机器学习的恶意程序检测,本章涉及的代码在本书的GitHub下的code/gym-malware,代码参考了Endgame公司的开源实现:

https://github.com/endgameinc/gym-malware

本章同时也可以作为学习使用强化学习提高恶意程序检测能力的基础知识。

[1] http://www.freebuf.com/news/134624.html