一种场景敏感的自动化放置钩子函数的系统及方法与流程

文档序号:23727825发布日期:2021-01-26 17:52阅读:83来源:国知局
一种场景敏感的自动化放置钩子函数的系统及方法与流程

[0001]
本发明属于移动终端设备的用户隐私保护领域,涉及一种场景敏感的自动化放置钩子函数的系统及方法。


背景技术:

[0002]
场景敏感的用户隐私关切可以被看作是传感器资源、特定场景以及资源访问策略的结合体。例如,用户在一个早上九点的私密会议的场景下,他可能会担心暴露自己的位置以及相关的会议言论。那么,该场景下,他的用户隐私关切包括传感器资源(gps、麦克风)、特定场景(手机系统时间为上午九点,gps定位在开会酒店)、资源访问策略(禁止gps和麦克风的使用)。
[0003]
为了应对用户的隐私关切,安卓系统提供了permission机制,该机制能让用户选择各类应用是否具备访问特定资源的权限。然而,安全从业人员依然倾向于放置钩子函数来增强原有安卓的permission机制。主要原因来自于原有permission机制缺乏执行敏感场景的访问控制策略的安全能力。
[0004]
一般情况下,钩子函数是添加在原有的安卓代码中的一段新代码,该代码会在敏感函数调用前执行场景敏感的隐私保护策略。现有技术中,钩子函数的放置位置是存在缺陷的,另外,过度放置的钩子函数时,钩子函数冗余将极大地降低系统的性能和可用性。


技术实现要素:

