CN105072045B - 一种具有恶意软件网络行为发现能力的无线路由器 - Google Patents
一种具有恶意软件网络行为发现能力的无线路由器 Download PDFInfo
- Publication number
- CN105072045B CN105072045B CN201510487044.6A CN201510487044A CN105072045B CN 105072045 B CN105072045 B CN 105072045B CN 201510487044 A CN201510487044 A CN 201510487044A CN 105072045 B CN105072045 B CN 105072045B
- Authority
- CN
- China
- Prior art keywords
- feature
- model
- module
- network
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种具有恶意软件网络行为发现能力的无线路由器,包括:网络流量获取模块,用于从采集应用软件所产生的网络流量中采集流量,并传输到流量行为分析模块;流量行为分析模块包括特征提取模块,用于从网络流量数据中提取出各类特征,特征分类模块,在特征提取之后,按照不同的特征类型对提取的特征进行分类;模型模块,对每一种类型的特征,均有与之相适应的检测模型;配置模块,用于实现模型选择,补丁控制和获取输出功能,补丁检测与结果输出模块,用于对配置模块的补丁检测及配置模块的结果输出。针对不同的特征类型设计的不同的检测模型可以在一定程度上提高了检测的准确度,满足了用户的个性化需求。
Description
技术领域
本发明涉及一种具有恶意软件网络行为发现能力的无线路由器。
背景技术
随着移动终端的广泛使用,尤其是智能手机的迅速普及,移动智能终端给现代社会巨大的变革,进入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)对于动态检测技术,则是利用“沙盒”机制,通过在沙盒内运行应用软件,监控应用软件对系统敏感资源的调用来达到识别的目的。这种动态的方法对未知的恶意应用具有一定的发现能力,但是对用户终端的资源消耗巨大,并且难以大规模部署实施,所以相关研究仅停留在学术研究阶段。
通过网络流量来发现移动终端的恶意软件网络行为是近年新兴的一种恶意软件检测技术,并取得了一些初步的研究成果。根据蒋旭宪等人在对1260个Android恶意软件统计之后发现,超过90%的恶意软件会与远程控制服务器建立恶意的网络连接。这说明大部分的Android恶意软件会与远程控制服务器之间通信。因此,流量行为分析可以作为发现移动终端恶意软件的方法。
现有的无线路由器大多采用基于Linux的Openwrt开源操作系统,该操作系统是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,可以将整个流量行为分析模块嵌入到该操作系统中。基于此,本发明设计了一种具有恶意软件网络行为发现能力的无线路由器。
发明内容
为解决现有技术存在的不足,本发明公开了一种具有恶意软件网络行为发现能力的无线路由器,该路由器具有网络行为分析能力,可以通过内嵌在该路由器中的恶意软件网络行为检测模型识别出经过该路由器连接到外部网络的移动终端是否安装了恶意软件。
为实现上述目的,本发明的具体方案如下:
一种具有恶意软件网络行为发现能力的无线路由器,包括:
网络流量获取模块,用于采集用户移动终端上的应用软件所产生的网络流量,并传输到流量行为分析模块;
所述流量行为分析模块包括特征提取模块,用于从网络流量数据中提取出各类特征,主要包括能够有效表征移动终端恶意软件网络行为的特征;
特征分类模块,在特征提取之后,按照不同的特征类型对提取的特征进行分类;
模型模块,对每一种类型的特征,均有与之相适应的检测模型,不同的特征类型适用于不同的模型,每种类型的特征有与之对应的唯一的模型。这些模型是一套程序,在路由器出厂时已经写入到操作系统中的流量行为分析模块,用户可以直接使用这套程序来对自己的移动终端上的网络流量进行检测;
配置模块,包括模型选择模块用于实现模型选择,实现补丁控制的补丁控制模块和用于实现获取输出功能的获取输出模块;
补丁检测与结果输出模块,用于对配置模块的补丁检测及配置模块的结果输出。
当补丁控制模块检测到路由器的外存中有新的补丁文件或者检测到补丁检测模块发来的指令后,补丁控制模块首先获得流量数据控制权,将流量获取模块中获取的流量数据暂存到缓存中;其次补丁控制模块对流量行为分析模块中的检测模型进行打补丁升级;然后打补丁升级成功后补丁控制模块释放流量数据控制权,使得流量获取模块中获取的流量数据传输到行为分析模块;最后补丁控制模块将缓存中的流量数据传输到流量行为分析模块。
进一步的,对特征进行分类时,分为规则类的特征、图类特征、数值型特征和标称型特征。
进一步的,对分类后的特征,选择与之相适应的检测模型进行检测。分别的,对于规则类的特征,选择基于规则的检测模型进行检测,对于图类的特征,选择基于图相似的匹配模型进行检测,对于数值型特征和标称型特征,选择机器学习模型处理这些类型的数据。
更进一步的,对于规则类的特征进行检测时,采用的步骤为:
1-1)通过对用户移动终端网络流量的采集,从中提取出所有的请求的域名;
1-2)将提取的域名与规则匹配模板库中规则进行匹配,若发现有恶意请求的域名存在,规则匹配模型输出发现恶意软件的检测结果。
更进一步的,对于图类特征进行检测时,采用的步骤为:
2-1)在采集到的用户移动终端应用软件所产生的网络流量中,按照五元组特征提取出该应用的网络行为数据流;其中,五元组特征是指具有相同的源IP,目的IP,源端口,目的端口和协议类型;
2-2)根据提取出的网络行为数据流,画出用户移动终端应用软件的网络行为重构图,分别计算其与图相似匹配模型中恶意网络行为重构图的相似度和与图相似匹配模型中正常网络行为重构图的相似度,若与前者的相似度大于后者的相似度,则说明该应用软件是恶意软件。
更进一步的,对于数值型和标称型特征进行检测时,采用的步骤为:
3-1)在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型和标称型特征;
3-2)对提取出的数值型特征和标称型特征进行归一化等预处理;
3-3)将处理好的数值型特征和标称型特征输入到已经预先在流量行为分析模块中配置好的机器学习模型中;
3-4)根据输入的特征,使用机器学习模型做检测。
本发明的有益效果:
本发明针对传统的静态检测和动态检测方法的不足,本发明设计了一种基于移动终端网络流量特征检测恶意应用的路由器,第一,这款路由器可以检测通过其接入到互联网的移动终端中是否安装了恶意应用,同时以系统固件的方式应用到路由器中可以实现大规模部署,很好地解决了部署困难的问题;第二,整个检测过程均在路由器端完成,充分的利用了路由器的硬件资源;第三,与传统的无线路由器相比,这款路由器具有流量检测的安全功能,保证接入的移动终端是安全的。
附图说明
图1为传统无线路由器的产品结构图。
图2为改进后的无线路由器的产品结构图。
图3为实施例一种具有恶意软件网络行为发现能力的无线路由器的流量行为分析模块结构图。
图4为实施例建立规则匹配模型流程图。
图5为实施例用户使用规则匹配模型检测流程图。
图6为实施例建立图相似匹配模型流程图。
图7为实施例用户使用图相似匹配模型检测流程图。
图8为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检测模型的过程图。
图9为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检测模型的流程图。
图10为实施例以机器学习无监督学习算法的K均值方法对原始特征集进行聚类的流程图。
图11为为实施例建立机器学习的SVM模型流程图。
图12为实施例用户使用SVM模型检测流程图。
具体实施方式:
下面结合附图对本发明进行详细说明:
本发明以原有无线路由器的结构(如图1所示)为基础,在操作系统中加入了流量行为分析模块(如图2所示)。首先,当用户的移动终端通过路由器接入外部网络时,使用路由器系统中安装的tcpdump工具采集到用户的移动终端设备与外部网络间的交互流量;然后,行为分析模块读取采集到的网络流量并进行分析;最后,如果检测到恶意流量,说明用户的移动终端设备上安装了恶意应用,通过提示消息将检测结果反馈给用户。
一种具有恶意软件网络行为发现能力的无线路由器,它应该包括:
流量获取模块,主要负责从采集应用软件所产生的网络流量中采集流量,并传输到流量行为分析模块。
特征提取模块,主要负责从网络流量数据中提取出各类特征。这些特征主要包括能够有效表征移动终端恶意软件网络行为的特征。对于已经确定的每一种网络行为特征,例如流量的上传和下载比值,流的持续时间,流的目的端口号,流中包的平均到达时间等传统的流量特征,特征提取模块都设计了与之对应的特征提取程序。
特征分类模块,主要负责在特征提取之后,按照不同的特征类型对提取的特征进行分类。由于网络流量的行为特征是具有多种类型的,而且对于每一种类型的特征,应当有与之相适应的检测模型。所以,按照不同的特征类型将特征进行分类,每一类的特征有对应的一种检测模型,这种多模型的检测方法可以使检测结果更加准确。例如,对于规则类的特征,适应于基于规则的检测模型,而对于图类的特征,适应于基于图相似的匹配模型,对于数值类型和标称类型特征,机器学习模型则更加擅长处理这些类型的数据。
模型模块,对每一种类型的特征,均有与之相适应的检测模型。不同的特征类型适用于不同的模型,一种类型的特征有与之对应的唯一的模型。这种设计主要基于不同类型的特征所适用的模型不同。本发明的三种检测模型,分别为规则匹配模型、图相似匹配模型以及机器学习模型,这三种模型分别针对不同的特征类型而设计。
配置模块,主要负责实现模型选择,补丁控制和获取输出功能。模型选择功能主要是为用户完成模型的选择而设计,由于在系统的模型模块中,设计了基于多种不同特征类型的检测模型,用户可能不需要其中的某一种,所以设计的模型选择功能可以实现选择其中的一种或者多种模型。获取输出主要负责对模型输出的检测结果的获取。补丁控制主要负责为模型打补丁。当补丁控制模块检测到路由器的外存中有新的补丁文件或者检测到补丁检测模块发来的指令后,补丁控制模块首先获得流量数据控制权,将流量获取模块中获取的流量数据暂存到缓存中;其次补丁控制模块对流量行为分析模块中的检测模型进行打补丁升级;然后打补丁升级成功后补丁控制模块释放流量数据控制权,使得流量获取模块中获取的流量数据传输到行为分析模块;最后补丁控制模块将缓存中的流量数据传输到流量行为分析模块。
补丁检测与结果输出模块,主要负责分析结果对用户的可视化和检测模型服务器对本地检测模型的打补丁过程。
利用上述路由器的移动终端恶意软件的检测方法,具体工作过程为:
1)移动终端应用软件网络流量的采集。首先,用户使用移动终端,通过无线的方式接入无线路由器;其次,基于Linux的开源操作中的tcpdump工具,执行tcpdump命令采集到用户移动终端产生的网络流量;最后,流量行为分析模块读取采集到的网络流量进行系一部的处理。
2)设计特征提取程序并对特征进行分类。首先,根据能够有效表征移动终端恶意软件的网络行为的特征,设计相应的特征提取程序,完成从原始的网络流量数据中提取特征;其次,按照不同的特征类型,对特征进行分类。例如,对于DNS域名查询,流量上传和下载比值,连接持续时间,端口号,行为序列图等能够有效表征移动终端恶意软件行为的特征,分别设计相应的特征提取程序;然后,对这些特征按照不同的类型进行分类,DNS域名查询作为规则类的特征,流量上传和下载比值、连接持续时间作为数值型类特征,端口号作为标称型类特征,行为序列图作为图类特征。
3)用户自主选择所需要的模型。用户此时可以根据自己的需要,通过模型控制器的模型选择功能同时选择一种或是几种检测模型,并选择对应的特征类型。
4)流量检测。检测模型开始对输入的流量数据进行处理和计算,并输出检测结果。例如,首先,用户选定机器学习模型和图类匹配模型;其次,会提示机器学习模型可选的特征类型-数值型和标称型,用户选择数值型特征;再次,输入移动终端应用软件产生的流量数据;然后,特征处理程序根据选定的特征类型-数值型类特征和图类特征,分别提取出数值型的特征,例如流量上传和下载比值、流的连接持续时间、流中包的平均到达时等输入到机器学习模型,同时,将图类特征,例如网络行为重构图输入到图相似匹配模型,分别计算与恶意网络行为重构图和正常网络行为重构图之间的相似度,依据相似度来识别出恶意软件。
上述的检测模型是在路由器出厂时已经配置好的一套程序。这套检测模型程序的具体实现过程是:首先,按照不同的特征类型,选择适合于该特征类型的检测模型;其次,基于采集到的网络流量数据集,通过训练得到适合于不同特征类型的检测模型。
以规则类的DNS域名特征为例,首先,需要选择与规则类特征相适合的规则匹配模型;其次,基于采集的网络流量数据集,从中提取出所有的DNS域名;再次,将提取到的DNS域名在第三方域名检测服务VirusTotal上做域名检测,建立恶意URL列表;然后,把这个列表上的恶意URL作为规则加入到规则匹配模型;最后,用户终端接入网络后,通过对用户移动终端网络流量的采集,从采集到的网络流量中提取DNS域名,与规则匹配模型中规则进行匹配,若发现有恶意DNS域名存在,规则匹配模型输出发现恶意软件的检测结果。
以图类的网络行为重构图特征为例,首先,选择相应的图相似匹配模型;其次,在采集到的网络流量数据集中,按照五元组特征(具有相同的源IP,目的IP,源端口,目的端口和协议类型)提取出恶意的网络行为数据流;再次,基于恶意的网络行为数据流,画出恶意网络行为重构图;然后,基于正常的网络行为数据流,画出正常网络行为重构图;最后,获取用户移动终端应用软件所产生的网络流量,画出用户移动终端应用软件的网络行为重构图,分别计算其与恶意网络行为重构图的相似性和与正常网络行为重构图的相似度,若与前者的相似度大于后者的相似度,则说明该应用软件是恶意软件。
以机器学习模型为例,本发明设计了一种具有发现未知恶意软件能力的检测模型,该方法基于机器学习的无监督学习和有监督学习。其中,无监督学习主要以聚类算法为主,有监督学习主要以分类算法为主。首先,在采集到的网络流量数据集中,提取出数值型类特征和标称型类特征,建立原始特征集;其次,我们在原始特征集上使用聚类算法,将具有相似特征的软件样本聚为一类,这种聚类的好处是能够发现未知的恶意软件;然后,对先发现的未知恶意软件,重新提取特征,加入到原始特征集中形成新的特征集;最后,在新的特征集上使用分类算法,建立分类检测模型,使用分类算法的好处是分类具有比聚类更高的准确度。
5)结果反馈。用户联网数据流量经过流量行为分析模块的分析,最终将分析结果通过结果输出接口呈现给用户。
上述的检测模型中的数据集获取及图类的网络行为重构图方法包括:
1)移动终端恶意软件反编译。对大规模Android恶意软件的原文件,通过自动化脚本程序来控制执行反编译工具APKTool,可以得到所有恶意软件反编译后的文件。同时,在每个恶意软件样本反编译后的文件中,都有一个Android系统的配置文件AndroidManifest.xml。
2)提取移动终端恶意软件自动安装和运行所需要的参数。对于每一个Android恶意软件,若反编译成功,都可以从它的AndroidManifest.xml文件中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需要的参数。对于反编译失败的恶意软件,则重复步骤1),重新选择新的反编译工具,直到反编译成功。
3)移动终端恶意软件自动安装。通过Android平台提供的ADB调试命令,可以实现Android应用软件的安装。其中,Android应用软件的安装需要包名作为参数传入ADB。对于大规模移动终端恶意软件,将步骤2)得到的所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名。ADB每次调用文本文件中一行,完成对一个恶意软件的自动化安装。ADB循环调用文本文件的每一行,依次实现对所有恶意软件的安装。
4)移动终端恶意软件激活与运行。不同的Android恶意软件所依赖于的激活方式不尽相同,目前已知的激活方式主要包括移动终端操作系统重启、收发短信、接打电话、系统事件、电池电量状态、网络状态改变、USB接入。不同的激活方式所能激活的恶意软件的数量不等,据统计超过80%的Android恶意软件依赖手机操作系统的重启来实现激活。本发明依据各种激活方式所能激活的恶意软件数量排序设计了一种激活优先机制,即移动终端操作系统重启>系统事件>电池电量状态>收发短信>网络状态改变>USB接入>接打电话。若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,以此类推,直到能够采集到有效网络流量为止。若使用所有的激活方式仍然没有采集到有效流量,则对该恶意软件的流量采集失败。
5)移动终端恶意软件网络流量获取。在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口可以把所有上、下行的移动终端网络流量镜像到数据存储服务器上。
6)移动终端恶意目标列表建立。在数据存储服务器上,保存了移动终端恶意软件产生的所有网络交互流量。通过解析流量数据的DNS信息,可以得到关于恶意软件所有的DNS请求的目标域名,再将这些目标域名依次在VirusTotal上作恶意域名检测,若是恶意目标,则将该域名加入黑名单列表。
7)移动终端恶意软件恶意行为流量分离。基于6)建立好的黑名单,根据流的五元组(即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号)构建网络数据流,然后在数据流中的HTTP数据包中提取相应的HOST字段(HOST字段是一段域名字符串),若该字段存在于6)建立的黑名单中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流。依据该原则依次完成所采集到的所有数据流。这样分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。
8)移动终端恶意软件网络行为交互时序图建立。在7)分离出恶意的网络数据流后,提取出相应的DNS数据包和HTTP数据包。首先,依次读取恶意的网络数据流中的每一个流,提取出流中的HTTP数据包,记录下HTTP数据包的发送时间和HTTP数据包中的HOST字段(这个字段记载着HTTP数据包传输的服务器域名);然后,根据HTTP数据包中HOST字段的域名,从原始网络流量数据包中提取出与HOST字段具有相同域名的DNS协议数据包,并记录下数据包的发送时间,以及DNS应答数据包中的CNAME内容和解析到的IP地址;最后,按照数据包的发送时间,画出从源IP地址到DNS以及向目标域名服务器发送HTTP数据包的网络交互时序图。
9)移动终端恶意软件网络行为重构。在8)建立的网络交互时序图的基础上构建网络行为的重构图。首先,将源IP地址、目标服务器域名以及HTTP数据包定义为图的节点,将DNS应答数据包的内容定义为目标服务器域名节点的属性节点;其次,在图中用实线连接目标服务器域名节点与各个属性节点,用以表示目标服务器所相关的CNAME信息和解析到的IP地址信息;再次,用虚线连接HTTP数据包节点与目标服务器域名节点,用以表示向该目标服务器发送HTTP数据包的对应关系;然后,用实线连接源IP地址节点与目标服务器域名节点,表示从源IP地址向目标服务器发出的请求,并以目标服务器域名的请求次数作为该段实线的权重;最后,用实线连接源IP地址节点与HTTP数据包节点,表示从源IP地址向目标服务器发出的HTTP数据包,并以向目标服务器发出的HTTP数据包数量作为该段实线的权重。
为了更详细介绍本申请的技术方案,以下给出了更为详细的实现流程:
图3为实施例一种具有恶意软件网络行为发现能力的无线路由器的流量行为分析模块结构图,如图3所示。
步骤100,首先,用户使用移动终端经过路由器连接到外部网络,移动终端应用软件产生的网络流量在经过路由器时,tcpdump工具开始运行并采集应用软件所产生的网络流量;然后,流量行为分析模块开始读取采集到的网络流量。
步骤101,特征提取程序从网络流量数据中提取出能够有效表征恶意软件网络行为的特征。
步骤102,对于规则类的特征划分为一类,例如DNS请求域名的特征。
步骤103,对于图类的特征划分为另一类,例如行为序列图特征。
步骤104,对于数值型和标称型特征划分为第三类,例如流的持续时间,目的端口号等特征。
步骤105,对于规则类的特征在规则匹配模型中进行检测。
步骤106,对于图类特征在图相似匹配模型中进行检测。
步骤107,对于数值类特征和标称型特征,在SVM模型进行检测。
步骤108,补丁控制功能完成检测模型服务器对无线路由器中的检测模型打补丁的过程。
步骤109,模型选择功能完成用户对模型的选择。同时,对具有多种特征类型的模型,用户还可以继续完成对指定特征类型的选择。
步骤110,获取输出功能完成从模型获取输出的检测结果。
步骤111,检测模型将检测结果通过用户接口向用户反馈。
步骤112,补丁检测监听检测模型服务器的传输接口,一旦监听到有补丁信息,则建立传输连接,进行打补丁。
图4为实施例建立规则匹配模型流程图,如图4所示,该方法包括:
步骤120,DNS特征提取程序从恶意的网络流量数据集中提取出所有的DNS请求的域名。
步骤121,提取出所有的移动终端恶意软件产生的DNS请求的域名后,建立DNS请求的域名集合。
步骤122,依次将DNS请求的域名集合中的每一个域名放在第三方域名检测服务VirusTotal上做域名检测。
步骤123,若VirusTotal的检测结果是恶意URL,则将该域名加入到恶意列表中。
步骤124,若VirusTotal检测结果是正常URL,则不做处理。
步骤125,对DNS请求的域名集合中的所有域名检测完毕后,将得到的恶意列表加入到规则匹配模型,获得规则匹配模型。
规则匹配模型的规则由DNS请求的恶意目标域名组成,为了获取规则,首先在采集到的移动终端恶意软件网络流量数据中,提取出所有的DNS数据包中的请求目标域名,然后对所有的域名在VirusTotal上做域名检测,检测结果为恶意的域名成为一条规则,加入到规则匹配模型中。
图5实施例用户使用规则匹配模型检测流程图,如图5所示,该方法包括:
步骤130,获取用户移动终端的应用软件所产生的网络流量。
步骤131,DNS提取程序从流量数据中提取出DNS请求的域名。
步骤132,将提取出的所有的DNS请求的域名输入到建立的规则匹配模型中。
步骤133,规则匹配模型对所提取出来的DNS请求的域名做规则匹配。
步骤134,若存在任意一个DNS请求的域名,在规则匹配模型中有与之相匹配的域名,则该应用是恶意应用。
步骤135,若所有的DNS请求的域名均不存在于规则匹配模型中,则该应用是正常应用。
建立好规则匹配模型之后,用户可以选择使用规则匹配模型,首先从用户的移动终端应用软件所产生的网络流量中提取出DNS请求域名,然后在规则匹配模型中逐条查找规则,若发现用户移动终端所请求的域名与匹配模型中的某一条规则相匹配,则说明用户的移动终端安装有恶意软件。
图6为实施例建立图相似匹配模型流程图,如图6所示,该方法包括:
步骤140,分别采集到恶意应用软件和正常应用软件的网络流量数据集。
步骤141,在采集到的网络流量数据集上,按照五元组特征(源IP,目的IP,源端口,目的端口,协议),设计网络数据流提取程序。
步骤142,根据步骤141设计的网络数据流提取程序,分别在采集到的恶意应用软件的网络流量数据集和正常应用软件的网络流量数据集中,提取出恶意应用软件的网络行为数据流和正常应用软件的网络行为数据流。
步骤143,根据提取出的恶意应用软件的网络行为数据流和正常应用软件的网络行为数据流,分别重构出恶意应用软件的网络行为重构图和正常应用软件的网络行为重构图。
步骤144,根据正常应用的网络行为序列图和恶意应用的网络行为序列图获得图相似匹配模型,该模型主要基于图之间的相似度来识别恶意软件。
图相似匹配模型主要基于由移动终端应用软件的网络行为重构图,包括正常应用软件的网络行为重构图和恶意应用软件的网络行为重构图,其中,正常应用软件的网络行为重构图的画法与恶意应用软件的网络行为重构图的画法相同,均是按照网络数据流的方法构建网络行为重构图。
图7为实施例用户使用图相似匹配模型检测流程图,如图7所示,该方法包括:
步骤150,获取用户移动终端应用软件所产生的网络流量。
步骤151,在采集到的用户移动终端应用软件所产生的网络流量中,利用网络数据流提取程序提取出该应用软件的网络数据流。
步骤152,依次提取出采集到的网络流量数据中的所有的网络数据流。
步骤153,根据提取出的所有的网络数据流,画出该应用软件的网络行为重构图。
步骤154,分别计算该应用软件的网络行为重构图与图相似匹配模型中恶意应用软件网络行为重构图和图相似匹配模型中正常应用软件网络行为重构图之间的相似度。
步骤155,若计算得到的与恶意应用软件网络行为重构图的相似度大于正常应用软件网络行为重构图的相似度,则该应用是恶意应用。
步骤156,若计算得到的与恶意应用软件网络行为重构图的相似度小于正常应用软件网络行为重构图的相似度,则该应用是正常应用。
图8为利用机器学习的无监督学习算法和有监督学习算法构建具有发现未知恶意软件检测模型的过程图(如图8所示)。首先,在原始特征集的基础上,采用无监督学习算法发现未知的恶意软件;其次,提取未知恶意软件的特征,建立新的特征集;最后,在新的特征集的基础上采用有监督的学习算法获得检测模型。
图9为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检测模型的流程图,如图9所示。该方法包括:
步骤160,提取采集到的网络流量数据中的基本特征。这些特征类型主要是数值类型特征和标称类型特征,包括流量上传和下载比值、流的连接持续时间、流中包的平均到达时间、源端口号、目的端口号等。
步骤161,以无监督学习算法中的聚类算法为主,对提取到的网络行为的基本特征进行聚类,来发现未知的恶意软件。
步骤162,利用聚类算法发现了新的未知的移动终端恶意软件。
步骤163,从新发现的未知恶意软件中提取出新的特征,加入到原始特征集中,形成新的特征集。
步骤164,以有监督学习算法中的分类算法为主,利用新的特征集训练模型,得到模型的最优参数。
步骤165,得到模型的最优参数后,获得检测模型。
图10为实施例以机器学习无监督学习算法的K均值方法对原始特征集进行聚类的流程图,如图10所示,该方法包括:
步骤171,输入要聚类的簇的个数为K。
步骤172,在原始特征集上随机初始化K个聚类中心。
步骤173,计算每个对象与K个聚类中心之间的距离,并将其分配到最近距离的类中。
步骤174,分配完毕后,计算新类的聚类中心。
步骤175,新类的聚类中心是否收敛,收敛条件设置为迭代次数。
步骤176,若迭代次数达到了设定的次数,则输出聚类结果。
步骤177,若迭代次数没有达到设定的次数则返回步骤173。直到达到设定的迭代次数。
图11为实施例建立机器学习的SVM模型流程图,如图11所示,该方法包括:
步骤181,采集正常应用软件和恶意应用软件的移动终端网络流量,分别选取其中的部分数据作为训练集,另一部分数据作为测试集。
步骤182,经过预处理后,从训练集的网络流量数据中提取出数值类型的网络流量特征,例如,上传和下载比值,流持续时间等信息。
步骤183,依次提取出训练集的网络流量数据中所有的数值类型特征。
步骤184,对SVM模型的参数进行编码。
步骤185,初始化工作,完成对数据的预处理,包括特征的归一化,模型参数的初始化等。
步骤186,在训练集提取的网络流量特征集上训练SVM模型。
步骤187,用测试集评估模型的分类效果。
步骤188,评估分类效果是否满足结束条件。结束条件可以设置为误差精度或者模型的训练次数等。
步骤189,若已经达到结束条件,则获得了SVM模型的各个参数。
步骤190,由获取的参数得到SVM模型。
步骤191,若没有达到结束条件,则继续返回到步骤186,继续训练模型,直到满足结束条件为止。
图12为实施例用户使用SVM模型检测流程图,如图12所示,该方法包括:
步骤201,获取用户移动终端应用软件所产生的网络流量。
步骤202,在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型特征和标称型特征。
步骤203,对提取到的数值型特征和标称型特征进行归一化等预处理。
步骤204,对归一化后的特征,使用训练好的SVM模型进行检测。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (5)
1.一种具有恶意软件网络行为发现能力的无线路由器,其特征是,利用路由器的硬件资源,该路由器检测通过其接入到互联网的移动终端中是否安装了恶意软件,同时以系统固件的方式应用到路由器,包括:
网络流量获取模块,用于采集用户移动终端上的应用软件所产生的网络流量,并传输到流量行为分析模块;
所述流量行为分析模块包括特征提取模块,用于从网络流量数据中提取出各类特征,主要包括能够有效表征移动终端恶意软件网络行为的特征;
特征分类模块,在特征提取之后,按照不同的特征类型对提取的特征进行分类;对特征进行分类时,分为规则类的特征、图类特征、数值型特征和标称型特征;对于DNS域名查询,流量上传和下载比值,连接持续时间,端口号,行为序列图能够有效表征移动终端恶意软件行为的特征,分别进行相应的特征提取;然后,对这些特征按照不同的类型进行分类,DNS域名查询作为规则类的特征,流量上传和下载比值、连接持续时间作为数值型类特征,端口号作为标称型类特征,行为序列图作为图类特征;
模型模块,对每一种类型的特征,均有与之相适应的检测模型,不同的特征类型适用于不同的模型,每种类型的特征有与之对应的唯一的模型;规则类的特征,使用基于规则的检测模型进行检测,图类的特征,使用基于图相似的匹配模型进行检测,对于数值型特征和标称型特征,利用机器学习模型处理这些类型的数据;
配置模块,包括模型选择模块用于实现模型选择,实现补丁控制的补丁控制模块和用于实现获取输出功能的获取输出模块;所述模型选择模块选择一种或是几种检测模型,并选择对应的特征类型;
补丁检测与结果输出模块,用于对配置模块的补丁检测及配置模块的结果输出。
2.如权利要求1所述的一种具有恶意软件网络行为发现能力的无线路由器,其特征是,所述模型模块中,基于规则的检测模型用于通过对用户移动终端网络流量的采集,从中提取出所有的请求的域名;将提取的域名与规则匹配模板库中规则进行匹配,若发现有恶意请求的域名存在,规则匹配模型输出发现恶意软件的检测结果。
3.如权利要求1所述的一种具有恶意软件网络行为发现能力的无线路由器,其特征是,所述模型模块中,基于图相似的匹配模型用于在采集到的用户移动终端应用软件所产生的网络流量中,按照五元组特征提取出该应用软件的网络行为数据流;其中,五元组特征是指具有相同的源IP,目的IP,源端口,目的端口和协议类型;根据提取出的网络行为数据流,画出用户移动终端应用软件的网络行为重构图,分别计算其与图相似匹配模型中恶意网络行为重构图的相似度和与图相似匹配模型中正常网络行为重构图的相似度,若与前者的相似度大于后者的相似度,则说明该应用软件是恶意软件。
4.如权利要求1所述的一种具有恶意软件网络行为发现能力的无线路由器,其特征是,所述模型模块中,机器学习模型用于在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型和标称型特征;对提取出的数值型特征和标称型特征进行归一化预处理;将处理好的数值型特征和标称型特征输入到已经预先在流量行为分析模块中配置好的SVM模型中;根据输入的特征,使用SVM模型做检测。
5.如权利要求1所述的一种具有恶意软件网络行为发现能力的无线路由器,其特征是,使用移动终端经过所述无线路由器连接到外部网络,移动终端应用软件产生的网络流量在经过路由器时,tcpdump工具开始运行并采集应用软件所产生的网络流量;然后,流量行为分析模块开始读取采集到的网络流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510487044.6A CN105072045B (zh) | 2015-08-10 | 2015-08-10 | 一种具有恶意软件网络行为发现能力的无线路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510487044.6A CN105072045B (zh) | 2015-08-10 | 2015-08-10 | 一种具有恶意软件网络行为发现能力的无线路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105072045A CN105072045A (zh) | 2015-11-18 |
CN105072045B true CN105072045B (zh) | 2018-12-18 |
Family
ID=54501331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510487044.6A Active CN105072045B (zh) | 2015-08-10 | 2015-08-10 | 一种具有恶意软件网络行为发现能力的无线路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105072045B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845230B (zh) * | 2016-12-29 | 2019-05-14 | 济南大学 | 基于恶意网络流量词库的恶意软件检测可视化方法及系统 |
CN106993083B (zh) * | 2017-02-21 | 2020-12-04 | 北京奇虎科技有限公司 | 一种推荐智能终端操作提示信息的方法和装置 |
CN108696377A (zh) * | 2017-04-11 | 2018-10-23 | 西安邮电大学 | 一种实现移动用户行为识别的方法 |
CN108418804A (zh) * | 2018-02-05 | 2018-08-17 | 四川斐讯信息技术有限公司 | 一种防病毒路由器、系统和方法 |
CN108881157B (zh) * | 2018-05-04 | 2021-01-22 | 国家计算机网络与信息安全管理中心 | 一种基于pc终端行为的个体信息安全能力评价方法及系统 |
CN109033836B (zh) * | 2018-07-24 | 2021-07-20 | 南开大学 | 基于统计学习的恶意代码多模型交叉检测方法 |
CN110765455A (zh) * | 2018-09-04 | 2020-02-07 | 哈尔滨安天科技集团股份有限公司 | 基于属性域异常调用的恶意文档检测方法、装置及系统 |
CN109784052B (zh) * | 2018-12-29 | 2021-07-20 | 360企业安全技术(珠海)有限公司 | 软件行为检测的管理方法及服务端、终端、系统 |
CN112688897A (zh) * | 2019-10-17 | 2021-04-20 | 北京观成科技有限公司 | 一种流量识别的方法、装置、存储介质及电子设备 |
CN112291788B (zh) * | 2020-11-13 | 2023-01-10 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质、终端及网络接入点设备 |
CN112287373A (zh) * | 2020-11-13 | 2021-01-29 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及网络接入点设备 |
CN112491851B (zh) * | 2020-11-19 | 2022-11-15 | 南京邮电大学 | 一种加密恶意流量检测确认方法 |
CN114666812A (zh) * | 2020-12-24 | 2022-06-24 | 华为技术有限公司 | 信息处理的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333313A (zh) * | 2011-10-18 | 2012-01-25 | 中国科学院计算技术研究所 | 移动僵尸网络特征码生成方法和移动僵尸网络检测方法 |
CN103139169A (zh) * | 2011-11-30 | 2013-06-05 | 西门子公司 | 基于网络行为的病毒检测系统和方法 |
CN104091122A (zh) * | 2014-06-17 | 2014-10-08 | 北京邮电大学 | 一种移动互联网恶意数据的检测系统 |
-
2015
- 2015-08-10 CN CN201510487044.6A patent/CN105072045B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333313A (zh) * | 2011-10-18 | 2012-01-25 | 中国科学院计算技术研究所 | 移动僵尸网络特征码生成方法和移动僵尸网络检测方法 |
CN103139169A (zh) * | 2011-11-30 | 2013-06-05 | 西门子公司 | 基于网络行为的病毒检测系统和方法 |
CN104091122A (zh) * | 2014-06-17 | 2014-10-08 | 北京邮电大学 | 一种移动互联网恶意数据的检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105072045A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105072045B (zh) | 一种具有恶意软件网络行为发现能力的无线路由器 | |
CN105022960B (zh) | 基于网络流量的多特征移动终端恶意软件检测方法及系统 | |
CN105187395B (zh) | 基于接入路由器进行恶意软件网络行为检测的方法及系统 | |
CN105187392B (zh) | 基于网络接入点的移动终端恶意软件检测方法及其系统 | |
CN105007282B (zh) | 面向网络服务提供商的恶意软件网络行为检测方法及系统 | |
CN106992994B (zh) | 一种云服务的自动化监控方法和系统 | |
CN109361643B (zh) | 一种恶意样本的深度溯源方法 | |
CN105187394B (zh) | 具有移动终端恶意软件行为检测能力的代理服务器及方法 | |
CN108886483A (zh) | 用于自动装置检测的系统及方法 | |
CN102469117B (zh) | 一种异常访问行为的识别方法及装置 | |
CN104539459A (zh) | 路由器及路由器上网控制方法 | |
CN112818352B (zh) | 数据库的检测方法及装置、存储介质及电子装置 | |
CN105653947A (zh) | 一种评估应用数据安全风险的方法及装置 | |
CN113378899A (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
KR20180079434A (ko) | 바이러스 데이터베이스 획득 방법 및 기기, 장비, 서버 그리고 시스템 | |
CN110493235A (zh) | 一种基于网络流量特征的移动终端恶意软件同步检测方法 | |
KR101657667B1 (ko) | 악성 앱 분류 장치 및 악성 앱 분류 방법 | |
He et al. | On‐Device Detection of Repackaged Android Malware via Traffic Clustering | |
CN108809950B (zh) | 一种基于云端影子系统的无线路由器保护方法和系统 | |
CN106301979A (zh) | 检测异常渠道的方法和系统 | |
CN112671614B (zh) | 关联系统连通性测试方法、系统、装置及存储介质 | |
CN111817935B (zh) | 一种互联网智能家居数据处理方法及系统 | |
US11159548B2 (en) | Analysis method, analysis device, and analysis program | |
CN109670317B (zh) | 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法 | |
CN104363256B (zh) | 一种手机病毒的识别和控制方法、设备与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |