首页> 中国专利> 基于接入路由器进行恶意软件网络行为检测的方法及系统

基于接入路由器进行恶意软件网络行为检测的方法及系统

摘要

本发明公开了基于接入路由器进行恶意软件网络行为检测的方法及系统,无线路由器识别接入的移动终端,同意其联网请求,并开始抓取该移动终端通过上网产生的流量,将采集的网络流量传入流量行为分析模块,进行基于流量的安全检测;检测模型服务器通过流量数据建立检测模型,并将检测模型存储在检测模型服务器中;检测模型服务器定期的更新接入路由器的流量行为分析模块,增强接入路由器的安全防护;通过无线路由器自主选择所需要的检测模型,检测模型开始对输入的流量数据进行处理并输出检测结果。本发明避免了在用户移动终端安装检测程序所带来的对移动终端资源消耗大的问题,同时解决了在实际使用中大规模部署的问题。

著录项

  • 公开/公告号CN105187395A

    专利类型发明专利

  • 公开/公告日2015-12-23

    原文格式PDF

  • 申请/专利权人 济南大学;

    申请/专利号CN201510487185.8

  • 申请日2015-08-10

  • 分类号H04L29/06(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人张勇

  • 地址 250022 山东省济南市市中区南辛庄西路336号

  • 入库时间 2023-12-18 13:04:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-23

    授权

    授权

  • 2018-10-02

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20150810

    著录事项变更

  • 2016-01-20

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20150810

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

技术领域

本发明涉及基于接入路由器进行恶意软件网络行为检测的方法及系统。

背景技术

随着移动终端的广泛使用,尤其是智能手机的迅速普及,移动智能终端给现代社会巨大 的变革,进入21世纪以来,我们已经迅速步入了移动时代。而手机已不再局限于传统意义上 的通信业务,已经成为集电子商务、个人支付、社交娱乐等功能于一体的强大终端。据Gartner 报告统计,2014年,全球手机市场已经达35亿台(其中Android系统27亿台),已经超过PC 数量,预测到2015年将超过50亿台。然而随着移动应用的普及和用户数量爆发式增长,移 动智能终端的安全也面临着巨大挑战。据国家互联网应急中心发布的2013年中国互联网网络 安全报告的一项统计,恶意扣费类的恶意程序数量居首位,达到了502481个,显示了黑客制 作恶意程序带有明显的趋利性,而针对Android平台的恶意联网程序达到了699514个,占总 数99%以上;据网秦公司发布的2013上半年全球手机安全报告,2013年上半年查杀到手机恶 意软件51084款,同比2012年上半年增长189%,2013年上半年感染手机2102万部,同比 2012年上半年增长63.8%,在全球范围内,中国大陆地区以31.71%的感染比例位居首位,俄 罗斯(17.15%)、印度(13.8%)、美国(6.53%)位居其后,其中中国大陆地区增幅最快,相 比2013年第一季度增长5.31%,比2012年上半年增长6.01%;CheetahMobile发布2014上 半年全球移动安全报告指出2014年上半年病毒数量为2013全年的2.5倍。

目前传统的移动终端恶意软件检测方法根据检测方式的不同大致可以分为两类,即静态 检测和动态检测。(1)对于静态检测技术,传统的解决方法是利用反编译工具和逆向工程技术 对移动终端的恶意软件进行反编译和反汇编,再从源代码中找出恶意代码。这种静态检测技 术最大的优点是实施简单,用户只需在终端上安装检测程序即可,而各大安全公司的移动终 端的安全产品也大都采用这种模式。但是随着代码混淆、加壳等技术的出现,反编译和对恶 意代码的特征匹配已经变成了一件非常困难的事情,同时,这种静态检测技术非常依赖于已 有恶意代码的特征,对未知恶意软件的发现能力极其不足。(2)对于动态检测技术,则是利用 “沙盒”机制,通过在沙盒内运行应用软件,监控应用软件对系统敏感资源的调用来达到识 别的目的。这种动态的方法对未知的恶意应用具有一定的发现能力,但是对用户终端的资源 消耗巨大,并且难以大规模部署实施,所以相关研究仅停留在学术研究阶段。

面对分析这种现有的移动终端恶意软件的检测现状,在实际生活中,人们迫切地需要一 种能够实现大规模部署实施,同时,不需要依赖用户安装、实现主动检测的方案。通过网络 流量来发现移动终端的恶意软件网络行为是近年新兴的一种恶意软件检测技术,并取得了一 些初步的研究成果。这种技术利用网络流量来检测用户是否在移动终端安装了恶意软件,但 是这种技术仅仅停留在技术层面,并没有一个实现该技术的实际载体完成整个的检测过程。

发明内容

为解决现有技术存在的不足,本发明公开了基于接入路由器进行恶意软件网络行为检测 的方法及系统,在接入路由器通过对移动终端软件产生的流量进行基于流量行为的分析,从 而判断通过该接入路由器连接至互联网的移动终端是否安装并运行了恶意软件。

为实现上述目的,本发明的具体方案如下:

基于接入路由器进行恶意软件网络行为检测的方法,包括以下步骤:

移动终端接入至具有恶意软件网络行为发现能力的无线路由器;

具有恶意软件网络行为发现能力的无线路由器识别接入的移动终端,同意其联网请求, 并开始抓取该移动终端通过上网产生的流量,将采集的网络流量传入流量行为分析模块,进 行基于流量的安全检测;

通过恶意软件流量自动化采集服务,主动获取恶意软件流量数据集,并将采集到的数据 流量传输到检测模型服务器;

路由器进行基于流量的安全检测时,根据流量的特征选择对应的检测模型,检测模型开 始对输入的流量数据进行处理并输出检测结果;处理结果通过用户端安装的信息反馈APP告知 用户;

选择的对应的检测模型是检测模型服务器通过流量数据建立并经过不断的训练得到的检 测模型,训练时不断调整模型参数,使检测模型的效果最优;

检测模型服务器定期的更新接入路由器的流量行为分析模块,增强接入路由器的安全防 护。

进一步的,具有恶意软件网络行为发现能力的无线路由器识别接入的移动终端,将采集 的网络流量传入流量行为分析模块,进行基于流量的安全检测,具体步骤为:

采集移动终端应用软件所产生的网络流量,并传输到流量行为分析模块;

流量行为分析模块含有特征提取模块,用于从网络流量数据中提取出各类特征,主要包 括能够有效表征移动终端恶意软件网络行为的特征;

在特征提取之后,按照不同的特征类型对提取的特征进行分类;

对每一种类型的特征,选择与之相匹配的检测模型,不同的特征类型适用于不同类型的 模型,每种类型的特征有与之对应的唯一的模型;

配置模块,用于实现模型选择,更新控制和获取输出功能;

更新接口与结果输出模块,分别用于对配置模块的更新检测及配置模块的结果输出。

进一步的,首先,当更新控制模块检测到路由器的外存中有待更新的文件或者检测到更 新接口发来的指令后,更新控制模块首先获得流量数据控制权,将流量获取模块中获取的流 量数据暂存到缓存中;其次,更新控制模块对流量行为分析模块中的检测模型进行更新;然 后,更新成功后更新控制模块释放流量数据控制权,使得流量获取模块中获取的流量数据传 输到行为分析模块;最后,更新控制模块将缓存中的流量数据传输到流量行为分析模块。

进一步的,对特征进行分类时,分为规则类的特征、图类特征、数值型特征和标称型特 征。

进一步的,对分类后的特征,选择与之相适应的检测模型进行检测。分别的,对于规则 类的特征,选择基于规则的检测模型进行检测,对于图类的特征,选择基于图相似的匹配模 型进行检测,对于数值型特征和标称型特征,选择机器学习模型处理这些类型的数据。

进一步的,对于规则类的特征进行检测时,采用的步骤为:

1-1)通过对用户移动终端网络流量的采集,从中提取出所有的请求的域名;

