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

一种基于KNN的用户位置隐私自感知机制的保护方法技术

技术编号:15192003 阅读:106 留言:0更新日期:2017-04-20 10:08
本发明专利技术公开了一种基于KNN的用户位置隐私自感知机制的保护方法,包括以下步骤:下载N个APP,并将其分为需要虚假位置的APP、需要模糊位置的APP和需要精确位置的APP;利用KNN算法判断未知APP属于上述三类中的哪一类;若APP需要虚假位置或模糊位置,返回给相应的位置信息;本发明专利技术还采用字节码混淆的方法阻止安卓系统的逆向分析。本发明专利技术采取不同的位置信息分派策略,更是结合了不同的模糊粒度和虚假粒度,能够有效地保护用户的位置隐私信息,防止了恶意软件获取用户位置信息,从而推测出用户的身份、家庭住址、行动路线、具体位置等信息。

【技术实现步骤摘要】

本专利技术属于Android系统级的安全问题,具体涉及一种针对如今Android权限系统无法区分正常或恶意软件而导致用户隐私信息泄露的基于KNN的用户位置隐私自感知机制的保护方法
技术介绍
进入21世纪,人们渐渐步入数字化生活轨道,随着位置探测设备(例如手机、GPS、RFID、传感器等)和地理位置信息系统的开发、应用及推广,使得基于位置信息服务(Location-BasedService,LBS)的android应用程序越多越多,例如:办公、资讯、娱乐、购物等。正是基于用户位置信息,这些APP在给用户提供便利的同时,也带来了一系列由于用户位置隐私泄露所造成的威胁,如:通过用户位置信息推测出用户的身份、行动路线、家庭住址等。针对Android系统用户隐私泄露的问题,TaintDroid设计并实现了一种提高Android的安全性的方案,设计并实现了原型系统TaintDroid,该系统使用污点分析技术对用户的敏感数据进行保护以此来防止用户的隐私信息泄露;SecuDroid在原生Android系统(Google公司发布,没有经过第三方修改的安卓系统)基础上,研究采用数据流追踪技术检测用户敏感信息是否被泄露或滥用,在应用层、系统层以及内核层动态监控和拦截敏感行为。最后设计了SecuDroid移动操作系统,并通过实验验证SecuDroid可以有效检测隐私数据的使用及监控恶意行为。但是,此类方法存在以下不足:1.尽管TaintDroid等系统能够有效的检测到隐私信息的泄露,但是,检测晚于泄露时间,导致隐私信息已经被恶意软件泄露出去;2.目前的保护或检测机制都存在不现实的假设,导致无法在现实生活中使用。如:MockDroid系统给用户提供了基于操作系统的权限可以去阻止对Android上特定资源的访问,包括位置信息,但是这个应用程序将永远不会进行位置信息的更新,所以MockDroid虽然是一个解决方案但不具有实用性。
技术实现思路
针对上述不足和缺陷,本专利技术提出了一种基于KNN的用户位置隐私自感知机制的保护方法,包括以下步骤:步骤1,将N个已知APP作为训练集合,根据AndroidManifest.xml中的权限将N个APP区分为正常APP件与非正常APP,则非正常APP属于需要虚假位置的APP集合,其中N>100;针对正常APP,按照所述正常APP的功能列表、权限列表、是否需要精确位置信息将正常APP分为需要精确位置的APP集合和需要模糊位置的APP集合;步骤2,下载一个新的APP作为当前APP,利用KNN算法判断该当前APP属于需要虚假位置的APP或需要模糊位置的APP或需要精确位置的APP中的一类;步骤3,若所述的当前APP需要虚假位置或模糊位置,利用hook系统返回给该当前APP相应的位置信息。进一步地,步骤2中所述的利用KNN算法判断该当前APP属于需要虚假位置的APP或需要模糊位置的APP或需要精确位置的APP中的一类是指:若最接近该当前APP的k个邻居里的APP中有大于k/2个的APP属于需要虚假位置的APP集合,则该当前APP也属于需要虚假位置的APP集合;若最接近该当前APP的k个邻居里的APP中有大于k/2个的APP属于需要模糊位置的APP集合,则该当前APP也属于需要模糊位置的APP集合;若最接近该当前APP的k个邻居里的APP中有大于k/2个的APP属于需要精确位置的APP集合,则该当前APP也属于需要精确位置的APP集合;进一步地,步骤3中所述的利用hook系统返回给该当前APP相应的位置信息包括:步骤31,通过对所述的当前APP逆向分析得到返回地址信息的函数接口,并安装xposed框架,下载对应的XposedBridgeApi-xx.jar文件;在Androidstudio修改配置文件以及添加所需要的.jar文件步骤32,寻找函数方法所在的包,在handleLoadPackage中通过逆向得到返回地址信息的核心函数所在的包名;步骤33,寻找所在的类名以及对应的函数方法,通过findAndHookMethod提供的Api寻找具体需要Hook和修改的函数;步骤34,Hook后,在afterHookedMethod函数体中对当前APP分配虚假位置或模糊位置。进一步地,该方法还包括:步骤4,针对安卓系统的保护系统,采用字节码混淆的方法阻止安卓系统对权利要求1所述方法的逆向分析。进一步地,步骤4中所述的采用字节码混淆的方法阻止安卓系统对权利要求1所述方法的逆向分析包括:步骤41,将安卓系统的保护系统反编译,得到smali代码,针对smali文件进行混淆,然后将混淆后的smali文件重新编译成一个可执行的classes.dex;步骤42,将可执行文件classes.dex中被混淆指令所在的方法里所有的字节码存储在内存结构newcode中,同时将这些方法字节码用0填充;步骤43,利用dex动态加载技术加载classes.dex文件,当其加载成功之后可以从DexFile系统类里获取可执行文件的加载地址;根据加载地址解classes.dex结构,找到被混淆方法所在的内存地址,然后newcode中存储的对应的方法的字节码填充回去,最终形成一个保护之后的应用程序Protected.apk。与现有技术相比,本专利技术具有以下技术效果:1.本专利技术设计的位置隐私自感知机制对android本身的框架并没有做任何的修改,与大多android应用程序(.apk)的开发模式相同,但可以起到保护用户位置隐私信息的效果,加之,该位置隐私自感知机制对于用户来说是透明的,对用户正常的操作不会造成影响;2.本专利技术不仅提出了针对不同android应用程序,采取不同的位置信息分派策略,更是结合了不同的模糊粒度和虚假粒度,能够有效地保护用户的位置隐私信息,防止了恶意软件获取用户位置信息,从而推测出用户的身份、家庭住址、行动路线、具体位置等信息;3.本专利技术提出的位置信息自感知机制可以做到一定程度的伸缩,对于不同类型android应用程序采取不同分派策略,而不是单一的策略,使得我们的位置信息保护系统的灵活性大大提高。附图说明图1为本专利技术的保护系统结构流程。图2为KNN识别类别的样例图。图3为App的分类图。具体实施方式下面通过附图和实施例对本专利技术作进一步的说明。实施例1步骤1,本实施例在360应用市场中下载300个App作为训练集合,地址为:http://zhushou.360.cn/,并采用下述方法将训练集合分为正常App和非正常App:1.使用apktool逆向App并得到权限列表。首先,下载apktool相关工具,在PC平台上使用apktool逆向App,具体命令如下:apktooldxx.apk生成逆向文件后,在AndroidManifest.xml文件中提取权限生命列表,即AndroidManifest.xml中的<uses-permission/>标签中的声明。2.判断App是否为正常App。具体的思想为:通过将App功能与其权限做对比,判断App是否正常。如:记事本程序申请了发送短信的权限,则判定App为非正常应用程序。步骤2,针对正常App,将App功能列表、权限列表、是否需要精确位置信息作为训练特本文档来自技高网
...
一种基于KNN的用户位置隐私自感知机制的保护方法

