当前位置: 首页 > 专利查询>四川大学专利>正文

一种Android恶意软件网络流量生成与收集方法及装置制造方法及图纸

技术编号:38998343 阅读:14 留言:0更新日期:2023-10-07 10:30
本发明专利技术公开了一种Android恶意软件网络流量生成与收集方法及装置,以获得覆盖其尽可能多行为的全流量数据,为基于网络特征的Android恶意软件相关研究提供支撑,本发明专利技术从用户交互和后台操作两个视角生成输入,通过后台操作激活和基于细粒度GUI转移图的测试系统地探索恶意软件行为空间,提升了网络流量的行为覆盖率。此外,本发明专利技术从网络流量产生的源头出发,跟踪恶意软件运行期间所绑定的网络套接字的元信息,并以此作为过滤条件从捕获的设备流量中直接识别出只属于目标恶意软件的流量,与现有方法使用粗粒度过滤机制而导致收集的全流量数据混杂较多“噪音”相比,本发明专利技术能从根本上保证收集的全流量数据的纯净性。本上保证收集的全流量数据的纯净性。本上保证收集的全流量数据的纯净性。

【技术实现步骤摘要】
一种Android恶意软件网络流量生成与收集方法及装置


[0001]本专利技术涉及移动软件安全
,具体为一种Android恶意软件网络流量生成与收集方法及装置。

技术介绍

[0002]Android系统由于其流行性和开放性已成为恶意软件肆虐的最主要平台之一,以Android恶意软件为工具的攻击事件呈井喷式涌现。学术界和工业界已投入大量工作来应对这一安全威胁,绝大部分研究聚焦在基于静态特征和基于动态主机行为特征的Android恶意软件识别方法上;但鉴于这两类方法存在诸多局限性,如难以抵御混淆等对抗技术,基于动态网络行为特征的识别方法开始受到关注。该类方法的动态行为载体是恶意软件运行期间的网络交互流量,以此为对象,借助流量分析和数据挖掘等技术提取有效特征进行恶意软件识别。开展该类方法研究所面临的首要问题是如何为每个Android恶意软件生成并收集覆盖尽可能多行为的全流量数据,也即如何尽可能多地触发Android恶意软件行为以生成网络流量、同时只收集与其相关的全流量数据。
[0003]现有方法采用基于随机策略或基于模型的Android应用自动化测试技术来触发Android恶意软件行为以生成网络流量。基于随机策略的方法利用Monkey等工具生成随机事件(包括UI事件和系统事件)以触发恶意软件行为;但由于随机事件缺乏程序执行逻辑,该类方法无法系统地探索恶意软件行为空间,导致生成的网络流量的行为覆盖率低。基于模型的方法将恶意软件行为空间抽象为图形用户界面(Graphical User Interface,GUI)转移图,依据广度或深度优先搜索算法遍历该图以触发其行为;尽管该类方法遵循程序执行逻辑,但由于仅考虑与UI相关的行为,该类方法无法触及由系统事件才能触发的行为以及运行在后台的非UI组件的行为,而这两类行为在恶意软件中非常普遍;此外,该类方法严重依赖于GUI抽象粒度和等价判断标准,当前方法的抽象粒度和等价判断标准过粗,导致生成的网络流量的行为覆盖率不高。
[0004]近几年出现的基于Android VpnService的流量捕获工具可用于直接收集特定Android恶意软件运行期间的全流量数据,但该类工具会修改原始数据包的网络层和传输层的头部,无法为后续研究提供真实的流量数据。鉴于此,现有方法依旧基于传统网络流量捕获工具间接收集特定Android恶意软件运行期间的全流量数据。这类方法通常采用一定的过滤机制从恶意软件运行期间捕获的设备流量中获得仅属于它的网络流量;然而,现存方法采用粗粒度过滤机制,如将特定协议作为过滤条件,导致收集到的流量数据中参杂了较多不属于目标恶意软件的“噪音”流量,无法为后续研究提供标签正确的流量数据。