1-2)将提取的域名与规则匹配模板库中规则进行匹配,若发现有恶意请求的域名存在,规 则匹配模型输出发现恶意软件的检测结果。

进一步的,对于图类特征进行检测时,采用的步骤为:

2-1)在采集到的用户移动终端应用软件所产生的网络流量中,按照五元组特征提取出该应 用的网络行为数据流;其中,五元组特征是指具有相同的源IP,目的IP,源端口,目的端口和 协议类型;

2-2)根据提取出的网络行为数据流,画出用户移动终端应用软件的网络行为重构图,分别 计算其与图相似匹配模型中恶意网络行为重构图的相似度和与图相似匹配模型中正常网络行 为重构图的相似度,若与前者的相似度大于后者的相似度,则说明该应用软件是恶意软件。

进一步的,对于数值型和标称型特征进行检测时,采用的步骤为:

3-1)在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型和标称型特征;

3-2)对提取出的数值型特征和标称型特征进行归一化等预处理;

3-3)将处理好的数值型特征和标称型特征输入到已经预先在流量行为分析模块中配置好的 机器学习模型中;

3-4)根据输入的特征,使用机器学习模型做检测。

进一步的,通过恶意软件流量自动化采集服务,主动获取恶意软件流量数据集时,对移 动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;

从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参 数;

