The embodiment of the invention provides a privacy leak detection method and system. The method comprises the following steps: according to the application program interface of sensitive data source, construct the leaking point of the application program interface table and a callback function application program interface table to find sensitive data source, pack the leakage point and callback function installation, get sensitive data source, pack the leakage point and the callback function installed by sensitive data the source of the installation package and the leakage point and callback function to establish the component life cycle model; through the installation of the callback function and component life cycle model in the virtual main function; virtual main function transform after generating function between the control flow graph to sensitive data source installation package for the analysis of the starting point, according to the data flow Taint Analysis the algorithm of function control flow graph analysis, suspicious path obtained privacy; privacy suspicious path output. Privacy leaks within application components can be effectively detected.
【技术实现步骤摘要】
隐私泄露检测方法及系统
本专利技术涉及移动终端安全
,具体而言,涉及一种隐私泄露检测方法及系统。
技术介绍
随着移动设备普及范围越来越广泛、功能越来越强大。在实际生活中,移动设备中存储的数据更加的复杂、敏感,其中不仅包括用户的个人隐私数据(通讯录、短信、电子邮件、地理位置、相册、浏览记录等),还包括手机系统记录的日志,这些有价值的数据都是攻击者的攻击目标。这些有价值的数据可能是以恶意软件窃取的方式泄露,还可能是因对第三方应用程序的数据的访问权限设置不合理而导致这些有价值的数据的泄露,给用户带来很大的困扰以及损失。对应用程序的隐私泄露行为进行检测已经成为最为流行的安全技术之一。目前的应用程序安全分析工具可分为静态分析工具和动态分析工具。静态分析工具存在着分析结果不精确、对字段及对象不敏感分析等不足之处,而动态分析工具存在代码覆盖率不全面以及路径爆炸的问题。总而言之,目前应用程序安全分析工具不能有效发现应用程序组件内的隐私泄露行为。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种能有效发现程序组件内的隐私泄露行为的方法及系统,以改变现有技术中不能有效发现应用程序组件内的隐私泄露行为的缺陷。本专利技术较佳实施例提供了一种隐私泄露检测方法,所述方法包括:构建敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表;根据构建的敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表查找安装包中的敏感数据源、泄露点和回调函数的应用程序接口,得到所述安装包中的敏感数据源、泄露点和回调函数,由所述安装包中的敏感数据源、泄露点和回调函数建立组件生命周期 ...
【技术保护点】
一种隐私泄露检测方法,其特征在于,所述方法包括:构建敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表;根据构建的敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表查找安装包中的敏感数据源、泄露点和回调函数的应用程序接口,得到所述安装包中的敏感数据源、泄露点和回调函数,由所述安装包中的敏感数据源、泄露点和回调函数建立组件生命周期模型;通过所述安装包中的回调函数及所述组件生命周期模型生成虚拟主函数;将所述虚拟主函数经过变换生成函数间控制流图,以所述安装包中的敏感数据源为分析起点,根据数据流污点分析算法对所述函数间控制流图进行分析,得到隐私泄露的可疑路径;输出隐私泄露的可疑路径。
【技术特征摘要】
1.一种隐私泄露检测方法,其特征在于,所述方法包括:构建敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表;根据构建的敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表查找安装包中的敏感数据源、泄露点和回调函数的应用程序接口,得到所述安装包中的敏感数据源、泄露点和回调函数,由所述安装包中的敏感数据源、泄露点和回调函数建立组件生命周期模型;通过所述安装包中的回调函数及所述组件生命周期模型生成虚拟主函数;将所述虚拟主函数经过变换生成函数间控制流图,以所述安装包中的敏感数据源为分析起点,根据数据流污点分析算法对所述函数间控制流图进行分析,得到隐私泄露的可疑路径;输出隐私泄露的可疑路径。2.根据权利要求1所述的方法,其特征在于,所述输出隐私泄露的可疑路径的步骤之后还包括:通过预设的开源测试工具对所述可疑路径进行检测,评估所述方法的有效性和正确性。3.根据权利要求1所述的方法,其特征在于,所述构建敏感数据源、泄露点的应用程序接口表和回调函数的应用程序接口表的步骤包括:构建回调函数的应用程序接口表;由权限与敏感数据源的应用程序接口表、权限与泄露点的应用程序接口表构建敏感数据源、泄露点的应用程序接口表。4.根据权利要求1所述的方法,其特征在于,所述将所述虚拟主函数经过变换生成函数间控制流图,以所述安装包中的敏感数据源为分析起点,根据数据流污点分析算法对所述函数间控制流图进行分析,得到隐私泄露的可疑路径的步骤包括:将所述安装包中的敏感数据源作为起点进行正向分析,查找所述安装包中的敏感数据源的别名,并标记为污点,标记为污点的别名为未激活状态;再将上述别名作为分析的起点,同时进行反向分析和正向分析,所述反向分析中加入正向分析的上下文环境,查找所述别名的新的别名,并标记为污点,新的污点别名仍为未激活状态;在所述正向分析的上下文环境中进行反向分析,当产生了正向分析在执行到所述安装包中的敏感数据源或泄露点的应用程序接口时,所述新的污点别名由未激活状态转变为激活状态;对找到的所有处于未激活状态的新的污点别名重复上述步骤进行分析得到其他处于激活状态的污点别名;记录处于激活状态的污点别名到所述安装包中的泄露点的路径,所述路径为所述可疑路径。5.根据权利要求1所述的方法,其特征在于,所述将所述虚拟主函数经过变换生成函数间控制流图,以所述安装包中的敏感数据源为分析起点,根据数据流污点分析算法对所述函数间控制流图进行分析,得到隐私泄露的可疑路径的步骤包括:将所述虚拟主函数通过Soot静态分析框架转换为由中间件语言表示的字节码文件;通过所述字节码文件及Soot静态分析框架得到所述函数间控制流图。6.一种隐私泄露检测系统,其特征在于,所述系统包括:构建模块,用于...
【专利技术属性】
技术研发人员:黄勇,周敏,刘亮,崔凯铜,许春阳,
申请(专利权)人:四川无声信息技术有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。