技术实现思路

[0005]针对上述问题,本专利技术的目的在于提供一种Android恶意软件网络流量生成与收集方法及装置,通过基于双视角的行为探索策略提升行为覆盖率,同时利用基于网络连接元信息(Network Connection Meta

Information,NCMI)的流量过滤机制保证纯净性。技术
方案如下:
[0006]一种Android恶意软件网络流量生成与收集装置,包括Android虚拟设备、主机和中间件Android调试桥;Android虚拟设备为Android恶意软件提供运行环境,主机上部署控制Android恶意软件网络流量生成与收集的预处理模块、行为探索模块和流量过滤模块,中间件Android调试桥在主机与Android虚拟设备间提供通信服务;
[0007]所述预处理模块通过Android调试桥命令将与流量过滤模块相关的shell脚本NAPI跟踪器和ANC转储器发送到Android虚拟设备,以跟踪和转储Android恶意软件执行期间的网络相关系统API调用轨迹和系统活跃网络连接,并启动Android虚拟设备内置的tcpdump工具以捕获设备流量;借助aapt工具对Android恶意软件进行反编译,解析AndroidManifest.xml文件获得其包名、Activity集、Service集和Broadcast receiver集以备行为探索模块使用;通过Android调试桥命令将Android恶意软件安装到Android虚拟设备中,以开启后续的网络流量生成与收集过程;
[0008]所述行为探索模块从用户交互和后台操作两个视角生成输入,结合后台操作激活和基于细粒度图形用户界面转移图的测试来触发Android恶意软件行为;
[0009]所述流量过滤模块利用网络连接元信息直接从Android恶意软件执行期间捕获到的设备流量中识别出只属于它的流量。
[0010]一种采用权利要求1所述的Android恶意软件网络流量生成与收集方法,包括以下步骤:
[0011]步骤1:预处理
[0012]首先通过Android调试桥命令将与流量过滤相关的shell脚本NAPI跟踪器和ANC转储器发送到Android虚拟设备,启动NAPI跟踪器和ANC转储器以跟踪和转储Android恶意软件执行期间的网络相关系统API调用轨迹和系统活跃网络连接,并启动Android虚拟设备内置的tcpdump工具以捕获设备流量;然后借助aapt工具对Android恶意软件进行反编译,解析AndroidManifest.xml文件获得其包名、Activity集、Service集和Broadcast receiver集以备行为探索使用;最后通过Android调试桥命令将Android恶意软件安装到Android虚拟设备中,以开启后续的网络流量生成与收集过程;
[0013]步骤2:基于双视角的行为探索
[0014]从用户交互和后台操作两个视角生成输入,结合后台操作激活和基于细粒度图形用户界面转移图的测试来触发Android恶意软件行为,以提升生成的网络流量的行为覆盖率;
[0015]步骤3:基于网络连接元信息的流量过滤
[0016]利用网络连接元信息直接从Android恶意软件执行期间捕获到的设备流量中识别出只属于它的流量,以保证收集到的流量的纯净性。
[0017]进一步的,所述步骤2具体包括:
[0018]步骤2.1:后台操作激活
[0019]将Service和Broadcast作为后台操作,通过am命令启动和发送所有在AndroidManifest.xml文件中声明的Service和Broadcast receiver,以增大恶意软件行为触发率;
[0020]步骤2.2:基于细粒度图形用户界面转移图的测试
[0021]设计一个细粒度图形用户界面转移图来近似与图形用户界面相关的行为空间,并基于该图形用户界面转移图执行测试以触发更多的行为。
[0022]更进一步的,还包括定义图形用户界面状态和细粒度图形用户界面转移图:
[0023]从隶属关系、布局和对象三个方面定义一个图形用户界面状态;隶属关系指图形用户界面所属的应用程序和Activity,表示为二元组(app,act);本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Android恶意软件网络流量生成与收集装置,其特征在于,包括Android虚拟设备、主机和中间件Android调试桥;Android虚拟设备为Android恶意软件提供运行环境,主机上部署控制Android恶意软件网络流量生成与收集的预处理模块、行为探索模块和流量过滤模块,中间件Android调试桥在主机与Android虚拟设备间提供通信服务;所述预处理模块通过Android调试桥命令将与流量过滤模块相关的shell脚本NAPI跟踪器和ANC转储器发送到Android虚拟设备,以跟踪和转储Android恶意软件执行期间的网络相关系统API调用轨迹和系统活跃网络连接,并启动Android虚拟设备内置的tcpdump工具以捕获设备流量;借助aapt工具对Android恶意软件进行反编译,解析AndroidManifest.xml文件获得其包名、Activity集、Service集和Broadcast receiver集以备行为探索模块使用;通过Android调试桥命令将Android恶意软件安装到Android虚拟设备中,以开启后续的网络流量生成与收集过程;所述行为探索模块从用户交互和后台操作两个视角生成输入,结合后台操作激活和基于细粒度图形用户界面转移图的测试来触发Android恶意软件行为;所述流量过滤模块利用网络连接元信息直接从Android恶意软件执行期间捕获到的设备流量中识别出只属于它的流量。2.一种采用权利要求1所述的Android恶意软件网络流量生成与收集装置的生成与收集方法,其特征在于,包括以下步骤:步骤1:预处理首先通过Android调试桥命令将与流量过滤相关的shell脚本NAPI跟踪器和ANC转储器发送到Android虚拟设备,启动NAPI跟踪器和ANC转储器以跟踪和转储Android恶意软件执行期间的网络相关系统API调用轨迹和系统活跃网络连接,并启动Android虚拟设备内置的tcpdump工具以捕获设备流量;然后借助aapt工具对Android恶意软件进行反编译,解析AndroidManifest.xml文件获得其包名、Activity集、Service集和Broadcastreceiver集以备行为探索使用;最后通过Android调试桥命令将Android恶意软件安装到Android虚拟设备中,以开启后续的网络流量生成与收集过程;步骤2:基于双视角的行为探索从用户交互和后台操作两个视角生成输入,结合后台操作激活和基于细粒度图形用户界面转移图的测试来触发Android恶意软件行为,以提升生成的网络流量的行为覆盖率;步骤3:基于网络连接元信息的流量过滤利用网络连接元信息直接从Android恶意软件执行期间捕获到的设备流量中识别出只属于它的流量,以保证收集到的流量的纯净性。3.根据权利要求2所述的生成与收集方法,其特征在于,所述步骤2具体包括:步骤2.1:后台操作激活将Service和Broadcast作为后台操作,通过am命令启动和发送所有在AndroidManifest.xml文件中声明的Service和Broadcast receiver,以增大恶意软件行为触发率;步骤2.2:基于细粒度图形用户界面转移图的测试设计一个细粒度图形用户界面转移图来近似与图形用户界面相关的行为空间,并基于该图形用户界面转移图执行测试以触发更多的行为。
4.根据权利要求3所述的生成与收集方法,其特征在于,还包括定义图形用户界面状态和细粒度图形用户界面转移图:从隶属关系、布局和对象三个方面定义一个图形用户界面状态;隶属关系指图形用户界面所属的应用程序和Activity,表示为二元组(app,act);布局指图形用户界面中所有部件的树状层次结构,表示为一个层次结构索引序列;对象指图形用户界面中的可执行部件,所述部件至少包含一个取值为True的可执行属性;具有相同隶属关系、布局和对象的图形用户界面视为等价状态;所述细粒度图形用户界面转移图表示为一个有向图(N,E),N是一组节点,其中节点n∈N代表一个图形用户界面状态;E是一组边,其中边e(n
i

【专利技术属性】
技术研发人员:王俊峰鲁婷婷刘胜利匡文渊
申请(专利权)人:四川大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1