根据提取的移动终端恶意软件自动安装和运行所需要的参数进行移动终端恶意软件的自 动安装;

利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行 后获取移动终端恶意软件网络流量;

根据获取的移动终端恶意软件网络流量信息建立移动终端恶意目标列表;

根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶 意服务器之间所产生的恶意交互流量。

进一步的,所述检测服务器在工作时,移动终端网络流量数据集中的数据流量进入检测 模型服务器中的流量行为分析模块;

流量行为分析模块中,从网络流量数据中提取出能够有效表征恶意软件网络行为的特征;

对于规则类的特征划分为一类,对于图类的特征划分为另一类,对于数值型和标称型特 征划分为第三类;对于规则类的特征建立规则匹配模型,对于图类特征建立图相似匹配模型, 对于数值类特征和标称型特征,训练得到机器学习模型;

更新控制功能负责完成检测模型服务器对接入路由器中各个检测模型更新的过程;

模型选择功能负责完成用户对模型的选择,同时,对具有多种特征类型的模型,还可以 继续完成对指定特征类型的选择;

获取输出功能完成从模型获取输出的检测结果,检测模型将检测结果通过用户接口向用 户反馈,更新接口定时将更新的检测模型推送到接入路由器的检测模型中。

基于接入路由器进行恶意软件网络行为的检测系统,包括:

具有恶意软件网络行为发现能力的无线路由器,用于识别接入的移动终端,同意其联网 请求,并开始抓取该移动终端通过软件上网产生的流量,将采集的网络流量像传入流量行为 分析模块,进行基于流量的安全检测;

所述流量行为分析模块包括特征提取模块,用于从网络流量数据中提取出各类特征,主 要包括能够有效表征移动终端恶意软件网络行为的特征;

特征分类模块,在特征提取之后,按照不同的特征类型对提取的特征进行分类;

模型匹配模块,对每一种类型的特征,匹配与之相适应的检测模型,每种类型的特征有 与之匹配的唯一的模型;

配置模块,用于实现模型选择,模型更新和获取输出功能,

更新接口与结果输出模块,接收检测模型服务器所发送的更新文件并向更新控制模块发 送更新指令,与检测结果输出;

模型更新模块,通过恶意软件流量自动化采集服务,主动获取大量恶意软件流量数据集, 并将采集到的数据流量传输到检测模型服务器,检测模型服务器用于对接入路由器的检测模 型进行更新。

本发明的有益效果:

本发明基于具有恶意软件网络行为发现能力的无线路由器,将这个新型无线路由器部署 在无线局域网里,提供了一套完整的利用移动终端的网络流量检测恶意软件的方案,包括用 户的连接认证、流量的采集、流量的处理、流量的检测、检测结果的通知等内容,实现了一 种利用移动终端的网络流量检测恶意软件这种技术在实际中的使用案例。达到了如下效果: (1)针对传统的静态检测方法存在的对用户依赖程度高,需要在用户移动终端安装检测程序 造成的对移动终端的资源消耗大等问题,本发明在接入路由器利用移动终端的网络流量进行 恶意软件的识别,对用户依赖程度较低,由路由器在接入点自动完成,不需要消耗用户移动 终端的资源;(2)这款路由器可以检测通过其接入到互联网的移动终端中是否安装了恶意应 用,同时以系统固件的方式应用到路由器中可以实现大规模部署,很好地解决了部署困难的 问题;(3)针对移动终端的网络流量的多类特征,本发明设计了多种检测模型,用户可以根 据需要实现个性化选择;(4)通过对路由器中检测模块的动态更新,增强了路由器的检测能 力.

附图说明

图1为基于接入路由器进行恶意软件网络行为检测的方法及系统的网络结构图;

图2为实施例一种具有恶意软件网络行为发现能力的无线路由器;

