CN112632551B - 一种第三方库信息泄露检测方法及装置 - Google Patents
一种第三方库信息泄露检测方法及装置 Download PDFInfo
- Publication number
- CN112632551B CN112632551B CN202110263126.8A CN202110263126A CN112632551B CN 112632551 B CN112632551 B CN 112632551B CN 202110263126 A CN202110263126 A CN 202110263126A CN 112632551 B CN112632551 B CN 112632551B
- Authority
- CN
- China
- Prior art keywords
- information
- party library
- application
- library
- party
- 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
Links
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本说明书一个或多个实施例提供一种第三方库信息泄露检测方法及装置,包括在应用所调用的第三方库中,识别获取应用的信息的源点;从源点开始,追踪信息的处理路径,确定信息的宿点;如果宿点位于非应用中,判定信息经第三方库泄露;输出信息泄露提示信息。依本说明书的方法,能够检测第三方库是否存在信息泄露,实现第三方库的安全性检测。
Description
技术领域
本说明书一个或多个实施例涉及信息安全技术领域,尤其涉及一种第三方库信息泄露检测方法及装置。
背景技术
随着智能终端的普及,可安装于智能终端上的应用不仅数量剧增,且功能丰富各异,大幅提升了用户体验。有些应用的功能实现依赖于第三方库,通过调用各种工具库增强应用功能。然而,第三方库中可能存在植入恶意代码,调用第三方库时可非法获取重要数据等,导致关键信息泄露,因此,对第三方库进行检测是保证信息安全的关键技术。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种第三方库信息泄露检测方法及装置,能够实现第三方库的安全性检测。
基于上述目的,本说明书一个或多个实施例提供了一种第三方库信息泄露检测方法,包括:
在应用所调用的第三方库中,识别获取所述应用的信息的源点;
从所述源点开始,追踪所述信息的处理路径,确定所述信息的宿点;
如果所述宿点位于非所述应用中,判定所述信息经所述第三方库泄露;
输出信息泄露提示信息。
可选的,所述在应用所调用的第三方库中,识别获取所述应用的信息的源点,包括:
从所述第三方库中提取包名;
在所述包名所对应的包中搜索用于获取所述信息的代码;
将搜索到的代码作为所述源点。
可选的,如果所述宿点位于非所述应用中,判定所述信息经所述第三方库泄露,包括:
如果所述宿点位于所述第三方库中,判定所述信息经所述第三方库泄露;
如果所述宿点位于所述第三方库的网络请求中,追踪所述网络请求所对应的网络请求响应,当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露。
可选的,所述网络请求响应为所述网络请求的返回值;
当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露,包括:
当判定所述返回值位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露。
可选的,所述信息为所述网络请求的输入参数,
当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露,包括:
当判定所述网络请求响应的输出参数位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露。
可选的,所述网络请求为回调方法,所述网络请求响应为回调方法执行结果,
当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露,包括:
追踪所述回调方法的处理路径以确定所述宿点;
当判定所述宿点位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露。
可选的,在应用所调用的第三方库中,识别获取所述应用的信息的源点之前,还包括:
根据预设的第三方库信息库,识别所述应用所调用的第三方库;其中,所述第三方库信息库包括第三方库的特征信息。
可选的,输出信息泄露提示信息之后,还包括:
生成信息泄露分析数据;
将所述应用、所述应用所调用的第三方库及所述信息泄露分析数据保存于信息泄露信息库中,以便于利用所述信息泄露信息库对待测应用进行检测。
可选的,所述信息泄露分析数据包括所泄露的信息、获取信息的源点、宿点、源点与宿点之间的处理路径、危险等级和修复选项。
本说明书实施例还提供一种第三方库信息泄露检测装置,包括:
识别模块,用于在应用所调用的第三方库中,识别获取所述应用的信息的源点;
追踪模块,用于从所述源点开始,追踪所述信息的处理路径,确定所述信息的宿点;
判定模块,用于判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露;
输出模块,用于输出信息泄露提示信息。
从上面所述可以看出,本说明书一个或多个实施例提供的第三方库信息泄露检测方法及装置,通过在应用所调用的第三方库中,识别获取应用的信息的源点;从源点开始,追踪信息的处理路径,确定信息的宿点;如果宿点位于非应用中,判定信息经第三方库泄露;输出信息泄露提示信息。依本说明书的方法,能够检测第三方库是否存在信息泄露,实现第三方库的安全性检测。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的数据流检测流程示意图;
图3为本说明书一个或多个实施例的装置结构框图;
图4为本说明书一个或多个实施例的电子设备的结构框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,很多应用的功能实现依赖于调用第三方库,在调用过程中,第三方库需要获取应用的相关信息。申请人在实现本公开的过程中发现,一方面,需要检测第三方库是否存在非法获取重要信息的情况;另一方面,需要检测第三方库获取相关信息之后,对相关信息进行了何种操作,如果对相关信息进行处理之后返回给应用,从而协助实现应用的部分功能,那么,不应认为存在信息泄露问题,例如,获取应用的位置信息,从而实现导航功能;如果获取相关信息之后,存储至其他位置或者进行其他与应用无关的操作,则认为导致了应用的信息泄露,例如,获取应用的用户信息,发送至第三方库的服务器,从而非法获取用户信息。由此,对第三方库进行安全性检测,以防止第三方库获取重要数据导致信息泄露,是保证信息安全的关键技术。
以下,通过具体的实施例进一步详细说明本公开的技术方案。
如图1所示,本说明书实施例提供一种第三方库信息泄露检测方法,包括:
S101:在应用所调用的第三方库中,识别获取应用的信息的源点;
本实施例中,首先确定出应用所调用的第三方库,以及在调用第三方库时,第三方库从应用中获取的信息的源点位置。
一些方式中,应用为能够安装于终端上实现特定功能的软件,例如,可安装于智能终端上辅助办公的办公软件,辅助制图的制图软件,实现线上购物的购物软件等等。有些应用在实现其功能时,会调用第三方库,利用第三方库获取数据、处理数据等,例如,办公软件会调用多人协作文档工具库,用于实现多人协作下的文档编辑功能,制图软件会调用制图工具库,用于实现制图功能等。
应用在调用第三方库时,第三方库需要获取应用的相关信息,以便根据获取的相关信息进行后续处理。正常情况下,第三方库获取相关信息后,经过处理,将处理后的信息返回给应用,通过应用实现功能,例如,第三方库获取输入的文字信息,对文字信息进行处理后,输出编辑后的文字信息,辅助实现文字编辑功能;异常情况下,第三方库还存在非法获取重要信息的源点,获取重要信息之后以供他用,导致重要信息泄露,例如,第三方库在用户未知的情况下,从应用获取用户的账号信息,并将账号信息保存于第三方库的服务器中,导致用户信息泄露。
一些方式中,获取应用的信息的源点可以是用于获取信息的接口、方法等,根据应用的具体实现方式确定,本实施例不做具体限定。
S102:从源点开始,追踪信息的处理路径,确定信息的宿点;
本实施例中,确定出第三方库获取信息的源点之后,利用数据流分析工具追踪信息的处理路径,通过追踪处理路径的终点,确定信息的宿点位置。
一些方式中,对于安卓系统下的应用,可利用的数据流分析工具例如是FlowDroid污点分析工具,本实施例不做具体限定。
S103:如果宿点位于非应用中,判定信息经第三方库泄露;
S104:输出信息泄露提示信息。
本实施例中,在确定第三方库对所获取的信息进行处理之后的宿点后,判断宿点是否位于应用中,如果信息处理之后的宿点在应用中,即第三方库对信息处理后又返回给应用,判定第三方库不存在信息泄露,如果信息处理之后的宿点不在应用中,可判定第三方库存在信息泄露,此种情况下,输出信息泄露提示信息,实现第三方库的安全性检测。
本实施例提供的第三方库信息泄露检测方法,包括在应用所调用的第三方库中,识别获取应用的信息的源点;从源点开始,追踪信息的处理路径,确定信息的宿点;如果宿点位于非应用中,判定信息经第三方库泄露;输出信息泄露提示信息。依本说明书的方法,能够检测第三方库是否存在信息泄露,实现第三方库的安全性检测。
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
一些实施例中,在应用所调用的第三方库中,识别获取应用的信息的源点,包括:
从第三方库中提取出包名;
在包名所对应的包中搜索用于获取信息的代码;
将搜索到的代码作为源点。
本实施例中,识别第三方库获取信息的源点的方法是,先从第三方库中提取出包名,基于提取出的包名,在包名所对应的包中搜索用于获取信息的代码,该代码即为用于获取信息的源点,从而定位出获取信息的起始位置。
一些方式中,应用为能够安装于安卓系统的软件,应用的包名为应用的名称,在应用的包名下具有多个文件或者多个用于存放不同类型文件的文件夹,各文件包括具有不同功能的源代码。对应用进行检测时,利用逆向分析工具对应用进行逆向分析得到逆向分析结果,基于逆向分析结果,识别应用中所调用的第三方库,从第三方库中识别提取出包名,进一步对包名下的源代码进行搜索,查找用于获取信息的代码,以此作为后续检测的源点。
一些方式中,可利用构建的获取信息方法表搜索用于获取信息的代码,部分获取信息方法表如表1所示:
表1获取信息方法表
如表1所示,通过对应用进行逆向分析,得到应用的代码,从代码中识别出调用的第三方库,在第三方库中搜索用于获取信息的方法,将找到的方法位置作为源点位置。例如,利用apktool、libdex等反汇编工具对应用进行分析得到应用的源代码,再对源代码进行静态扫描找到获取第三方库中获取信息的方法位置。一些方式中,获取信息方法表中的用于获取各类信息的方法可以根据已知的代码接口建立,在检测过程中,还可以根据实时分析结果进行更新,包括添加新的方法等。
一些实施例中,如果宿点位于非应用中,判定信息经第三方库泄露,包括:
如果宿点位于第三方库中,判定信息经第三方库泄露;
如果宿点位于第三方库的网络请求中,追踪网络请求所对应的网络请求响应,当判断宿点位于非应用中时,判定信息经第三方库泄露。
结合图2所示,本实施例中,确定获取信息的源点之后,利用数据流分析工具追踪信息的处理路径,通过追踪处理路径的终点,确定信息的宿点位置,然后基于确定出的宿点位置,分析第三方库是否存在信息泄露。经过分析,如果宿点位于第三方库,确定源点获取信息并经过处理路径的处理之后,所得到的信息处理结果并未作用于应用中,并未辅助应用实现特定功能,此种情况判定为第三方库获取信息后,存在信息泄露问题;另一种情况是,宿点位于第三方库的网络请求中,需进一步追踪与网络请求相对应的网络请求响应,根据网络请求响应,判定宿点位置,如果宿点并未作用于应用中,同样判定为第三方库存信息泄露问题。
一些实施例中,根据网络请求与网络请求响应的形式及关系,宿点位于第三方库的网络请求中的情况可分为以下三种情况:
一种情况是,网络请求响应为网络请求的返回值;则,
当判断宿点位于非应用中时,判定信息经第三方库泄露,包括:
当判定返回值位于第三方库中和/或其他位置时,判定信息经第三方库泄露。
本实施例中,网络请求的返回值即为网络请求响应,网络请求与网络请求响应可以是同一个接口或方法,执行网络请求并成功响应之后,网络请求的返回值即为信息经过网络处理路径处理之后的宿点位置,通过宿点的位置,如果宿点位于第三方库或其他位置,则判定第三方库存在信息泄露。例如,第三方库获取信息之后,通过网络请求将获取的信息上传至服务器并由服务器存储,网络请求的返回值为保存成功,此时判断宿点位于第三方库的服务器,确定出现信息泄露;又例如,第三方库获取信息之后,通过网络请求将获取的信息发送至其他应用或其他链接,此时判断宿点位于其他位置,确定出现信息泄露。
第二种情况是,信息为网络请求的输入参数,
当判断宿点位于非应用中时,判定信息经第三方库泄露,包括:
当判定网络请求响应的输出参数位于第三方库中和/或其他位置时,判定信息经第三方库泄露。
本实施例中,网络请求与网络请求响应为不同的接口或方法,网络请求的输入参数为所获取的信息,执行网络请求后并成功响应之后,由网络请求响应的返回值或者输出参数即为信息经过网络处理路径处理后的宿点位置,通过宿点的位置,如果宿点位于第三方库或其他位置,则判定第三方库存在信息泄露。
一些方式中,通过逆向分析工具进行逆向分析,确定网络请求为getInputStream()方法,网络请求响应为getOutputStream()方法,getInputStream()方法的输入参数为所获取的信息,以getInputStream()为源点,以getOutputStream()方法为宿点,确定getInputStream()方法与getOutputStream()方法之间的信息处理路径。
第三种情况是,网络请求为回调方法,网络请求响应为回调方法执行结果,
当判断宿点位于非应用中时,判定信息经第三方库泄露,包括:
追踪回调方法的处理路径以确定宿点;
当判定宿点位于所述第三方库中和/或其他位置时,判定信息经第三方库泄露。
本实施例中,网络请求为需要执行的回调方法,网络请求响应为执行回调方法后得到的执行结果,执行回调方法过程中,追踪回调方法的网络处理路径,确定宿点的位置,进而根据宿点位置判断是否位于应用中,如果宿点位于第三方库或者其他位置,则第三方库存在信息泄露。
一些方式中,可按照预先建立的回调方法表,确定回调方法,进而追踪回调方法的处理路径。部分回调方法表如表2所示:
表2 回调方法表
如表2所示,一些场景中,可将回调方法表作为FlowDroid污点分析工具的配置文件,利用配置好的FlowDroid污点分析工具追踪信息的处理路径,通过追踪处理路径的终点,确定信息的宿点位置。一些方式中,回调方法表中的回调方法可以根据已知的代码接口建立,在检测过程中,还可以根据实时分析结果进行更新,包括添加新的回调方法等。
一些实施例中,在应用所调用的第三方库中,识别获取应用的信息的源点之前,还包括:
根据预设的第三方库信息库,识别应用所调用的第三方库;其中,第三方库信息库包括第三方库的特征信息。
本实施例中,在从第三方库中识别源点之前还包括根据第三方库信息库识别应用所调用的第三方库。在对应用进行安全性检测之前,预先构建包括第三方库的相关信息的第三方库信息库,这样,检测时,可直接通过查询第三方库信息库获取应用所调用的第三方库以及第三方库的相关信息,而且可通过不断更新第三方库信息库丰富第三方库及其相关信息,提高应用的检测速度和准确性。
一些实施例中,构建第三方库信息库的方法包括:
获取应用样本;
识别应用样本所调用的第三方库样本;
获取第三方库样本的特征信息;
将应用样本及第三方库样本的特征信息保存于第三方库信息库中。
本实施例中,在检测应用之前,预先构建包括若干第三方库样本的第三方库信息库。首先可利用爬虫等工具获取预定样本量的应用样本,通过对应用样本进行逆向分析,根据逆向分析结果,利用第三方库识别工具(例如,LibRadar、Libd、Ordol工具等识别出应用样本所调用的第三方库样本,之后,从第三方库管理平台(例如,MvnRepository仓库,Github托管平台,Maven Central中央仓库等)上利用爬虫等工具获取第三方库样本的相关信息,然后,利用第三方库识别工具根据获取的第三方库样本的相关信息计算第三方库样本的特征值,将第三方库样本的相关信息和特征信息保存于第三方库信息库中。
一些方式中,可获取的第三方库样本的相关信息包括但不限于第三方库样本的名称、版本号、不同版本的库文件、各版本的相关说明等等。根据第三方库的相关信息计算特征值包括,利用特定算法计算用于表征第三方样本的唯一性的特征值,用于准确识别应用所调用的第三方库。
一些实施例中,输出信息泄露提示信息之后,还包括:
生成信息泄露分析数据;
将应用、应用所调用的第三方库及信息泄露分析数据保存于信息泄露信息库中,以便于利用信息泄露信息库对待测应用进行检测。
本实施例中,通过检测发现第三方库中存在信息泄露的源点与宿点之后,进一步生成信息泄露分析数据,并将应用、应用所调用的第三方库以及信息泄露分析数据保存于信息泄露信息库中,这样,通过构建信息泄露信息库,后续可直接利用信息泄露信息库对待检测的应用进行检测,如果待检测的应用已经存在于信息泄露信息库中,可由信息泄露信息库直接输出该应用的信息泄露分析数据,实现应用的快速检测。
一些方式中,所生成的信息泄露分析数据包括但不限于所泄露的信息、获取信息的源点、宿点、源点与宿点之间的处理路径、危险等级、修复选项等。例如,通过检测确定所泄露的信息为个人账户信息,宿点位于某钓鱼网站,危险等级为高风险,修复选项可以配置为停止应用运行,将应用所调用的第三方库列入黑名单中等。这样,通过所构建的信息泄露信息库可快速检测识别出应用中第三方库可能获取的信息以及威胁程度,并可将检测出的存在信息泄露的第三方库加入黑名单中,便于后续对黑名单中的第三方库进行管理。可选的,还可通过对应用进行安全性检测并根据检测结果不断更新丰富信息泄露信息库,利用信息泄露信息库对应用进行检测,能够提高检测效率和检测准确性。
本实施例提供的第三方库信息泄露检测方法,用于检测应用所调用的第三方库是否存在信息泄露的安全风险。先在应用所调用的第三方库中,识别获取应用的信息的源点,从源点开始,追踪信息的处理路径,以确定信息的宿点,之后,根据宿点的位置,判断宿点并未在应用中时,判定信息经第三方库泄露,从而实现第三方库的安全性检测。在此基础上,对于已经检测出存在信息泄露的第三方库,将其保存于信息泄露信息库中,后续可利用信息泄露信息库对应用进行安全性检测,提高检测效率,对于新版本的应用或者新功能的应用,利用本说明书的方法进行检测,并根据检测结果更新信息泄露信息库。本说明书的方法能够实现第三方库的安全性检测,检测效率高,准确性高。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图3所示,本说明书实施例还提供一种第三方库信息泄露检测装置,包括:
识别模块,用于在应用所调用的第三方库中,识别获取应用的信息的源点;
追踪模块,用于从源点开始,追踪信息的处理路径,确定信息的宿点;
判定模块,用于判断宿点位于非应用中时,判定信息经第三方库泄露;
输出模块,用于输出信息泄露提示信息。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (6)
1.一种第三方库信息泄露检测方法,其特征在于,包括:
根据预设的第三方库信息库,识别应用所调用的第三方库;所述第三方库信息库的构建方法是:获取应用样本,识别应用样本所调用的第三方库样本,获取所述第三方库样本的特征信息,将所述应用样本及所述第三方库样本的特征信息保存于所述第三方库信息库中;
在应用所调用的第三方库中,识别获取所述应用的信息的源点;
从所述源点开始,追踪所述信息的处理路径,确定所述信息的宿点;
如果所述宿点位于所述第三方库中,判定所述信息经所述第三方库泄露;
如果所述宿点位于所述第三方库的网络请求中,追踪所述网络请求所对应的网络请求响应,当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露;其中:
所述网络请求响应为所述网络请求的返回值;当判定所述返回值位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
所述信息为所述网络请求的输入参数,当判定所述网络请求响应的输出参数位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
所述网络请求为回调方法,所述网络请求响应为回调方法执行结果,追踪所述回调方法的处理路径以确定所述宿点;当判定所述宿点位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
输出信息泄露提示信息。
2.根据权利要求1所述的方法,其特征在于,所述在应用所调用的第三方库中,识别获取所述应用的信息的源点,包括:
从所述第三方库中提取包名;
在所述包名所对应的包中搜索用于获取所述信息的代码;
将搜索到的代码作为所述源点。
3.根据权利要求1所述的方法,其特征在于,输出信息泄露提示信息之后,还包括:
生成信息泄露分析数据;
将所述应用、所述应用所调用的第三方库及所述信息泄露分析数据保存于信息泄露信息库中,以便于利用所述信息泄露信息库对待测应用进行检测。
4.根据权利要求3所述的方法,其特征在于,所述信息泄露分析数据包括所泄露的信息、获取信息的源点、宿点、源点与宿点之间的处理路径、危险等级和修复选项。
5.根据权利要求1所述的方法,其特征在于,还包括:
更新所述第三方库信息库。
6.一种第三方库信息泄露检测装置,其特征在于,包括:
库识别模块,用于根据预设的第三方库信息库,识别应用所调用的第三方库;所述第三方库信息库的构建方法是:获取应用样本,识别应用样本所调用的第三方库样本,获取所述第三方库样本的特征信息,将所述应用样本及所述第三方库样本的特征信息保存于所述第三方库信息库中;
识别模块,用于在应用所调用的第三方库中,识别获取所述应用的信息的源点;
追踪模块,用于从所述源点开始,追踪所述信息的处理路径,确定所述信息的宿点;
判定模块,用于当判断所述宿点位于所述第三方库中时,判定所述信息经所述第三方库泄露;当判断所述宿点位于所述第三方库的网络请求中时,追踪所述网络请求所对应的网络请求响应,当判断所述宿点位于非所述应用中时,判定所述信息经所述第三方库泄露;其中:
所述网络请求响应为所述网络请求的返回值;当判定所述返回值位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
所述信息为所述网络请求的输入参数,当判定所述网络请求响应的输出参数位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
所述网络请求为回调方法,所述网络请求响应为回调方法执行结果,追踪所述回调方法的处理路径以确定所述宿点;当判定所述宿点位于所述第三方库中和/或其他位置时,判定所述信息经所述第三方库泄露;
输出模块,用于输出信息泄露提示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110263126.8A CN112632551B (zh) | 2021-03-11 | 2021-03-11 | 一种第三方库信息泄露检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110263126.8A CN112632551B (zh) | 2021-03-11 | 2021-03-11 | 一种第三方库信息泄露检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632551A CN112632551A (zh) | 2021-04-09 |
CN112632551B true CN112632551B (zh) | 2021-09-28 |
Family
ID=75297701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110263126.8A Active CN112632551B (zh) | 2021-03-11 | 2021-03-11 | 一种第三方库信息泄露检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632551B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006776B (zh) * | 2021-12-31 | 2022-03-18 | 北京微步在线科技有限公司 | 一种敏感信息泄露检测方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984900A (zh) * | 2014-05-19 | 2014-08-13 | 南京赛宁信息技术有限公司 | Android应用漏洞检测方法及系统 |
CN104239799A (zh) * | 2014-09-05 | 2014-12-24 | 清华大学 | 基于行为链的Android应用程序隐私窃取检测方法及系统 |
CN105550594A (zh) * | 2015-12-17 | 2016-05-04 | 西安电子科技大学 | 安卓应用文件的安全性检测方法 |
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN107122660A (zh) * | 2017-03-29 | 2017-09-01 | 中国科学院信息工程研究所 | 一种Android应用软件用户隐私信息泄露检测方法 |
CN107169361A (zh) * | 2017-06-15 | 2017-09-15 | 深信服科技股份有限公司 | 一种数据泄露的检测方法及系统 |
CN111046386A (zh) * | 2019-12-05 | 2020-04-21 | 深圳开源互联网安全技术有限公司 | 动态检测程序第三方库并进行安全评估的方法及系统 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI461953B (zh) * | 2012-07-12 | 2014-11-21 | Ind Tech Res Inst | 運算環境安全方法和電子運算系統 |
US9830452B2 (en) * | 2012-11-30 | 2017-11-28 | Beijing Qihoo Technology Company Limited | Scanning device, cloud management device, method and system for checking and killing malicious programs |
CN106682495B (zh) * | 2016-11-11 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 安全防护方法及安全防护装置 |
-
2021
- 2021-03-11 CN CN202110263126.8A patent/CN112632551B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984900A (zh) * | 2014-05-19 | 2014-08-13 | 南京赛宁信息技术有限公司 | Android应用漏洞检测方法及系统 |
CN104239799A (zh) * | 2014-09-05 | 2014-12-24 | 清华大学 | 基于行为链的Android应用程序隐私窃取检测方法及系统 |
CN105550594A (zh) * | 2015-12-17 | 2016-05-04 | 西安电子科技大学 | 安卓应用文件的安全性检测方法 |
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN107122660A (zh) * | 2017-03-29 | 2017-09-01 | 中国科学院信息工程研究所 | 一种Android应用软件用户隐私信息泄露检测方法 |
CN107169361A (zh) * | 2017-06-15 | 2017-09-15 | 深信服科技股份有限公司 | 一种数据泄露的检测方法及系统 |
CN111046386A (zh) * | 2019-12-05 | 2020-04-21 | 深圳开源互联网安全技术有限公司 | 动态检测程序第三方库并进行安全评估的方法及系统 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于细粒度动态分析的Android平台第三方库隐私泄露分析;胡冰惠;《中国优秀硕士学位论文全文数据库信息科技辑》;20180615(第6期);第1-80页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112632551A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447215A (zh) | 数据检测方法、装置和存储介质 | |
CN111291374B (zh) | 一种应用程序的检测方法、装置及设备 | |
CN112632551B (zh) | 一种第三方库信息泄露检测方法及装置 | |
CN105160246A (zh) | 一种识别被劫持浏览器的方法及浏览器 | |
CN108182363B (zh) | 嵌入式office文档的检测方法、系统及存储介质 | |
CN105354490B (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN111460448B (zh) | 一种恶意软件家族检测方法及装置 | |
WO2017054731A1 (zh) | 处理被劫持浏览器的方法及设备 | |
CN105243134A (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN106778276B (zh) | 一种检测无实体文件恶意代码的方法及系统 | |
CN115292203A (zh) | 一种源代码分析方法及装置 | |
CN111475148A (zh) | 第三方依赖库隔离方法及装置、电子设备、存储介质 | |
CN114169311A (zh) | 一种数据解析方法及装置 | |
JP2019032688A (ja) | ソースコード解析装置、ソースコード解析方法及びソースコード解析プログラム | |
CN116483735B (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 | |
CN112541182B (zh) | 内核vfs层系统修复方法、装置、设备及存储介质 | |
CN114443131A (zh) | 程序运行环境确认方法、装置、电子设备、介质及产品 | |
CN113805889B (zh) | 一种智能合约调用执行方法、装置、设备及可读存储介质 | |
CN113641964B (zh) | 重打包应用检测方法、电子设备及存储介质 | |
CN113238884B (zh) | 一种固件文件的检测方法、装置、电子设备及存储介质 | |
CN108803975B (zh) | 指令处理方法、装置及电子设备 | |
CN109214188B (zh) | 一种漏洞分析方法和装置及数据处理方法和装置 | |
CN105205393A (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN116627803A (zh) | 软件相似度检测方法、系统、设备及存储介质 | |
CN114416465A (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 |