一种Android移动攻击溯源方法技术

技术编号:19215912 阅读:31 留言:0更新日期:2018-10-20 06:47
本发明专利技术公开了一种Android移动攻击溯源方法,包括:从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表,通过与敏感权限库进行匹配,确定敏感权限;利用数据流分析工具提取恶意应用程序的敏感数据流对,并提取敏感数据流对中API调用序列和敏感数据流对之间的敏感API调用序列特征特征以及上下文信息与常量信息;结合上述两个步骤获得的各项信息利用聚类或者分类的机器学习方法对恶意应用程序进行追踪溯源。该方法可以实现对恶意应用程序的溯源,追踪开发个人或组织。

【技术实现步骤摘要】
一种Android移动攻击溯源方法
本专利技术涉及计算机
,尤其涉及一种Android移动攻击溯源方法。
技术介绍
随着智能手机和无线通信技术的快速发展,越来越多的用户将个人信息存放在自己的手机上,这些信息包括通讯录、地理位置、个人的阅读习惯甚至用户的银行卡信息等,这些敏感信息可引起攻击者的关注。攻击者通过开发各种恶意软件去感染用户设备并获取用户的个人信息。短信骚扰、敲诈勒索、恶意资费以及个人信息泄露等问题层出不穷。这些恶意软件已经造成了严重的经济损失和隐私泄露问题。安卓系统由于其高度的开放性和可定制性,占据了绝对的用户市场。据StrategyAnalytics统计,在2017第二季度,安卓手机在所有移动操作系统的市场份额占据第一,高达84.6%,苹果手机只占11.9%。相比于其他平台,安卓手机用户所遇到的信息安全问题更加严重和频繁。那么,如何有效的判别并追踪到Android恶意软件的开发个人或者组织,对安卓市场的管理至关重要。目前,根据我们的调研,并无成熟的安卓移动终端恶意软件的溯源方法。学术界和工业界大都聚焦于Android恶意软件的判别,主要有静态和动态两种方法。静态检测使用逆向工程、模式匹配、静态系统调用等技术,将应用反编译成中间代码,对中间代码进行数据流分析、控制流分析,以期发现程序中可能的恶意行为执行路径。但是,静态检测难以处理反射机制和动态代码加载机制,如果程序中使用了这些机制,静态检测将很难得到准确的控制流和数据流。动态检测将应用置于真实设备环境或者虚拟设备环境中运行,生成尽可能多的执行路径去覆盖代码片段,并对其运行时的行为进行监控,采集权限变更、网络IO、系统调用等应用程序的运行时数据;然后对这些数据进行进一步的分析。动态检测的难点在于,生成的执行路径难以完全覆盖整个程序代码,而且有的恶意应用会通过一些手段,例如设定执行恶意行为的时间段、识别自身是否处于虚拟运行环境等,来规避动态检测。动态检测的结果依赖执行路径是否完全,容易产生漏报的情况。但是,现有的针对Android恶意软件的判别的方法并不能满足移动攻击溯源的目的。
技术实现思路
本专利技术的目的是提供一种Android移动攻击溯源方法,可以实现对恶意应用程序的溯源,追踪其开发个人或组织。本专利技术的目的是通过以下技术方案实现的:一种Android移动攻击溯源方法,包括:从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表,通过与敏感权限库进行匹配,确定敏感权限;利用数据流分析工具提取恶意应用程序的敏感数据流对,并提取敏感数据流对中API调用序列和敏感数据流对之间的敏感API调用序列特征以及上下文信息与常量信息;结合上述两个步骤获得的各项信息利用聚类或者分类的机器学习方法对恶意应用程序进行追踪溯源。由上述本专利技术提供的技术方案可以看出,结合敏感权限和敏感数据流进行移动溯源分析,并且在数据流分析中引入了API序列长度、调用库的数量等信息,利用机器学习的方法帮助溯源,提高精度;同时,还考虑到编程的习惯和恶意目的,提取了其上下文信息和常量信息,帮助更精确地溯源。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种Android移动攻击溯源方法的流程图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术实施例提供一种Android移动攻击溯源方法,该方法从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表,通过与敏感权限库进行匹配,确定敏感权限;利用数据流分析工具提取恶意应用程序的敏感数据流对、敏感数据流对中API调用序列和敏感数据流对之间的敏感API调用序列特征以及上下文信息与常量信息;结合上述两个步骤获得的各项信息利用聚类或者分类的机器学习方法对恶意应用程序进行追踪溯源。为了便于理解,下面结合附图对上述方法的执行过程做详细的说明。如图1所示,该方法主要包括:1、分类恶意应用程序。本专利技术的输入是已经按照恶意行为分好类别的Android恶意应用程序,所述恶意行为至少包括:恐吓、广告、跟踪、勒索与窃取信息等。2、获取AndroidManifest.xml文件。本专利技术实施例中,先解压恶意应用程序的APK文件,从中获取AndroidManifest.xml文件,并进行解密,获取非加密的原始AndroiManifest.xml文件。3、获取恶意应用程序所申请的权限列表。本专利技术实施例中,通过扫描非加密的原始AndroiManifest.xml文件中的权限描述部分,读取恶意应用程序所申请的权限列表。4、提取敏感权限。本专利技术实施例中,通过将恶意应用程序所申请的权限列表与敏感权限库进行匹配,确定敏感权限。本领域技术人员可以理解,敏感权限库可以通过分析Android应用程序开发文档获取。本专利技术实施例中,敏感权限包括:可能获取用户隐私数据的权限,以及能够进行网络通讯的权限。示例性,敏感权限可以包括但不限于包括如下权限;android.permission.SEND_SMS(发送短信);android.permission.INTERNET(访问网络接口,可产生GPRS流量);android.permission.READ_SMS(读取短信内容);android.permission.WRITE_SMS(允许编写短信);android.permission.READ_CONTACTS(允许应用访问联系人通讯录信息);android.permission.WRITE_CONTACTS(允许应用写入联系人);android.permission.CALL_PHONE(允许程序从非系统拨号器里输入电话号码);android.permission.WRITE_SYNC_SETTINGS(写入Google在线同步设置);android.permission.ACCESS_CHECKIN_PROPERTIES(读取或者写入登记check-in数据库属性表);android.permission.ACCESS_COARSE_LOCATION(通过WiFi或者移动基站的方式获取用户粗略的经纬度信息);android.permission.ACCESS_FINE_LOCATION(通过GPS芯片接收卫星的定位信息)等。5、提取敏感数据流对。相对于传统的敏感权限和敏感API(应用程序编程接口)的分析,数据流更能描述一个应用程序的行为特征,数据流体现了应用程序对敏感数据的使用途径,利用数据流分析工具得到敏感数据流对;为了描述应用程序的敏感数据流对,首先定义敏感source,即那些产生敏感数据的API,然后将消费敏感数据的API定义为sink;也即敏感数据流是指一对具有本文档来自技高网
...

