面向网络服务提供商的恶意软件网络行为检测方法及系统的制作方法_3

文档序号:9290083阅读:来源:国知局
征所对应的检测模型的构建,用户此时可以根据自己的需要,通过模型控制器的模型选择功能同时选择一种或是几种检测模型,并选择对应的特征类型,确定完毕后,检测模型开始对输入的流量数据进行处理和计算,并输出检测结果。例如,首先,用户选定机器学习模型和图类匹配模型;其次,会提示机器学习模型可选的特征类型-数值型和标称型,用户选择数值型特征;再次,输入移动终端应用软件产生的流量数据;然后,特征处理程序根据选定的特征类型-数值型类特征和图类特征,分别提取出数值型的特征,例如流量上传和下载比值、流的连接持续时间、流中包的平均到达时等输入到机器学习模型,同时,将图类特征,例如网络行为重构图输入到图相似匹配模型,分别计算与恶意网络行为重构图和正常网络行为重构图之间的相似度,依据相似度来识别出恶意软件;最后,模型检测的结果经过模型控制器的获取输出功能显示给用户。
[0112]其中,检测模型中的数据获取及图类的网络行为重构图方法包括:
[0113]I)移动终端恶意软件反编译。对大规模Android恶意软件的原文件,通过自动化脚本程序来控制执行反编译工具APKTool,可以得到所有恶意软件反编译后的文件。同时,在每个恶意软件样本反编译后的文件中,都有一个Android系统的配置文件AndroidManifest.xml0
[0114]2)提取移动终端恶意软件自动安装和运行所需要的参数。对于每一个Android恶意软件,若反编译成功,都可以从它的AndroidManifest.xml文件中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需要的参数。对于反编译失败的恶意软件,则重复步骤I),重新选择新的反编译工具,直到反编译成功。
[0115]3)移动终端恶意软件自动安装。通过Android平台提供的ADB调试命令,可以实现Android应用软件的安装。其中,Android应用软件的安装需要包名作为参数传入ADB。对于大规模移动终端恶意软件,将步骤2)得到的所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名。ADB每次调用文本文件中一行,完成对一个恶意软件的自动化安装。ADB循环调用文本文件的每一行,依次实现对所有恶意软件的安装。
[0116]4)移动终端恶意软件激活与运行。不同的Android恶意软件所依赖于的激活方式不尽相同,目前已知的激活方式主要包括移动终端操作系统重启、收发短信、接打电话、系统事件、电池电量状态、网络状态改变、USB接入。不同的激活方式所能激活的恶意软件的数量不等,据统计超过80%的Android恶意软件依赖手机操作系统的重启来实现激活。本发明依据各种激活方式所能激活的恶意软件数量排序设计了一种激活优先机制,即移动终端操作系统重启 > 系统事件 > 电池电量状态 > 收发短信 > 网络状态改变>USB接入 > 接打电话。若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,以此类推,直到能够采集到有效网络流量为止。若使用所有的激活方式仍然没有采集到有效流量,则对该恶意软件的流量米集失败。
[0117]5)移动终端恶意软件网络流量获取。在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口可以把所有上、下行的移动终端网络流量镜像到数据存储服务器上。
[0118]6)移动终端恶意目标列表建立。在数据存储服务器上,保存了移动终端恶意软件产生的所有网络交互流量。通过解析流量数据的DNS信息,可以得到关于恶意软件所有的DNS请求的目标域名,再将这些目标域名依次在VirusTotal上作恶意域名检测,若是恶意目标,则将该域名加入黑名单列表。
[0119]7)移动终端恶意软件恶意行为流量分离。基于6)建立好的黑名单,根据流的五元组(即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号)构建网络数据流,然后在数据流中的HTTP数据包中提取相应的HOST字段(HOST字段是一段域名字符串),若该字段存在于6)建立的黑名单中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流。依据该原则依次完成所采集到的所有数据流。这样分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。
[0120]8)移动终端恶意软件网络行为交互时序图建立。在7)分离出恶意的网络数据流后,提取出相应的DNS数据包和HTTP数据包。首先,依次读取恶意的网络数据流中的每一个流,提取出流中的HTTP数据包,记录下HTTP数据包的发送时间和HTTP数据包中的HOST字段(这个字段记载着HTTP数据包传输的服务器域名);然后,根据HTTP数据包中HOST字段的域名,从原始网络流量数据包中提取出与HOST字段具有相同域名的DNS协议数据包,并记录下数据包的发送时间,以及DNS应答数据包中的CNAME内容和解析到的IP地址;最后,按照数据包的发送时间,构建从源IP地址到DNS以及向目标域名服务器发送HTTP数据包的网络交互时序图。
[0121]9)移动终端恶意软件网络行为重构。在8)建立的网络交互时序图的基础上构建网络行为的重构图。首先,将源IP地址、目标服务器域名以及HTTP数据包定义为图的节点,将DNS应答数据包的内容定义为目标服务器域名节点的属性节点;其次,在图中用实线连接目标服务器域名节点与各个属性节点,用以表示目标服务器所相关的CNAME信息和解析到的IP地址信息;再次,用虚线连接HTTP数据包节点与目标服务器域名节点,用以表示向该目标服务器发送HTTP数据包的对应关系;然后,用实线连接源IP地址节点与目标服务器域名节点,表示从源IP地址向目标服务器发出的请求,并以目标服务器域名的请求次数作为该段实线的权重;最后,用实线连接源IP地址节点与HTTP数据包节点,表示从源IP地址向目标服务器发出的HTTP数据包,并以向目标服务器发出的HTTP数据包数量作为该段实线的权重。正常网络行为重构图及用户移动终端应用软件的网络行为重构图的做法与恶意网络行为重构图相同。
[0122]图3为检测服务器中的检测模型单元建立的流程图,该方法包括:
[0123]特征提取程序从网络流量数据中提取出能够有效表征恶意软件网络行为的特征;
[0124]对于规则类的特征划分为一类,例如DNS请求的域名特征;
[0125]对于图类的特征划分为另一类,例如行为序列图特征;
[0126]对于数值型和标称型特征划分为第三类,例如流的持续时间,目的端口号等特征;
[0127]对于规则类的特征建立规则匹配模型;
[0128]对于图类特征建立图相似匹配模型;
[0129]对于数值类特征和标称型特征,训练得到机器学习模型;
[0130]模型选择功能完成用户对模型的选择,同时,对具有多种特征类型的模型,用户还可以继续完成对指定特征类型的选择;
[0131]获取输出功能完成从模型获取输出的检测结果。
[0132]图4为实施例建立规则匹配模型流程图,建立规则匹配模型的方法包括:
[0133]DNS特征提取程序从恶意的网络流量数据集中提取出所有的DNS请求的域名;
[0134]提取出所有的移动终端恶意软件产生的DNS请求的域名后,建立DNS请求的域名集合;
[0135]依次将DNS请求的域名集合中的每一个域名放在第三方域名检测服务VirusTotal上做域名检测;
[0136]若VirusTotal的检测结果是恶意URL,则将该域名加入到恶意列表中;
[0137]若VirusTotal检测结果是正常URL,则不做处理;
[0138]对DNS请求的域名集合中的所有域名检测完毕后,将得到的恶意列表加入到规则匹配模型,获得规则匹配模型。
[0139]由于移动终端的网络流量具有多类特征,规则类特征作为一种重要特征之一,在一定程度上能够帮助识别出恶意软件,例如DNS请求的域名信息,恶意软件请求的DNS域名通常是恶意的远程控制服务器域名,所以,可以依据DNS域名来建立规则匹配模型,每一条规则对应于一条恶意的DNS域名。首先,我们依据已有的恶意软件样本,通过主动式的方法采集恶意软件样本的网络流量;然后,从采集到的网络流量中提取出所有的DNS请求域名;最后,使用第三方的域名检测服务例如VirusTotal来验证恶意的DNS请求域名,依据恶意的DNS请求域名来建立规则匹配模型。
[0140]图5为实施例用户使用规则匹配模型检测流程图,该方法包括:
[0141]获取用户移动终端的应用软件所产生的网络流量;
[0142]DNS提取程序从流量数据中提取出DNS请求的域名;
[0143]将提取出的所有的DNS请求的域名输入到建立的规则匹配模型中;
[0144]规则匹配模型对所提取出来的DNS请求的域名做规则匹配;
[0145]若存在任意一个DNS请求的域名,在规则匹配模型中有与之相匹配的域名,则该应用是恶意应用;
[0146]若所有的DNS请求的域名均不存在于规则匹配模型中,则该应用是正常应用;
[0147]当用户需要使用该规则匹配模型时,只需要采集用户流量,若发现用户流量中的某一条DNS请求的域名与规则匹配模型中的某一条规则相匹配,证明用户安装了恶意软件。
[0148]图6为实施例建立图相似匹配模型流程图:
[0149]分别采集到恶意应用软件和正常应用软件的网络流量数据集;
[0150]在采集到的网络流量数据集上,按照五元组特征(源IP,目的IP,源端口,目的端口,协议),设计网络数据流提取程序;
[0151]根据设计的网络数据流提取程序,分别在采集到的恶意应用软件的网络流量数据集和正常应用软件的网络流量数据集中,提取出恶意应用软件的网络行为数据流和正常应用软件的网络行为数据流;
[0152]根据提取出的恶意应用软件的网络行为数据流和正常应用
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1