CN115004185A - 隐私信息泄露的检测方法、装置及电子设备 - Google Patents
隐私信息泄露的检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115004185A CN115004185A CN202280000851.9A CN202280000851A CN115004185A CN 115004185 A CN115004185 A CN 115004185A CN 202280000851 A CN202280000851 A CN 202280000851A CN 115004185 A CN115004185 A CN 115004185A
- Authority
- CN
- China
- Prior art keywords
- application program
- program
- protocol
- information
- target
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 130
- 238000000034 method Methods 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000004458 analytical method Methods 0.000 claims abstract description 52
- 230000003068 static effect Effects 0.000 claims abstract description 33
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000005206 flow analysis Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种隐私信息泄露的检测方法、装置及电子设备。其中,一种隐私信息泄露的检测方法,包括:获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件;对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议;根据目标隐私协议以及预设协议生成第一检测结果;根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果;基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。
Description
技术领域
本公开涉及信息安全领域,具体而言,涉及一种隐私信息泄露的检测方法、装置及电子设备。
背景技术
随着移动互联网技术的发展,Android(安卓)应用程序快速发展,同时Android应用程序在获取各种用户数据的同时也会使用大量SDK(Software Development Kit,第三方软件程序),这些第三方软件程序在Android应用程序的运行过程中也会获取大量的用户数据。
其中,随着用户对个人隐私数据的重视,国内外都出台了保护用户隐私数据的相关法律法规,在此背景下,如何检测一个Android应用程序在使用用户隐私信息时是否符合相关规范,对于监管部门以及推出该Android应用程序的主体企业都有非常重要的意义。
但是,现有技术在检测应用程序是否合规获取用户隐私信息时,通常只是对Android应用程序本身进行分析与检测,而忽略了对与Android应用程序相关联的第三方软件程序的检测,从而使得现有技术在检测应用程序是否合规获取用户隐私信息时存在检测准确性差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开提供了一种隐私信息泄露的检测方法、装置及电子设备,以至少解决现有技术中在检测应用程序是否合规获取用户隐私信息时存在的检测准确性差的技术问题。
根据本公开的一个方面,提供了一种隐私信息泄露的检测方法,包括:获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件;对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议,其中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径;根据目标隐私协议以及预设协议生成第一检测结果,其中,第一检测结果用于表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议用于确定目标隐私协议是否符合预设规范;根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,其中,第二检测结果用于表征应用程序在运行状态下是否为非法使用用户隐私信息的程序;基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。
可选的,隐私信息泄露的检测方法还包括:检测目标文件中的代码是否进行了加壳处理,其中,加壳处理包括以下处理方式中的至少一种:对代码进行加密处理、对代码进行隐藏处理、对代码进行混淆处理;在代码进行了加壳处理的情况下,对代码进行脱壳处理,得到在进行加壳处理之前的原始代码,其中,脱壳处理为加壳处理的逆向处理过程;基于原始代码确定应用程序的动态加载路径以及目标隐私协议。
可选的,隐私信息泄露的检测方法还包括:基于原始代码提取应用程序的第一隐私协议以及第三方软件程序的标记信息;根据标记信息获取第三方软件程序的第二隐私协议;采用语义分析的方式对第一隐私协议以及第二隐私协议进行分析,并将分析结果进行整合,得到目标隐私协议。
可选的,隐私信息泄露的检测方法还包括:在目标隐私协议的内容与预设协议的内容不匹配时,确定应用程序在未运行的状态下为非法使用用户隐私信息的程序;在目标隐私协议的内容与预设协议的内容相匹配时,获取目标文件中的第一代码,其中,第一代码用于表征应用程序实际要获取的用户隐私信息;根据第一代码与目标隐私协议确定应用程序在未运行的状态下是否为非法使用用户隐私信息的程序。
可选的,隐私信息泄露的检测方法还包括:对第一代码进行解析,得到应用程序实际要获取的用户隐私信息;在应用程序实际要获取的用户隐私信息与目标隐私协议的内容相匹配时,确定应用程序在未运行的状态下为合法使用用户隐私信息的程序;在应用程序实际要获取的用户隐私信息与目标隐私协议的内容不匹配时,确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。
可选的,隐私信息泄露的检测方法还包括:在应用程序中插入用于记录动态加载信息的第二代码;基于动态加载路径,生成用于触发应用程序的动态加载进程的输入事件;通过输入事件触发应用程序的动态加载进程,并通过第二代码获取应用程序在动态加载进程中加载的所有信息;采用数据流分析方法对所有信息中的用户隐私信息在动态加载路径上的传输过程进行追踪,并基于追踪结果生成第二检测结果。
可选的,隐私信息泄露的检测方法还包括:从动态加载路径的入口点开始进行数据流分析,识别所有信息中的用户隐私信息;对识别到的用户隐私信息进行标记处理,得到标记数据;对标记数据进行污点传播;在检测到应用程序在动态加载路径上的目标节点进行动态加载调用时,获取第二代码在目标节点所记录的目标动态加载信息;利用目标动态加载信息,在动态加载路径与外部代码之间对标记数据进行追踪,得到追踪结果。
可选的,隐私信息泄露的检测方法还包括:在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议相匹配时,确定应用程序在运行状态下为合法使用用户隐私信息的程序;在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议不匹配时,确定应用程序在运行状态下为非法使用用户隐私信息的程序。
可选的,隐私信息泄露的检测方法还包括:在第一检测结果表征应用程序在未运行的状态下为合法使用用户隐私信息的程序,并且第二检测结果表征应用程序在运行状态下为合法使用用户隐私信息的程序时,确定应用程序为不会导致用户隐私信息泄露的正常程序;在第一检测结果表征应用程序在未运行的状态下为非法使用用户隐私信息的程序,或者第二检测结果表征应用程序在运行状态下为非法使用用户隐私信息的程序时,确定应用程序为导致用户隐私信息泄露的异常程序。
根据本公开的另一方面,还提供了一种隐私信息泄露的检测装置,包括:获取模块,设置为获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件;静态分析模块,设置为对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议,其中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径;第一检测模块,设置为根据目标隐私协议以及预设协议生成第一检测结果,其中,第一检测结果用于表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议用于确定目标隐私协议是否符合预设规范;第二检测模块,设置为根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,其中,第二检测结果用于表征应用程序在运行状态下是否为非法使用用户隐私信息的程序;确定模块,设置为基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。
根据本公开的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的隐私信息泄露的检测方法。
根据本公开的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的隐私信息泄露的检测方法。
在本公开中,采用根据目标隐私协议以及预设协议对应用程序进行静态检测,以及根据动态加载路径对应用程序进行动态检测的方式,在获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件之后,对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议,然后根据目标隐私协议以及预设协议生成第一检测结果,并根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,最后基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。其中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径;第一检测结果用于表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议用于确定目标隐私协议是否符合预设规范;第二检测结果用于表征应用程序在运行状态下是否为非法使用用户隐私信息的程序。
由上述内容可知,在本公开中,目标隐私协议不仅包括应用程序的第一隐私协议,还包括与应用程序相关联的第三方软件程序的第二隐私协议,因此,与现有技术只检测应用程序本身相比,本公开在根据目标隐私协议与预设协议对应用程序进行静态检测时,除了检测应用程序本身之外,还检测了与应用程序相关的第三方软件程序,从而提高了用户隐私信息的检测全面性。此外,本公开还将根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,从而实现了对应用程序由于动态加载引发的用户隐私信息泄露行为也进行了检测,在此基础上,基于第一检测结果与第二检测结果综合确定应用程序是否为异常程序,实际上是在将对应用程序的静态检测结果与动态检测加过进行了综合分析之后,得到最终的检测结果,从而实现了提高用户隐私信息的检测准确性的效果。
由此可见,通过本公开的技术方案,达到了全面检测应用程序使用用户隐私信息的过程的目的,从而实现了避免用户隐私信息被应用程序所泄露的效果,进而解决了现有技术中在检测应用程序是否合规获取用户隐私信息时存在的检测准确性差的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据本公开实施例的一种隐私信息泄露的检测方法的流程图;
图2是根据本公开实施例的一种对待检测的应用程序静态分析的流程图;
图3是根据本公开实施例的一种对待检测的应用程序静态分析的流程图;
图4是根据本公开实施例的一种对待检测的应用程序静态分析的流程图;
图5是根据本公开实施例的一种对待检测的应用程序动态分析的流程图;
图6是根据本公开实施例的一种可选的隐私信息泄露的检测装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,还需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
实施例1
根据本公开实施例,提供了一种隐私信息泄露的检测方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
另外,还需要说明的是,电子设备可作为本公开实施例中的隐私信息泄露的检测方法的执行主体,其中,电子设备可以是服务器、笔记本电脑、台式计算机、智能平板以及智能手机等设备。
图1是根据本公开实施例的一种隐私信息泄露的检测方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件。
在步骤S101中,待检测的应用程序为android应用程序,对应用程序进行逆向解析的过程可以是电子设备通过使用Android分析工具,例如APKtool(一种应用程序编译工具)对待检测的APK(Android application package,Android应用程序)进行解包,从而得到目标文件的过程。其中,目标文件中至少包含待检测的应用程序的源码以及配置文件信息,具体的,包括:配置文件、字节码文件、应用界面以及图标等资源文件。
步骤S102,对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议。
在步骤S102中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径。其中,第三方软件程序为与应用程序相关联的SDK。
另外,电子设备可基于目标文件中的代码获取应用程序自身的第一隐私协议,还可获取第三方软件程序的标记信息,然后根据标记信息采用搜索引擎搜索、自动化爬取以及页面内容解析等技术实现对第三方软件程序的第二隐私协议的采集,最后将第一隐私协议与第二隐私协议进行整合,得到目标隐私协议。
需要说明的是,在实际应用场景中,一款应用程序由于存在非法使用用户隐私数据的原因而被下架时,可能并非是因为该应用程序本身的代码不合规,而是因为所使用的第三方软件程序不合规。因此,本公开通过将第三方软件程序的第二隐私协议与应用程序自身的第一隐私协议整合,确保了在对应用程序本身进行检测的同时,也对第三方软件程序进行了检测,从而提高了对应用程序的检测全面性。另外,现有技术在检测第三方软件程序时,通常是使用人工检测的方式进行检测,从而消耗了大量的人力。而本公开使用自动化的方式检测第三方软件程序以及应用程序本身的合规性,降低了人力人本,实现了提高检测效率的效果。
步骤S103,根据目标隐私协议以及预设协议生成第一检测结果。
在步骤S103中,,第一检测结果用于表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议用于确定目标隐私协议是否符合预设规范。其中,预设协议为监管机构根据用户隐私信息所制定的相关法律法规,具体的,操作人员基于相关法律法规的内容,编写完成预设协议,并将预设协议存储起来,以便电子设备随时调用。当目标隐私协议中的内容与预设协议中的内容不匹配时,电子设备将确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。例如,如果目标隐私协议中的内容超出了预设协议(即相关法律法规)所规定的内容时,则电子设备确定应用程序为非法使用用户隐私信息的程序。此外,在目标隐私协议的内容与预设协议的内容相匹配时,电子设备还需要检测应用程序实际要获取的用户隐私数据是否与目标隐私协议相符合,如果符合,则确定应用程序在未运行的状态下为合法使用用户隐私信息的程序,如果不符合,则仍要确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。
通过上述过程,本公开会首先检测第一隐私协议以及与第二隐私协议是否符合相关法律法规,然后在明确第一隐私协议与第二隐私协议全部符合相关法律法规之后,检测应用程序实际要获取的用户隐私数据是否与目标隐私协议相符合。由此可见,与现有技术至检测应用程序本身相比,本公开对Android应用程序以及第三方软件程序进行了更加全面的静态检测。
步骤S104,根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果。
在步骤S104中,第二检测结果用于表征应用程序在运行状态下是否为非法使用用户隐私信息的程序。其中,根据动态加载路径的过程至少包括以下几个部分:分析静态信息(即目标文件)确定动态加载路径;基于静态信息生成用于触发应用程序的动态加载进程的输入事件;对待检测的应用程序插桩,植入用于保存动态加载信息的第二代码;通过输入事件触发应用程序的动态加载进程;基于获取到的动态加载信息和路径信息,使用数据流分析方法对动态加载过程中用户隐私信息的传输过程进行追踪,并基于追踪结果得到第二检测结果。
需要注意到的是,用户隐私信息指的是能够唯一标识用户个人身份的数据信息,例如,用户所使用的设备的IMEI(international mobile equipment identity,国际移动设备识别码)号,IMSI(international mobile subscriber identity,国际移动用户识别码)号,手机号等,以及用户所使用的个人数据,例如,地理位置信息以及应用列表等。本公开根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,实现了对应用程序由于动态加载引发的用户隐私信息泄露行为进行检测的效果,避免了用户隐私数据在应用程序进行动态加载时被泄露的问题。
步骤S105,基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。
在步骤S105中,在第一检测结果表征应用程序在未运行的状态下为合法使用用户隐私信息的程序,并且第二检测结果表征应用程序在运行状态下为合法使用用户隐私信息的程序时,电子设备确定应用程序为不会导致用户隐私信息泄露的正常程序;在第一检测结果表征应用程序在未运行的状态下为非法使用用户隐私信息的程序,或者第二检测结果表征应用程序在运行状态下为非法使用用户隐私信息的程序时,电子设备确定应用程序为导致用户隐私信息泄露的异常程序。
通过上述过程,本公开通过对应用程序的静态检测结果与动态检测结果进行综合分析,得到最终的检测结果,实现对应用程序在未运行状态下以及运行状态下的合规性进行了全方面检测,从而提高了用户隐私信息的检测准确性。
基于上述步骤S101至步骤S105的内容可知,在本公开实施例中,采用根据目标隐私协议以及预设协议对应用程序进行静态检测,以及根据动态加载路径对应用程序进行动态检测的方式,在获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件之后,对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议,然后根据目标隐私协议以及预设协议生成第一检测结果,并根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,最后基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。其中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径;第一检测结果用于表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议用于确定目标隐私协议是否符合预设规范;第二检测结果用于表征应用程序在运行状态下是否为非法使用用户隐私信息的程序。
由上述内容可知,在本公开中,目标隐私协议不仅包括应用程序的第一隐私协议,还包括与应用程序相关联的第三方软件程序的第二隐私协议,因此,与现有技术只检测应用程序本身相比,本公开在根据目标隐私协议与预设协议对应用程序进行静态检测时,除了检测应用程序本身之外,还检测了与应用程序相关的第三方软件程序,从而提高了用户隐私信息的检测全面性。此外,本公开还将根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,从而实现了对应用程序由于动态加载引发的用户隐私信息泄露行为也进行了检测,在此基础上,基于第一检测结果与第二检测结果综合确定应用程序是否为异常程序,实际上是在将对应用程序的静态检测结果与动态检测加过进行了综合分析之后,得到最终的检测结果,从而实现了提高用户隐私信息的检测准确性的效果。
由此可见,通过本公开的技术方案,达到了全面检测应用程序使用用户隐私信息的过程的目的,从而实现了避免用户隐私信息被应用程序所泄露的效果,进而解决了现有技术中在检测应用程序是否合规获取用户隐私信息时存在的检测准确性差的技术问题。
在一种可选的实施例中,电子设备在获取得到目标文件之后,还将检测目标文件中的代码是否进行了加壳处理,在代码进行了加壳处理的情况下,电子设备对代码进行脱壳处理,得到在进行加壳处理之前的原始代码,最后电子设备基于原始代码确定应用程序的动态加载路径以及目标隐私协议。其中,加壳处理包括以下处理方式中的至少一种:对代码进行加密处理、对代码进行隐藏处理、对代码进行混淆处理;脱壳处理为加壳处理的逆向处理过程。
可选的,在现有技术中,一些android应用程序使用了加壳技术,对于加壳处理之后的android应用程序,其关联的SDK将不可查询。因此,为了确保能获取得到SDK的相关信息,需要对加壳的应用程序进行脱壳处理。如图2所示,对于一个android应用程序,电子设备首先对其进行解包等逆向解析的处理,然后得到目标文件,其中,目标文件中至少包括:配置文件以及字节码文件。然后电子设备检测目标文件中的代码是否进行了加壳处理,如果有加壳处理,则对该android应用程序进行脱壳处理,随后对脱壳处理之后的原始代码进行静态分析,例如,分析字节码文件中的关键函数的调用情况、分析应用程序获取用户隐私信息的权限信息、分析应用程序的动态加载以及触发条件、分析应用程序中控件变量与界面控件之间的对应关系、分析应用程序是否获取用户设备的定位信息、IMEI以及IMSI等信息。
可选的,如图3所示,如果电子设备检测到一个android应用程序所对应的目标文件中的代码没有进行加壳处理,则电子设备将无需再对该目标文件进行脱壳处理,可直接对该目标文件中的代码进行静态分析。
容易注意到的是,本公开通过识别待检测的应用程序是否进行了加壳处理,并对加壳处理后的应用程序进行脱壳处理,解决了由于应用程序加壳导致的无法获取应用程序所关联的第三方软件程序的信息的问题。
在一种可选的实施例中,电子设备首先基于原始代码提取应用程序的第一隐私协议以及第三方软件程序的标记信息,然后根据标记信息获取第三方软件程序的第二隐私协议,最后采用语义分析的方式对第一隐私协议以及第二隐私协议进行分析,并将分析结果进行整合,得到目标隐私协议。
可选的,如图4所示,电子设备在对待检测的应用程序完成静态分析之后,将分析结果以软件资产数据库的形式存储下来,然后电子设备可直接从软件资产数据库获取需要的信息。其中,电子设备可以基于原始代码提取出待检测的应用程序的第一隐私协议,并通过语义分析的方式对第一隐私协议进行分析,得到第一分析结果。同时,电子设备还可以基于原始代码提取出与应用程序相关联的SDK的标记信息,并且根据标记信息,针对SDK给出的匹配规则,获取SDK的开发者信息以及开发者网站信息,然后使用搜索引擎、自动爬取以及页面内容解析等技术,实现对SDK的第二隐私协议的采集,最后也是通过语义分析的方式对第二隐私协议进行分析,得到第二分析结果。电子设备将第一分析结果与第二分析结果进行整合,生成最终的目标隐私协议,目标隐私协议可理解为这款待检测的应用程序以及关联的SDK,共同对应的隐私信息使用合规行为规范。
在一种可选的实施例中,在生成目标隐私协议之后,电子设备需要检测目标隐私协议是否符合相关法律法规。具体的,首先在目标隐私协议的内容与预设协议的内容不匹配时,电子设备确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。例如,如图4所示,操作人员根据相关法律法规的内容制作预设协议,当目标隐私协议的内容与预设协议的内容不匹配时,则说明目标隐私协议的内容不符合相关法律法规,此时电子设备确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。
另外,在目标隐私协议的内容与预设协议的内容相匹配时,电子设备获取目标文件中的第一代码,其中,第一代码用于表征应用程序实际要获取的用户隐私信息。然后电子设备根据第一代码与目标隐私协议确定应用程序在未运行的状态下是否为非法使用用户隐私信息的程序。具体的,电子设备对第一代码进行解析,得到应用程序实际要获取的用户隐私信息。然后在应用程序实际要获取的用户隐私信息与目标隐私协议的内容相匹配时,电子设备确定应用程序在未运行的状态下为合法使用用户隐私信息的程序;在应用程序实际要获取的用户隐私信息与目标隐私协议的内容不匹配时,电子设备确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。
可选的,如图4所示,在目标隐私协议符合相关法律法规之后,电子设备还需要检测应用程序实际要获取的用户隐私信息是否与目标隐私协议的规定相符合。具体的,电子设备首先获取用于表征应用程序实际要获取的用户隐私信息的第一代码,例如,用于表征获取用户隐私信息的相关函数的代码、用于表征获取用户隐私信息的相关权限信息的代码,电子设备对第一代码进行解析,并将解析结果存储在静态行为库中,然后电子设备将应用程序实际要获取的用户隐私信息与目标隐私协议的内容进行对比检测,如果两者不匹配,例如,目标隐私协议的内容没有规定获取用户的银行卡号,但是用用程序实际要获取用户的银行卡号,在这种情况下,电子设备将确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。如果应用程序实际要获取的用户隐私信息与目标隐私协议的内容相匹配,则电子设备确定应用程序在未运行的状态下为合法使用用户隐私信息的程序。
可选的,下表给出了一种使用目标隐私协议对应用程序进行静态检测的示例:
在一种可选的实施例中,电子设备还将根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果。具体的,电子设备首先在应用程序中插入用于记录动态加载信息的第二代码,然后基于动态加载路径,生成用于触发应用程序的动态加载进程的输入事件,随后通过输入事件触发应用程序的动态加载进程,并通过第二代码获取应用程序在动态加载进程中加载的所有信息,最后电子设备采用数据流分析方法对所有信息中的用户隐私信息在动态加载路径上的传输过程进行追踪,并基于追踪结果生成第二检测结果。
可选的,如图5所示,在电子设备针对待检测的应用程序进行静态分析,并将静态分析的分析结果存储在静态数据库(即软件资产数据库)之后,电子设备首先从静态数据库中取出静态信息,然后基于静态信息确定待检测的应用程序的动态加载路径,并生成路径信息。然后电子设备根据路径信息生成用于触发应用程序的动态加载进程的输入事件。
另外,在生成输入事件之前,电子设备可利用Soot工具对待检测的应用程序进行插桩操作。其中,Soot工具是一种用于对android应用程序进行分析、插桩以及优化的工作。首先,根据在路径信息生成过程所确定的动态加载的所在节点,找到应用程序中需要进行插桩的对应位置。然后,使用Soot工具在这些对应位置进行插桩。其中,插桩即为在应用程序中插入用于记录动态加载信息的第二代码。此外,由于动态加载的调用过程中一般需要多个程序语句来完成,包括加载文件,类加载以及方法调用,因此可在每条语句后面分别插入用于保存动态加载信息的第二代码。例如,创建DexClassLoader类加载器语句中有外部文件路径信息,因此可在DexClassLoader类加载器语句的后面插入保存加载文件的第二代码。在完成插桩操作后,电子设备就可以通过输入事件开始触发应用程序的动态加载进程。
需要注意到的是,虽然直接对待检测的应用程序执行输入事件,即可实现触发动态加载的目的,但是为了可以对动态加载的外部代码进行全面的检测,因此需要在动态加载的过程中获取动态加载的外部代码,以及调用的类,方法等基本信息才能完成全面的检测。由此可见,本公开通过使用插桩技术向待检测的应用程序中植入第二代码,从而在应用程序运行时将动态加载进程中的相关信息进行了保存,进而实现了对整个动态加载过程中所经过的代码片段以及相应内容等信息的保存。在此基础上,电子设备通过分析这些信息中的用户隐私信息在动态加载路径上的传输过程,即可生成第二检测结果。
在一种可选的实施例中,电子设备可以采用数据流分析方法对所有信息中的用户隐私信息在动态加载路径上的传输过程进行追踪。具体的,电子设备从动态加载路径的入口点开始进行数据流分析,识别所有信息中的用户隐私信息,然后对识别到的用户隐私信息进行标记处理,得到标记数据,并对标记数据进行污点传播,在检测到应用程序在动态加载路径上的目标节点进行动态加载调用时,电子设备获取第二代码在目标节点所记录的目标动态加载信息,并利用目标动态加载信息,在动态加载路径与外部代码之间对标记数据进行追踪,得到追踪结果。
可选的,如图5所示,本公开提供了一种面向路径的污点分析方法。具体的,电子设备对每条动态加载路径进行分析,检测每条动态加载路径上是否存在违规传输用户隐私信息的行为。首先,对于一条可到达动态加载调用的路径,从其入口开始在控制流路径P上进行数据流分析,当发现关键敏感函数(例如,获取设备号、手机号等用户隐私信息的函数)调用时,将其获取的用户隐私信息用污点进行标记处理,得到标记数据,并在后面的路径上对该标记数据进行追踪。然后,如果在路径上发现了在某一目标节点存在动态加载调用,则获取第二代码在该目标节点所记录的目标动态加载信息。最后,利用目标动态加载信息,可在动态加载路径与外部代码之间对标记数据进行追踪,得到追踪结果。
在一种可选的实施例中,追踪过程可以包含以下几种过程:追踪污点数据(即标记数据)是否通过动态加载调用的参数传入外部代码,并被外部代码所泄漏;检查外部代码是否获取了污点数据,并在外部代码中追踪污点数据的传输过程;检查外部代码是否对污点数据进行了获取,并追踪该污点数据是否有返回值,如果有,则在路径P上继续追踪该返回值,检测其是否会传输。
在一种可选的实施例中,在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议相匹配时,电子设备确定应用程序在运行状态下为合法使用用户隐私信息的程序;在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议不匹配时,电子设备确定应用程序在运行状态下为非法使用用户隐私信息的程序。
可选的,通过追踪结果,电子设备可以获取标记数据在动态加载路径与外部代码之间的传输过程。在此基础上,电子设备通过检测传输过程是否符合目标隐私协议的规定内容,确定应用程序在运行状态下是否为非法使用用户隐私信息的程序。例如,如果目标隐私协议规定待检测应用不能将用户的手机号传输给外部代码,但是追踪结果显示,待检测的应用程序将用户的手机号传输给了外部代码,则此时电子设备确定应用程序在运行状态下为非法使用用户隐私信息的程序。
在一种可选的实施例中,在第一检测结果表征应用程序在未运行的状态下为合法使用用户隐私信息的程序,并且第二检测结果表征应用程序在运行状态下为合法使用用户隐私信息的程序时,电子设备确定应用程序为不会导致用户隐私信息泄露的正常程序;在第一检测结果表征应用程序在未运行的状态下为非法使用用户隐私信息的程序,或者第二检测结果表征应用程序在运行状态下为非法使用用户隐私信息的程序时,电子设备确定应用程序为导致用户隐私信息泄露的异常程序。
由上述内容可知,本公开基于第一检测结果与第二检测结果综合确定应用程序是否为异常程序,实际上是在将对应用程序的静态检测结果与动态检测加过进行了综合分析之后,得到最终的检测结果,从而实现了提高用户隐私信息的检测准确性的效果。
实施例2
根据本公开实施例,还提供了一种隐私信息泄露的检测装置实施例,其中,图6是根据本公开实施例的一种可选的隐私信息泄露的检测装置示意图,如图6所示,该处理装置包括:获取模块601、静态分析模块602、第一检测模块603、第二检测模块604以及确定模块605。
其中,获取模块601,设置为获取待检测的应用程序,并对应用程序进行逆向解析,得到解析后的目标文件;静态分析模块602,设置为对目标文件进行静态分析,得到应用程序的动态加载路径以及目标隐私协议,其中,目标隐私协议至少包括应用程序的第一隐私协议以及与应用程序相关联的第三方软件程序的第二隐私协议,动态加载路径为到达动态加载的控制流路径;第一检测模块603,设置为根据目标隐私协议以及预设协议生成第一检测结果,其中,第一检测结果设置为表征应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,预设协议设置为确定目标隐私协议是否符合预设规范;第二检测模块604,设置为根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,其中,第二检测结果设置为表征应用程序在运行状态下是否为非法使用用户隐私信息的程序;确定模块605,设置为基于第一检测结果与第二检测结果确定应用程序是否为导致用户隐私信息泄露的异常程序。
可选的,上述静态分析模块还包括:第三检测模块、脱壳处理模块以及第一确定模块。其中,第三检测模块,设置为检测目标文件中的代码是否进行了加壳处理,其中,加壳处理包括以下处理方式中的至少一种:对代码进行加密处理、对代码进行隐藏处理、对代码进行混淆处理;脱壳处理模块,设置为在代码进行了加壳处理的情况下,对代码进行脱壳处理,得到在进行加壳处理之前的原始代码,其中,脱壳处理为加壳处理的逆向处理过程;第一确定模块,设置为基于原始代码确定应用程序的动态加载路径以及目标隐私协议。
可选的,上述第一确定模块还包括:提取模块、第一获取模块以及分析模块。其中,提取模块,设置为基于原始代码提取应用程序的第一隐私协议以及第三方软件程序的标记信息;第一获取模块,设置为根据标记信息获取第三方软件程序的第二隐私协议;分析模块,设置为采用语义分析的方式对第一隐私协议以及第二隐私协议进行分析,并将分析结果进行整合,得到目标隐私协议。
可选的,上述第一检测模块还包括:第二确定模块、第二获取模块以及第三确定模块。其中,第二确定模块,设置为在目标隐私协议的内容与预设协议的内容不匹配时,确定应用程序在未运行的状态下为非法使用用户隐私信息的程序;第二获取模块,设置为在目标隐私协议的内容与预设协议的内容相匹配时,获取目标文件中的第一代码,其中,第一代码设置为表征应用程序实际要获取的用户隐私信息;第三确定模块,设置为根据第一代码与目标隐私协议确定应用程序在未运行的状态下是否为非法使用用户隐私信息的程序。
可选的,上述第三确定模块还包括:解析模块、第四确定模块以及第五确定模块。其中,解析模块,设置为对第一代码进行解析,得到应用程序实际要获取的用户隐私信息;第四确定模块,设置为在应用程序实际要获取的用户隐私信息与目标隐私协议的内容相匹配时,确定应用程序在未运行的状态下为合法使用用户隐私信息的程序;第五确定模块,设置为在应用程序实际要获取的用户隐私信息与目标隐私协议的内容不匹配时,确定应用程序在未运行的状态下为非法使用用户隐私信息的程序。
可选的,上述第二检测模块还包括:记录模块、生成模块、第二获取模块以及追踪模块。其中,记录模块,设置为在应用程序中插入设置为记录动态加载信息的第二代码;生成模块,设置为基于动态加载路径,生成设置为触发应用程序的动态加载进程的输入事件;第二获取模块,设置为通过输入事件触发应用程序的动态加载进程,并通过第二代码获取应用程序在动态加载进程中加载的所有信息;追踪模块,设置为采用数据流分析方法对所有信息中的用户隐私信息在动态加载路径上的传输过程进行追踪,并基于追踪结果生成第二检测结果。
可选的,上述追踪模块还包括:识别模块、标记模块、传播模块、第三获取模块以及第一追踪模块。其中,识别模块,设置为从动态加载路径的入口点开始进行数据流分析,识别所有信息中的用户隐私信息;标记模块,设置为对识别到的用户隐私信息进行标记处理,得到标记数据;传播模块,设置为对标记数据进行污点传播;第三获取模块,设置为在检测到应用程序在动态加载路径上的目标节点进行动态加载调用时,获取第二代码在目标节点所记录的目标动态加载信息;第一追踪模块,设置为利用目标动态加载信息,在动态加载路径与外部代码之间对标记数据进行追踪,得到追踪结果。
可选的,上述追踪模块还包括:第六确定模块以及第七确定模块。其中,第六确定模块,设置为在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议相匹配时,确定应用程序在运行状态下为合法使用用户隐私信息的程序;第七确定模块,设置为在标记数据在动态加载路径与外部代码之间的传输过程与目标隐私协议不匹配时,确定应用程序在运行状态下为非法使用用户隐私信息的程序。
可选的,上述确定模块还包括:第八确定模块以及第九确定模块。其中,第八确定模块,设置为在第一检测结果表征应用程序在未运行的状态下为合法使用用户隐私信息的程序,并且第二检测结果表征应用程序在运行状态下为合法使用用户隐私信息的程序时,确定应用程序为不会导致用户隐私信息泄露的正常程序;第九确定模块,设置为在第一检测结果表征应用程序在未运行的状态下为非法使用用户隐私信息的程序,或者第二检测结果表征应用程序在运行状态下为非法使用用户隐私信息的程序时,确定应用程序为导致用户隐私信息泄露的异常程序。
实施例3
根据本公开实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述实施例1中的隐私信息泄露的检测方法。
实施例4
根据本公开实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述实施例1中的隐私信息泄露的检测方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
工业实用性
本公开实施例提供的方案可应用于信息安全技术领域,在本公开实施例中,在根据目标隐私协议与预设协议对应用程序进行静态检测时,除了检测应用程序本身之外,还检测了与应用程序相关的第三方软件程序,从而提高了用户隐私信息的检测全面性。此外,本公开还将根据动态加载路径,对应用程序在动态加载过程中所使用的用户隐私信息进行检测,从而实现了对应用程序由于动态加载引发的用户隐私信息泄露行为也进行了检测,在此基础上,基于第一检测结果与第二检测结果综合确定应用程序是否为异常程序,实际上是在将对应用程序的静态检测结果与动态检测加过进行了综合分析之后,得到最终的检测结果,从而实现了提高用户隐私信息的检测准确性的效果。
Claims (12)
1.一种隐私信息泄露的检测方法,包括:
获取待检测的应用程序,并对所述应用程序进行逆向解析,得到解析后的目标文件;
对所述目标文件进行静态分析,得到所述应用程序的动态加载路径以及目标隐私协议,其中,所述目标隐私协议至少包括所述应用程序的第一隐私协议以及与所述应用程序相关联的第三方软件程序的第二隐私协议,所述动态加载路径为到达动态加载的控制流路径;
根据所述目标隐私协议以及预设协议生成第一检测结果,其中,所述第一检测结果用于表征所述应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,所述预设协议用于确定所述目标隐私协议是否符合预设规范;
根据所述动态加载路径,对所述应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,其中,所述第二检测结果用于表征所述应用程序在运行状态下是否为非法使用所述用户隐私信息的程序;
基于所述第一检测结果与所述第二检测结果确定所述应用程序是否为导致所述用户隐私信息泄露的异常程序。
2.根据权利要求1所述的方法,其中,对所述目标文件进行静态分析,得到所述应用程序的动态加载路径以及目标隐私协议,包括:
检测所述目标文件中的代码是否进行了加壳处理,其中,所述加壳处理包括以下处理方式中的至少一种:对所述代码进行加密处理、对所述代码进行隐藏处理、对所述代码进行混淆处理;
在所述代码进行了所述加壳处理的情况下,对所述代码进行脱壳处理,得到在进行所述加壳处理之前的原始代码,其中,所述脱壳处理为所述加壳处理的逆向处理过程;
基于所述原始代码确定所述应用程序的动态加载路径以及所述目标隐私协议。
3.根据权利要求2所述的方法,其中,基于所述原始代码确定所述应用程序的目标隐私协议,包括:
基于所述原始代码提取所述应用程序的第一隐私协议以及所述第三方软件程序的标记信息;
根据所述标记信息获取所述第三方软件程序的第二隐私协议;
采用语义分析的方式对所述第一隐私协议以及所述第二隐私协议进行分析,并将分析结果进行整合,得到所述目标隐私协议。
4.根据权利要求1所述的方法,其中,根据所述目标隐私协议以及预设协议生成第一检测结果,包括:
在所述目标隐私协议的内容与所述预设协议的内容不匹配时,确定所述应用程序在未运行的状态下为非法使用所述用户隐私信息的程序;
在所述目标隐私协议的内容与所述预设协议的内容相匹配时,获取所述目标文件中的第一代码,其中,所述第一代码用于表征所述应用程序实际要获取的用户隐私信息;
根据所述第一代码与所述目标隐私协议确定所述应用程序在未运行的状态下是否为非法使用所述用户隐私信息的程序。
5.根据权利要求4所述的方法,其中,根据所述第一代码与所述目标隐私协议确定所述应用程序在未运行的状态下是否为非法使用所述用户隐私信息的程序,包括:
对所述第一代码进行解析,得到所述应用程序实际要获取的用户隐私信息;
在所述应用程序实际要获取的用户隐私信息与所述目标隐私协议的内容相匹配时,确定所述应用程序在未运行的状态下为合法使用所述用户隐私信息的程序;
在所述应用程序实际要获取的用户隐私信息与所述目标隐私协议的内容不匹配时,确定所述应用程序在未运行的状态下为非法使用所述用户隐私信息的程序。
6.根据权利要求1所述的方法,其中,根据所述动态加载路径,对所述应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,包括:
在所述应用程序中插入用于记录动态加载信息的第二代码;
基于所述动态加载路径,生成用于触发所述应用程序的动态加载进程的输入事件;
通过所述输入事件触发所述应用程序的动态加载进程,并通过所述第二代码获取所述应用程序在所述动态加载进程中加载的所有信息;
采用数据流分析方法对所述所有信息中的用户隐私信息在所述动态加载路径上的传输过程进行追踪,并基于追踪结果生成第二检测结果。
7.根据权利要求6所述的方法,其中,采用数据流分析方法对所述所有信息中的用户隐私信息在所述动态加载路径上的传输过程进行追踪,包括:
从所述动态加载路径的入口点开始进行数据流分析,识别所述所有信息中的用户隐私信息;
对识别到的用户隐私信息进行标记处理,得到标记数据;
对所述标记数据进行污点传播;
在检测到所述应用程序在所述动态加载路径上的目标节点进行动态加载调用时,获取所述第二代码在所述目标节点所记录的目标动态加载信息;
利用所述目标动态加载信息,在所述动态加载路径与外部代码之间对所述标记数据进行追踪,得到所述追踪结果。
8.根据权利要求7所述的方法,其中,基于追踪结果生成第二检测结果,包括:
在所述标记数据在所述动态加载路径与所述外部代码之间的传输过程与所述目标隐私协议相匹配时,确定所述应用程序在运行状态下为合法使用所述用户隐私信息的程序;
在所述标记数据在所述动态加载路径与所述外部代码之间的传输过程与所述目标隐私协议不匹配时,确定所述应用程序在运行状态下为非法使用所述用户隐私信息的程序。
9.根据权利要求1所述的方法,其中,基于所述第一检测结果与所述第二检测结果确定所述应用程序是否为导致所述用户隐私信息泄露的异常程序,包括:
在所述第一检测结果表征所述应用程序在未运行的状态下为合法使用所述用户隐私信息的程序,并且所述第二检测结果表征所述应用程序在运行状态下为合法使用所述用户隐私信息的程序时,确定所述应用程序为不会导致所述用户隐私信息泄露的正常程序;
在所述第一检测结果表征所述应用程序在未运行的状态下为非法使用所述用户隐私信息的程序,或者所述第二检测结果表征所述应用程序在运行状态下为非法使用所述用户隐私信息的程序时,确定所述应用程序为导致所述用户隐私信息泄露的异常程序。
10.一种隐私信息泄露的检测装置,包括:
获取模块,设置为获取待检测的应用程序,并对所述应用程序进行逆向解析,得到解析后的目标文件;
静态分析模块,设置为对所述目标文件进行静态分析,得到所述应用程序的动态加载路径以及目标隐私协议,其中,所述目标隐私协议至少包括所述应用程序的第一隐私协议以及与所述应用程序相关联的第三方软件程序的第二隐私协议,所述动态加载路径为到达动态加载的控制流路径;
第一检测模块,设置为根据所述目标隐私协议以及预设协议生成第一检测结果,其中,所述第一检测结果用于表征所述应用程序在未运行的状态下是否为非法使用用户隐私信息的程序,所述预设协议用于确定所述目标隐私协议是否符合预设规范;
第二检测模块,设置为根据所述动态加载路径,对所述应用程序在动态加载过程中所使用的用户隐私信息进行检测,生成第二检测结果,其中,所述第二检测结果用于表征所述应用程序在运行状态下是否为非法使用所述用户隐私信息的程序;
确定模块,设置为基于所述第一检测结果与所述第二检测结果确定所述应用程序是否为导致所述用户隐私信息泄露的异常程序。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的隐私信息泄露的检测方法。
12.一种电子设备,所述电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至9任一项中所述的隐私信息泄露的检测方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/088147 WO2023201621A1 (zh) | 2022-04-21 | 2022-04-21 | 隐私信息泄露的检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115004185A true CN115004185A (zh) | 2022-09-02 |
Family
ID=83023014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280000851.9A Pending CN115004185A (zh) | 2022-04-21 | 2022-04-21 | 隐私信息泄露的检测方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115004185A (zh) |
WO (1) | WO2023201621A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN109145603A (zh) * | 2018-07-09 | 2019-01-04 | 四川大学 | 一种基于信息流的Android隐私泄露行为检测方法和技术 |
CN109522235A (zh) * | 2018-11-29 | 2019-03-26 | 南京大学 | 一种针对安卓动态加载的隐私泄露检测的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845236A (zh) * | 2017-01-18 | 2017-06-13 | 东南大学 | 一种针对iOS平台的应用程序多维度隐私泄露检测方法及系统 |
CN113779437A (zh) * | 2020-09-23 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 隐私检测方法及装置、计算机可存储介质 |
CN114297700B (zh) * | 2021-11-11 | 2022-09-23 | 北京邮电大学 | 动静态结合的移动应用隐私协议提取方法及相关设备 |
-
2022
- 2022-04-21 CN CN202280000851.9A patent/CN115004185A/zh active Pending
- 2022-04-21 WO PCT/CN2022/088147 patent/WO2023201621A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN109145603A (zh) * | 2018-07-09 | 2019-01-04 | 四川大学 | 一种基于信息流的Android隐私泄露行为检测方法和技术 |
CN109522235A (zh) * | 2018-11-29 | 2019-03-26 | 南京大学 | 一种针对安卓动态加载的隐私泄露检测的方法 |
Non-Patent Citations (1)
Title |
---|
马凯等: "面向Android生态系统中的第三方SDK安全性分析", 软件学报, 11 January 2018 (2018-01-11), pages 1379 - 1389 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023201621A1 (zh) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102415971B1 (ko) | 악성 모바일 앱 감지 장치 및 방법 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
TWI541669B (zh) | Detection systems and methods for static detection applications, and computer program products | |
US11250110B2 (en) | Method to secure a software code | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN107077540B (zh) | 用于提供基于云的应用安全服务的方法和系统 | |
CN110096433B (zh) | 一种iOS平台上获取加密数据的方法 | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
EP3566166A1 (en) | Management of security vulnerabilities | |
CN109388946A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
CN111259382A (zh) | 恶意行为识别方法、装置、系统和存储介质 | |
CN106874758A (zh) | 一种识别文档代码的方法和装置 | |
CN115552401A (zh) | 一种快应用检测方法、装置、设备及存储介质 | |
CN114282212A (zh) | 流氓软件识别方法、装置、电子设备及存储介质 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN115391230A (zh) | 一种测试脚本生成、渗透测试方法、装置、设备及介质 | |
EP3945441B1 (en) | Detecting exploitable paths in application software that uses third-party libraries | |
CN109472135B (zh) | 一种检测进程注入的方法、装置及存储介质 | |
Wen et al. | An empirical study of sdk credential misuse in ios apps | |
CN109241706B (zh) | 基于静态胎记的软件抄袭检测方法 | |
CN111159712A (zh) | 检测方法、设备及存储介质 | |
US11256786B2 (en) | Method to secure a software code | |
CN115004185A (zh) | 隐私信息泄露的检测方法、装置及电子设备 | |
CN115048645A (zh) | 超范围采集隐私信息的检测方法、装置、设备及介质 | |
CN111046376B (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 |