Android平台传感器数据保护系统的制作方法

文档序号:10594493阅读:1181来源:国知局
Android平台传感器数据保护系统的制作方法
【专利摘要】一种Android平台传感器数据保护系统,包括:位于底层的hook模块和位于上层的管理模块,其中:管理模块通过检测手机实时状态并根据用户配置规则向hook模块传输保护策略,hook模块根据该保护策略实现对传感器数据的拦截及保护,从而实现传感器数据保护。本发明以api?hook为基本框架,在不影响手机设备传感器功能正常使用的前提下,全方位的保护手机中所有类型的传感器数据,防止所有类型的隐私数据通过传感器遭到泄漏。
【专利说明】
Andro i d平台传感器数据保护系统
技术领域
[0001]本发明涉及的是一种移动信息安全领域的技术,具体是一种Android平台传感器数据保护系统(Sensor Security Guard,SSG) ο
【背景技术】
[0002]随着智能手机的发展,越来越多的传感器被加入到手机硬件中来丰富手机用户的使用体验,例如重力感应仪来玩体感游戏,磁场仪来自动导航,光感仪来调节屏幕亮度,温度计来测量温度等等。目前Android手机中包含的传感器种类多达20余种。
[0003]单独来看小部分传感器数据,可能是无关紧要的。但当积累大量的传感器数据之后,就可以从这些数据中得到大量的用户隐私信息。目前,已经有很多学者提出了针对传感器数据攻击的具体方案。这些攻击可以被分为如下五类:位置轨迹攻击,声音信息攻击,输入信息攻击,设备指纹攻击,用户身份攻击。
[0004]然而,Android系统并没有任何保护传感器数据的措施。在Android系统中,任何应用都可以在不申请任何权限的情况下,访问手机的传感器数据,例如加速仪,陀螺仪等。
[0005]同时,目前也没有任何针对所有传感器整体上的保护系统或保护方案。目前已知的针对传感器的保护方案都仅仅针对各别类型的攻击,例如为了防止加速仪泄漏用户位置信息,通过混淆加速仪数据的加速仪数据保护方案。这类方案能且只能保护一种传感器泄漏一种隐私信息。然而,针对传感器的攻击往往是结合多种传感器数据来窃取多种类型隐私的组合攻击。已有的保护方案并不能有效的防止用户隐私泄漏。
[0006]总而言之,目前的Android系统正缺少一套能够在整体上保护所有传感器的保护系统或保护方案。

【发明内容】