图3为实施例建立规则匹配模型流程图;

图4为实施例用户使用规则匹配模型检测流程图;

图5为实施例建立图相似匹配模型流程图;

图6为实施例用户使用图相似匹配模型检测流程图;

图7为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检 测模型的过程图;

图8为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检 测模型的流程图;

图9为实施例以机器学习无监督学习算法的K均值方法对原始特征集进行聚类的流程 图;

图10为实施例以机器学习有监督学习算法的SVM方法对新特征集进行分类的流程图;

图11为实施例用户使用SVM模型检测流程图;

图12为实施例流量检测服务器结构图。

具体实施方式:

下面结合附图对本发明进行详细说明:

本发明基于已有的具有恶意软件网络行为发现能力的无线路由器,将这种新型路由器部 署在局域网网络环境下,实现利用移动终端的网络流量来检测恶意软件。首先,用户通过无 线方式连接到具有恶意软件网络行为发现能力的无线路由器,并通过安全验证;其次,当用 户的移动终端通过该路由器接入外部网络时,使用路由器系统中安装的tcpdump工具采集到用 户的移动终端设备与外部网络间的交互流量;然后,该路由器的行为分析模块读取采集到的 网络流量并进行分析,如果检测分析到恶意流量,说明用户的移动终端设备上安装了恶意应 用,通过提示消息将检测结果反馈给用户;最后,该路由器还可以通过远程的检测模型服务 器对自身的检测模型进行更新。

一种基于接入路由器进行恶意软件网络行为检测系统,它包括:

(1)移动终端,主要实现与用户和接入路由器之间的交互,基本功能包括用户的连接接入 路由器时的登陆和验证,以及接入路由器通过安装在移动终端的信息反馈APP,反馈检测结果 给用户。

(2)路由器,主要负责实现对流量的采集、处理和检测,从而判断用户是否安装了恶意软 件。

(3)检测模型服务器,主要负责对接入路由器的检测模型进行更新。

一种在小型网络检测移动终端恶意软件的方法,具体工作过程为:

1.用户接入。用户发现接入路由器的SSID,连接后提示输入验证口令,验证成功后,由接 入路由器分配IP地址等信息。

2.移动终端应用软件网络流量的采集。首先,用户使用移动终端,通过无线的方式接入 无线路由器;其次,基于Linux的开源操作中的tcpdump工具,执行tcpdump命令采集到用户移 动终端产生的网络流量;最后,流量行为分析模块读取采集到的网络流量进行下一部的处理。

3.设计特征提取程序并对特征进行分类。首先,根据能够有效表征移动终端恶意软件的 网络行为的特征,设计相应的特征提取程序,完成从原始的网络流量数据中提取特征;其次, 按照不同的特征类型,对特征进行分类。例如,对于DNS请求的域名查询,流量上传和下载比 值,连接持续时间,端口号,行为序列图等能够有效表征移动终端恶意软件行为的特征,分 别设计相应的特征提取程序;然后,对这些特征按照不同的类型进行分类,DNS请求的域名查 询作为规则类的特征,流量上传和下载比值、连接持续时间作为数值型类特征,端口号作为 标称型类特征,行为序列图作为图类特征。

4.用户自主选择所需要的模型。通过上述步骤,完成了每种类型特征所对应的检测模型 的构建,用户此时可以根据自己的需要,通过模型控制器的模型选择功能同时选择一种或是 几种检测模型,并选择对应的特征类型。

5.流量检测。检测模型开始对输入的流量数据进行处理和计算。例如,首先,用户选定 机器学习模型和图类匹配模型;其次,会提示机器学习模型可选的特征类型-数值型和标称型, 用户选择数值型特征;再次,输入移动终端应用软件产生的流量数据;然后,特征处理程序 根据选定的特征类型-数值型类特征和图类特征,分别提取出数值型的特征,例如流量上传和 下载比值、流的连接持续时间、流中包的平均到达时间等输入到机器学习模型,同时,将图 类特征,例如网络行为重构图输入到图相似匹配模型,分别计算与恶意网络行为重构图和正 常网络行为重构图之间的相似度,依据相似度来识别出恶意软件。

6.结果输出。流量检测结果通过结果输出接口,将检测结果发送到用户移动终端所安装 的信息反馈APP上。