【技术保护点】
一种基于KNN的用户位置隐私自感知机制的保护方法,其特征在于,包括以下步骤:步骤1,将N个已知APP作为训练集合,根据AndroidManifest.xml中的权限将N个APP区分为正常APP件与非正常APP,则非正常APP属于需要虚假位置的APP集合,其中N>100;针对正常APP,按照所述正常APP的功能列表、权限列表、是否需要精确位置信息将正常APP分为需要精确位置的APP集合和需要模糊位置的APP集合;步骤2,下载一个新的APP作为当前APP,利用KNN算法判断该当前APP属于需要虚假位置的APP或需要模糊位置的APP或需要精确位置的APP中的一类;步骤3,若所述的当前APP需要虚假位置或模糊位置,利用hook系统返回给该当前APP相应的位置信息。

【技术特征摘要】
1.一种基于KNN的用户位置隐私自感知机制的保护方法,其特征在于,包括以下步骤:步骤1,将N个已知APP作为训练集合,根据AndroidManifest.xml中的权限将N个APP区分为正常APP件与非正常APP,则非正常APP属于需要虚假位置的APP集合,其中N>100;针对正常APP,按照所述正常APP的功能列表、权限列表、是否需要精确位置信息将正常APP分为需要精确位置的APP集合和需要模糊位置的APP集合;步骤2,下载一个新的APP作为当前APP,利用KNN算法判断该当前APP属于需要虚假位置的APP或需要模糊位置的APP或需要精确位置的APP中的一类;步骤3,若所述的当前APP需要虚假位置或模糊位置,利用hook系统返回给该当前APP相应的位置信息。2.如权利要求1所述的用户位置隐私自感知机制的保护方法,其特征在于,步骤2中所述的利用KNN算法判断该当前APP属于需要虚假位置的APP或需要模糊位置的APP或需要精确位置的APP中的一类是指:若最接近该当前APP的k个邻居里的已知APP中有大于k/2个的APP属于需要虚假位置的APP集合,则该当前APP也属于需要虚假位置的APP集合;若最接近该当前APP的k个邻居里的已知APP中有大于k/2个的APP属于需要模糊位置的APP集合,则该当前APP也属于需要模糊位置的APP集合;若最接近该当前APP的k个邻居里的已知APP中有大于k/2个的APP属于需要精确位置的APP集合,则该当前APP也属于需要精确位置的APP集合。3.如权利要求1所述的用户位置隐私自感知机制的保护方法,其特征在于,步骤3中所述的利用hook系统返回给该当前APP相应的位置信息包括:步骤31,通过对所述的当前APP逆向分...

【专利技术属性】
技术研发人员:李政桥汤战勇赵贝贝陈美玲房鼎益
申请(专利权)人:西北大学
类型:发明
国别省市:陕西;61

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

1