[0005]
本发明所要解决的问题为:针对一个明确的场景敏感用户隐私关切集合,如何自动化的、个性化的、可伸缩的在安卓系统中放置钩子函数用以保护该用户的隐私。
[0006]
本发明技术解决方案为:一种场景敏感的自动化放置钩子函数的系统,包括:
[0007]
填表应用模块:在安卓系统中,作为一个引导应用,利用用户隐私偏好表,方便用户选择定制个人的用户隐私偏好;
[0008]
用户隐私偏好表模块:用于勾勒出一个明确的场景敏感用户隐私关切集合,通过设计五维度的用户隐私偏好表,提供给每个用户表格填空,引导用户清晰描述个人用户隐私偏好,当用户填好表格后,会生成与该用户一一对应的隐私关切词典,该词典将作为钩子函数自动化映射模块的第一个输入;
[0009]
搜寻模块:通过机器学习算法对全安卓代码进行搜索,构建给钩子函数使用的潜在备选函数集合;
[0010]
潜在备选函数集合模块:该模块中的集合包括两类函数,一是传感器数据访问函数,一是传感器控制函数,该集合将作为钩子函数自动化映射模块的第二个输入;
[0011]
语义抽象分析模块:该模块负责分析潜在备选函数集合的代码实现,提取高层语义,构建针对传感器敏感资源函数的敏感抽象操作集合;
[0012]
敏感抽象操作集合模块:该集合主要包括对于安卓源码的高层语义抽象,用于描述安卓系统代码中存在的一些传感器资源敏感操作,该集合模块作为钩子函数自动化映射
模块的第三个输入;
[0013]
钩子函数自动化映射模块:该模块在接收个性化隐私关切词典、潜在备选函数集合以及敏感抽象操作集合模块后,通过基于双层级即高层、底层的自动化映射机制,建立从一个明确用户隐私关切到具体钩子函数放置之间的映射关系。
[0014]
进一步的,所述用户隐私偏好表模块,当用户使用填表应用模块完成填空后,会生成一个具体、明确的用户隐私偏好表,该表的所有内容将构成一个特定用户的隐私保护词典,所述用户隐私偏好表是一个五维度的表格,包括:时间、位置、系统状态、传感器资源以及保护策略,用时间、位置和系统状态帮助用户描述敏感场景,用传感器资源以及保护策略帮助用户定义希望采取的隐私保护措施。
[0015]
进一步的,所述潜在备选函数集合模块构建过程为:搜寻模块采用监督学习的机器学习算法,通过在安卓代码内手动标注并建立一个包含多个函数的训练集合并建立包含数多个参数的特征库,以及一个包含多个函数的测试集合,然后利用监督学习算法对分类器进行训练,最终使用训练好的分类器对全安卓代码进行分类,将整个安卓代码分为两类:a.传感器数据访问函数/传感器控制函数,b.其他函数,最终,将分类a作为潜在备选函数集合。
[0016]
进一步的,所述敏感抽象操作集合模块的构建过程为:语义抽象分析模块通过关键词搜索,分析备选函数集合中函数可能存在的敏感操作,关键词分类包括:(1)读写传感器变量(2)发送进程间通信(3)直接发送传感器控制指令,然后,针对语义抽象分析得到的敏感操作,进行人工二次审查的方式,归纳总结高层语义得到敏感抽象操作集合模块。
[0017]
进一步的,所述钩子函数自动化映射模块,寻找一个特定用户隐私偏好词典与潜在备选函数集合中部分相关函数的关系,并建立映射关系,该映射关系既是最终需要放置钩子函数的位置;从特定用户隐私偏好词典到潜在备选函数集合的映射,简称映射0,被分成了两层映射完成,即:(1)特定用户隐私偏好词典到敏感抽象操作集合模块的映射,简称映射1;(2)敏感抽象操作集合模块的映射到潜在备选函数集合的映射,简称映射2。
[0018]
进一步的,映射1由高层映射模块完成,高层映射模块接收特定用户隐私偏好词典和敏感抽象操作集合模块作为输入,通过众包方式完成该映射,通过设计映射调查表热并人工完成相关映射,进行审核与统计,排除信心度低于阈值的调查结果,并按照多数意见原则确定每项映射的最终结果,形成最终的映射。
[0019]
进一步的,映射2由底层映射模块完成,底层映射模块接收敏感抽象操作集合模块和潜在备选函数集合作为输入,通过关键字对潜在备选函数集合进行自动化的静态分析,完成映射,关键字主要包括以下几个部分:(1)传感器变量的数据类型;(2)用户应用与系统服务之间的跨进程通信接口函数名;(3)硬件模块接口函数名;(4)包含硬件指令的字符常量与宏定义。
[0020]
进一步的,提出一种场景敏感的自动化放置钩子函数的方法,包括如下步骤:
[0021]
步骤1、填表应用模块引导用户定制自身的用户隐私偏好表,并通过生成特定用户隐私偏好词典;
[0022]
步骤2、搜寻模块利用机器学习算法搜索全安卓代码,构建钩子函数的潜在备选函数集合;
[0023]
步骤3、语义抽象分析模块通过对潜在备选函数集合的语义分析建立敏感抽象操
作集合模块;
[0024]
步骤4、钩子函数自动化映射模块接收用户隐私偏好表、备选函数集合以及敏感抽象操作集合模块的输出,通过高层映射模块建立用户隐私偏好表和敏感抽象操作集合模块的映射关系,低层映射模块建立敏感抽象操作集合模块和备选函数集合的映射关系,最终实现针对一个明确的用户隐私关切集合,提供个性化的钩子函数放置位置。
[0025]
本发明与现有技术相比,具有以下优点:
[0026]
(1)该发明系统性的搜寻更广泛的钩子函数放置位置。一般而言,安全从业人员往往利用permission函数所在位置来作为新增钩子函数的放置位置。然而,这样的放置方式是存在缺陷的。原因在于,针对一些流数据,安卓自身的permission函数只在流数据进程被创建时进行权限检查,一旦检查通过,进程在运行过程中不会再做二次检查。例如,安卓录音过程,permission只会在录音进程被创建时做检查权限,一旦通过,随后的录音过程(可能长达数小时的录音过程)将不会有任何权限检查。如果在这个漫长的时期内,用户使用手机的场景发生变化,则当初的钩子函数敏感场景策略检查已经过期,在新场景下可能发生隐私数据泄露的情况。所以,有必要在除了permission函数之外,寻找其它的钩子函数放置位置来应对流数据的用户隐私保护。本发明通过对安卓系统全代码进行搜索,系统性的构建潜在备选函数集合,为钩子函数的放置提供一个更广泛的选择集合。
[0027]
(2)由用户场景敏感隐私驱动,该发明提供个性化的钩子函数放置方式,降低钩子函数的冗余度。原则上讲,通过对安卓系统代码中所有涉及传感器敏感资源(gps,麦克风,摄像头等)操作函数都添加钩子函数,能够全覆盖的保护所有用户的所有隐私关切(因为所有的敏感资源都被全覆盖的添加了场景敏感的资源隐私保护策略)。然后,针对一个特定的用户,这种全覆盖的放置方式包含了远超该用户需要的钩子函数,产生了极大地冗余。同时,考虑到安卓自身庞大的代码量和广泛采用statemachine、handle和asyncchannel等复杂通信与同步机制。这样的钩子函数冗余将极大地降低系统的性能和可用性(钩子函数会制造额外的进程间通信)。本发明通过为每个特定用户,提供个性化的钩子函数放置方式,是针对全覆盖放置方法的一种优化,能够极大地降低冗余度。
附图说明
[0028]
图1是本发明的整体框架示意图;
[0029]
图2是一个典型的用户隐私偏好表;
[0030]
图3是潜在备选函数集合201的构建流程;
[0031]
图4是敏感抽象操作集合模块301的构建流程;
[0032]
图5是从一个明确的场景敏感用户隐私关切集合(被特定用户隐私偏好词典102所定义)到适合放置钩子函数的放置位置的映射关系;
[0033]
图6是特定用户隐私偏好词典102到敏感抽象操作集合模块301的映射完成流程;
[0034]
图7是一个典型的调查项。
具体实施方式
[0035]
本发明利用用户隐私偏好表,潜在备选函数集合以及敏感抽象操作集合模块的基础上,设计一种场景敏感的自动化放置钩子函数的方法及系统。为了使本发明的目的、技术
方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
[0036]
图1从整体上描述了该方案实施的总体架构,主要包括以下六个部分:
[0037]
场景敏感的自动化放置钩子函数的方法及系统的总体架构图包括填表应用100、用户隐私偏好表101、搜寻模块200、潜在备选函数集合201、语义抽象分析300、敏感抽象操作集合模块301、钩子函数自动化映射模块400、高层映射模块401以及底层映射模块402。填表应用100引导用户定制自身的用户隐私偏好表101,并通过101生成特定用户隐私偏好词典,搜寻模块200利用机器学习算法搜索全安卓代码,构建钩子函数的潜在备选函数集合201。语义抽象分析300通过对潜在备选函数集合201的语义分析建立敏感抽象操作集合模块301。钩子函数自动化映射模块400接收用户隐私偏好表101、备选函数集合201以及敏感抽象操作集合模块301,通过高层映射模块401建立用户隐私偏好表101和敏感抽象操作集合模块301的映射关系,低层映射模块402建立敏感抽象操作集合模块301和备选函数集合201的映射关系,最终实现针对一个明确的用户隐私关切集合,提供个性化的钩子函数放置方案。
[0038]
图2显示了一个典型的用户隐私偏好表。当用户使用填表应用100完成填空后,会生成一个具体、明确的用户隐私偏好表101,该表的所有内容将构成一个特定用户的隐私保护词典102。具体来讲,本发明在设计用户隐私偏好表时,为了减轻用户的负担,设计的是一个五维度的表格,包括:时间、位置、系统状态、传感器资源以及保护策略。用时间、位置和系统状态帮助用户描述敏感场景,用传感器资源以及保护策略帮助用户定义希望采取的隐私保护措施。
[0039]
图3显示了潜在备选函数集合201的构建流程。搜寻模块200主要采用监督学习的机器学习算法。通过在安卓代码内手动标注并建立一个包含2000个函数的训练集合并建立包含数百个参数的特征库,以及一个近20000函数的测试集合。然后利用监督学习对分类器进行训练,最终使用训练好的分类器对全安卓代码进行分类。将整个安卓代码分为两类:a.传感器数据访问函数/传感器控制函数b.其他函数。最终,将分类a作为潜在备选函数集合201。
[0040]
图4显示了敏感抽象操作集合模块301的构建流程。语义抽象分析300通过关键词搜索等技术,分析备选函数集合201中函数可能存在的敏感操作。关键词分类包括:(1)读写传感器变量(2)发送进程间通信(3)直接发送传感器控制指令。然后,针对语义抽象分析300得到的敏感操作,进行人工二次审查的方式,归纳总结高层语义得到敏感抽象操作集合模块301。
[0041]
如图5所示,该图显示从一个明确的场景敏感用户隐私关切集合(被特定用户隐私偏好词典102所定义)到适合放置钩子函数的放置位置的映射关系。该映射主要是通过钩子函数自动化映射模块400来完成。
[0042]
本发明的一个重要特征就是,从“用户隐私偏好将如何影响钩子函数的放置位置”开始考虑钩子函数放置问题。通过寻找一个特定用户隐私偏好词典102与潜在备选函数集合201中部分相关函数的关系,并建立映射关系。该映射关系既是最终需要放置钩子函数的位置。
[0043]
从图5可以看出,在本发明中,从特定用户隐私偏好词典102到潜在备选函数集合201的映射(简称映射0)被分成了两层映射完成,即:(1)特定用户隐私偏好词典102到敏感
抽象操作集合模块301的映射(简称映射1);(2)敏感抽象操作集合模块301的映射到潜在备选函数集合201的映射(简称映射2)。
[0044]
相比于直接寻找特定用户隐私偏好词典102到潜在备选函数集合201的映射,本发明使用的两层级映射具备以下好处:
[0045]
(1)映射1不要求完成映射的工作人员具备任何有关安卓代码实现细节的了解;
[0046]
(2)当安全从业专家着手建立映射0时,映射0本身存在的语义差异(即特定用户隐私偏好词典102包含的是含义清晰简单的日常用语,潜在备选函数集合201包含的是晦涩难懂的安卓底层代码函数名)被两个更小的语义差异的映射所替换。从而可以有效降低映射的错误率,提高自动化钩子函数放置的准确性。
[0047]
映射1由高层映射模块401完成。图6显示了该映射的流程。映射模块401接收特定用户隐私偏好词典102和敏感抽象操作集合模块301作为输入,通过众包方式完成该映射。本发明通过设计映射调查表,并交由具备一定安全开发能力的工程师完成相关映射。然后我们进行人工的二次审核与统计,排除信心度在60%以下的调查结果,并按照多数意见原则确定每项映射的最终结果,形成最终的映射。图7显示了调查表的一个典型的调查项。
[0048]
映射2由底层映射模块402完成。映射模块402接收敏感抽象操作集合模块301和潜在备选函数集合201作为输入,通过关键字对潜在备选函数集合201进行自动化的静态分析,完成映射2。关键字主要包括以下几个部分:(1)传感器变量的数据类型;(2)用户应用与系统服务之间的跨进程通信接口函数名;(3)硬件模块接口函数名;(4)包含硬件指令的字符常量与宏定义。
[0049]
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1