所述信息反馈APP的主要功能是让手机与无线路由器之间维持一个长连接,使得无线路由 器的检测结果可以及时的推送到手机,从而将结果反馈给用户。以Android系统为例,采用XMPP 协议可以实现无线路由器与Android手机端的消息推送,AndroidPn项目便是利用XMPP协议实 现Android手机的消息推送。

7.检测模型服务器端建立检测模型。首先,按照不同的特征类型,选择适合于该特征类 型的检测模型;其次,基于采集到的网络流量数据集,通过训练得到适合于不同特征类型的 检测模型。

以规则类的DNS请求的域名特征为例,首先,需要选择与规则类特征相适合的规则匹配模 型;其次,基于采集的网络流量数据集,从中提取出所有的DNS请求的域名;然后,将提取到 的DNS请求的域名在第三方域名检测服务VirusTotal上做域名检测,建立恶意URL列表;最后, 把这个列表上的恶意URL作为规则加入到规则匹配模型。

以图类的网络行为重构图特征为例,首先,选择相应的图相似匹配模型;其次,在采集 到的网络流量数据集中,按照五元组特征(具有相同的源IP,目的IP,源端口,目的端口和 协议类型)提取出恶意的网络行为数据流;然后,基于恶意的网络行为数据流,构建恶意网 络行为重构图加入到图相似匹配模型;最后,基于正常的网络行为数据流,构建正常网络行 为重构图加入到图相似匹配模型。

以机器学习模型为例,本发明设计了一种具有发现未知恶意软件能力的检测模型,该方 法基于机器学习的无监督和有监督学习。其中,无监督学习主要以聚类算法为主,有监督学 习主要以分类算法为主。首先,在采集到的网络流量数据集中,提取出数值型类特征和标称 型类特征,建立原始特征集;其次,我们在原始特征集上使用聚类算法,将具有相似特征的 软件样本聚为一类,这种聚类的好处是能够发现未知的恶意软件;然后,对先发现的未知恶 意软件,重新提取特征,加入到原始特征集中形成新的特征集;最后,在新的特征集上使用 分类算法,建立分类检测模型,使用分类算法的好处是分类具有比聚类更高的准确度。

6.结果反馈。用户连网数据流量经过流量行为分析模块的分析,最终将分析结果通过结 果输出接口,将检测结果发送到用户移动终端所安装的信息反馈APP上。

所述信息反馈APP的主要功能是让手机与无线路由器之间维持一个长连接,使得无线路由 器的检测结果可以及时的推送到手机,从而将结果反馈给用户。以Android系统为例,采用XMPP 协议可以实现无线路由器与Android手机端的消息推送,AndroidPn项目便是利用XMPP协议实 现Android手机的消息推送。

7.检测模块更新。检测模型服务器定期通过接入路由器中的更新接口对接入路由器的检 测模型进行更新。

图1为基于接入路由器进行恶意软件网络行为检测的方法及系统的网络结构图,如图1 所示。

该方法包括:

步骤100,移动终端通过无线方式接入到具有恶意软件网络行为发现能力的无线路由器, 并完成验证登陆,建立连接等工作。

步骤101,具有恶意软件网络行为发现能力的无线路由器识别接入的移动终端,同意其 联网请求,并开始抓取该移动终端通过软件上网产生的流量,将采集的网络流量像传入流量 行为分析模块,进行基于流量的安全检测。并将检测结果发送到用户移动终端所安装的信息 反馈APP上。

步骤102,检测模型服务器通过分析大量的流量数据,不断丰富完善检测模型,并将模 型存储在检测模型服务器中。

步骤103,检测模型服务器定期的更新接入路由器的流量行为分析模块,实现增强接入 路由器的安全防护能力的目的。

图2实施例一种具有恶意软件网络行为发现能力的无线路由器结构图,如图2所示。

该结构工作时的步骤包括:

步骤110,首先,用户使用移动终端经过路由器连接到外部网络,移动终端应用软件产 生的网络流量在经过路由器时,tcpdump工具开始运行并采集应用软件所产生的网络流量;然 后,流量行为分析模块开始读取采集到的网络流量。

步骤111,特征提取程序从网络流量数据中提取出各个特征。

步骤112,对于规则类的特征划分为一类,例如DNS请求的域名特征。

步骤113,对于图类的特征划分为一类,例如行为序列图特征。

步骤114,对于数值型和标称型特征划分为一类,例如流的持续时间,目的端口号等特 征。

