CN111190603B - 一种隐私数据检测方法、装置和计算机可读存储介质 - Google Patents

一种隐私数据检测方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN111190603B
CN111190603B CN201911309575.0A CN201911309575A CN111190603B CN 111190603 B CN111190603 B CN 111190603B CN 201911309575 A CN201911309575 A CN 201911309575A CN 111190603 B CN111190603 B CN 111190603B
Authority
CN
China
Prior art keywords
data
code
party tool
private data
calling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911309575.0A
Other languages
English (en)
Other versions
CN111190603A (zh
Inventor
黄汉川
王葵
武杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911309575.0A priority Critical patent/CN111190603B/zh
Publication of CN111190603A publication Critical patent/CN111190603A/zh
Application granted granted Critical
Publication of CN111190603B publication Critical patent/CN111190603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Abstract

本发明实施例公开了一种隐私数据检测方法、装置和计算机可读存储介质;本申请实施例在获取待检测应用程序的安装数据包(APK),调用APK的隐私数据调用权限信息对应的隐私数据,以构建隐私数据集合,根据APK的第三方工具信息,在代码数据中提取出第三方工具标识对应的目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;该方案可以提高隐私数据检测的准确性。

Description

一种隐私数据检测方法、装置和计算机可读存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种隐私数据检测方法、装置和计算机可读存储介质。
背景技术
近年来,随着互联网技术的发展,移动应用程序(Application,APP)在生活中的应用越来越广泛,为了提高APP开发效率,在开发过程会将第三方工具(SoftwareDevelopment Kit,SDK)集成在移动应用程序的数据中,当APP开发完成后,第三方工具会共享APP申请的所有权限,包括获取用户隐私数据的相关权限,为了禁止SDK违反手机用户隐私数据,APP的开发者需要去检测SDK具体会使用那些与隐私有关的数据。现有技术主要采用获取SDK的源码或者jar包的代码进行审计和分析,判断SDK具体使用了用户的哪些隐私数据。
对现有技术的研究和实践过程中,本发明的发明人发现当有些应用程序中集成的SDK无法直接获取源码或者jar包的代码时,便无法检测到SDK使用的隐私数据,而且,对于新出现的或未知的SDK感知能力较弱,也使得这一类的SDK使用的隐私数据无法检测,因此,导致针对第三方工具使用隐私数据的检测准确性大大降低。
发明内容
本发明实施例提供一种隐私数据检测方法、装置和计算机可读存储介质。可以提高检测的准确性。
一种隐私数据检测方法,包括:
获取待检测应用程序的安装数据包,所述安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,所述第三方工具信息包括第三方工具标识;
调用所述隐私数据调用权限信息对应的隐私数据,以构建所述待检测应用程序需要的隐私数据集合;
根据所述第三方工具信息,在所述代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据;
将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到所述原始代码数据中使用的隐私数据调用函数;
根据所述隐私数据调用函数和所述隐私数据调用权限信息,对所述隐私数据集合进行检测,以确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
相应的,本发明实施例提供一种隐私数据检测装置,包括:
获取单元,用于获取待检测应用程序的安装数据包,所述安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,所述第三方工具信息包括第三方工具标识;
调用单元,用于调用所述隐私数据调用权限信息对应的隐私数据,以构建所述待检测应用程序需要的隐私数据集合;
反编译单元,用于根据所述第三方工具信息,在所述代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据;
匹配单元,用于将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到所述原始代码数据中使用的隐私数据调用函数;
检测单元,用于根据所述隐私数据调用函数和所述隐私数据调用权限信息,对所述隐私数据集合进行检测,以确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
可选的,在一些实施例中,所述反编译单元,具体可以用于根据所述第三方工具标识对应的功能信息,对所述代码数据进行切割,得到多个切割后代码块,在所述切割后代码块中筛选出所述第三方工具标识对应的至少一个目标代码块,对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据。
可选的,在一些实施例中,所述反编译单元,具体可以用于根据所述第三方工具标识对应的功能信息,在所述代码数据中查询到所述功能信息对应代码区域,在所述代码数据中对所述代码区域进行标记,根据标记结果,对所述代码数据进行切割,得到多个切割后代码块。
可选的,在一些实施例中,所述反编译单元,具体可以用于在所述切割后代码块中提取标识特征信息,根据所述标识特征信息,对所述切割后代码块进行聚类,得到多个类型的代码块集合,将所述第三方工具标识与所述代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。
可选的,在一些实施例中,所述反编译单元,具体可以用于将所述目标代码块中代码的格式转换为目标格式,得到转换后代码块,对所述转换后代码块进行反编译,得到所述转换后代码块对应的初始原始代码数据,对所述初始原始代码数据进行分类,得到所述第三方工具标识对应的至少一个类型的原始代码数据。
可选的,在一些实施例中,所述匹配单元,具体可以用于在所述原始代码数据中查询出数据调用函数,所述数据调用函数为调用用户数据的函数,将所述数据调用函数与预设隐私数据调用函数进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为所述原始代码数据中使用的隐私数据调用函数。
可选的,在一些实施例中,所述调用单元,具体可以用于在所述隐私数据调用权限信息中查询所述待检测应用程序能够调用隐私数据的第一权限,在本地数据库中调用所述第一权限对应的隐私数据,基于所述第一权限对应的隐私数据,构建所述待检测应用程序需要的隐私数据结合。
可选的,在一些实施例中,所述检测单元,具体可以用于在所述隐私数据调用权限信息中查询所述隐私数据调用函数对应的调用隐私数据的第二权限,在所述隐私数据集合中筛选所述第二权限对应的隐私数据,将所述隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据,根据所述第三方工具标识和第三方工具标识对应的功能信息,在所述隐私数据调用权限信息中筛选出第三方工具标识对应的第三权限,所述第三权限为预设给第三方工具标识对应的第三方工具调用隐私数据的权限;将所述第二权限与第三权限进行对比;根据对比结果,确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的隐私数据检测方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种隐私数据检测方法中的步骤。
本发明实施例在获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;由于该方案可以直接从应用程序的代码数据逆向获取第三方工具的代码块,不需要获取第三方工具的源码和jar包的代码,通过匹配代码块中的隐私数据调用函数,对于已知和未知的第三方工具都可以检测,而且可以准确检测出第三方工具使用到的隐私数据,因此,可以大大提高隐私数据检测的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的隐私数据检测的场景示意图;
图2是本发明实施例提供的隐私数据检测的流程示意图;
图3是本发明实施例提供的对第三方标识对应的代码反编译的流程示意图;
图4是本发明实施例提供的对隐私数据集合进行检测的流程示意图;
图5是本发明实施例提供的隐私数据检测的另一流程示意图;
图6是本发明实施例提供的隐私数据检测装置的结构示意图;
图7是本发明实施例提供的隐私数据检测装置的调用单元的结构示意图;
图8是本发明实施例提供的隐私数据检测装置的反编译单元的结构示意图;
图9是本发明实施例提供的隐私数据检测装置的匹配单元的结构示意图;
图10是本发明实施例提供的隐私数据检测装置的检测单元的结构示意图;
图11是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种隐私数据检测方法、装置和计算机可读存储介质。其中,该隐私数据检测装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,隐私数据检测主要为检测应用程序中集成的第三方工具通过共享应用程序的隐私数据读取权限获取到隐私数据,比如,应用程序通过隐私数据调用权限调用了隐私数据组成的隐私数据集合,在该隐私数据集合中检测应用程序中集成的一个或者多个第三方工具通过共享应用程序的隐私数据读取权限调用了哪些隐私数据。
所谓隐私数据,可以为与用户个人隐私有关的数据,在终端或者服务器平台上,隐私数据主要包括通讯录、短信、设备信息(Identity Document,ID)、个人标识信息、位置信息和网络相关信息。应用程序通常通过数据调用权限从电子设备的本地数据库中调用这类隐私数据。
例如,参见图1,以文本标签生成装置集成在电子设备中为例,获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从隐私数据检测装置的角度进行描述,该隐私数据检测装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算(PC,Personal Computer)等设备。
一种隐私数据检测方法,包括:
获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
如图2所示,该隐私数据检测方法的具体流程如下:
101、获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识。
其中,安装数据包(android application package,APK)可以为应用程序在终端或者服务器安装时需要的各种数据。这些数据可以为编译后的代码数据、隐私数据调用权限信息和第三方工具信息等。
其中,编译后的代码数据可以为对高级程序语言编写的代码进行编译得到终端或服务器可以识别的可执行文件,比如,采用C或Java等高级程序语言编程的应用程序的源代码,但是采用这些高级程序语言编写的应用程序的源代码终端或服务器不能直接识别,需要对这些源代码进行编译,得到终端或服务器可以识别的代码,这类代码可以引导终端或服务器执行代码对应的控制指令,将应用程序成功的安装在终端或服务器中。
其中,隐私数据调用权限信息可以为应用程序合法从终端或服务器调用各类隐私数据的权限,比如,权限A为调用终端或服务器的本地数据库中用户的通信录,因此,应用程序可以根据权限A,合法的调用本地数据库中用户的通信录。在调用过程中,还可以生成提示信息,提示用户需要调用的隐私数据,接收到用户反馈的可以调用的信息后,就可以直接调用该权限对应的隐私数据。在此需要强调的是,调用隐私数据的为应用程序代码中的数据调用函数,隐私数据调用权限和数据调用函数是一一对应的关系,比如,数据调用函数A可以调用隐私数据B,调用隐私数据B需要隐私数据调用权限C,因此,可以说数据调用函数A与隐私数据调用权限C对应。
其中,第三方工具信息可以为APK中集成的SDK的数量和标识信息,还可以为每个SDK的功能等信息,比如,APK中集成了三个SDK,分别为A、B和C,其中,A的功能为登录应用程序,B的功能为推送信息,C的功能为数据统计分析等。
例如,获取待检测应用程序的安装数据包的方式有多种,比如,可以直接从互联网上下载,还可以从终端的应用市场类的应用程序中下载,譬如,从终端的XX应用市场类的APP中下载对应的待检测应用程序的APK,还可以接收用户上传的APK,还可以通过蓝牙等传输方式接收其他终端或服务器发送的待检测应用程序的APK。还可以通过检测页面来接收待检测应用程序的安装数据包,比如,用户可以在检测页面上提交或上传需要检测的应用程序的APK,还可以在检测页面上传需要检测的第三方工具(SDK)的jar文件,并选择该SDK应用的待检测应用程序,隐私数据检测装置接收用户上传的APK或SDK的jar文件。
102、调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合。
其中,隐私数据集合可以为待检测应用程序通过隐私数据调用权限调用的全部的隐私数据,比如,隐私数据调用权限A可以调用A类型的隐私数据,隐私数据调用权限B可以调用B类型的隐私数据,待检测应用程序通过隐私数据调用权限A和B对应的数据调用函数在本地数据库中调用A类型和B类型的隐私数据,将A类型和B类型的隐私数据组成隐私数据集合。
例如,在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限,比如,隐私数据调用信息中存在可以调用A类型隐私数据的第一权限和调用B类型隐私数据的第二权限,在隐私数据调用信息中查询待检测应用程序能够调用隐私数据的第一权限就为A权限和B权限。在本地数据库中调用第一权限对应的隐私数据,比如,以A权限为调用用户的通讯录,B权限为调用用户的位置信息为例,在代码数据中查询A权限和B权限对应的数据调用函数A和B,通过数据调用函数A和B在本地数据库中调用用户的通讯录和位置信息。基于第一权限对应的隐私数据,构件待检测应用程序需要的隐私数据集合,比如,将调用到的用户通讯录和位置信息进行组合,将组合的信息作为待检测应用程序需要的隐私数据集合。
103、根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据。
其中,原始代码数据可以为用户通过高级编程语言,比如C语言或者Java等编写的应用程序的原始代码,但是该原始代码终端或者服务器不能识别。因为,在安装该待检测应用程序时,需要对原始代码进行编译,得到终端或服务器可以识别的执行文件。
对获取的代码数据中第三方工具标识对应的代码进行反编译的过程如图3所示,具体如下:
S1、根据第三方工具标识对应的功能信息,对代码数据进行切割,得到多个切割后代码块。
其中,第三方工具标识对应的功能信息可以为在应用程序中实现的某项具体功能,比如,登录功能、支付功能、推送功能和数据统计功能等信息。
(1)根据第三方工具标识对应的功能信息,在代码数据中查询到功能信息对应的代码区域。
其中,代码区域可以为目标代码在代码数据中的位置范围,因为目标代码通常不止一行,因此,需要用区域进行划分和限定。
例如,根据第三方工具标识对应的功能信息,在代码数据中查询到功能信息对应的代码区域,比如,以第三方工具标识对应的功能信息为支付功能为例,在代码数据中查询到与支付功能对应的代码区域,譬如,可以在代码数据中查询与支付相关的函数或者支付类代码对应的代码区域。待检测应用程序完整的代码数据中包括可以实现待检测应用程序全部功能的代码,在代码数据中查询每个第三方工具对应的代码区域。
(2)在代码数据中对代码区域进行标记。
例如,在代码数据中对代码区域进行标记,比如,代码数据中查询到代码数据中A代码区域的代码可以实现登录功能,B区域代码区域的代码可以实现支付功能,登录功能对应的实现登录功能的A型第三方工具,支付功能对应的实现支付功能的B型第三方工具,将A代码区域标记为可能是A型第三方工具的代码,将B代码区域标记为可能是B型第三方工具的代码,还可以根据第三方工具自身的编码结构,比如,A型第三方工具的编码结构为头部、中部和尾部,还可以在标记为A型第三方工具对应的A代码区域进行二次标记,譬如,在A代码区域,可以标记为A型第三方工具的头部对应的代码区域,A型第三方工具的中部对应的代码区域,A型第三方工具的尾部对应的代码区域等。
(3)根据标记结果,对代码数据进行切割,得到多个切割后代码块。
例如,根据标记结果,对代码数据进行切割,得到多个切割后代码块,比如,根据标记的代码区域,在代码数据中将这些代码区域切割成一个个独立的代码块,比如,在代码数据中标记了A型第三方工具对应的A代码区域、B代码区域,B型第三方工具对应的C代码区域,其中A代码区域又标记了头部代码区域和第一中部代码区域,B代码区域又标记了第二中部代码区域和尾部代码区域,则根据标记结果,可以将代码数据中标记的代码区域切割下来,得到一个个独立的代码块,譬如,可以得到A型第三方工具头部代码区域对应的第一代码块,A型第三方工具第一中部代码区域对应的第二代码块,A型第三方工具第二中部区域对应的第三代码块3,A型第三方工具尾部区域对应的第四代码块,B型第三方工具对应的第五代码块。
其中,在此需要强调的是,此时对这些独立代码块的标记仅仅只是通过第三方工具和应用程序之间的关系(功能关系)、第三方工具自身的编码结构推断出的第三方工具可能包括的代码块。对这些标记了第三方工具标识和结构的代码块还需要进一步的筛选,才能得到第三方工具对应的代码块。
S2、在切割后代码块中提取标识特征信息。
其中,标识特征信息可以为代码块中具有标识作用的特征信息,比如,代码块中出现最多的代码名字,可以将此作为代码块的标识,譬如,代码块中多次出现com.txxx.A,可以将com.txxx.A作为代码块的标识特征信息,还可以将代码块中明显具有标识作用的信息作为标识特征信息,譬如,代码块中每行代码抬头具有标识作用的代码为B,也可以将B作为该代码块的标识特征信息,在此需要强调的是,标识特征信息可以为一个或者多个。比如,一个代码块可以包含A、B和C等多个标识特征信息,也可以只有唯一的标识特征信息D,各个切割后代码块的标识特征信息可以相同,也可以不同。
例如,在切割后代码块中提取标识特征信息,比如,在切割后代码块的代码中筛选出现最多的代码名字,将代码名字作为该代码块的标识特征信息,还可以将代码块中明显具有标识作用的信息作为标识特征信息等。
S3、根据标识特征信息,对切割后代码块进行聚类,得到多个类型的代码块集合。
例如,根据获取到的标识特征信息,对切割后代码块进行聚类,得到多个类型的代码块集合,比如,将标识特征信息相同或者相近的切割后代码块进行聚类,譬如,切割后代码块的标识特征信息为A、B、C和D,其中,标识特征信息A和B完全不同,标识特征信息C何D属于特征信息B,譬如,A可以为A型第三方工具标识,B可以为B型第三方工具的标识,C和D特征信息分别为B型第三方工具的头部和尾部,此时,对这四个标识特征信息对应的切割后代码块进行聚类,可以分为两大类,标识特征信息A对应的第一代码块为一类,剩下的标识特征信息B、C和D对应的代码块为另一类。
在此需要强调的是,聚类是在初步推断第三方工具对应的代码块的基础上进一步确定第三方工具对应的代码块。比如,有时候,根据功能初步划分第三方工具对应的代码块可能存在一定误差,譬如,根据第三方工具编码结构划分的同一个第三方工具不同结构对应的代码块出现错误时,将原来属于第三方工具A的某一部分的代码标记为另一个第三方工具B的另一部分的代码时,此时只需要通过聚类,就可以发现这个错误,并将这个代码块归纳到正确类型的第三方工具的代码块中。因为,聚类可以根据代码块之间的关联关系进行正确的分类。
S4、采用策略运营,将第三工具标识与代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。
例如,将第三方工具标识与代码块集合中的代码块进行匹配,比如,将第三方工具标识与代码块集合中代码块的标识特征信息进行匹配,当匹配成功时,可以认定该代码块为第三方工具标识对应的目标代码块。如果不能直接匹配成功,也可以根据待检测应用程序的运营策略去辅助匹配,比如,当第三方工具标识与代码块的标识特征信息不能直接匹配时,可以根据运营策略再次从代码块中筛选出与第三方工具有关的标识特征信息,譬如,第一代码块的标识特征信息与A型第三方工具标识差别较大,但是与第一代码块属于同一类型的第二代码块和第三代码块与A型第三方工具标识匹配成功,且运营策略中,第一代码块与第一代码块和第三代码块是依附关系或者关联关系,因此,可以判断第一代码块也属于A型第三方工具标识对应的目标代码块。对筛选出的目标代码块标记上对应的第三方工具标识,比如,在多个切割后代码块中筛选出了A型第三方工具对应的第一代码块和第二代码块,B型第三方工具对应的第三代码块,C型第三方工具对应的第四代码块和第五代码块,则对第一代码块和第二代码块进行标记,标记为属于A型第三方工具的代码块,对第三代码块进行标记,标记为属于B型第三方工具的代码块,对第四代码块和第五代码块进行标记,标记为属于C型第三方工具的代码块。
其中,步骤S2至S4可以为在切割后代码块中筛选出所述第三方工具标识对应的代码块的具体实施方式。
S5、对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据。
例如,将目标代码块中代码的格式转换为目标格式,得到转换后代码,比如,将目标代码块中代码转换为字节码对应的格式,将转换为字节码的目标代码块中的代码进行打包,得到反编译软件可以识别的文件,譬如,打包成.dex文件。对转换后代码块进行反编译,得到转换后代码块对应的初始原始代码数据,比如,采用反编译工具或软件,对.dex文件文件进行反编译,可以得到反编译后的初始原始代码数据。对初始原始代码数据进行分类,可以得到第三方工具标识对应的至少一个类型的原始代码数据,比如,对初始原始代码数据进行分类,可以得到每一个类型对应的.smail文件,该.smail文件以类为单元,文件中包含类成员、方法和相关的原始代码,组成的每一个类型的原始代码数据。
104、将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数。
其中,隐私数据调用函数可以为应用程序中调用敏感数据的应用程序接口(Application Programming Interface,API),在获取到敏感数据调用权限之后,应用程序及集成在应用程序中的第三方工具通过隐私数据调用函数调用终端或服务器本地数据库中的隐私数据。比如,以隐私数据为用户的通讯录为例,应用程序或者集成在第三方工具获取到调用通讯录的权限之后,通过可以调用通讯录的隐私数据调用函数在终端或服务器的本地数据库中调用用户的通讯录。比如,常见的隐私数据调用函数及其对应的权限如下表所示:
隐私数据调用函数及其对应的权限
Figure BDA0002324145610000131
例如,在原始代码数据中查询出数据调用函数,数据调用函数可以为调用用户数据的函数,将数据调用函数与预设隐私数据调用函数进行匹配,比如,预设有多个隐私数据调用函数,譬如,隐私数据调用函数A、B和C等,将第三方工具1对应的原始代码数据中筛选出的数据调用函数与预设的隐私数据调用函数A、B和C进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为原始代码使用的隐私数据调用函数,比如,当第三方工具1对应的原始码数据中的数据调用函数与预设隐私数据调用函数A匹配成功时,将预设隐私数据调用函数A作为第三方工具1对应的原始代码中使用的隐私数据调用函数。当匹配不成功时,说明这一类型的原始代码数据中没有预设隐私数据调用函数,这一类型的原始代码数据中没有调用隐私数据。当第三方工具对应的全部类型的原始代码数据中都没有预设隐私数据调用函数时,才能说明该第三方工具未调用任何隐私数据。如果,第三方工具包括多个类型的原始代码数据,比如,A、B和C型原始代码数据,当A和B中没有预设隐私数据调用函数,而C中存在预设隐私数据调用函数时,也认定第三方工具调用了隐私数据。
105、根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,主要检测第三方工具在隐私数据集合中调用了哪些隐私数据,并根据预设给第三方工具的隐私数据调用权限,判断该第三方工具调用隐私数据是否越权,具体检测过程如下:
(1)在隐私数据调用权限信息中查询隐私数据调用函数对应的调用隐私数据的第二权限。
例如,根据隐私数据调用权限信息中的隐私数据调用函数和隐私数据调用权限之间的映射关系,在隐私数据调用信息查询隐私数据调用函数对应的第二权限。
(2)在隐私数据集合中筛选第二权限对应的隐私数据,将该隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据。
例如,利于查询到的第二权限,在隐私数据集合中调用第二权限的第一隐私数据,将调用的第一隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据。
(3)根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出第三方工具标识对应的第三权限。
其中,第三权限可以为预设给第三工具标识对应的第三方工具调用隐私数据的权限,比如,登录类第三方工具在应用程序运行过程中,需要给登录类第三方工具调用用户ID和密码等隐私数据的权限,需要注意的事,第三权限是在应用程序制造完成时就预先设定好的。
例如,针对已知的第三方工具标识对应的第三方工具,可以直接根据第三方工具标识,在隐私数据调用权限信息中筛选出第三方工具标识对应的第三权限。针对未知的或新出来的第三方工具,可以通过第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出功能信息对应的第三权限,将该权限作为应用程序在开发是预设给第三方工具标识对应的第三权限。
(4)将第二权限与第三权限进行对比。
例如,第二权限可以理解为第三方工具标识对应的第三工具在应用程序中实际获得的调用隐私数据的实际权限,而第三权限可以理解为应用程序的开发者在开发过程中允许该第三方工具调用隐私数据的预设权限。将第二权限和第三权限进行对比,实际可看作是第三工具的实际权限与预设权限的对比,主要是将第二权限和第三权限可以调用隐私数据的范围进行对比。
(5)根据对比结果,确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,当第二权限与第三权限一致时,可以确定第三方工具标识对应的第三方工具使用目标隐私数据未违规,即第三方工具不存在越权获取隐私数据的行为。当第二权限可以调用的隐私数据的范围超过第三权限可以调用的隐私数据的范围时,可以确定第三方工具标识对应的第三方工具使用目标隐私数据存在违规情况,即第三方工具存在越权获取隐私数据的行为。当第二权限可以调用的隐私数据的范围未超过第三权限可以调用的隐私数据的范围时,可以确定第三方工具标识对应的第三方工具使用目标隐私数据未违规,即第三方工具不存在越权获取隐私数据的行为。
其中,在此需要强调的是,每一个第三方工具使用的目标隐私数据可以是一项或者多项,多个第三方工具使用的隐私数据可能完全一样,也有可能不完全一样,因此,每个第三方工具对应的调用隐私数据的第二权限,有可能出现重叠或者相同的部分权限。
其中,根据以上步骤,对第三方工具隐私数据使用检测可以看成对隐私数据集合的检测,如图4所示,通过获取第三方工具标识对应的代码块C1,对第三方工具标识对应的代码块C1中的代码进行反编译,得到代码块对应的源代码数据,对源代码数据进行预设隐私数据调用函数匹配,得到源代码数据对应的隐私数据调用函数C2,通过隐私数据调用权限信息,得到隐私数据调用函数与调用隐私数据权限对照信息C3,在隐私数据调用函数与调用隐私数据权限对照信息C3中筛选出每个第三方工具的代码块对应的隐私数据调用权限,根据获取到的隐私数据调用权限,对隐私数据集合进行检测C4,检测过程可以理解为是根据每个第三方工具对应的代码块的隐私数据调用权限,在隐私数据集合中确定每个第三方工具标识对应的第三方工具使用的目标隐私数据,并将每个第三方工具标识对应的第三工具在应用程序中预设的获取隐私数据的隐私数据调用权限与第三方工具的代码块实际获得的隐私数据调用权限进行对比,确定第三工具是否存在违规获取隐私数据的检测结果C5。
由以上可知,本实施例在获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并在目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;由于该方案可以直接从应用程序的代码数据逆向获取第三方工具的代码块,不需要获取第三方工具的源码和jar包的代码,通过匹配代码块中的隐私数据调用函数,对于已知和未知的第三方工具都可以检测,而且可以准确检测出第三方工具使用到的隐私数据,因此,可以大大提高隐私数据检测的准确性。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该隐私数据检测装置具体集成在电子设备为例进行说明。
如图5所示,一种隐私数据检测方法,具体流程如下:
201、电子设备获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识。
例如,电子设备可以直接从互联网上下载,还可以从终端的应用市场类的应用程序中下载,譬如,从终端的XX应用市场类的APP中下载对应的待检测应用程序的APK,还可以接收用户上传的APK,还可以通过蓝牙等传输方式接收其他终端或服务器发送的待检测应用程序的APK。还可以通过检测页面来接收待检测应用程序的安装包,比如,用户可以在检测页面上上传需要检测的应用程序的APK,还可以直接在检测页面上上传需要检测的第三方工具(SDK)的jar文件,并在检测页面上选择该SDK的jar文件应用的应用程序,电子设备通过后台接收到待检测应用程序的APK或SDK的jar文件。当用户只提交了SDK的jar文件时,可以根据用户选择的SDK应用的待检测应用程序的名字,在网络上获取该应用程序的APK,也可以直接对SDK的jar文件进行检测,以获取该jar文件中应用到的隐私数据调用函数,进而获取该SDK的隐私数据调用权限。
202、电子设备调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合。
例如,电子设备在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限,比如,隐私数据调用信息中存在可以调用A类型隐私数据的第一权限和调用B类型隐私数据的第二权限,在隐私数据调用信息中查询待检测应用程序能够调用隐私数据的第一权限就为A权限和B权限。在本地数据库中调用第一权限对应的隐私数据,比如,以A权限为调用用户的通讯录,B权限为调用用户的位置信息为例,在代码数据中查询A权限和B权限对应的数据调用函数A和B,通过数据调用函数A和B在本地数据库中调用用户的通讯录和位置信息。基于第一权限对应的隐私数据,构件待检测应用程序需要的隐私数据集合,比如,将调用到的用户通讯录和位置信息进行组合,将组合的信息作为待检测应用程序需要的隐私数据集合。
203、电子设备根据第三方工具标识对应的功能信息,对代码数据进行切割,得到多个切割后代码块。
(1)根据第三方工具标识对应的功能信息,在代码数据中查询到功能信息对应的代码区域。
例如,以第三方工具标识对应的功能信息为支付功能为例,电子设备在代码数据中查询到与支付功能对应的代码区域,譬如,可以在代码数据中查询与支付相关的函数或者支付类代码对应的代码区域。待检测应用程序完整的代码数据中包括可以实现待检测应用程序全部功能的代码,在代码数据中查询每个第三方工具对应的代码区域。
(2)电子设备在代码数据中对代码区域进行标记。
例如,电子设备在代码数据中对代码区域进行标记,比如,代码数据中查询到代码数据中A代码区域的代码可以实现登录功能,B区域代码区域的代码可以实现支付功能,登录功能对应的实现登录功能的A型第三方工具,支付功能对应的实现支付功能的B型第三方工具,将A代码区域标记为可能是A型第三方工具的代码,将B代码区域标记为可能是B型第三方工具的代码,还可以根据第三方工具自身的编码结构,比如,A型第三方工具的编码结构为头部、中部和尾部,还可以在标记为A型第三方工具对应的A代码区域进行二次标记,譬如,在A代码区域,可以标记为A型第三方工具的头部对应的代码区域,A型第三方工具的中部对应的代码区域,A型第三方工具的尾部对应的代码区域等。
(3)根据标记结果,电子设备对代码数据进行切割,得到多个切割后代码块
例如,电子设备根据标记结果,对代码数据进行切割,得到多个切割后代码块,比如,根据标记的代码区域,在代码数据中将这些代码区域切割成一个个独立的代码块,比如,在代码数据中标记了A型第三方工具对应的A代码区域、B代码区域,B型第三方工具对应的C代码区域,其中A代码区域又标记了头部代码区域和第一中部代码区域,B代码区域又标记了第二中部代码区域和尾部代码区域,则根据标记结果,可以将代码数据中标记的代码区域切割下来,得到一个个独立的代码块,譬如,可以得到A型第三方工具头部代码区域对应的第一代码块,A型第三方工具第一中部代码区域对应的第二代码块,A型第三方工具第二中部区域对应的第三代码块3,A型第三方工具尾部区域对应的第四代码块,B型第三方工具对应的第五代码块。
204、电子设备在切割后代码块中筛选出第三方工具标识对应的至少一个目标代码块。
(1)电子设备在切割后代码块中提取标识特征信息。
例如,电子设备可以在切割后代码块的代码中筛选出现最多的代码名字,将代码名字作为该代码块的标识特征信息,还可以将代码块中明显具有标识作用的信息作为标识特征信息等。
(2)根据标识特征信息,电子设备对切割后代码块进行聚类,得到多个类型的代码块集合。
例如,电子设备将标识特征信息相同或者相近的切割后代码块进行聚类,譬如,切割后代码块的标识特征信息为A、B、C和D,其中,标识特征信息A和B完全不同,标识特征信息C何D属于特征信息B,譬如,A可以为A型第三方工具标识,B可以为B型第三方工具的标识,C和D特征信息分别为B型第三方工具的头部和尾部,此时,对这四个标识特征信息对应的切割后代码块进行聚类,可以分为两大类,标识特征信息A对应的第一代码块为一类,剩下的标识特征信息B、C和D对应的代码块为另一类。
(3)电子设备将第三工具标识与代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。
例如,电子设备将第三方工具标识与代码块集合中代码块的标识特征信息进行匹配,当匹配成功时,可以认定该代码块为第三方工具标识对应的目标代码块。如果不能直接匹配成功,也可以根据待检测应用程序的运营策略去辅助匹配,比如,当第三方工具标识与代码块的标识特征信息不能直接匹配时,可以根据运营策略再次从代码块中筛选出与第三方工具有关的标识特征信息,譬如,第一代码块的标识特征信息与A型第三方工具标识差别较大,但是与第一代码块属于同一类型的第二代码块和第三代码块与A型第三方工具标识匹配成功,且运营策略中,第一代码块与第一代码块和第三代码块是依附关系或者关联关系,因此,可以判断第一代码块也属于A型第三方工具标识对应的目标代码块。对筛选出的目标代码块标记上对应的第三方工具标识,比如,在多个切割后代码块中筛选出了A型第三方工具对应的第一代码块和第二代码块,B型第三方工具对应的第三代码块,C型第三方工具对应的第四代码块和第五代码块,则对第一代码块和第二代码块进行标记,标记为属于A型第三方工具的代码块,对第三代码块进行标记,标记为属于B型第三方工具的代码块,对第四代码块和第五代码块进行标记,标记为属于C型第三方工具的代码块。205、电子设备对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据。
例如,电子设备将目标代码块中代码转换为字节码对应的格式,将转换为字节码的目标代码块中的代码进行打包,得到反编译软件可以识别的文件,譬如,打包成.dex文件。对转换后代码块进行反编译,得到转换后代码块对应的初始原始代码数据,比如,采用反编译工具或软件,对.dex文件文件进行反编译,可以得到反编译后的初始原始代码数据。对初始原始代码数据进行分类,可以得到第三方工具标识对应的至少一个类型的原始代码数据,比如,对初始原始代码数据进行分类,可以得到每一个类型对应的.smail文件,该.smail文件以类为单元,文件中包含类成员、方法和相关的原始代码,组成的每一个类型的原始代码数据。
206、电子设备将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数。
例如,电子设备在原始代码数据中查询出数据调用函数,数据调用函数可以为调用用户数据的函数,将数据调用函数与预设隐私数据调用函数进行匹配,比如,预设有多个隐私数据调用函数,譬如,隐私数据调用函数A、B和C等,将第三方工具1对应的原始代码数据中筛选出的数据调用函数与预设的隐私数据调用函数A、B和C进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为原始代码使用的隐私数据调用函数,比如,当第三方工具1对应的原始码数据中的数据调用函数与预设隐私数据调用函数A匹配成功时,将预设隐私数据调用函数A作为第三方工具1对应的原始代码中使用的隐私数据调用函数。当匹配不成功时,说明这一类型的原始代码数据中没有预设隐私数据调用函数,这一类型的原始代码数据中没有调用隐私数据。
207、根据隐私数据调用函数和隐私数据调用权限信息,电子设备对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,电子设备可以在隐私数据调用权限信息中查询出第三方工具的源代码数据中使用的隐私数据调用函数对应的权限,譬如,第三方工具的源代码数据中使用的是隐私数据调用函数A,隐私数据调用函数A在隐私数据调用权限信息中对应的权限为调用用户通讯录的权限,则第二权限对应的就为调用用户通讯录的权限。在隐私数据集合中筛选第二权限对应的隐私数据,将第二权限对应的隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据。比如,第三方工具1具有的调用隐私数据的第二权限为调用通讯录和设备ID,第三方工具2具有的调用隐私数据的第二权限为调用用户的短信息,就可以确定第三方工具1使用的目标隐私数据为用户的通讯录和设备ID,第三方工具2使用的目标隐私数据为用户的短信息。
可选的,确定出第三方工具标识对应的第三方工具实际调用的目标隐私数据之后,还需要检测第三方工具标识对应的第三方工具调用隐私数据的权限是否违规。具体检测过程如下:
(1)根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出第三工具标识对应的第三权限。
例如,针对已知的第三方工具标识对应的第三方工具,可以直接根据第三方工具标识,在隐私数据调用权限信息中筛选出第三方工具标识对应的第三权限,比如,在应用程序的APK中,开发者在集成SDK时,会预先设定每个SDK调用隐私数据的权限,譬如,可以对登录SDK预设获取用户ID和密码的权限,并这些预设权限信息存储至隐私数据调用权限信息中,根据SDK的标识即可筛选出第三权限。针对未知的第三方工具标识对应的第三方工具,可以根据第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出功能信息对应的预设隐私数据调用权限,将该预设隐私数据调用权限作为第三权限,比如,在应用程序的APK中没有存储每一个SDK对应的预设隐私数据调用权限,而是根据功能信息将预设隐私数据调用权限进行分类和标记,比如,第一预设隐私数据调用权限主要用于登录类的SDK,第二预设隐私数据调用权限主要用于图像采集类的SDK等,就可以在隐私数据调用权限信息中筛选出每个功能信息对应的预设隐私数据调用权限,将该预设隐私数据调用权限作为第三权限。
(2)将第二权限与第三权限进行对比。
例如,将第二权限与第三权限可以调用隐私数据的范围进行对比,比如,第二权限为可以调用通讯录和终端标识,第三权限为可以调用短信息、通讯录和终端标识,则可以发现,将第二权限和第三权限对比,第三权限可以调用隐私数据的范围要比第二权限可以调用的隐私数据的范围多一类短信息,因此,可以认定第三权限可以调用隐私数据的范围超过第二权限可以调用隐私数据的范围。
(3)根据对比结果,确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,当第二权限与第三权限一致时,比如,第二权限为可以调用通讯录和终端标识,第三权限也为可以调用通讯录和终端标识,在此就可以确定第三方工具标识对应的第三方工具使用目标隐私数据未违规,即第三方工具不存在越权获取隐私数据的行为。当第二权限可以调用的隐私数据的范围超过第三权限可以调用的隐私数据的范围时,比如,第二权限为可以调用通讯录、短信息和终端标识,第三权限为可以调用通讯录和终端标识,可以确定第三方工具标识对应的第三方工具使用目标隐私数据存在违规获取短信息的情况,即第三方工具存在越权获取隐私数据的行为。当第二权限可以调用的隐私数据的范围未超过第三权限可以调用的隐私数据的范围时,比如,第二权限为可以调用通讯录和终端标识,第三权限为可以调用通讯录、短信息和终端标识,可以确定第三方工具标识对应的第三方工具使用目标隐私数据都在许可范围,不存在违规情况,即第三方工具不存在越权获取隐私数据的行为。
由以上可知,本实施例电子设备在获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并在目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;由于该方案可以直接从应用程序的代码数据逆向获取第三方工具的代码块,不需要获取第三方工具的源码和jar包的代码,通过匹配代码块中的隐私数据调用函数,对于已知和未知的第三方工具都可以检测,而且可以准确检测出第三方工具使用到的隐私数据,因此,可以大大提高隐私数据检测的准确性。
为了更好地实施以上方法,本发明实施例还提供一种隐私数据检测装置,该隐私数据检测装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图6所示,该隐私数据检测装置可以包括获取单元301、调用单元302、反编译单元303、匹配单元304、检测单元305,如下:
(1)获取单元301;
获取单元301,用于获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识。
例如,获取单元301,具体可以用于可以直接从互联网上下载,还可以从终端的应用市场类的应用程序中下载,譬如,从终端的XX应用市场类的APP中下载对应的待检测应用程序的APK,还可以接收用户上传的安装数据包,还可以通过蓝牙等传输方式接收其他终端或服务器发送的待检测应用程序的APK。还可以通过检测页面获取用户提交的待检测应用程序的APK或者待检测SDK的jar文件。
(2)调用单元302;
调用单元302,用于调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合。
其中,调用单元302可以包括第一查询子单元3021、调用子单元3022和构建子单元3023,如图7所示,具体可以如下:
第一查询子单元3021,用于在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限;
调用子单元3022,用于在本地数据库中调用第一权限对应的隐私数据;
构建子单元3023,用于基于第一权限对应的隐私数据,构建待检测应用程序需要的隐私数据结合。
例如,第一查询子单元3021在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限,调用子单元3022在本地数据库中调用第一权限对应的隐私数据,构建子单元3023基于第一权限对应的隐私数据,构建待检测应用程序需要的隐私数据结合。
(3)反编译单元303;
反编译单元303,用于根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的源代码数据。
其中,反编译单元303可以包括切割子单元3031、第一筛选子单元3032、标记子单元3033和反编译子单元3034,如图8所述,具体如下:
切割子单元3031,用于根据第三方工具标识对应的功能信息,对代码数据进行切割,得到多个切割后代码块;
第一筛选子单元3032,用于在切割后代码块中筛选出所述第三方工具标识对应的至少一个目标代码块;
反编译子单元3033,用于对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据。
例如,切割子单元3031根据第三方工具标识对应的功能信息,对代码数据进行切割,得到多个切割后代码块,第一筛选子单元3032在切割后代码块中筛选出所述第三方工具标识对应的至少一个目标代码块,反编译子单元3033对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据。
(4)匹配单元304;
匹配单元304,用于将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数。
其中,匹配单元304可以包括第二查询子单元3041和匹配子单元3042,如图9所述,具体如下:
第二查询子单元3041,用于在原始代码数据中查询出数据调用函数,该数据调用函数为调用用户数据的函数;
匹配子单元3042,用于将数据调用函数与预设隐私数据调用函数进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为原始代码数据中使用的隐私数据调用函数。
例如,第二查询子单元3041在原始代码数据中查询出数据调用函数,该数据调用函数为调用用户数据的函数,匹配子单元3042将数据调用函数与预设隐私数据调用函数进行匹配,当匹配成功时,将匹配成功的预设敏感函数作为原始代码数据中使用的隐私数据调用函数。
(5)检测单元305;
检测单元305,用于根据隐私数据调用函数,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用的目标隐私数据。
其中,检测单元305可以包括第三查询子单元3051、第二筛选子单元3052、第三筛选单元3053和对比子单元3054,如图10所示,具体如下:
第三查询子单元3051,用于在隐私数据调用权限信息中查询隐私数据调用函数对应的调用隐私数据的第二权限;
第二筛选子单元3052,用于在隐私数据集合中筛选第二权限对应的隐私数据,将该隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据;
第三筛选单元3053,用于根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限中筛选出第三方工具标识对应的第三权限,第三权限为预设给第三方工具标识对应的第三方工具调用隐私数据的权限;
对比子单元3054,用于将所述第二权限与第三权限进行对比,根据对比结果,确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,第三查询子单元3051在隐私数据调用权限信息中查询隐私数据调用函数对应的调用隐私数据的第二权限,第二筛选子单元3052在隐私数据集合中筛选第二权限对应的隐私数据,将该隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据,第三筛选单元3053根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限中筛选出第三方工具标识对应的第三权限,第三权限为预设给第三方工具标识对应的第三方工具调用隐私数据的权限,对比子单元3054将所述第二权限与第三权限进行对比,根据对比结果,确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在获取单元301获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用单元302调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,反编译单元303根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,匹配单元304将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,检测单元305根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;由于该方案可以直接从应用程序的代码数据逆向获取第三方工具的代码块,不需要获取第三方工具的源码和jar包的代码,通过匹配代码块中的隐私数据调用函数,对于已知和未知的第三方工具都可以检测,而且可以准确检测出第三方工具使用到的隐私数据,因此,可以大大提高隐私数据检测的准确性。
本发明实施例还提供一种电子设备,如图11所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识。在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限,在本地数据库中调用第一权限对应的隐私数据,基于第一权限对应的隐私数据,构建待检测应用程序需要的隐私数据结合。根据第三方工具标识对应的功能信息,在代码数据中查询到所述功能信息对应的代码区域,在代码数据中对代码区域进行标记,根据标记结果,对代码数据进行切割,得到多个切割后代码块,在切割后代码块中提取标识特征信息,根据标识特征信息,对切割后代码块进行聚类,得到多个类型的代码块集合,将第三方工具标识与代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。将目标代码块中代码的格式转换为目标格式,得到转换后代码块,对转换后代码块进行反编译,得到转换后代码块对应的初始原始代码数据,对初始原始代码数据进行分类,得到第三方工具标识对应的至少一个类型的原始代码数据。在原始代码数据中查询出数据调用函数,该数据调用函数为调用用户数据的函数,将数据调用函数与预设隐私数据调用函数进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为原始代码数据中使用的隐私数据调用函数。在隐私数据调用权限信息中查询隐私数据调用函数对应的调用隐私数据的第二权限,在隐私数据集合中筛选第二权限对应的隐私数据,将第二权限对应的隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据,根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出第三方工具标识对应的第三方权限,将第三权限与第二权限进行对比,根据对比结果,确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在获取待检测应用程序的安装数据包后,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果;由于该方案可以直接从应用程序的代码数据逆向获取第三方工具的代码块,不需要获取第三方工具的源码和jar包的代码,通过匹配代码块中的隐私数据调用函数,对于已知和未知的第三方工具都可以检测,而且可以准确检测出第三方工具使用到的隐私数据,因此,可以大大提高隐私数据检测的准确性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种隐私数据检测方法中的步骤。例如,该指令可以执行如下步骤:
获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识,调用隐私数据调用权限信息对应的隐私数据,以构建待检测应用程序需要的隐私数据集合,然后,根据第三方工具信息,在代码数据中提取出第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到第三方工具标识对应的原始代码数据,然后,将原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到原始代码数据中使用的隐私数据调用函数,根据隐私数据调用函数和隐私数据调用权限信息,对隐私数据集合进行检测,以确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
例如,获取待检测应用程序的安装数据包,该安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,第三方工具信息包括第三方工具标识。在隐私数据调用权限信息中查询待检测应用程序能够调用隐私数据的第一权限,在本地数据库中调用第一权限对应的隐私数据,基于第一权限对应的隐私数据,构建待检测应用程序需要的隐私数据结合。根据第三方工具标识对应的功能信息,在代码数据中查询到所述功能信息对应的代码区域,在代码数据中对代码区域进行标记,根据标记结果,对代码数据进行切割,得到多个切割后代码块,在切割后代码块中提取标识特征信息,根据标识特征信息,对切割后代码块进行聚类,得到多个类型的代码块集合,将第三方工具标识与代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。将目标代码块中代码的格式转换为目标格式,得到转换后代码块,对转换后代码块进行反编译,得到转换后代码块对应的初始原始代码数据,对初始原始代码数据进行分类,得到第三方工具标识对应的至少一个类型的原始代码数据。在原始代码数据中查询出数据调用函数,该数据调用函数为调用用户数据的函数,将数据调用函数与预设隐私数据调用函数进行匹配,当匹配成功时,将匹配成功的预设隐私数据调用函数作为原始代码数据中使用的隐私数据调用函数。在隐私数据调用权限信息中查询隐私数据调用函数对应的调用隐私数据的第二权限,在隐私数据集合中筛选第二权限对应的隐私数据,将第二权限对应的隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据,根据第三方工具标识和第三方工具标识对应的功能信息,在隐私数据调用权限信息中筛选出第三方工具标识对应的第三方权限,将第三权限与第二权限进行对比,根据对比结果,确定第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种隐私数据检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种隐私数据检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种隐私数据检测方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种隐私数据检测方法,其特征在于,包括:
获取待检测应用程序的安装数据包,所述安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,所述第三方工具信息包括第三方工具标识;
调用所述隐私数据调用权限信息对应的隐私数据,以构建所述待检测应用程序需要的隐私数据集合;
根据所述第三方工具信息,对所述代码数据进行切割,并对切割后的代码块进行聚类,以得到所述第三方工具标识对应的至少一个目标代码块,并对目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据;
将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到所述原始代码数据中使用的隐私数据调用函数;
将所述隐私数据调用权限信息中所述隐私数据调用函数对应的调用隐私数据的权限与所述第三方工具标识对应的调用隐私数据的权限进行对比,以确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
2.根据权利要求1所述的隐私数据检测方法,其特征在于,所述第三方工具信息还包括第三方工具标识对应的功能信息,所述根据所述第三方工具信息,对所述代码数据进行切割,并对切割后的代码块进行聚类,以得到所述第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据,包括:
根据所述第三方工具标识对应的功能信息,对所述代码数据进行切割,得到多个切割后代码块;
对切割后的代码块进行聚类,以得到所述第三方工具标识对应的至少一个目标代码块;
对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据。
3.根据权利要求2所述的隐私数据检测方法,其特征在于,所述根据所述第三方工具标识对应的功能信息,对所述代码数据进行切割,得到多个切割后代码块,包括:
根据所述第三方工具标识对应的功能信息,在所述代码数据中查询到所述功能信息对应的代码区域;
在所述代码数据中对所述代码区域进行标记;
根据标记结果,对所述代码数据进行切割,得到多个切割后代码块。
4.根据权利要求3所述的隐私数据检测方法,其特征在于,所述对切割后的代码块进行聚类,以得到所述第三方工具标识对应的至少一个目标代码块,包括:
在所述切割后代码块中提取标识特征信息;
根据所述标识特征信息,对所述切割后代码块进行聚类,得到多个类型的代码块集合;
将所述第三方工具标识与所述代码块集合中的代码块进行匹配,得到第三方工具标识对应的至少一个目标代码块。
5.根据权利要求2所述的隐私数据检测方法,其特征在于,所述对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据,包括:
将所述目标代码块中代码的格式转换为目标格式,得到转换后代码块;
对所述转换后代码块进行反编译,得到所述转换后代码块对应的初始原始代码数据;
对所述初始原始代码数据进行分类,得到所述第三方工具标识对应的至少一个类型的原始代码数据。
6.根据权利要求1至5任一项所述的隐私数据检测方法,其特征在于,所述将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到所述原始代码数据中使用的隐私数据调用函数,包括:
在所述原始代码数据中查询出数据调用函数,所述数据调用函数为调用用户数据的函数;
将所述数据调用函数与预设隐私数据调用函数进行匹配;
当匹配成功时,将匹配成功的预设隐私数据调用函数作为所述原始代码数据中使用的隐私数据调用函数。
7.根据权利要求1至5任一项所述的隐私数据检测方法,其特征在于,所述调用所述隐私数据调用权限信息对应的隐私数据,以构建所述待检测应用程序需要的隐私数据集合,包括:
在所述隐私数据调用权限信息中查询所述待检测应用程序能够调用隐私数据的第一权限;
在本地数据库中调用所述第一权限对应的隐私数据;
基于所述第一权限对应的隐私数据,构建所述待检测应用程序需要的隐私数据集合。
8.根据权利要求2所述的隐私数据检测方法,其特征在于,所述将所述隐私数据调用权限信息中所述隐私数据调用函数对应的调用隐私数据的权限与所述第三方工具标识对应的调用隐私数据的权限进行对比,以确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果,包括:
在所述隐私数据调用权限信息中查询所述隐私数据调用函数对应的调用隐私数据的第二权限;
在所述隐私数据集合中筛选所述第二权限对应的隐私数据,将所述隐私数据作为第三方工具标识对应的第三方工具使用的目标隐私数据;
根据所述第三方工具标识和第三方工具标识对应的功能信息,在所述隐私数据调用权限中信息筛选出第三方工具标识对应的第三权限,所述第三权限为预设给第三方工具标识对应的第三方工具调用隐私数据的权限;
将所述第二权限与第三权限进行对比;
根据对比结果,确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
9.一种隐私数据检测装置,其特征在于,包括:
获取单元,用于获取待检测应用程序的安装数据包,所述安装数据包包括编译后的代码数据、隐私数据调用权限信息和第三方工具信息,所述第三方工具信息包括第三方工具标识;
调用单元,用于调用所述隐私数据调用权限信息对应的隐私数据,以构建所述待检测应用程序需要的隐私数据集合;
反编译单元,用于根据所述第三方工具信息,对所述代码数据进行切割,并对切割后的代码块进行聚类,以得到所述第三方工具标识对应的至少一个目标代码块,并对所述目标代码块中的代码进行反编译,得到所述第三方工具标识对应的原始代码数据;
匹配单元,用于将所述原始代码数据中的函数与预设隐私数据调用函数进行匹配,得到所述原始代码数据中使用的隐私数据调用函数;
检测单元,用于将所述隐私数据调用权限信息中所述隐私数据调用函数对应的调用隐私数据的权限与所述第三方工具标识对应的调用隐私数据的权限进行对比,以确定所述第三方工具标识对应的第三方工具使用目标隐私数据的检测结果。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的隐私数据检测方法中的步骤。
CN201911309575.0A 2019-12-18 2019-12-18 一种隐私数据检测方法、装置和计算机可读存储介质 Active CN111190603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911309575.0A CN111190603B (zh) 2019-12-18 2019-12-18 一种隐私数据检测方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911309575.0A CN111190603B (zh) 2019-12-18 2019-12-18 一种隐私数据检测方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111190603A CN111190603A (zh) 2020-05-22
CN111190603B true CN111190603B (zh) 2021-07-06

Family

ID=70706076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911309575.0A Active CN111190603B (zh) 2019-12-18 2019-12-18 一种隐私数据检测方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111190603B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666095A (zh) * 2020-06-09 2020-09-15 山东健康医疗大数据有限公司 Java反编译的实现方法、系统、设备及存储介质
CN112148305A (zh) * 2020-10-28 2020-12-29 腾讯科技(深圳)有限公司 一种应用检测方法、装置、计算机设备和可读存储介质
CN112199506B (zh) * 2020-11-10 2021-08-24 支付宝(杭州)信息技术有限公司 一种应用程序的信息检测方法、装置及设备
CN116886445B (zh) * 2023-09-05 2024-01-19 苏州浪潮智能科技有限公司 过滤结果的处理方法及装置、存储介质、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779255A (zh) * 2012-07-16 2012-11-14 腾讯科技(深圳)有限公司 判断恶意程序的方法及装置
CN104239799A (zh) * 2014-09-05 2014-12-24 清华大学 基于行为链的Android应用程序隐私窃取检测方法及系统
CN108241802A (zh) * 2016-12-27 2018-07-03 卓望数码技术(深圳)有限公司 一种聚合多维的Android平台隐私窃取类应用自动识别方法
CN108334780A (zh) * 2018-02-06 2018-07-27 南京航空航天大学 基于上下文信息的隐私泄露检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940479B2 (en) * 2015-10-20 2018-04-10 International Business Machines Corporation Identifying and tracking sensitive data
CN107122660B (zh) * 2017-03-29 2020-05-22 中国科学院信息工程研究所 一种Android应用软件用户隐私信息泄露检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779255A (zh) * 2012-07-16 2012-11-14 腾讯科技(深圳)有限公司 判断恶意程序的方法及装置
CN104239799A (zh) * 2014-09-05 2014-12-24 清华大学 基于行为链的Android应用程序隐私窃取检测方法及系统
CN108241802A (zh) * 2016-12-27 2018-07-03 卓望数码技术(深圳)有限公司 一种聚合多维的Android平台隐私窃取类应用自动识别方法
CN108334780A (zh) * 2018-02-06 2018-07-27 南京航空航天大学 基于上下文信息的隐私泄露检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Android恶意软件检测方法研究和实现;董克源;《中国优秀硕士学位论文全文数据库信息科技辑》;20190115;第I138-216页 *

Also Published As

Publication number Publication date
CN111190603A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111190603B (zh) 一种隐私数据检测方法、装置和计算机可读存储介质
US9525706B2 (en) Apparatus and method for diagnosing malicious applications
CN110851114A (zh) 一种业务系统开发方法、装置及电子设备和存储介质
CN106874180B (zh) 检测系统及其方法
CN105302710A (zh) 一种确定需要回归测试的测试用例的方法和装置
CN105357204B (zh) 生成终端识别信息的方法及装置
CN113489713A (zh) 网络攻击的检测方法、装置、设备及存储介质
CN110659459B (zh) 一种软件代码处理方法、装置、电子设备及存储介质
US20150213272A1 (en) Conjoint vulnerability identifiers
CN106709336A (zh) 识别恶意软件的方法和装置
CN109460653B (zh) 基于规则引擎的验证方法、验证设备、存储介质及装置
CN105631312A (zh) 恶意程序的处理方法及系统
CN112685410A (zh) 业务规则校验方法、装置、计算机设备及存储介质
CN104537310A (zh) 移动存储设备的管理方法及客户端
CN114238948A (zh) 一种应用程序检测方法、装置、电子设备及存储介质
CN105760761A (zh) 软件行为分析方法和装置
CN105278929A (zh) 应用程序审计的数据处理方法、装置和系统
WO2023151397A1 (zh) 应用程序部署方法、装置、设备及介质
CN111460448A (zh) 一种恶意软件家族检测方法及装置
CN106020923A (zh) SELinux策略的编译方法及系统
CN114238273A (zh) 数据库管理方法、装置、设备及存储介质
CN115935328A (zh) 资源访问控制方法、装置、设备及存储介质
CN113505365A (zh) 权限管理方法、装置、电子设备及存储介质
CN112818383A (zh) 一种表注册方法及装置
CN110928754A (zh) 运维审计方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant