CN105187390B - 主动式移动终端恶意软件网络流量数据集获取方法及系统 - Google Patents
主动式移动终端恶意软件网络流量数据集获取方法及系统 Download PDFInfo
- Publication number
- CN105187390B CN105187390B CN201510486989.6A CN201510486989A CN105187390B CN 105187390 B CN105187390 B CN 105187390B CN 201510486989 A CN201510486989 A CN 201510486989A CN 105187390 B CN105187390 B CN 105187390B
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- malware
- flow
- malicious
- network
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了主动式移动终端恶意软件网络流量数据集获取方法及系统,对移动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参数;移动终端恶意软件的自动安装;利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行后获取移动终端恶意软件网络流量;建立移动终端恶意目标列表;根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。对采集到的网络流量数据,本发明以网络数据流的方式从混合流量中提取到恶意软件所产生的恶意流量。
Description
技术领域
本发明涉及一种针对移动终端恶意软件的主动式网络流量数据集获取方法,尤其涉及大规模移动终端恶意软件的网络流量数据集的主动式和自动化采集方法。
背景技术
正常的移动终端应用软件(程序)被加入恶意代码之后便成为了移动终端恶意软件(应用程序)。蒋旭宪等人在对收集到的1260个Android恶意应用程序统计之后发现,86%的恶意应用程序是正常应用程序被修改源文件后重新打包后生成的,超过90%的恶意应用程序会与远程控制服务器或者恶意应用服务器之间建立网络连接。这一统计发现一方面说明大部分的Android恶意应用程序会与远程控制服务器或者恶意应用服务器之间进行网络通信,从而产生网络流量;另一方面也说明恶意应用程序产生的网络流量是一种包含了正常应用流量与恶意行为流量的混合流量。为了获取移动终端恶意软件网络流量数据集,需要对所采集的混合网络流量进行分离,从而得到只包含有恶意应用程序与远程控制服务器或者恶意应用服务器之间的恶意行为流量。
网络测量的分类标准有多种,根据测量的方式,分为主动测量和被动测量。主动测量是指由测量用户主动发起测量,将探测分组注入网络,根据测量数据流的传送情况来分析网络的性能。被动测量则通过在网络中的链路或设备(如路由器、交换机等)上借助包捕获数据的方式来记录网络流量,分析流量,获知网络的性能状况。
网络服务提供商由于具备面向大规模用户的网络接入能力,能够在网络核心节点部署流量采集设备,可以采用被动式测量方法获取到大规模移动终端用户的网络流量,现有的移动终端网络流量数据集也大多来自于网络服务提供商。但是网络服务提供商所采集获取的移动终端网络流量存在以下几方面的问题:(1)这种来自网络服务提供商的移动终端网络流量数据中既包含了移动终端恶意应用程序所产生的流量,也包含了正常应用程序所产生的流量,是一种正常应用和恶意应用所产生的混合流量,而移动智能终端恶意软件行为分析迫切需要分离出纯的恶意应用程序网络行为流量;(2)限于隐私保护和商业机密等约束,网络服务提供商所采集的移动终端用户网络流量数据集中只能对外提供经过隐私处理、应用层信息被过滤的流量数据,而移动智能终端恶意软件行为分析需要完整的流量信息以便进行更全面的分析;(3)网络服务提供商基于被动式的流量采集方法获取网络流量数据,需要从海量的混合流量数据中提取分离恶意行为流量,存储计算开销相当大,难于在较短的时间内获取足够的恶意应用程序流量数据。
基于以上现状,进行移动终端恶意软件网络行为分析迫切需要一种主动式移动终端恶意软件网络流量数据集获取方法,该方法能满足以下几点基本要求:(1)能够在较短的时间内尽可能多地采集到移动终端恶意软件网络流量数据;(2)所获取的网络流量数据集可以有效分离和提取,最终得到只包含恶意软件所产生的纯恶意行为流量;(3)所采集到的恶意行为网络流量数据应包含完整的网络数据信息,即包括源MAC地址,源IP地址,目的MAC地址,目的IP地址,源端口,目的端口,协议类型,持续时间等,尤其是应当包含应用层的信息,包括DNS,HTTP以及HTTPS等应用层协议信息。同时,对于路由信息、广播信息等冗余流量应当尽可能少的出现在采集的网络流量数据中。
发明内容
为解决现有技术存在的不足,本发明公开了主动式移动终端恶意软件网络流量数据集获取方法及系统,本发明针对大规模移动终端恶意应用程序,采用一套自动化的移动终端恶意网络流量采集程序,在该程序的控制下不需要人工操作即可完成大规模移动终端恶意应用程序的网络流量的采集。最后,根据采集的网络数据流量采用一种基于流的分离方法将恶意行为流量从混合流量分离出来。
为实现上述目的,本发明的具体方案如下:
主动式移动终端恶意软件网络流量数据集获取方法,包括以下步骤:
对移动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;
从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参数;
根据提取的移动终端恶意软件自动安装和运行所需要的参数进行移动终端恶意软件的自动安装;
利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行后获取移动终端恶意软件网络流量;
根据获取的移动终端恶意软件网络流量信息建立移动终端恶意目标列表;
根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。
进一步的,在对移动终端恶意软件进行反编译时,对大规模恶意软件的原文件,通过自动化脚本程序来控制执行反编译工具得到所有恶意软件反编译后的文件,在每个恶意软件样本反编译后的文件中,均有一个对应的配置文件。
进一步的,在提取移动终端恶意软件自动安装和运行所需要的参数时,若反编译成功,从配置文件中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需要的参数,对于反编译失败的恶意软件,则重新选择新的反编译工具,直到反编译成功。
进一步的,在移动终端恶意软件的自动安装时,将所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名,调试命令每次调用文本文件中一行,完成对一个恶意软件的自动化安装,调试命令循环调用文本文件的每一行,依次实现对所有恶意软件的安装。
进一步的,激活优先机制即移动终端操作系统重启>系统事件>电池电量状态>收发短信>网络状态改变>USB接入>接打电话,若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,按照激活优先机制的激活方式直到能够采集到有效网络流量为止。
进一步的,移动终端恶意软件网络流量获取时,在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口可以把所有上、下行的移动终端网络流量镜像到数据存储服务器上。
进一步的,移动终端恶意目标列表建立时,在数据存储服务器上,保存了移动终端恶意软件产生的所有网络交互流量,通过解析流量数据的DNS信息,可以得到关于恶意软件所有的DNS请求的目标域名,再将这些目标域名依次作恶意域名检测,若是恶意目标,则将该域名加入黑名单列表即移动终端恶意目标列表。
进一步的,移动终端恶意软件恶意行为流量分离时,基于建立好的黑名单列表,根据流的五元组构建网络数据流,然后在数据流中的HTTP数据包中提取相应的HOST字段(HOST字段是一段域名字符串),若该字段存在于建立的黑名单列表中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流,依次完成所采集到的所有数据流,最终分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量,其中,五元组即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号。
为了实施上述主动式移动终端恶意软件网络流量数据集获取方法,本发明还公开了主动式移动终端恶意软件网络流量数据集获取系统,包括:
移动终端恶意软件流量产生装置,用于实现移动终端恶意软件的流量产生;
流量收集装置,用于收集由移动终端恶意软件流量生成装置产生的流量,在具有流量镜像功能的网络节点设备上配置了镜像端口,移动终端恶意软件产生的所有上、下行流量都被镜像至数据存储服务器。
流量分离装置,将正常的网络流量与恶意的网络流量分离,在采集到流量数据之后需要进行过滤,将恶意的网络流量数据从混合流量中提取出来;
代理防火墙保护装置,数据存储服务器的交换机的上层部署代理服务器防火墙,防止外部网络的攻击,保证采集到的网络流量数据集是干净的,没有掺杂来自外部网络攻击的流量。
所述移动终端恶意软件流量产生装置包括:
恶意软件的反编译模块,用于实现对大规模移动终端恶意软件的反编译;
恶意软件参数提取模块,用于把源文件反编译之后得到反编译文件,利用从反编译文件的部署文件中提取所需参数的脚本程序,从移动终端的恶意应用程序的部署文件中提取所需要的各项参数;
恶意软件自动安装及运行模块,根据移动终端恶意软件激活机制完成移动终端模拟器的自动化创建,移动终端恶意应用程序的自动化安装、恶意应用程序的自动激活及运行。
本发明的有益效果:
(1)充分考虑到了移动终端恶意软件的激活方式,针对不同类型的恶意软件,设计了不同的激活机制,以保证采集到的网络流量数据都是有效的数据。
(2)根据不同的激活方式所能激活的恶意软件的数量不同,设计了一种激活优先机制,这种机制能够保证高效的完成移动终端恶意软件网络流量数据集的采集。
(3)本发明设计了一种自动化控制程序,可以完成大规模移动终端恶意软件的网络流量采集。
(4)对采集到的网络流量数据,本发明以网络数据流的方式从混合流量中提取到恶意软件所产生的恶意流量。
(5)为了保证采集的实验环境的稳定,在移动终端接入外网时部署了代理防火墙,防止了外部网络的攻击。
附图说明
图1为本发明实现Android恶意软件流量自动化采集的网络体系结构图;
图2为本发明实现大规模反编译移动终端恶意软件的流程图;
图3为本发明移动终端恶意软件自动化安装与运行的流程图;
图4为本发明设计的移动终端恶意软件激活机制的流程图;
图5为从网络流量数据的DNS请求的目标域名建立恶意列表流程图;
图6为从混合流量中分离出恶意流量和正常流量的流程图。
具体实施方式:
下面结合附图对本发明进行详细说明:
一种主动式的移动终端恶意软件网络流量数据集获取方法,以下均以Android系统为实施例,具体工作过程为:
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)建立的黑名单列表中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流。依据该原则依次完成所采集到的所有数据流。这样分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。
其中,系统事件包括用户唤醒移动终端、用户切换输入法、移动终端信号强度等。
电池电量状态包括连接电源处于充电状态、电池电量低、电池处于充满状态。
收发短信包括移动终端接收外部终端的短信和发送短信到外部终端。
网络状态改变包括移动终端接入网络模式的改变、接入到WIFI网络。
USB接入包括移动终端通过USB连接到外部设备。
接打电话包括移动终端接受其它移动终端的电话和向其它移动终端拨打电话。
一种主动式的移动终端恶意软件网络流量数据集获取系统,包括:
1、移动终端恶意软件流量产生装置,负责使用自动化的方法实现移动终端恶意软件的流量产生,主要包括4个方面:
(1)大规模移动终端恶意软件的反编译模块,该模块实现了对大规模移动终端恶意软件的反编译。
(2)把源文件反编译之后得到反编译文件,利用从反编译文件的部署文件中提取所需参数的脚本程序,从移动终端的恶意应用程序的部署文件中提取(3)所需要的各项参数。在Android系统上,是从AndroidManifest.xml文件中提取包名和主activity名。
(3)恶意软件的自动化安装及运行模块,为一套自动化控制程序,该模块主要完成移动终端模拟器的自动化创建,移动终端恶意应用程序的自动化安装、运行以及恶意应用程序的自动激活。对于单个应用程序,Android平台提供了基本的测试命令接口,但是针对大规模Android应用程序,Google官方并没有提供现成的测试程序,本发明基于已有的测试接口,设计了一套自动化控制程序,该程序的运行需要来自(2)中得到的包名和主activity名作为参数传入,用以完成大规模移动终端恶意软件的自动化安装、运行。
(4)移动终端恶意软件激活机制。与正常的应用程序不同的是,恶意的应用程序需要一定的触发条件才能被激活,从而产生有效的网络流量。不同类型的Android恶意软件具有不同的激活方式。本发明设计了一套针对不同类型的Android恶意软件的激活机制,保证恶意软件处于激活状态,同时配合自动化控制程序,完成移动终端恶意软件的自动化安装、激活以及运行。
2、流量收集装置,负责收集由移动终端恶意软件流量生成装置产生的流量。在路由器节点配置了镜像端口,移动终端恶意软件产生的所有进出流量都被镜像至数据存储服务器。
3、流量分离装置,负责将正常的网络流量与恶意的网络流量分离。由于恶意的应用软件在产生恶意网络流量的同时也会产生正常的网络流量,所以在流量收集装置中采集到的网络流量是移动终端恶意软件所产生的正常与恶意的混合流量,为了得到移动终端恶意软件所产生的纯净的恶意流量,在采集到流量数据之后需要进行过滤,将恶意的网络流量数据从混合流量中提取出来。
4、代理防火墙保护装置,若在没有保护措施的终端主机上直接安装恶意软件,会使终端主机成为外部网络攻击的目标,终端主机极易成为“肉机”,影响网络环境的稳定,同时,由于来自外部网络攻击,所以容易造成采集的网络流量数据集掺杂了大量的干扰流量。因此,本发明在内网出口处设计了代理防火墙,保证在安装上恶意软件之后不受外部攻击的干扰。
本申请的主动式的移动终端恶意软件网络流量数据集获取系统可以部署在广域网、局域网等网络环境下。
为了更好的理解本发明,以下给出了本发明更为详细的说明:
图1为本发明实现Android恶意软件流量主动式自动化采集的网络体系结构图,如图1所示。本发明包括了流量产生装置、流量收集装置和代理防火墙保护装置。其中,在流量产生装置中,本发明设计了app的两种安装环境,一种基于移动终端的模拟器安装环境,一种基于真实移动终端安装环境。在交换机节点配置了镜像端口,恶意软件所有产生的上、下行流量都被镜像到数据存储服务器。在交换机的上层部署代理服务器防火墙,防止外部网络的攻击,以免造成网络的瘫痪,同时也能保证采集到的网络流量数据集是干净的,没有掺杂来自外部网络攻击的流量。
图2为本发明实现大规模反编译Android原文件的流程图,如图2所示。该方法包括:
步骤110,选择反编译工具,现有反编译工具主要有APKTool,jd-gui,dex2jar等。
步骤111,使用反编译工具对恶意软件反编译,若在恶意软件反编译后的文件中存在与该恶意软件的源代码相对应的配置文件,说明反编译成功,否则,反编译失败。
步骤112,若反编译成功,可以得到关于该恶意软件的配置文件。在Android系统中,这个配置文件是AndroidManifest.xml。
步骤113,若反编译失败,则重新选择新的反编译工具,返回步骤111。
为了能够实现对大规模移动终端恶意软件的自动化采集,需要提取恶意软件自动化安装、运行所需要的一些参数,而这些参数信息主要包含在反编译后的配置文件中,所以,首先需要对恶意软件进行反编译。以Android系统为例,基于已有的几种反编译工具,首先选择其中的一种对Android原文件进行反编译,但是,这种反编译工具可能造成对原文件反编译失败,所以需要重新选择反编译工具,直到反编译成功或已有的几种反编译工具均不能成功反编译为止。
图3为本发明移动终端恶意软件自动化安装与运行的流程图,如图3所示。该方法包括:
步骤131,提取恶意软件名作为模拟器的参数传入。
步骤132,以恶意软件名称作为模拟器的名称创建模拟器。
步骤133,若模拟器创建成功,则继续安装恶意应用。
步骤134,若模拟器安装失败,则检查模拟器参数、磁盘剩余空间等信息。
步骤135,若恶意应用安装成功,则继续运行恶意应用。
步骤136,若恶意应用安装失败,则检查恶意软件的原文件是否存在或在指定路径下,恶意软件的包名是否正确。
步骤137,若恶意应用运行成功,完成移动终端恶意软件的自动化安装与运行。
步骤138,若恶意应用运行失败,则检查主activity名是否正确。
在获取到恶意软件名、恶意软件的包名以及主activity名这些参数信息之后,通过自动化的控制程序,可以实现移动终端恶意软件的自动化安装与运行。但是,在安装和运行的过程中,由于模拟器参数、磁盘空间容量、恶意软件的包名以及主activity名等可能会出现错误,将导致安装失败或运行失败,所以,针对自动化安装和运行的各个过程中出现的错误,设计了逻辑处理流程。
图4为本发明设计的移动终端恶意软件激活机制的流程图,如图4所示。该方法包括:
步骤141,重启移动终端操作系统。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-“系统事件”。
步骤144,首先在移动终端上执行用户滑屏操作,然后切换用户输入法,其次改变移动终端信号强度等“系统事件”。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-电池电量状态。
步骤145,使移动终端连接电源处于充电状态,直到电池处于充满状态,然后拔出电源,消耗电源使其处于低电量状态。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-收发短信。
步骤146,在另一部移动终端上发送短信到本地终端,然后,本地终端发送短信到另一部移动终端。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-网络状态改变。
步骤147,切换移动终端的网络接入方式,由2G依次切换到3G和4G网络,最后切换到WIFI网络。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-USB接入。
步骤148,移动终端接入USB设备。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则选择下一个激活机制-接打电话。
步骤149,在另一部移动终端上拨打电话给本地终端,然后,本地终端拨打电话给另一部移动终端。
步骤142,若产生有效流量,则保存流量数据。
步骤143,若没有产生有效流量,则结束。
由于只有恶意软件被激活之后,才能够产生有效的流量数据,所以,本发明在恶意软件运行时,设计了一种激活机制。这种激活机制基于多种不同的激活方式,同时,考虑到不同的激活方式所能激活的恶意软件的数量大小不同,设计了一种激活优先机制。这样在保证恶意软件被激活的前提下,能够高效的完成移动终端恶意软件网络流量数据的采集。
图5为从网络流量数据的DNS请求的目标域名建立黑名单流程图。
步骤151,从数据存储服务器的网络流量数据中提取出DNS请求域名。
步骤152,将提取出的DNS请求域名在VirusTotal上做恶意域名检测。
步骤153,若检测结果为恶意域名,则将该域名添加至恶意列表。
步骤154,若检测结果为正常域名,则结束。
为了能够从采集到的混合流量中提取出纯的恶意流量,首先需要知道哪一部分是恶意流量。本发明采用了一种基于网络数据流的方式从混合流量中将恶意的网络数据流提取出来,所使用的方法便是根据网络数据流中HTTP数据包的HOST字段,而这段HOST字段是一段域名,它与DNS所请求的域名是一致的。所以,只需要判断DNS数据包中的请求域名是否恶意,便可以判断出该段网络数据流是否恶意。在实施例中,首先从采集到的网络流量数据中提取DNS请求的域名,然后在第三方URL检测服务引擎VirusTotal上做恶意域名检测,建立恶意列表即黑名单。
图6为从混合流量中分离出恶意流量和正常流量的流程图
步骤161,读取采集到的网络流量数据,将具有相同五元组内容的数据包作为一个网络数据流。
步骤162,以建立的恶意列表为依据,依次对每一个网络数据流中的HTTP数据包的HOST字段做检查。
步骤163,若HOST字段存在于恶意列表中,则保存该HTTP数据包所在的网络数据流并标记为恶意网络数据流,返回到步骤162,检查下一个网络数据流。
步骤164,若HOST字段域名在恶意列表中不存在,则忽略掉该数据流,返回步骤162,直到检查完所有的网络数据流。
为了从采集到的网络流量数据中提取出纯的恶意流量,本发明采用了一种基于网络数据流的方式从混合流量中将恶意的网络数据流提取出来,所以,首先需要对采集到的网络流量数据按照五元组特征提取出网络数据流;然后,对于每一段网络数据流,从中提取出HTTP数据包的HOST字段,将该HOST字段与建立好的恶意列表进行比对,若HOST字段的域名存在于恶意列表中,那么对应的该段网络数据流就是恶意流量。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.主动式移动终端恶意软件网络流量数据集获取方法,其特征是,包括以下步骤:
对移动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;
从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参数;
根据提取的移动终端恶意软件自动安装和运行所需要的参数进行移动终端恶意软件的自动安装;
利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行后获取移动终端恶意软件网络流量;具体为:移动终端恶意软件网络流量获取,在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口把所有上、下行的移动终端网络流量镜像到数据存储服务器上;
根据获取的移动终端恶意软件网络流量信息建立移动终端恶意目标列表;
根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量,具体为:移动终端恶意软件恶意行为流量分离,建立好的黑名单列表,根据流的五元组构建网络数据流,五元组即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号,然后在数据流中的HTTP数据包中提取相应的HOST字段,HOST字段是一段域名字符串,若该字段存在建立的黑名单列表中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流,依据该方法依次完成所采集到的所有数据流,这样分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量;
在移动终端恶意软件的自动安装时,将所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名,调试命令每次调用文本文件中一行,完成对一个恶意软件的自动化安装,调试命令循环调用文本文件的每一行,依次实现对所有恶意软件的安装,具体为:移动终端恶意软件自动安装:通过Android平台提供的ADB调试命令,实现Android应用软件的安装,其中,Android应用软件的安装需要包名作为参数传入ADB,对于大规模移动终端恶意软件,将得到的所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名,ADB每次调用文本文件中一行,完成对一个恶意软件的自动化安装,ADB循环调用文本文件的每一行,依次实现对所有恶意软件的安装;
移动终端恶意目标列表建立时,在数据存储服务器上,保存了移动终端恶意软件产生的所有网络交互流量,通过解析流量数据的DNS信息,得到关于恶意软件所有的DNS请求的目标域名,再将这些目标域名依次在VirusTotal上作恶意域名检测,若是恶意目标,则将该域名加入黑名单列表即移动终端恶意目标列表。
2.如权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法,其特征是,在对移动终端恶意软件进行反编译时,对大规模恶意软件的原文件,通过自动化脚本程序来控制执行反编译工具得到所有恶意软件反编译后的文件,在每个恶意软件样本反编译后的文件中,均有一个对应的配置文件。
3.如权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法,其特征是,在提取移动终端恶意软件自动安装和运行所需要的参数时,若反编译成功,从配置文件中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需要的参数,对于反编译失败的恶意软件,则重新选择新的反编译工具,直到反编译成功。
4.如权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法,其特征是,激活优先机制即移动终端操作系统重启>系统事件>电池电量状态>收发短信>网络状态改变>USB接入>接打电话,若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,按照激活优先机制的激活方式直到能够采集到有效网络流量为止。
5.如权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法,其特征是,移动终端恶意软件网络流量获取时,在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口把所有上、下行的移动终端网络流量镜像到数据存储服务器上。
6.如权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法,其特征是,移动终端恶意软件恶意行为流量分离时,基于建立好的黑名单列表,根据流的五元组构建网络数据流,然后在数据流中的HTTP数据包中提取相应的HOST字段,若该字段存在于建立的黑名单列表中,则认为该数据流为恶意软件网络行为流量,提取并保存,反之则忽略掉该数据流,依次完成所采集到的所有数据流,最终分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量,其中,五元组即具有相同的源IP地址、目的IP地址、源端口号、目的端口号、协议号。
7.采用权利要求1所述的主动式移动终端恶意软件网络流量数据集获取方法的系统,其特征是,包括:
移动终端恶意软件流量产生装置,用于实现移动终端恶意软件的流量产生;
流量收集装置,用于收集由移动终端恶意软件流量生成装置产生的流量,在路由器节点配置了镜像端口,移动终端恶意软件产生的所有进出流量都被镜像至数据存储服务器;
流量分离装置,将正常的网络流量与恶意的网络流量分离,在采集到流量数据之后需要进行过滤,将恶意的网络流量数据从混合流量中提取出来;
代理防火墙保护装置,数据存储服务器的交换机的上层部署代理服务器防火墙,防止外部网络的攻击,保证采集到的网络流量数据集是干净的,没有掺杂来自外部网络攻击的流量。
8.如权利要求7所述的主动式移动终端恶意软件网络流量数据集获取方法的系统,其特征是,所述移动终端恶意软件流量产生装置包括:
恶意软件的反编译模块,用于实现对大规模移动终端恶意软件的反编译;
恶意软件参数提取模块,用于把源文件反编译之后得到反编译文件,利用从反编译文件的部署文件中提取所需参数的脚本程序,从移动终端的恶意应用程序的部署文件中提取所需要的各项参数;
恶意软件自动安装及运行模块,根据移动终端恶意软件激活机制完成移动终端模拟器的自动化创建,移动终端恶意应用程序的自动化安装、运行以及恶意应用程序的自动激活。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486989.6A CN105187390B (zh) | 2015-08-10 | 2015-08-10 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486989.6A CN105187390B (zh) | 2015-08-10 | 2015-08-10 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105187390A CN105187390A (zh) | 2015-12-23 |
CN105187390B true CN105187390B (zh) | 2018-10-19 |
Family
ID=54909234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510486989.6A Active CN105187390B (zh) | 2015-08-10 | 2015-08-10 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105187390B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708598B (zh) * | 2016-07-29 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 病毒分析环境搭建方法及装置 |
CN108200076B (zh) * | 2018-01-17 | 2021-04-27 | 杭州迪普科技股份有限公司 | Host头域伪造攻击的防护方法和装置 |
CN111865990B (zh) * | 2020-07-23 | 2023-02-21 | 上海中通吉网络技术有限公司 | 内网恶意反向连接行为的管控方法、装置、设备和系统 |
CN111988239B (zh) * | 2020-08-21 | 2022-07-15 | 哈尔滨工业大学 | 一种用于Android应用的软件纯净流量获取方法 |
CN112565274A (zh) * | 2020-12-11 | 2021-03-26 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种智能识别恶意app的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2676219A1 (en) * | 2011-02-15 | 2013-12-25 | Prevx Limited | Methods and apparatus for dealing with malware |
CN104182688A (zh) * | 2014-08-26 | 2014-12-03 | 北京软安科技有限公司 | 基于动态激活及行为监测的Android恶意代码检测装置和方法 |
CN104243407A (zh) * | 2013-06-13 | 2014-12-24 | 华为技术有限公司 | 一种恶意软件网络入侵检测特征码的生成方法和设备 |
-
2015
- 2015-08-10 CN CN201510486989.6A patent/CN105187390B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2676219A1 (en) * | 2011-02-15 | 2013-12-25 | Prevx Limited | Methods and apparatus for dealing with malware |
CN104243407A (zh) * | 2013-06-13 | 2014-12-24 | 华为技术有限公司 | 一种恶意软件网络入侵检测特征码的生成方法和设备 |
CN104182688A (zh) * | 2014-08-26 | 2014-12-03 | 北京软安科技有限公司 | 基于动态激活及行为监测的Android恶意代码检测装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105187390A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105187390B (zh) | 主动式移动终端恶意软件网络流量数据集获取方法及系统 | |
CN103186740B (zh) | 一种Android恶意软件的自动化检测方法 | |
US8874736B2 (en) | Event extractor | |
US8918876B2 (en) | Deviating behaviour of a user terminal | |
CN103309808B (zh) | 基于标签的安卓用户隐私泄露黑盒检测方法及系统 | |
CN102566931B (zh) | 一种悬浮窗的显示方法及装置 | |
CN101888658B (zh) | Gprs核心网仿真测试系统 | |
CN109672580A (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
CN103685251A (zh) | 一种面向移动互联网的Android恶意软件检测平台 | |
CN105187394A (zh) | 具有移动终端恶意软件行为检测能力的代理服务器及方法 | |
CN105187393B (zh) | 一种移动终端恶意软件网络行为重构方法及其系统 | |
CN107704360A (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
CN104714725A (zh) | 一种悬浮窗的显示方法及装置 | |
CN106411637A (zh) | 物联网设备场景测试方法 | |
CN105653946A (zh) | 基于组合事件行为触发的Android恶意行为检测系统及其检测方法 | |
CN103905423A (zh) | 一种基于动态行为分析的有害广告件检测方法及系统 | |
CN103581909A (zh) | 一种疑似手机恶意软件的定位方法及其装置 | |
CN110381101A (zh) | Api网关控制系统、控制方法、设备和介质 | |
CN106778264A (zh) | 一种移动客户端的应用程序分析方法及分析系统 | |
CN105515909A (zh) | 一种数据采集测试方法和装置 | |
CN107122307B (zh) | 一种物联网执行系统 | |
CN105611046B (zh) | 一种策略定制的安卓手机安全保护系统及其保护方法 | |
CN110134553A (zh) | 一种基于双活数据中心流量自动切换的系统及方法 | |
CN104734914A (zh) | 一种用于网络监控的方法、设备与系统 | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 |
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 |