步骤115,对于规则类的特征在规则匹配模型中进行检测。

步骤116,对于图类特征在图相似匹配模型中进行检测。

步骤117,对于数值类特征和标称型特征,在SVM模型中进行检测。

步骤118,更新控制功能完成检测模型服务器对无线路由器各个模型更新的过程。

步骤119,模型选择功能完成用户对模型的选择。同时,对具有多种特征类型的模型, 用户还可以继续完成对指定特征类型的选择。

步骤120,获取输出功能完成从模型获取输出的检测结果。

步骤121,检测模型通过结果输出接口,将检测结果发送到用户移动终端所安装的信息 反馈APP上,通过该APP的反馈给用户。

步骤122,更新接口监听检测模型服务器的传输接口,一旦监听到有更新信息,则建立 传输连接,进行更新。

图3为实施例建立规则匹配模型流程图,如图3所示。

该方法包括:

步骤130,DNS特征提取程序从恶意的网络流量数据集中提取出所有的DNS请求的域名。

步骤131,提取出所有的移动终端恶意软件产生的DNS请求的域名后,建立DNS请求的域 名集合。

步骤132,依次将DNS请求的域名集合中的每一个域名放在第三方域名检测服务 VirusTotal上做域名检测。

步骤133,若VirusTotal的检测结果是恶意URL,则将该域名加入到恶意列表中。

步骤134,若VirusTotal检测结果是正常URL,则不做处理。

步骤135,对DNS请求的域名集合中的所有域名检测完毕后,将得到的恶意列表加入到规 则匹配模型,获得规则匹配模型。

规则匹配模型的规则由DNS请求的恶意目标域名组成,为了获取规则,首先在采集到的移 动终端恶意软件网络流量数据中,提取出所有的DNS数据包中的请求目标域名,然后对所有的 域名在VirusTotal上做域名检测,检测结果为恶意的域名成为一条规则,加入到规则匹配模 型中。

图4实施例用户使用规则匹配模型检测流程图,如图4所示。

该方法包括:

步骤140,获取用户移动终端的应用软件所产生的网络流量数据。

步骤141,DNS提取程序从网络流量数据中提取出DNS请求的域名。

步骤142,将提取出的所有的DNS请求的域名输入到建立的规则匹配模型中。

步骤143,规则匹配模型对所提取出来的DNS请求的域名做规则匹配。

步骤144,若存在任意一个DNS请求的域名,在规则匹配模型中有与之相匹配的域名,则 该应用是恶意应用。

步骤145,若所有的DNS请求的域名均不存在规则匹配模型中,则该应用是正常应用。

建立好规则匹配模型之后,用户可以选择使用规则匹配模型,首先从用户的移动终端应 用软件所产生的网络流量中提取出DNS请求域名,然后在规则匹配模型中逐条查找规则,若发 现用户移动终端所请求的域名与匹配模型中的某一条规则相匹配,则说明用户的移动终端安 装有恶意软件。

图5为实施例建立图相似匹配模型流程图,如图5所示。

该方法包括:

步骤150,分别采集到恶意应用软件和正常应用软件的网络流量数据集。

步骤151,在采集到的网络流量数据集上,按照五元组特征(源IP,目的IP,源端口, 目的端口,协议),设计网络数据流提取程序。

步骤152,根据步骤151设计的网络数据流提取程序,分别在采集到的恶意应用软件的 网络流量数据集和正常应用软件的网络流量数据集中,提取出恶意应用软件的网络行为数据 流和正常应用软件的网络行为数据流。

步骤153,根据提取出的恶意应用软件的网络行为数据流和正常应用软件的网络行为数 据流,分别重构出恶意应用软件的网络行为重构图和正常应用软件的网络行为重构图。

步骤154,根据正常应用的网络行为序列图和恶意应用的网络行为序列图获得图相似匹 配模型,该模型主要基于图之间的相似度来识别恶意软件。

图类特征主要是指移动终端应用软件的网络行为重构图,网络行为重构图在一定程度上 反映了应用软件与外部网络之间的完整的交互过程,因为正常应用软件的网络交互行为与恶 意应用软件的网络交互行为存在很大的不同,所以,正常应用软件的网络行为重构图与恶意 应用软件的网络行为重构图也有很大的不同。首先,分别采集正常应用软件和恶意应用软件 的网络流量数据;然后,分别构建正常应用软件的网络行为重构图和恶意应用软件的网络行 为重构图;最后,建立图相似匹配模型。

图6为实施例用户使用图相似匹配模型检测流程图,如图6所示,该方法包括:

步骤160,获取用户移动终端应用软件所产生的网络流量数据。

步骤161,在采集到的用户移动终端应用软件所产生的网络流量中,利用网络数据流提 取程序提取出该应用软件的网络数据流。

步骤162,依次提取出采集到的网络流量数据中的所有的网络数据流。

步骤163,根据提取出的所有的网络数据流,构建该应用软件的网络行为重构图。

步骤164,分别计算该应用软件的网络行为重构图与恶意应用软件网络行为重构图和正 常应用软件网络行为重构图之间的相似度。

步骤165,若计算得到的与恶意应用软件网络行为重构图的相似度大于正常应用软件网 络行为重构图的相似度,则该应用是恶意应用。

步骤166,若计算得到的与恶意应用软件网络行为重构图的相似度小于正常应用软件网 络行为重构图的相似度,则该应用是正常应用。

当用户需要使用该模型时,只需要输入用户移动终端应用软件所产生的网络流量,构建 出网络行为重构图,然后分别计算其与该图相似匹配模型中的正常应用软件的网络行为重构 图的相似度,以及与恶意应用软件的网络行为重构图的相似度。若计算得到的与恶意应用软 件网络行为重构图的相似度大于正常应用软件网络行为重构图的相似度,则说明用户安装了 恶意软件。

图7为利用机器学习的无监督学习算法和有监督学习算法构建具有发现未知恶意软件检 测模型的过程图(如图7所示)。首先,在原始特征集的基础上,采用无监督学习算法发现未 知的恶意软件;其次,提取未知恶意软件的特征,建立新的特征集;最后,在新的特征集的 基础上采用有监督的学习算法获得检测模型。

图8为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检 测模型的流程图,如图8所示。该方法包括:

步骤170,提取采集到的网络流量数据中的基本特征。这些特征类型主要是数值类型特 征和标称类型特征,包括流量上传和下载比值、流的连接持续时间、流中包的平均到达时间、 源端口号、目的端口号等。

步骤171,以无监督学习算法中的聚类算法为主,对提取到的网络行为的基本特征进行 聚类,来发现未知的恶意软件。

步骤172,利用聚类算法发现了新的未知的移动终端恶意软件。

步骤173,从新发现的未知恶意软件中提取出新的特征,加入到原始特征集中,形成新 的特征集。

步骤174,以有监督学习算法中的分类算法为主,利用新的特征集训练模型,得到模型 的最优参数。

步骤175,得到模型的最优参数后,获得检测模型。

图8为实施例以机器学习无监督学习算法的K均值方法对原始特征集进行聚类的流程 图,如图8所示,该方法包括:

步骤181,输入要聚类的簇的个数为K。

步骤182,在原始特征集上随机初始化K个聚类中心。

步骤183,计算每个对象与K个聚类中心之间的距离,并将其分配到最近距离的类中。

步骤184,分配完毕后,计算新类的聚类中心。

步骤185,新类的聚类中心是否收敛,收敛条件设置为迭代次数。

步骤186,若迭代次数达到了设定的次数,则输出聚类结果。

步骤187,若迭代次数没有达到设定的次数则返回步骤183。直到达到设定的迭代次数。

图10为实施例建立机器学习的SVM模型流程图,如图10所示,该方法包括:

步骤191,采集正常应用软件和恶意应用软件的移动终端网络流量,分别选取其中的部 分数据作为训练集,另一部分数据作为测试集。

步骤192,经过预处理后,从训练集的网络流量数据中提取出数值类型的网络流量特征, 例如,上传和下载比值,流持续时间等信息。

步骤193,依次提取出训练集的网络流量数据中所有的数值类型特征。

步骤194,对SVM模型的参数进行编码。

步骤195,初始化工作,完成对数据的预处理,包括特征的归一化,模型参数的初始化 等。

步骤196,在训练集提取的网络流量特征集上训练SVM模型。

步骤197,用测试集评估模型的分类效果。

步骤198,评估分类效果是否满足结束条件。结束条件可以设置为误差精度或者模型的 训练次数等。

步骤199,若已经达到结束条件,则获得了SVM模型的各个参数。

