2019年9月Journal of Cyber Security
September, 2019
基于恶意代码传播日志的网络安全态势分析
王琴琴 ' 周昊3,严寒冰1
梅瑞5
韩志辉3
1中国科学院信息工程研究所第二研究室北京中国100093 2中国科学院大学网络空间安全学院北京中国100049 3国家计算机网络应急技术处理协调中心北京中国100029
摘要网络安全态势一直是网络安全从业人员的关注点。本文基于2018年10月至2019年3月的我国恶意代码的传播日志,利
用恶意代码的静态特征、动态特征及其传播特征对网络态势进行分析。然后基于社区发现算法,对其中传播最广泛的Mirai家 族程序构成的网络进行团伙发现,结果表明,社区发现算法能够将Mirai网络识别为多个社区,社区间的域名资源具有明显的差
异性,社区内域名资源具有相似性。
关键词网络安全态势;恶意代码传播;Mirai;社区发现算法中图法分类号 TP309.5 DOI 号 10.19363/J.cnki.cnl0-1380/tn.2019.09.02
Cyber Security Posture Analysis based on
Spread Logs of Malware
WANG Qinqin1’2, ZHOU Hao3, YAN Hanbing1’3, MEI Rui1’2, HAN Zhihui3
1 The 2nd Laboratory, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China
2 School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100049, China
3National Computer Network Emergency Response Technical Team/Coordination Center of China (CNCERT/CC), Beijing 100029, China
Abstract The cyber security posture has always been the focus of network security practitioners. This paper collects spread logs of malware in China from October 2018 to March 2019, and then analyzes cyber security posture from the static and dynamic characteristics of malicious files, as well as the propagation characteristics. Moreover, based on the community discovery algorithm, the paper makes a gang discovery on the network composed of the most widely spread Mirai family programs. The results show that the community discovery algorithm can identify the Mirai network as multiple communities. Domain names between communities have significant differences, and domain names within the same community have similarities.
Key words cyber security posture; spread logs of malware; Mirai; community discovery algorithm
i
引言
去探索网络安全状况的具体细节,并提出了基于社 区发现算法的团伙发现方法。我们基于CNCERT的 2018年,CNCERT全年捕获计算机恶意程序样
恶意代码数据,对数据中的程序做恶意性检测,从 本数量超过1亿个,涉及计算机恶意程序家族51万 恶意代码传播来了解网络状况,以多个维度特征来 余个,较2017年增加8132个。全年计算机恶意程序 描述网络态势,利用社区发现算法来探索Mirai网络 传播次数日均达500万余次[1]。
的团伙发现。
上文CNCERT的报告附录中,从恶意程序、安 随着网络和通信技术的发展,人们越来越关注 全漏洞、拒绝服务攻击、网络安全、工业互联网安 网络安全。网络安全通常由网络系统生成、发起或 全、互联网金融安全等方面描述了 2018年的网络安 者提取的相关数据反映出来[2]。安全相关数据具有 全概况,这与本文所做的工作有相似之处。报告是对 5V(大量(Volume)、多样(Variety)、低价值密度(Value)、 网络安全的全局概览,本文从传播的恶意代码着手,
高速(Velocity)、真实(Veracity))特征,这在数据采
通讯作者:严寒冰,博士,正高级工程师,Email: yhb@cert.org.cn。本课题得到国家自然科学基金重点项目(NO.U1736218)和科技部重大专项(NO.2018YFB0804704)资助。
收稿日期:2019-05-21;修改日期:2019-08-13;定稿日期:2019-08-20
王琴琴等:基于恶意代码传播日志的网络安全态势分析
15
集[5^,25]方面造成巨大挑战[4]。网络安全数据多 样体现在用来反映网络安全的数据范围是多样的, 包括完整内容数据、会话数据、元数据、日志数据、 告警数据等。
本文是从传播的恶意代码来对网络安全态势进 行分析,与本文具有相同意义的文章很多,例如网 络测量工作、网络态势感知等相关工作,这些文章 都是通过数据来对网络安全进行刻画和描述。Cozzi 等人[18]对Linux系统下的恶意程序进行测量和分析, 去探索Linux恶意程序的偏好和特点。本文受这篇 文章启发实现了对传播恶意代码的特征测量和 分析。
由于网络数据规模很庞大,如何高效地挖掘复 杂网络中有意义的信息,是本文研究的另一个重点。 复杂网络社区发现方法的研究对分析复杂网络的拓 扑结构和层次结构,理解社区的形成过程,预测复 杂网络的动态变化,发现复杂网络中蕴含的规律特 征具有十分重要的意义。已有一些文章将社区发现 应用于互联网网络分析与聚类,以及社会组织结构 网络分析[19]中。周瑞等人[M]将社区发现应用到Web 网络,探索Web网络结构、功能,发现规律并预测行 为。朱天等人[3]发明一种基于网络攻击伴随行为的
的算法,将社区发现问题定义为优化问题,然后搜 索目标值最优的社区结构,算法结果稳定。本文选用 了模块度优化算法中的Fast Newman算法,也称作
Fast Greedy算法来探索网络结构。
本文研究目的是探索网络安全态势,网络安全 态势需要考虑各方面的安全因素,从整体上反应安 全状况。我们通过对网络上传播的恶意代码进行研 究,以探索网络安全态势。本文主要的贡献包括:1、 通过对传播恶意代码的多个维度分析,将网络安全 状况进行了全局的展示,揭露出网络面临的主要威 胁、恶意代码的流行趋势、恶意代码的传播特点等 等;2、针对影响网络最广泛的Mirai恶意程序,我们 进行了 Mirai网络结构的探索,在这个过程中应用社 区发现算法进行Mirai攻击团伙的发现,这是对网络 主流威胁的理解和分析。
首先记录恶意代码的传播日志作为后续研究数 据集。网络安全态势从恶意代码的特征来描述, 大体上分为恶意代码的静态特征和动态特征,以及 恶意代码的传播特征。其中恶意代码的静态特征和 动态特征具体从恶意代码的最早出现时间、文件类 型、加壳信息、恶意代码家族、API、漏洞利用等方 面进行统计分析。恶意代码传播特征从(1)恶意代码
传播量统计;(2)恶意代码感染源地区分布,以及面临 感染风险的地区分布;(3)域名和恶意代码的承载关 系,三个方面进行统计分析。数据集中传播最广泛的 恶意代码为Mirai家族代码,利用社区发现算法应用 于Mirai网络的传播中,去研究攻击团伙的特点。
文章的结构如下,第1章为引言;第2章是数据 获取和处理,描述了本文的数据集,即恶意代码传 播日志的获取和处理工作;第3章是恶意代码 特征分析,从恶意代码的静态特征和动态行为,以 及传播特征来对网络态势做出分析;第4章是基于 社区发现的攻击团伙发现,将社区发现算法应用于 Mirai网络,发现Mirai网络中攻击者的偏好;第5章 是结论,对此次研究做出了总结。
DDoS攻击群体分析方法。该方法从互联网攻击资源 出发,来发现DDoS攻击群体。因此本文将互联网攻 击资源作为团伙发现的主要依据。我们将社区发现 算法应用于团伙发现,恶意代码的传播可视作一个 复杂网络,将传播属性看作网络结点,传播记录之 间的资源共享关系看作网络的边个团伙是指资
源共享的一组结点,这和社区的意义是类似的。
,
一
本文使用社区发现算法来探索恶意代码的社区 特点。社区发现算法是将网络划分为多个社区的算 法,根据网络划分依据,大概分为四类,基于标签传 播的社区发现,基于信息论的社区发现,基于谱分 析的社区发现,以及基于模块度优化的社区发现。基 于标签传播的社区发现算法[21]目标是使得每个结点 与它的大多数邻居在同一社区中,算法简单,计算 时间为线性时间,但是算法结果不稳定。基于信息论 的社区发现算法[22]是从信息论的角度出发,例如将 社区发现问题转换为信息论中的一个基础问题,寻 找拓扑结构的有效压缩方式,或者将问题转换为寻 找描述网络上随机游走的有效编码方式。基于谱分 析的社区发现算法[23]建立在谱图理论的基础上,根 据特定图矩阵的特征向量导出对象的特征,利用导 出特征来推断对象之间的结构关系,该算法开销很 大。基于模块度优化的社区发现算法[24]是研究最多
2数据获取与处理
本文数据集是2018年10月至2019年3月的恶
意代码传播日志。恶意代码是指EXE文件、DLL文 件、PDF 文件、Microsoft Office 文件、URL 和 HTML 文件、CPL文件、Visual Basic (VB)脚本文件、ZIP 压缩文件、Java JAR、Python文件、APK文件、ELF 文件等文件格式,通过网络或其他设备散播的,故 意对个人计算机、服务器、智能设备、计算机网络 等造成隐私或机密数据外泄、系统损害、数据丢失
16
Joarna/ o/Q^er SecMn^y信息安全学报,2019年9月,第4卷,第5期
等非使用预期故障及信息安全问题,并试图以各种 方式阻挡用户移除它们。传播日志是指代码通过
容包含恶意代码的md5、下载源IP、受攻击IP、下 载源IP地区、受攻击IP地区、HTTP请求的域名、 时间、次数等。数据集中的数据是数据融合之后的
结果,共6819561条记录,其中包含数据融合前的恶 意代码传播次数为921940104次,传播的恶意代码 约40000个。
HTTP协议进行网络传播的记录。
数据集的准备工作由四个模块组成,数据获取, 数据存储,数据清洗和融合,数据选择。
数据获取模块,本文所使用数据集来源于国家
计算机网络应急技术处理协调中心(CNCERT/CC)提 供的测试数据集。
数据存储模块,将获取的大规模样本数据利用 Hadoop[26_ Spark[27]平台进行存储。
数据清洗和融合模块,我们将数据进行格式化, 存储传播数据,包含传播记录(下载源IP,受攻击IP, 域名,md5,时间),以及对应的传播载荷文件。其中域 名清洗规则是提取主域名,例如HTTP请求域名为
3恶意代码特征分析
本节将对数据集中的恶意代码进行特征分
析。这项工作对2018年10月至2019年3月传播的 恶意代码进行概览,使得我们对这半年时间内网络 安全状况有全局的了解,也有利于后续的研究。分析 工作主要从两方面进行:(1)恶意代码的静态特征和 动态特征分析;(2)恶意代码的传播特征分析。
http://xxx/yyy/zzz,提取主域名 xxx。md5 通过 HTTP 载荷数据的MD5获得。下载源IP、受攻击IP、时 间均从HTTP请求中获取。其次,我们对每天的传 播记录进行融合处理,将每天的传播记录进行融合, 例如某传播记录组下载源IP、受攻击IP、域名、md5 在某一天多次出现,我们将其进行融合为一条记录, 并添加字段count来记录次数,其中时间字段精确 到天。
数据选择模块,我们使用恶意代码判定系统对 传播载荷进行恶意性检测,并进行标记,恶意代码 是本文研究主要关注的对象。恶意代码判定系统提 供病毒、蠕虫、木马和各种恶意软件分析服务,可以 对传播代码进行快速检测。
最后我们将恶意代码的传播记录添加下载源IP 地区,受攻击IP地区两个字段,分别对下载源IP地 址和受攻击IP地址进行地区查询,并更新传播记录。
最终获取数据集为恶意代码的传播记录,其内
200610.24%2007■ 0.32%
.34°/d2008■ 〇
2009■ 0.48°/»2010 ■ 0.47°/2011 ■ 0.59°/02012201320142015201620172018 2019
0% 2%
3.1静态特征和动态特征
本节将传播数据集中约40000个恶意代码进行 静态特征和动态特征分析。我们使用python编写程 序,利用恶意代码判定系统来获取恶意代码的检测 报告,检测报告包含恶意代码的静态信息和动态行 为信息。本节根据返回的报告内容,选取恶意代码的 静态特征,包括最早出现时间、文件类型、加壳信息, 选取动态特征,包括恶意代码家族、API、漏洞利用, 从静态和动态的多个特征维度进行分析。
最早出现时间。为了更好地了解网络中传播的 恶意代码,首先我们对这些代码的最早出现时间进 行统计,这个时间为代码最早出现在网络中的时 间。如图1所示,纵轴表示代码最早出现的年份,横 轴表示代码数目的比例。可见代码出现范围在2006 年至2019年,其中58.6%恶意代码最早出现在2018 年和2019年,97.55%恶意代码最早出现在2012年 至2019年。
.59%
/〇
04%8%
).79°/〇
y〇10%
12%
14%
16% 18%
比例
20%
22%
24%
26%
28%
30%
4% 6%
32.06°/J32% 34%
图1网络中最早出现时间统计
Figure 1 First appearance statistics
文件类型。将恶意代码的文件类型进行统计。如 表1所示,传播的恶意代码文件类型占比最大的是ELF,
其次是ZIP、Win32 EXE、HTML,这四种类型共占比约90%。除此之外,Android恶意代码也是最值得关注的。
王琴琴等:基于恶意代码传播日志的网络安全态势分析
17
表1文件类型统计
Table 1File type statistics
文件类型ELFZIPWin32 EXEHTMLAndroidMS Word Document
Win32 DLLMS Excel Spreadsheet
JARTextRich Text Format
Flash
所占比例26.4%25.1%21.7%16.5%4.5%2.3%1.3%0.7%0.4%0.3%0.2%0.2%
如表2所示,在此次研究的恶意代码中加壳的代码 占比19.5%。加壳工具多样化,且易于使用,也是编 写者们采用加壳的原因之一。接下来我们对代码的 加壳工具进行统计,如图2所示,纵轴表示加壳工具, 横轴表示工具使用比例。其中UPX[29]以绝对的优势 位列第一,是最受欢迎的加壳工具,其免费开源,且 支持许多不同操作系统下的可执行文件格式,是典 型的使用压缩算法的加壳工具。其他的压缩型加壳 31]、PeCompact[32]等。 工具还有 ASPack_、NsPack[
除了通过压缩躲避检查的方法外,有些加壳工具使 用加密手段来保护代码,例如Armadillo、Themida、
Molebox 等。
表2
加壳统计
所占比例19.5%80.5%
Table 2
加壳信息。为了绕过静态和动态分析,恶意代码 的编写者经常为恶意代码采取加密或者加壳的措 施。本节我们将恶意代码的加壳信息进行统计[28]。
mew■ 0.58%
molebox■ 0.63%themida■ 0.66%
■ 1.52%
〇armadillo■ 2.07/2.3^'% upack■ 2%H3.Cpecompact■
4.75%nspack
06%aspack
upx
0% 5% 10% 15%
是否加壳加壳未加壳
Packing statistics
20% 25%30% 35%
40%
比例
45%50% 55% 60%
wiammatmarnm 7531% 65% 70% 75% 80%
图2加壳工具统计
Figure 2 Packers statistics
恶意代码家族。本节对恶意代码的家族进行统 计。我们的恶意代码判定系统使用多引擎的方式对 恶意代码进行综合判定,每个引擎给出的家族名命 名规则不统一,无法进行统计分析,因此我们使用 AVClass[33^行家族名的统一化。AVClass实现了一 种最先进的技术来规范化,删除通用令牌,并检测 恶意软件样本的一组AV标签之间的别名。AVClass 只要能够输出名称,就意味着不同的防病毒软件对 恶意软件所属的类(系列)存在普遍共识。如表3所示, 恶意代码家族多为木马、蠕虫,用于构建僵尸网络, 窃取信息等,其次是宏病毒、广告软件。
在恶意样本家族统计中,Mirai[34]变种占20.0%, 是占比最高的恶意家族。它是一款能自我传播的蠕 虫,通过发现、攻击并感染存在漏洞的I〇T(Intemet-
2016年9月份大规模DDoS攻击Krebs on Security以及OVH时风靡一时[35],利用存在漏洞的家用路由 器、空气质量检测仪以及个人监控摄像头等小型物
表3
家族名称MiraiRamnitGafgytFly studioKuaibaDelfVirutOnlinegamesMailcabHiddadQqpassRazy
恶意家族统计
所占比例20.0%14.1%8.4%3.6%1.4%1.3%1.3%1.2%0.7%0.7%0.6%0.6%
Table 3 Malware family statistics
of-Things)设备实现自我复制,也是一种僵尸网络, 通过一组命令控制服务器来控制被感染的设备, 以达到通过僵尸网络进行大规模网络攻击的目的。 关于Mirai最早的公开报告出现在2016年8月,曾在
18
Jowrwa/ 信息安全学报,2019年9月,第4卷,第5期
联网设备进行Mirai样本的感染,该攻击由这些被控 制的设备所发起。
是Microsoft Office文档漏洞,可导致远程执行。除 此之外,Android漏洞CVE-2011-1823 [42]允许本地用 户绕过检查执行任意代码,以及通过漏洞
CVE-2012-22[43]获得部分安卓手机的权限。
Ramnit^是一种通过可移动驱动器传播的蠕 虫。该蠕虫还可用作后门,允许远程攻击者访问受感 染的计算机。Detf371多用于数据窃取。MailCab[38]是 一种群发邮件宏病毒,它通过将自身插入受感染计
算机上的任何打开的Microsoft Excel文档进行传播。 然后它将自己发送到Microsoft Outlook通讯簿中的 所有联系人。
API。将恶意代码调用的API进行统计。如表4 3.2传播特征
本节对恶意代码的传播特征进行分析,主要从
以下三方面进行:(1)恶意代码传播量统计;(2)恶意代 码感染源地区分布,以及面临感染风险的地区分布;(3)域名和恶意代码的承载关系。
恶意代码传播量。本节对恶意代码家族传播量 所示,我们列出了部分敏感API,其中次数表示每个 程序调用API的平均次数,是API调用次数除以恶意 代码数量得到的。例如每个程序平均调用 RegSetValueExW 2.43 次。
表4 API统计
Table 4 API statistics
API次数RegSetValueExW2.43RegSetValueExA2.00DeviceloControl1.61CreateRemoteThread1.48CreateProcessIntemalW0.42ShellExecuteExW0.07SetWindowsHookExA0.045SetWindowsHookExW0.033IsDebuggerPresent0.011IntemetOpenUrlW0.009URLDownloadToFileW
0.005
从API统计结果来看,恶意代码设置注册表键 值非常频繁,倾向于创建本地或者远程的进程或线 程,设置消息钩子来进行监视,从网络下载文件等。
部分代码还采用反检测技术,使用IsDebuggerPresent 来反调试。
漏洞利用。一些恶意代码利用漏洞,来得到计算 机或者设备的控制权。本节对数据集中采用漏洞利 用的代码进行分析。
数据集中检测到漏洞利用的代码共227个,其 中利用的漏洞共 36 个,CVE-2017-11882、CVE-2017- 17215、CVE-2017-0199是被利用次数最多的漏洞。
CVE-2017-11882[39^Microsoft Office 内存损坏漏洞, 可导致远程执行。CVE-2017-17215[4()]华为家用路由 器HG532发现远程代码执行漏洞,攻击者利用该漏 洞进行蠕虫传播,构建僵尸网络。CVE-2017-0199[41]
进行了统计分析,以家族为单位的恶意代码传播量 的比例如表5所示。
表5
恶意代码传播量统计
Table 5 Malicious program traffic statistics
家族名称所占比例Agentb
10.22%Floodad10.17%Mirai10.17%Gaofenquming6.27%Skeeyah4.84%Qjwmonkey4.26%Funshion3.90%Microfake2.74%Hafen2.66%Zegost
2.36%
据统计,Agentb是传播量最大的家族,占比 10.22%。Agentb是用于破坏、阻塞、修改或者复制 数据,以及破坏计算机或网络性能的恶意代码系列。 这系列程序的流行意味着我们的计算机和网络时刻 面临着威胁,我们必须采取安全的措施保护网络和 计算机。
其次是Floodad占比10.17%,这是一种广告软 件,在程序运行时自动显示广告的软件包。除此之外, Qjwmonkey和Funshion也是广告软件。广告软件通 常采用网络浏览器弹出广告的形式,在大多数情况 下,用户不知道本地计算机上安装的广告软件组件。 从某种程度上来说,广告软件不是恶意软件,但是 在这里我们将其和恶意软件一起统计,来观察广告 软件的状况,事实确是如此,广告软件非常流行,很 大程度上影响用户体验。
Mirai是在上文恶意代码家族统计中提到过的, 它是恶意代码中占比最高的家族。在这部分中,Mirai 在恶意家族传播量中占比10.17%,也是最流行三个 家族之一。除此之外,Gaofenquming是文件传播器,
王琴琴等:基于恶意代码传播日志的网络安全态势分析
19
具有通过将代码附加到其他程序或文件来传播的能 力。Skeeyah能够窃取个人资料,下载更多恶意软件 或让黑客控制受感染电脑,其被微软称为2016年亚 洲常见三大恶意软件之一。Microfake和Zegost是特 洛伊木马,具有远程访问连接处理,执行拒绝服务, 或者分布式拒绝服务,捕获键盘输入,删除文件或 对象或终止进程的功能。除了明确的恶意软件,广告 软件之外,还有一部分风险软件Hafen,因其以不合 理的方式利用资料,可能带来安全风险。
恶意代码感染源地区。本节我们对传播记录中
F1
摩尔多瓦共和国10.18%
毛里求斯10.20%马来西亚丨0.29%中国丨0.33%加拿大_ 0.39%韩国丨0.45%澳大利亚丨0.53%菝脱维亚丨0.59。/〇
立陶宛的说%
祷兰的.%日本 _0.98〇/〇
除中国以外的感染源地区进行了统计,在此次 研究的数据集中下载源覆盖了 132个国家和地区。 在如图3所示感染源地区中,美国是主要感染源地 区,美国占比65.21%,其次是英国、印度、中国、 俄罗斯、法国等地区。总体来看,感染源呈集中化。
面临感染风险地区。本节我们将传播记录中我 国受攻击的地区进行统计,即面临感染风险地区的 分布统计。如图4所示,面临感染风险地区共32个。 广东省以21.80%的比例居于首位,其次是四川省占 比7.95%,上海市占比7.13%。
2.1咪__
■ 3:90°/。
中国■■■仁5%
;5%印度
?.76°/〇英国
美国■
5%15%0%10%
俄罗斯—
法国■
20%25%30%35%比例
40%45%50%55%60%
65.21%
65%70%
图3感染源地区
Figure 3 Source of infection
F1
辽宁省 湖北省
广西壮族自治区
浙江省 山东省 天津市 河北省 湖南省 河南省 江苏省 北京市
上秦fjj
四川省
1.80%广东省
0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23%
比例
图4面临感染风险地区
Figure 4 Destination of infection
域名和恶意代码的承载关系。很多恶意代码存在于多个域名上,同时,一个域名也可以承载多个 恶意代码。在这一节,我们对传播记录中域名和恶意 代码的承载关系进行探索。
根据统计结果,一个域名平均承载3.5个恶意代 码。其中约2%的域名承载67.6%的恶意代码,在这2% 的域名中,平均每个域名承载118个恶意代码。另外 90.7%的域名只承载一个恶意代码。可见,大部分域名 承载一个恶意软件,少部分域名承载多个域名,域名 和恶意代码的关系呈现明显的长尾分布特征。
社区发现是发现社区的方法,社区反应的是网 络中个体行为的局部特性和相互之间的关联关系, 利用社区发现可以帮助我们理解整个网络的结构, 以及分析、预测整个网络中各元素之间的关联或者 交互关系。攻击团伙往往在攻击资源上表现为社区 ,某一团伙内攻 行为,存在同一团伙内的关联性,S卩击资源可能共享。因为攻击团伙和社区的相似性,我 们使用社区发现算法对攻击团伙进行研究。
4基于社区发现的攻击团伙发现
20
Jowrna/ o/Qy6er &cwn_i[v信息安全学报,2019年9月,第4卷,第5期
在前面章节中提到,Mirai是此次恶意代码传播 曰志研究中,恶意代码家族统计中变种占比最大,
且具有最大传播量之一的恶意家族。因此,本章节我 们对Mirai网络进一步研究。首先,我们对Mirai的 机理和特点进行简要阐述,以及对数据集中的Mirai 代码特点和传播特征进行测量。然后,基于社区发现 算法对Mirai僵尸网络进行探索。
他们,并了解他们。
表6 Mirai的感染源地区
Table 6 Source area infected by mirai
地区印度美国法国中国拉脱维亚荷兰所占比例51.90%33.90%8.95%1.39%0.96%0.86%4.1 Mirai
Mirai是恶意软件的一种,使得运行Linux的计算 机系统成为远程操控的僵尸,以达到通过僵尸网络进 行大规模网络攻击的目的。Mirai的主要感染对象是 物联网设备。Mirai构建的僵尸网络己经参与了几次 影响广泛的大型分布式拒绝服务攻击(DDoS攻击)。
Mirai由两个功能组成,传播和攻击。传播功能 是指能够自我传播的蠕虫。攻击功能是指它会通过 一组命令控制(Command and Control, C&C)服务 器来控制被感染的设备。此次研究的传播记录中,记 录着大量的Mirai传播记录,我们通过记录来了解
Mirai僵尸网络的状况,以及探索攻击者的偏好。
对数据集中Mirai代码进行统计,代码基本上都 是ELF文件类型,其中26.8%使用UPX工具进行加 壳,1.1%程序被检测出是漏洞利用(exploit)程序,主 要利用 了两种漏洞,CVE-2017-17215 和 CVE-2018- 10088。华为HG532系列路由器是一款为家庭和小型 办公用户打造的高速无线路由器产品,CVE-2017- 17215是华为家用路由器HG532发现远程代码执行 漏洞,攻击者利用该漏洞进行蠕虫传播,构建僵尸 网络。该漏洞[44]被用来作为病毒Mirai的升级版变种
OKIRU/SATORI,漏洞利用的是upnp服务存在的注 入漏洞,从而实现任意命令执行。CVE-2018-10088[45] 是XiongMai uc-httpd缓冲区错误漏洞,XiongMai
uc-httpd是中国雄迈(XiongMai)公司的一款应用于摄 像机等产品中的HTTP保护程序。XiongMai uc-httpd 1.0.0版本中存在缓冲区溢出漏洞。攻击者可借助
Web摄像机阅读器界面利用该漏洞造成拒绝服务。
对Mirai程序的传播记录进行统计,感染源地区 如表6所示,主要来源地区是印度,占比51.9%,其 次是美国33.9%。
4.2社区发现算法应用
2017年9月30日,作为Mirai的作者,Anna-
senpai通过某个黑客论坛公布了 Mirai源代码。自此 多个团体或者团伙开始利用Mirai来发起攻击。为了 更加了解这些团体,我们使用社区发现算法来发现
英国0.74%加拿大0.40%俄罗斯0.24%丹麦
0.24%
构建社区网络是社区发现的第一步。我们将团 伙之间的交互关系用社区网络进行表示,团伙的交 互主要体现在攻击资源的共享。数据集内容包括恶 意代码的md5、下载源IP、受攻击IP、下载源IP地 区、受攻击IP地区、HTTP请求的域名、时间、次 数。下面我们对这八个属性进行讨论选取。
下载源IP地区、受攻击IP地区、时间和次数对 网络构建意义不大,我们不作考虑。
恶意代码的md5、下载源IP、HTTP请求的域名 三个属性均属于团伙的攻击资源范围内,也就是说, 同一个团伙可能使用相同的md5,因此将md5作为 社区网络的交互关系,下载源IP和域名也是类似。 其中HTTP请求的域名需要进行过滤,除去无意义 字符串,即直接使用IP字符串做域名的数据,得到 102个不同域名。
受攻击IP我们倾向于不作为关联关系的参考, 因为Mirai程序具有自我传播功能和攻击功能,受攻 击IP包括被感染和被控制的用户IP。由于该恶意代 码传播具有蠕虫特点,其传播路径并不完全受攻击 团伙控制,若将其传播对象纳入社群发现中的特征 将引入较多噪声。我们为了证明此观点也进行了对 比实验,将受攻击IP作为关联关系与受攻击IP不作 为关联关系两种情况都进行了社区发现。4.2.1实验设计
实验一将md5、下载源IP、受攻击IP、域名作 为关联关系,实验二将md5、下载源IP、域名作为关 联关系。
首先,我们提取数据集中Mimi程序的传播记录, 实验一使用四元组 21 在社区网络构建完成之后,我们使用社区发现 算法Fast Greedy来发现社区结构。Fast Greedy算法[46] 是基于贪婪算法思想的一种凝聚算法,也是基于模 块度[47]优化的社区发现算法。算法首先将网络中每 个结点自定义成一个社区;其次计算出任意两个社 区合并的模块度,找到模块度增加最大的合并方式 进行社区合并;最后直到合并成一个社区停止,找 到这个过程中模块度最大的社区划分,模块度0定 义如下: 名)>表示,共541条无重复记录。其次,我们将域名 作为社区网络结点,将域名之间的关联关系作为社 区网络的边,这里的关联关系是指,共享攻击资源 的域名具有关联关系,以实验一为例,传播记录中 存在 根据上文描述的利用域名之间的关联关系,实 验一网络具有756条边,实验二网络具有231条边。 在图论中,集聚系数是用来描述一个图中的结 点之间结集成团的系数。具体来说,是一个结点的邻 接点之间相互连接的程度。局部集聚系数是指图中 具体的某个结点与它相连的点抱成团的程度,该结 点的局部集聚系数等于所有与它相连的结点之间所 连的边的数量,除以这些结点之间可以连出的最大 边数。一个结点的局部集聚系数总是在0到1之间, 越接近1,说明它的邻居们越是抱成一团。平均集聚 系数是图中所有结点的局部集聚系数的平均值。 实验一中网络图的平均集聚系数为0.67,实验 二中为0.88,说明实验二比实验一中网络结点更有 形成团的倾向。 Q=ll(eij-af) 其中,/和y分别表示两个社区,分别称为社区/和社 区y, %表示社区/和社区内部边数目的和与总边数 的比值,fl,表示社区/内部的点所关联的所有边的数 目与总边数的比例。 模块度2值用来衡量一个社区的划分是不是相 对比较好的结果,范围在〇~1之间,2值越大说明网 络划分的社区结构准确度越高,在实际的网络分析 中,2值的最高点一般出现在0.3〜0.7。4.2.2实验结果 社区发现算法实验结果如图5所示,左图为实验 一结果,右图为实验二结果。图中结点为102个域名, 不同颜色代表不同的社区,左图中点过于集中域名无 法显示。实验一发现7个社区,社区的模块度为0.36, 实验二发现27个社区,社区的模块度为0.79。 图5社区 Figure 5 Community 从模块度的角度来看,实验二的社区结果更令 人满意。从图形化的结果来看,实验一中社区错综复 杂,没有社区的明显边界,实验二中每个社区相对 ,界限清晰。从域名分类结果来看,实验二中同 一社区内的域名有明显的命名规则,实验一没有此 特征。由上述三点可得到,实验二的实验设置更加合 理,受攻击ip确实存在大量混淆。 实验二中的27个社区中,最大的社区有15个域 名,最小的1个域名,其中18个社区包含的域名数 量大于1。如表7所示,最大的社区1,拥有15个域 221/〇1«7!«/〇/〇^»'&〇7办信息安全学报,2019年9月,第4卷,第5期 名,其命名规则为 sora.*、hoho.*、infinityondmand.*。 的两个或多个维度,通过视觉直观验证算法有效性。 其次是拥有10个域名的社区2,其命名偏好为 将实验一的四元组< md5, ip 1, ip2, domain >共 josho.*、tmp.*。拥有7个域名的社区3命名规则为 6700条记录作为输入矩阵,设置每条记录的标签文 time.*、ronin.*。拥有6个域名的社区4、5命名规则 本为该条记录中域名所属的社区编号1到7。标签文 分别为sunless.*、cock.*。拥有5个域名的社区6、7、 本仅用于结果的显示。同样将实验二的三元组<111(15, 8 命名规则分别为 usb bus.*、mirai.*、miori.*。 ipl, domain >共541条记录作为输入矩阵,设置每条 记录的标签文本为该条记录中域名所属的社区编号 表7社区命名规则 1到27。实验参数均设置dims = 2,表示降维之后的 Table 7 Community names rules 维度为2; max_iter = 500,表示最大迭代次数为500。 社区编号 命名规则 实验结果如图6所示,左图为实验一结果,右图 1sora.*> hoho.*> inflnityondmand.* 2josho.*、tmp.*为实验二结果。图中每个点为一条记录,用标签文本 3time.*、ronin.*(社区编号)来标识,且用不同颜色来区分。 4sunless.*左图中大部分团都很分散,例如编号为1、2、3、 5cock.*5的点分布,部分集中,部分散落到各处,与社区发 6usb_bus.*现结果不一致,表明聚类效果差。右图中相同颜色或 7mirai.*者相同编号的点比较接近,大致聚成团,而不同的 8 miori.* 点之间比较远,利用t-SNE可视化的结果和社区发 现结果基本一致,因此可以认为实验二结果有效。 4.2.3实验评估 无论是对实验结果的分析和实验评估都表明利 我们使用 t-SNE(t-distributed stochastic neighbor 用恶意代码的md5、下载源IP、域名来作为团伙的关 embedding)对实验的结果进行评估。本文使用的社区 联关系更加合适,且社区发现算法能够发现团伙的社 发现算法本质上属于聚类,因此我们使用t-SNE进 区结构。观察发现每个社区都体现出明确的命名偏好, 行算法评估。t-SNE是一种用于挖掘高维数据的非线 社区间表现出清晰地差异。因此基本可以推测攻击者 性降维算法。它将数据映射到适合于人类观察 为多个团体,采用不同的基础设施传播Mirai程序。 图 6 T-SNE Figure 6 T-SNE 5结论 显的团伙差异。 下一步工作将应用社区发现于其他的网络研究 本文基于2018年10月至2019年3月CNCERT 中,发现团伙特征,对团伙进行刻画描述。互联网测试样本数据集,从中判断恶意性代码,对 恶意代码的传播记录进行提取,通过对恶意代码的 致 谢 该研究内容由国家自然科学基金重点项目 特征进行分析,对网络安全状况进行全面的剖 (No. U1736218)和科技部重大专项(No. 2018YFB080 析。除此之外,传播最广泛的为Mirai恶意代码家族, 4704)提供支持。 攻击者试图控制具有漏洞的物联网设备,形成僵尸 网络,发起攻击。然后将社区发现应用于Mirai网络 参考文献 攻击的团伙发现中,发现多个攻击团伙,表现出明 [1] “2018年我国互联网网络安全态势报告国家互联网应急中心 王琴琴等:基于恶意代码传播日志的网络安全态势分析 CNCERT,https://mp.weixin.qq.eom/s/-p7Uf9vdoJPTgKVAEPpbYA, Apr. 2019. [2] X.Y. Jing, Z. Yan, and W. Pedrycz, ^Security Data Collection and Data Analytics in the Internet: A Survey,IEEE Communications Surveys & Tutorials, vol. 21, no. 1, pp. 586-618, 2018. [3] 朱天,严寒冰,朱丽,\"基于网络攻击伴随行为的DDoS攻击群 体分析方法\",CN108173884A[P]. 2018. [4] P. Porras, and V. Shmatikov, 4tLarge-scale collection and sanitiza tion of network security data: risks and challenges,New security paradigms Workshop (NSPW,06), pp. 57-, 2006. [5] A. Papadogiannakis, M. Polychronakis, and E. P. Markatos, \"Streamoriented network traffic capture and analysis for high-speed networks,\" IEEE J. Sel. Areas Commun, vol. 32, no. 10, pp. 1849-1863, Oct. 2014. [6] L. Deri, “nCap: Wire-speed packet capture and transmission,” Workshop on End-to-End Monitoring Techniques and Services (E2EMON,05), pp. 47-55,2005. [7] L. Braun, A. Didebulidze, N. Kammenhuber, and Q Carle, ^Com paring and improving current packet capturing solutions based on commodity hardware,” o/f/ze ■/价// J CM 57GCOMA/ 23 Symposium on Performance Evaluation of Computer & Telecommunication Systems (SPECTS'H), pp. 1-6, 2012. [15] A. N. Singh, and R. C. Joshi, UA honeypot system for efficient capture and analysis of network attack traffic,2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN511), pp. 514-519, 2011.[16] K. Gao, J. Liu, J. Guo, and R. An, \"Study on data acquisition solu tion of network security monitoring system,2010 IEEE International Conference on Information Theory and Information Security (ICITIS,10),pp_ 674-677, 2010. [17] N. Bonelli, A. DiPietro, S. Giordano, G Procissi, F. Vitucci, L. Salgarelli, G. Bianchi, and N. Blefari-Melazzi, 'Towards smarter probes: In-network traffic capturing and processing,5, Trustworthy Internet, pp. 2-301, 2011. [18] E. Cozzi,M. Graziano, and Y. Fratantonio, “Understanding linux malware/1 2018 IEEE Symposium on Security and Privacy (SP518), pp. 161-175,2018. [19] X. Zhang, B.Q. Liu, and X丄• Wang, “Research on community de tection methods in complex network,” Co/wpw/er Applications, vol. 51, no. 24, pp. 1-7, 2015. (张鑫,刘秉权,王晓龙,“复杂网络中社区发现方法的研究”,矛 募极工程与座银2015, 51(24): 1-7.) [20] R. Zhou, H.L. Yan, and H.X. Pan, ''Research on Network Commu nity Discovery Method for Complex Networks/5 Modem Economic Information, no. 24, pp. 9-10(in Chinese), 2017. (周瑞,阎海玲,潘华贤,“面向复杂网络的Web社区发现方法研 究”,观经納家痛,2017(24): 9-10.) [21] S.C. Liu, F.X. Zhu, and L. Gan, UA La-bel-Propagation- Probabil ity-Based Algorithm for Overlapping Community Detection,5, Chinese Journal of Computers, vol. 39, no.4, pp. 717-729, 2016.(刘世超,朱福喜,甘琳,“基于标签传播概率的重叠社区发现算 法游癸漱 2016, 39(4): 717-729.) [22] M. Rosvall, and C.T. Bergstrom. 44An information-theoretic framework for resolving community structure in complex networks,Proceedings of the National Academy of Sciences 9 vol. 104, no. 18, pp. 7327-7331,2018. [23] S.F. Gong, W.L. Chen, and P.T. Jia, “Survey on algorithms of community detection,Application Research of Computers, vol. 30, no. 11,pp.3216-3220+3227,2013. (龚尚福,陈婉璐,贾澎涛,“层次聚类社区发现算法的研究”,妒 2013, 30(11): 3216-3220+3227.) [24] X. Liu, and D.Y. Yi, “Complex Network Community Detection by Local Similarity”,1520-1529, 2011. (刘旭,易东云,“基于局部相似性的复杂网络社区发现方法”, 冷动众学漱 2011, 37(12): 1520-1529.) [25] J. Parry, D. Hunter, K. Radke, and C. Fidge, 4tA network forensics vol. 37,no. 12, pp. conference on Internet measurement (IMC'10), pp. 206-217, 2010.[8] J. L. Garcia-Dorado, J. Aracil, J. A. Hernandez, and J. E. L. de Vergara, “A queueing equivalent thresholding method for thinning traffic captures,M NOMS 2008-2008 IEEE Network Operations and Management Symposium (NOMS'OS), pp. 176-183, Apr. 2008.[9] W. Y. Li, D. Wu, and B. Zhou, 4tA study of traffic collection tech niques for network management and accounting systems,,5 Proc. 8th bit. Conf. Comput. Supported Cooper. Work Design (CSCWD’04), pp. 578-581,2004. [10] C. Wheelus, T. M. Khoshgoftaar, R. Zuech, and M. M. Najafabadi, “A session based approach for aggregating network traffic data—The SANTA dataset,2014 IEEE International Conference on Bioinformatics and Bioengineering (BIBE, 14), pp. 369-378, 2014. [11] K. H. Ramah, H. Ayari, and F. Kamoun, 'Traffic anomaly detection and characterization in the Tunisian National University network,M International Conference on Research in Networking (NETWORKING,06), pp. 136-147, 2006. [12] S. B. Alias, S. Manickam, and M. M. Kadhum, 4*A study on packet capture mechanisms in real time network traffic,5, 2013 International Conference on Advanced Computer Science Applications and Technologies (ACSAT'O), pp. 456-460, 2013. [13] R. Gad, M. Kappes, and I. Medina-Bulo, “Monitoring traffic in computer networks with dynamic distributed remote packet capturing,2015 IEEE International Conference on Communications (ICC,15),pp.5759-57,2015. [14] L. Zabala,A. Ferro, and A. Pineda, “Modelling packet capturing in a traffic monitoring system based on Linux/' 2012 International 24•/owrwa/ o/Cy&r Secwr/zy信息安全学报,2019年9月,第4卷,第5期 tool for precise data packet capture and replay in cyber-physical [36] “W32.Ramnit” , Symantec, https://www.symantec.com/security- systems,Proceedings of the Australasian Computer Science Week center/writeup/2010-011922-2056-99, Mar. 2015. Multiconference (ACSW'16), pp. 1-10, 2016. [37] “Backdoor.Delf.Family’’,Symantec, https://www.symantec.com/ [26] K. Shvachko, H. Konstantin, S. Radia, and R Chansler, uThe security-center/writeup/2003-050207-0707-99, Feb. 2007. hadoop distributed file system,” MS^r, vol. 10, pp. 1-10, 2010.[38] uXM.Mailcab@mm,,5 Symantec, https://www.symantec.com/security- [27] M. Zaharia, M. Chowdhury, and M.J. Franklin, t4Spark: Cluster center/writeup/2012-030512-4322-99, Apr. 2012.computing with working sets,\" HotCloud (HotCloud510), 2010.[39] NVD, https://nvd.nist.gov/vuln/detail/CVE- [28] V. Laxmi, M.S. Gaur, and P. Faruki, 4tPEAL—packed executable 2017-11882, Nov. 2017. analysis,,5 International Conference on Advanced Computing, Net[40] “CVE-2017-17215”,NVD, https://nvd.nist.gov/vuln/detail/CVE- working and Security (ADCONS, 11), pp. 237-243, 2011. 2017-17215, Mar. 2018. [29] “UPX: Ultimate Executable Packer”,UPX, http://upx.sourceforge. [41] “CVE-2017-0199”,NVD, https://nvd.nist.gov/vuln/detail/CVE-net, Apr. 2019. 2017- 0199, Apr. 2017. [30] “Aspack: Executable Packer”,Aspack, http://www.aspack.com, [42] “CVE-2011-1823”,NVD, https://nvd.nist.gov/vuln/detail/CVE-Apr. 2019. 2011- 1823, Jun. 2011. [31] 4tNSPack: Executable Packer55, NSPack, http://nspack.lastdownload. [43] “CVE-2012-22”,NVD, https://nvd.nist.gov/vuln/detail/CVE-com, Apr. 2019. 2012- 22, Dec. 2012. [32] wPECompact: Executable Packer,\\ PECompact, http://www. pe- [44] “CVE-2017-17215-HG532命令注入漏洞分析”,先知社区, compact.com, Apr. 2019. https://xz.aliyun.eom/t/4819, Apr. 2019. [33] M. Sebastian, and R. Rivera, t4Avclass: A tool for massive malware [45] “CVE-2018-10088 ”,NVD, https://nvd.nist.gov/vuln/detail/CVE-labeling,International Symposium on Research in Attacks, Intru2018- 10088, Aug. 2018. sions, and Defenses (RAID'16), pp. 230-253, 2016. [46] M.E.J. Newman, <4Fast algorithm for detecting community struc [34] C. Kolias, G Kambourakis, and A. Stavrou, t4DDoS in the IoT: Mirai ture in networks,5, Physical review E, vol. 69, no. 6, pp. 066-133, and other botnets,Computer, vol. 50, no. 7, pp. 80-84, 2017.2004. [35] M. Antonakakis, T. April, and M. Bailey, ^Understanding the mirai [47] A. Clauset, M.E.J. Newman, and C. Moore, “Finding community botnet,M 26th {USENIX} Security Symposium (USENIXM?), structure in very large networks,,5 Physical review E, vol. 70, no. 6, pp.1093-1110, 2017. pp. 066-111,2004. 王琴琴于2017年在大连理工大学网络安 严寒冰于2006年在清华大学计算机系获 全专业获得学士学位。现在中国科学院信息 得博士学位。现在国家计算机网络应急技术 工程研究所网络空间安全专业攻读博士学 处理协调中心任运行部主任,中国科学院信 位。研究领域为网络空间安全。研究兴趣包 息工程研究所客座博士生导师,北京航空航 括:恶意代码分析,异常流量分析。Email: 天大学客座博士生导师。研究领域为网络安 wangqinqin@iie.ac.cn 全,网络攻防、图形图像处理与分析、海量 数据检索。Email: yhb@cert.org.cn 周昊于2017年在北京邮电大学信息与 梅瑞于2014年在北京大学软件工程专 通信工程专业获得硕士学位。现任国家计算 业获得硕士学位,现在中国科学院大学网络 机网络应急技术处理协调中心初级工程师。 空间安全专业攻读博士学位,研究领域为软 研究领域为反网络诈骗、网络安全监测等。 件安全分析。Email: mdrui@iie.ac.cn 研究兴趣包括:机器学习、复杂网络。Email: zhh@cert.org.cn 韩志辉于2015年在中国科学院软件研究 所获得博士学位。现任国家计算机网络应急 技术处理协调中心工程师。研究领域为系统 安全与网络安全。Email: hzh@cert.org.cn
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务