[0007]本发明针对现有技术存在的上述不足,提出一种Android平台传感器数据保护系统,以ap1-hook为基本框架,在不影响手机设备传感器功能正常使用的前提下,全方位的保护手机中所有类型的传感器数据,防止所有类型的隐私数据通过传感器遭到泄漏。
[0008]本发明是通过以下技术方案实现的:
[0009]本发明包括:位于底层的hook模块和位于上层的管理模块,其中:管理模块通过检测手机实时状态并根据用户配置规则向hook模块传输保护策略,hook模块根据该保护策略实现对传感器数据的拦截及保护,从而实现传感器数据保护。
[0010]所述的hook模块包括:apihook模块、用于随机产生伪数据的伪数据模拟器、用于限制传感器的采样频率的减采样模块和用于防止以用户特征信息生成设备指纹的攻击的混淆器。
[0011]所述的apihook模块拦截系统的原始传感器数据,并根据保护策略,选择性调用伪数据模拟器,减采样模块,混淆器来对原始数据进行保护处理,最终返回保护过的数据。
[0012]所述的管理模块包括:用于注册广播接受器及hook相关api从而监听设备状态的环境感知模块和包含规则信息的数据库,其中:规则信息包括保护规则和保护策略。
[0013]所述的环境感知模块将设备实时状态信息传递给管理模块,管理模块综合设备实时状态信息及数据库中用户配置的信息来决定数据保护策略,最终将保护策略传递给底层hook模块。
[0014]所述的保护规则,包括但不限于:
[0015]I)对于信任的APP,将提供原始数据。
[0016]2)对于非信任的APP,将完全提供经伪数据模拟器提供的伪造数据。
[0017]3)对于一般的APP,根据手机实时的状态提供不同的保护策略。
[0018]所述的保护策略,包括但不限于:
[0019]a)若手机处于通话中,正在输入状态中等敏感状态时,提供经伪数据模拟器提供的伪造数据。
[0020]b)对于采样频率高于160Hz的传感器数据,经过减采样模块进行减采样操作。
[0021]c)对于使用频率高的传感器数据,经过混淆器进行混淆处理。
[0022]d)当一个APP或webview对一个传感器数据的请求超过额定时间后,在超过额定时间的部分提供经伪数据模拟器提供的伪造数据。
[0023]e)当手机处于高速移动的状态时,周期性的提供经伪数据模拟器提供的伪造数据。
[0024]本发明涉及上述系统的数据保护方法,在对系统进行初始化后,每当APP或Webview请求传感器数据时,api_hook模块首先对传感器数据进行拦截;并在拦截后在数据库中查找预先配置的保护规则,并根据保护规则启动伪数据模拟器、混淆器和/或减采样模块生成对应数据并返回给APP或Webview。
[0025]所述的初始化是指:首先在Android系统的lib层加入ap1-hook框架,用以对所有传感器数据进行拦截保护;然后在Android系统的applicat1n层加入管理模块。
[0026]所述的查找,当没有发现预先配置的保护规则时,管理模块启动与用户的交互并建立新的保护规则。
[0027]所述的对应数据是指:根据保护规则、保护策略以及由底层hook模块拦截并处理后的数据。
技术效果
[0028]与现有技术相比,本发明能够防护所有隐私类型的保护方案,不仅仅只针对一种或几种传感器类型,而是从系统层面入手,整体上针对Android系统中所有类型传感器,防止各种隐私类型的泄漏。同时,还具有保护策略的多样性,保护的信息包括位置信息,声音信息,输入信息,指纹信息,用户行为信息等。针对不同的隐私信息,结合不同攻击方法的特点,设计不同的防护策略。能够有效的防止Android手机用户隐私通过传感器数据泄漏。
【附图说明】
[0029]图1为本发明系统结构不意图;
[0030]图2为本发明ap1-hook模块示意图;
[0031]图中箭头表示本系统hook方向。
【具体实施方式】
[0032]如图1所示,本实施例涉及一种Android平台传感器数据保护系统,包括:位于底层的hook模块和位于上层的管理模块,其中:管理模块向hook模块传递保护策略,hook模块根据保护策略对传感器数据进行拦截及保护,从而实现传感器数据保护。
[0033]所述的hook模块包括:apihook模块、用于随机产生伪数据的伪数据模拟器、用于限制传感器的采样频率的减采样模块和用于防止以用户特征信息生成设备指纹的攻击的混淆器,其中:api hook模块拦截系统的原始传感器数据,并根据保护策略,选择性调用伪数据模拟器,减采样模块,混淆器来对原始数据进行保护处理,最终返回保护过的数据。
[0034]所述的管理模块包括:用于注册广播接受器及hook相关api从而监听设备状态的环境感知模块和包含规则信息的数据库,其中:环境感知模块将设备实时状态信息传递给管理模块,管理模块综合设备实时状态信息及数据库中用户配置的信息来决定数据保护策略,最终将保护策略传递给底层hook模块。
[0035]所述的apihook模块用于全方位的hook所有传感器相关的API,包括由C和C++实现的NDK-api ; Java实现的SDK-api ; JavaScript实现的Webview-api C3Hook的api分布如附图2所示。
[0036]所述的减采样模块,优选为限制传感器的采样频率低于160Hz,以防止部分高频传感器(例如陀螺仪)的数据可能包含声音信号信息。
[0037]所述的设备状态包括但不限于:通话、输入、运动等。
[0038]本系统工作流程如下:
[0039]步骤I)首先在系统Iib层部署,即加入ap1-hook框架,用以对所有传感器数据进行拦截保护。之后需要在applicat1n层加入管理模块,配合底层hook模块的同时,还能够与用户交互人工配置策略,以及感知手机状态(打电话,输入,移动等),自动应用策略。
[°04°] 步骤2)当APP或Webview请求传感器数据,ap1-hook模块首先对传感器数据进行拦截。
[0041]步骤3)拦截后,在策略数据库(dbs)中查找之前配置好相关保护规则。如果没有,则管理模块(SSG Manager)和用户交互,建立新的保护规则。
[0042]步骤4)根据保护规则,信任的APP将为其提供原始数据;不信任的APP将为其提供伪造数据;对于一般的APP,状态感知模块(eps)感知设备所处状态,之后根据手机所处状态自动应用保护策略。
[0043]伪数据模拟器(fdg)混淆器(obs)减采样模块(srs)根据保护策略来针对性的对传感器数据进行处理。最终返回给APP或Webvi ew保护过的数据。
[0044]与现有技术相比,本发明能够分析不同类型的传感器攻击,针对不同的隐私攻击种类,针对手机所处不同状态,提出不同的隐私保护策略;
[0045]本系统限制传感器数据的收集时间(默认为30min),超过额定时间将提供伪造的虚假数据,来防止大量数据收集攻击。当手机设备运动时,本系统周期性的插入伪造数据,来影响大量数据的积分结果。本系统限制后台应用对传感器数据的读取。
[0046]当手机处于通话状态时,本系统提供伪造数据,防止通过传感器进行录音窃听。本系统限制传感器频率,防止通过高频传感器来采样声波攻击。通过调用系统AP1:android.telephony.TelephonyManager.getCal I State (),以及
[0047]监听系统广播Intent.ACT10N_NEW_0UTG0ING_CALL获取该状态信息。
[0048]当手机处于输入状态时(系统软件盘弹出或屏幕处于待解锁状态等),本系统提供伪造数据,防止通过传感器记录软键盘输入特征。通过h ο ο k系统A P 1:android.1nputmethodservice.1nputMethodService.showWindow及android.1nputmethodservice.1nputMethodService.doHideWindow获得该状态信息。
[0049]本系统向所有传感器数据添加混淆信息,弱化传感器自身硬件特征,防止攻击者提取特征生成设备指纹。具体混淆公式为:其中aM为原始数据,a13为混淆后数据。两个参数g13的取值范围为[-0.1,0.1] ,Oci的取值范围为[0.95,1.05]。
[0050]上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
【主权项】
1.一种Android平台传感器数据保护系统,其特征在于,包括:位于底层的hook模块和位于上层的管理模块,其中:管理模块通过检测手机实时状态并根据用户配置规则向hook模块传输保护策略,hook模块根据该保护策略实现对传感器数据的拦截及保护,从而实现传感器数据保护; 所述的hook模块包括:api hook模块、用于随机产生伪数据的伪数据模拟器、用于限制传感器的采样频率的减采样模块和用于防止以用户特征信息生成设备指纹的攻击的混淆器; 所述的管理模块包括:用于注册广播接受器及hook相关api从而监听设备状态的环境感知模块和包含规则信息的数据库,其中:规则信息包括:保护规则以及保护策略。2.根据权利要求1所述的Android平台传感器数据保护系统,其特征是,所述的apihook模块拦截系统的原始传感器数据,并根据保护策略,选择性调用伪数据模拟器,减采样模块,混淆器来对原始数据进行保护处理,最终返回保护过的数据。3.根据权利要求1所述的Android平台传感器数据保护系统,其特征是,所述的环境感知模块将设备实时状态信息传递给管理模块,管理模块综合设备实时状态信息及数据库中用户配置的信息来决定数据保护策略,最终将保护策略传递给底层hook模块。4.根据权利要求1所述的Android平台传感器数据保护系统,其特征是,所述的保护规则,包括: 1)对于信任的APP,将提供原始数据; 2)对于非信任的APP,将完全提供经伪数据模拟器提供的伪造数据; 3)对于一般的APP,根据手机实时的状态提供不同的保护策略。5.根据权利要求1所述的Android平台传感器数据保护系统,其特征是,所述的保护策略,包括: a)若手机处于通话中,正在输入状态中等敏感状态时,提供经伪数据模拟器提供的伪造数据; b)对于采样频率高于160Hz的传感器数据,经过减采样模块进行减采样操作; c)对于使用频率高的传感器数据,经过混淆器进行混淆处理; d)当一个APP或webview对一个传感器数据的请求超过额定时间后,在超过额定时间的部分提供经伪数据模拟器提供的伪造数据; e)当手机处于高速移动的状态时,周期性的提供经伪数据模拟器提供的伪造数据。6.一种根据上述任一权利要求所述系统的数据保护方法,其特征在于,在对系统进行初始化后,每当APP或Webview请求传感器数据时,api_hook模块首先对传感器数据进行拦截;并在拦截后在数据库中查找预先配置的保护规则,并根据保护规则启动伪数据模拟器、混淆器和/或减采样模块生成对应数据并返回给APP或Webview。7.根据权利要求6所述的数据保护方法,其特征是,所述的初始化是指:首先在Android系统的I ib层加入ap1-hook框架,用以对所有传感器数据进行拦截保护;然后在Android系统的applicat1n层加入管理模块。8.根据权利要求6所述的数据保护方法,其特征是,所述的查找,当没有发现预先配置的保护规则时,管理模块启动与用户的交互并建立新的保护规则。9.根据权利要求6所述的数据保护方法,其特征是,所述的对应数据是指:根据保护规贝lj、保护策略以及由底层hook模块拦截并处理后的数据。
【文档编号】G06F21/60GK105956480SQ201610303876
【公开日】2016年9月21日
【申请日】2016年5月10日
【发明人】张媛媛, 李博栋, 谷大武
【申请人】上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1