步骤200,由获取的参数得到SVM模型。

步骤201,若没有满足结束条件,则继续返回到步骤196,继续训练模型,直到满足结束 条件为止。

图11实施例用户使用SVM模型检测流程图,如图11所示。

步骤211,获取用户移动终端应用软件所产生的网络流量。

步骤212,在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型特征 和标称型特征。

步骤213,对提取到的数值型特征和标称型特征进行归一化等预处理。

步骤214,对归一化后的特征,使用训练好的SVM模型进行检测。

图12实施例流量检测模型服务器结构图,如图12所示。

该检测模型服务器结构在工作时包括:

步骤220,移动终端网络流量数据集中的数据流量进入检测模型服务器中的流量行为分 析模块。

步骤221,特征提取程序从网络流量数据中提取出能够有效表征恶意软件网络行为的特 征。

步骤222,对于规则类的特征划分为一类,例如DNS请求域名的特征。

步骤223,对于图类的特征划分为另一类,例如行为序列图特征。

步骤224,对于数值型和标称型特征划分为第三类,例如流的持续时间,目的端口号等 特征。

步骤225,对于规则类的特征建立规则匹配模型。

步骤226,对于图类特征建立图相似匹配模型。

步骤227,对于数值类特征和标称型特征,训练得到机器学习模型。

步骤228,更新控制功能负责完成检测模型服务器对接入路由器中各个检测模型更新的 过程。

步骤229,模型选择功能负责完成用户对模型的选择。同时,对具有多种特征类型的模 型,用户还可以继续完成对指定特征类型的选择。

步骤230,获取输出功能完成从模型获取输出的检测结果。

步骤231,检测模型将检测结果通过用户接口向用户反馈。

步骤232,更新接口定时将更新的检测模型推送到接入路由器的检测模型中。

移动终端网络流量数据集的获取是通过主动式移动终端恶意软件网络流量数据集获取, 获取方法包括以下步骤:

对移动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;

从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参 数;

根据提取的移动终端恶意软件自动安装和运行所需要的参数进行移动终端恶意软件的自 动安装;

利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行 后获取移动终端恶意软件网络流量;

根据获取的移动终端恶意软件网络流量信息建立移动终端恶意目标列表;

根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶 意服务器之间所产生的恶意交互流量。

在对移动终端恶意软件进行反编译时,对大规模恶意软件的原文件,通过自动化脚本程 序来控制执行反编译工具得到所有恶意软件反编译后的文件,在每个恶意软件样本反编译后 的文件中,均有一个对应的配置文件。

在提取移动终端恶意软件自动安装和运行所需要的参数时,若反编译成功,从配置文件 中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需 要的参数,对于反编译失败的恶意软件,则重新选择新的反编译工具,直到反编译成功。

在移动终端恶意软件的自动安装时,将所有恶意软件的包名写入文本文件,每一行的内 容为一个app的包名,调试命令每次调用文本文件中一行,完成对一个恶意软件的自动化安 装,调试命令循环调用文本文件的每一行,依次实现对所有恶意软件的安装。

激活优先机制即移动终端操作系统重启>系统事件>电池电量状态>收发短信>网络状态改 变>USB接入>接打电话,若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活 并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,按照激活 优先机制的激活方式直到能够采集到有效网络流量为止。

移动终端恶意软件网络流量获取时,在移动终端接入网络的路由器节点部署镜像端口, 通过镜像端口可以把所有上、下行的移动终端网络流量镜像到数据存储服务器上。

移动终端恶意目标列表建立时,在数据存储服务器上,保存了移动终端恶意软件产生的 所有网络交互流量,通过解析流量数据的DNS信息,可以得到关于恶意软件所有的DNS请求的 目标域名,再将这些目标域名依次作恶意域名检测,若是恶意目标,则将该域名加入黑名单 列表即移动终端恶意目标列表。

移动终端恶意软件恶意行为流量分离时,基于建立好的黑名单列表,根据流的五元组构 建网络数据流,然后在数据流中的HTTP数据包中提取相应的HOST字段(HOST字段是一段域名 字符串),若该字段存在于建立的黑名单列表中,则认为该数据流为恶意软件网络行为流量, 提取并保存,反之则忽略掉该数据流,依次完成所采集到的所有数据流,最终分离出移动终 端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量,其中,五元组 即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限 制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付 出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号