【技术保护点】
1.一种Android移动攻击溯源方法,其特征在于,包括:从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表,通过与敏感权限库进行匹配,确定敏感权限;利用数据流分析工具提取恶意应用程序的敏感数据流对,并提取敏感数据流对中API调用序列和敏感数据流对之间的敏感API调用序列特征以及上下文信息与常量信息;结合上述两个步骤获得的各项信息利用聚类或者分类的机器学习方法对恶意应用程序进行追踪溯源。

【技术特征摘要】
1.一种Android移动攻击溯源方法,其特征在于,包括:从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表,通过与敏感权限库进行匹配,确定敏感权限;利用数据流分析工具提取恶意应用程序的敏感数据流对,并提取敏感数据流对中API调用序列和敏感数据流对之间的敏感API调用序列特征以及上下文信息与常量信息;结合上述两个步骤获得的各项信息利用聚类或者分类的机器学习方法对恶意应用程序进行追踪溯源。2.根据权利要求1所述的一种Android移动攻击溯源方法,其特征在于,所述恶意程序预先根据其恶意行为进行了分类,所述恶意行为至少包括:恐吓、广告、跟踪、勒索与窃取信息。3.根据权利要求1所述的一种Android移动攻击溯源方法,其特征在于,所述从恶意应用程序的AndroidManifest.xml文件中读取恶意应用程序所申请的权项列表包括:解压恶意应用程序的APK文件,从中获取AndroidManifest.xml文件,并进行解密,获取非加密的原始AndroiManifest.xml文件;通过扫描非加密的原始AndroiManifest.xml文件中的权限描述部分,读取恶意应用程序所申请的权限列表。4.根据权利要求1或2或3所述的一种Android移动攻击溯源方法,其特征在于,通过与敏感权限库进行匹配,确定敏感权限,其中的敏感权限包括:可能获取用户隐私数据的权限,以及能够进行网络通讯的权限。5.根据权利要求1所述的一种Android移动攻击溯源方法,其特征在于,数据流体现了应用程序对敏感数据的使用途径,利用数据流分析工具得到敏感数据流对;敏感数据流对中包括:敏感source,即产生敏感数据的API,以及消费敏...

【专利技术属性】
技术研发人员:程绍银楼松豪蒋凡
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽,34

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

1