CN112948824B - 一种基于隐私保护的程序通信方法、装置及设备 - Google Patents
一种基于隐私保护的程序通信方法、装置及设备 Download PDFInfo
- Publication number
- CN112948824B CN112948824B CN202110348708.6A CN202110348708A CN112948824B CN 112948824 B CN112948824 B CN 112948824B CN 202110348708 A CN202110348708 A CN 202110348708A CN 112948824 B CN112948824 B CN 112948824B
- Authority
- CN
- China
- Prior art keywords
- communication
- communication request
- program
- communication module
- target application
- 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/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例公开了一种基于隐私保护的程序通信方法、装置及设备,该方法应用于设置有安全执行环境的终端设备,终端设备中包括目标应用程序,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,包括:获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行;使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据;如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计;如果风险审计未通过,则阻止对通信请求进行响应。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于隐私保护的程序通信方法、装置及设备。
背景技术
在客户端安全领域,尤其是客户安全和隐私保护领域,存在一个共同的技术难题,即针对第三方SDK(尤其是第三方的不可信SDK)的恶意行为,如何进行有效的防御。
由于在终端设备的操作系统的安全机制设计中,第三方SDK与其宿主程序本身是属于同一个主体,因此无法将第三方SDK的操作处理与宿主程序的操作处理进行有效的安全隔离,由于存在上述操作系统层面的机制问题,因此经常出现第三方SDK导致的安全和隐私泄露等问题,严重危害用户的信息安全。为此,需要提供一种更优的针对第三方SDK在内的多种不同程序的安全隔离机制,从而实现应用程序内不同程序代码之间的隔离,保护用户的信息安全,防止用户隐私泄露。
发明内容
本说明书实施例的目的是提供一种更优的针对第三方SDK在内的多种不同程序的安全隔离机制,从而实现应用程序内不同程序代码之间的隔离,保护用户的信息安全,防止用户隐私泄露。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种基于隐私保护的程序通信方法,所述方法包括:获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行。使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块。如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例提供的一种基于隐私保护的程序通信装置,所述装置中设置有安全执行环境,所述装置中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,所述装置包括:请求获取模块,获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行。判断模块,使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块。风险审计模块,如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。阻止模块,如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例提供的一种基于隐私保护的程序通信设备,所述基于隐私保护的程序通信设备中设置有安全执行环境,所述基于隐私保护的程序通信设备中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,所述基于隐私保护的程序通信设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行。使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块。如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例还提供了一种存储介质,其中,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:获取目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块。使用安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块。如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种基于隐私保护的程序通信方法实施例;
图2为本说明书另一种基于隐私保护的程序通信方法实施例;
图3为本说明书一种程序通信的示意图;
图4为本说明书一种基于隐私保护的程序通信装置实施例;
图5为本说明书一种基于隐私保护的程序通信设备实施例。
具体实施方式
本说明书实施例提供一种基于隐私保护的程序通信方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种基于隐私保护的程序通信方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备,还可以如手机或平板电脑等移动终端设备。该终端设备中可以安装有一个或多个应用程序,针对其中的某一个应用程序(该应用程序可以是上述安装的应用程序中的任一应用程序,或者,也可以是上述安装的应用程序中的指定的应用程序等),该应用程序中可以包含一个或多个不同的子程序提供方提供的子程序,此外,为了便于后续进行信息交互,可以为上述应用程序设置相应的通信模块,即针对每个子程序封装有通信模块。该方法具体可以包括以下步骤:
在步骤S102中,获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行。
其中,目标应用程序可以是任意应用程序,具体可以是移动终端设备或PC中安装的APP或IoT上的应用程序等,例如用于进行支付的金融类应用程序、即时通讯应用等,具体可以根据实际情况设定,本说明书实施例对此不做限定。第一通信模块可以用于不同子程序之间进行通信,其中的通信模块可以以独立的进程运行,即可以为每一个子程序设置相应的通信模块,不同的通信模块之间相互独立,且不同的通信模块运行时会启动相应的进程,通过进程之间的通信实现通信模块之间的信息交互。
在实施中,在客户端应用程序安全领域,尤其是客户安全和隐私保护领域,存在一个共同的技术难题,即针对第三方SDK(尤其是第三方的不可信SDK,即第三方开发的,以SDK形式集成到客户端应用程序内部的代码)的恶意行为,如何进行有效的防御。由于在终端设备的操作系统的安全机制设计中,第三方SDK与其宿主程序本身是属于同一个主体,因此无法将第三方SDK的操作处理与宿主程序的操作处理进行有效的安全隔离,由于存在上述操作系统层面的机制问题,因此经常出现第三方SDK导致的安全和隐私(如用户的指纹数据、用户的面部数据、用户的虹膜数据或用户的掌纹数据等)泄露等问题,严重危害用户的信息安全。为此,需要提供一种更优的针对第三方SDK在内的多种不同程序的安全隔离机制,从而实现应用程序内不同程序代码之间的隔离,保护用户的信息安全,防止用户隐私泄露。本说明书实施例提供一种可选的实现方式,具体可以包括以下内容:
在实际应用中,终端设备中安装的客户端应用程序(即目标应用程序)中往往可以包括多种不同的程序模块(即子程序),例如,可以包括目标应用程序的主框架子程序、第三方SDK的子程序、小程序、浏览器内核模块子程序等,此外,还可以包括多种不同的子程序,具体可以根据实际情况设定,本说明书实施例对此不做限定。为了保护不同子程序之间的代码和其隐私信息的安全性,可以预先为目标应用程序中的每一个子程序设置相应的通信模块,并且为每一个子程序设置独立的通信进程,此外,目标应用程序中还可以设置有进程通信管理机制,通过该进程通信管理机制对不同子程序之间的通信进行管理,具体地,当某一个子程序(为了后续表述方便,可以称为第一子程序)需要请求与另一个子程序(为了后续表述方便,可以称为第二子程序)进行通信时,第一子程序可以触发第一通信模块运行,同时可以启动相应的通信进程,并可以通过该通信进程将第一通信模块的通信请求向第二子程序的通信模块对应的通信进程发送,此时,上述进程通信管理机制可以获取目标应用程序中第一通信模块提供的通信请求。
需要说明的是,上述通信请求可以是针对任意业务或任意处理发起的信息交互的请求,具体如某数据的获取请求、身份认证请求、信息交换请求或申请授权的请求等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S104中,使用安全执行环境,并基于上述通信请求确定该通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,目标应用程序中的其它通信模块包括除第一通信模块之外的通信模块。
其中,安全执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),或者,也可以通过硬件与程序相结合的方式实现,安全执行环境可以是安全并与其它环境相隔离的数据处理环境,即在安全执行环境中执行的处理,以及数据处理的过程中产生的数据等可以不被安全执行环境外的其它执行环境或应用程序所访问。安全执行环境可以通过创建一个可以在可信区域中独立运行的小型操作系统实现。安全执行环境具有其自身的执行空间。安全执行环境可以包括多种,例如可以是终端设备中的可信执行环境TEE,或者,也可以是预先设定的指定运行环境等,具体可以根据实际情况设定,本说明书实施例对此不做限定。预设类型的隐私数据可以包括多种,例如针对用户的隐私数据,具体如用户的指纹数据、用户的面部数据等,或者,也可以是子程序的隐私数据,具体如子程序中某业务处理的执行代码等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,为了保证数据和数据处理过程的安全性,可以设置用于执行通信风险审计的可信程序,通过该可信程序对通信数据进行临时保护,例如可以防止未授权的其它应用程序访问上述通信请求对应的数据以此进行数据保护,或者,可以对上述通信请求对应的数据进行预定处理,得到处理后的数据,以此进行数据保护,如对上述通信请求对应的数据进行加密或签名,得到加密或签名后的数据等。在获取到目标应用程序中第一通信模块通过相应的通信进程提供的通信请求后,可以启动用于执行通信风险审计的可信程序。该可信程序可以预先设置有安全接口,相应的,安全执行环境中也可以设置有相应的安全接口,通过该可信程序与安全执行环境之间的安全接口,该可信程序与安全执行环境之间可以建立安全的数据传输通道。该可信程序可以获取该通信请求对应的数据的相关信息,并可以将上述信息通过上述安全接口和数据传输通道传递至安全执行环境中,通过上述设置可信程序、安全接口和数据传输通道等可以保证数据在传输过程中的安全性。
需要说明的是,该可信程序可以是预先指定的、可以用于执行数据风险审计处理的可信程序,可信程序可以是预先植入终端设备某硬件设备中的代码程序,还可以是以插件的形式设置于终端设备的操作系统的后台运行的程序等,具体可以根据实际情况设定。可信程序也可以包括多种,可以根据上述通信请求对应的数据的类型等设置相应的可信程序,也可以根据上述通信请求对应的数据内容等设置相应的可信程序,还可以根据上述通信请求对应的数据提供方的不同而设置相应的可信程序,在实际应用中,如何设置可信程序可以根据实际情况设定,本说明书实施例对此不做限定。
为了保证上述通信请求对应的数据在处理的过程中不被泄露,可以在安全执行环境中对上述通信请求对应的数据进行处理,具体地,在安全执行环境中,可以基于上述通信请求获取该通信请求对应的数据的相关信息,然后,可以对上述相关信息进行分析,通过分析可以判断该通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,例如,第一通信模块提供的通信请求为向目标应用程序的主框架子程序获取终端设备的用户的手机号码,即该通信请求对应的数据为用户的手机号码,而用户的手机号码相对于目标应用程序的主框架子程序往往属于用户的个人隐私数据,此时可以判定该通信请求对应的数据为目标应用程序中的其它通信模块中的预设类型的隐私数据。如果判定该通信请求对应的数据为目标应用程序中的其它通信模块中的预设类型的隐私数据,则可以执行下述步骤S106的处理,如果判定该通信请求对应的数据不属于目标应用程序中的其它通信模块中的预设类型的隐私数据,则表明该通信请求对应的数据可以由第一通信模块获取,此时,可以允许对该第一通信模块的通信请求进行响应。
在步骤S106中,如果上述通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取该通信请求对应的数据的行为进行风险审计。
在实施中,通过上述步骤S104的处理,如果判定上述通信请求对应的数据为目标应用程序中的其它通信模块中的预设类型的隐私数据,则需要对该预设类型的隐私数据的处理过程进行风险防控,此时,可以判断第一通信模块对应的通信进程是否具备访问目标应用程序中的其它通信模块中的预设类型的隐私数据的权限,或者,可以判断第一通信模块对应的通信进程是否具备访问该通信请求的目标方对应的通信模块中的预设类型的隐私数据的权限,如果第一通信模块对应的通信进程不具备上述访问的权限,则可以生成对第一通信模块获取上述通信请求对应的数据的行为的风险审计未通过的通知消息,如果第一通信模块对应的通信进程具备上述访问的权限,则可以允许对该通信请求进行响应,但是,在响应的过程中,还可以对第一通信模块获取上述通信请求对应的数据的行为和处理过程进行风险审计,在第一通信模块获取上述通信请求对应的数据的行为和处理过程中,如果存在对上述数据进行不满足指定使用规则的情况,则可以终止对该通信请求进行响应,否则,可以允许继续对该通信请求进行响应。
在步骤S108中,如果对第一通信模块获取上述通信请求对应的数据的行为的风险审计未通过,则阻止对该通信请求进行响应。
本说明书实施例提供一种基于隐私保护的程序通信方法,应用于设置有安全执行环境的终端设备,终端设备中包括目标应用程序,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,通过获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行,使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计,风险审计未通过,则阻止对通信请求进行响应,这样,通过对如包括第三方SDK在内多种目标应用程序内的不同子程序的安全隔离沙箱机制,可以较好的实现客户端应用程序内不同子程序之间的硬性隔离,实现了对用户安全和隐私数据的保护。
实施例二
如图2所示,本说明书实施例提供一种基于隐私保护的程序通信方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备,还可以如手机或平板电脑等移动终端设备。该终端设备中可以安装有一个或多个应用程序,针对其中的某一个应用程序(该应用程序可以是上述安装的应用程序中的任一应用程序,或者,也可以是上述安装的应用程序中的指定的应用程序等),该应用程序中可以包含一个或多个不同的子程序提供方提供的子程序,此外,为了便于后续进行信息交互,可以为上述应用程序设置相应的通信模块,即针对每个子程序封装有通信模块。该方法具体可以包括以下步骤:
在步骤S202中,获取一个或多个不同的子程序提供方提供的子程序。
其中,子程序可以包括第三方SDK对应的程序、搭载于目标应用程序中的小程序、浏览器内核程序、目标应用程序的主框架子程序、针对预设业务或预设功能编写的程序中的一项或多项。
在实施中,在目标应用程序封装之前,对代码进行打包时,可以将子程序提供方提供的每个子程序设置为相应的模块,并可以将不同的模块(即子程序)拆分打包成为目标应用程序内部不同的代码包,同时,可以为每个代码包注册相应的标识(具体如名称、编码等),基于此,可以获取目标应用程序中包含的代码,可以对代码进行分析,从中拆分出不同的子程序提供方提供的子程序,从而获取到一个或多个不同的子程序提供方提供的子程序。
在步骤S204中,将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包。
在实施中,在将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包的同时,还可以为每个子程序包注册相应的标识,例如:
在步骤S206中,对获取的子程序对应的子程序包进行封装处理,得到目标应用程序。
在步骤S208中,获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行。
在实施中,目标应用程序的主框架启动后,可以通过组件通信的方式,启动各个子程序对应的通信模块,例如,第三方SDK对应的子程序的通信模块、搭载于目标应用程序中的小程序对应的通信模块、浏览器内核程序对应的通信模块等。各个子程序对应的通信模块启动后,各通信模块可以在相互独立的进程中运行,因此,不同的子程序之间(包括目标应用程序的主框架子程序与其它子程序之间)无法直接进行通信,从而保证不同子程序之间数据的安全性,例如,
startService(new Intent("com.XXX.chromium"));即表示需要在一个新的进程中启动shy.luo.ashmem.Server这个服务类。
其中,获取目标应用程序中第一通信模块提供的通信请求的具体处理,可以参见上述相关内容,在此不再赘述。
在步骤S210中,使用安全执行环境,并基于上述通信请求确定该通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,目标应用程序中的其它通信模块包括除第一通信模块之外的通信模块。
在实际应用中,为了提高不同子程序之间信息交互的效率,可以预先将子程序进行分类,如可以将子程序划分为可信子程序和非可信子程序,然后,可以基于子程序的不同分类,对子程序之间的通信进行管控,具体可以参见下述步骤S212~步骤S216的处理。
在步骤S212中,如果上述通信请求对应的数据为预设类型的隐私数据,且该通信请求的目标方对应的子程序为非可信子程序,则对第一通信模块获取该通信请求对应的数据的行为进行风险审计。
其中,非可信子程序可以是无法判断是否存在预设的风险的子程序,或者,未执行针对子程序的风险检测的子程序,或者,不满足预设的存在预设的风险的条件的子程序等,例如,可以预先设定子程序的风险检测组织或机构,子程序提供方可以基于该组织或机构提供的基准信息编写相应的子程序,并通过该组织或机构的风险检测,则该子程序可以确定为可信子程序,或者,子程序提供方加入该组织或机构,并基于该组织或机构提供的子程序编写规则编写相应的子程序,则子程序提供方提供的子程序可以确定为可信子程序等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,可以根据实际情况预先为目标应用程序中的子程序进行分类,从而得到目标应用程序中包含的可信子程序和非可信子程序。如果上述通信请求对应的数据为预设类型的隐私数据,则可以从可信子程序中查找其中是否包含该通信请求的目标方对应的子程序,如果在可信子程序中没有查找到包含该通信请求的目标方对应的子程序,则可以确定该通信请求的目标方对应的子程序为非可信子程序。此时,由于该通信请求的目标方对应的子程序为非可信子程序,因此,不论第一通信模块对应的子程序是否为可信子程序,两者之间的通信可能是存在风险的,此时,可以对第一通信模块获取该通信请求对应的数据的行为进行风险审计。
在步骤S214中,如果上述通信请求对应的数据为预设类型的隐私数据,且第一通信模块对应的子程序为可信子程序,该通信请求的目标方对应的子程序为可信子程序,则对该通信请求进行响应。
在步骤S216中,如果上述通信请求对应的数据为预设类型的隐私数据,且第一通信模块对应的子程序为非可信子程序,该通信请求的目标方对应的子程序为可信子程序,则对第一通信模块获取该通信请求对应的数据的行为进行风险审计。
在步骤S218中,如果对第一通信模块获取上述通信请求对应的数据的行为的风险审计未通过,则阻止对该通信请求进行响应。
在步骤S220中,如果对第一通信模块获取上述通信请求对应的数据的行为的风险审计未通过,则向预设的管理设备发送第一通信模块对应的子程序存在风险的通知消息。
其中,管理设备可以是任意设定的设备,该管理设备可以是移动终端设备,也可以是如个人计算机PC的终端设备等,管理设备可以是子程序管理方或目标应用程序的提供方的设备等。
在实施中,在对第一通信模块获取上述通信请求对应的数据的行为的风险审计未通过的情况下,通过向预设的管理设备发送第一通信模块对应的子程序存在风险的通知消息的方式对子程序不合理的行为进行预警,从而不仅阻止了恶意代码对隐私数据的窃取,而且还可以防止对用户安全的危害。
本说明书实施例提供一种基于隐私保护的程序通信方法,应用于设置有安全执行环境的终端设备,终端设备中包括目标应用程序,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,通过获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行,使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计,风险审计未通过,则阻止对通信请求进行响应,这样,通过对如包括第三方SDK在内多种目标应用程序内的不同子程序的安全隔离沙箱机制,可以较好的实现客户端应用程序内不同子程序之间的硬性隔离,实现了对用户安全和隐私数据的保护。
实施例三
以上为本说明书实施例提供的基于隐私保护的程序通信方法,基于同样的思路,本说明书实施例还提供一种基于隐私保护的程序通信装置,如图4所示。
该基于隐私保护的程序通信装置中设置有安全执行环境,所述装置中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,包括:请求获取模块401、判断模块402、风险审计模块403和阻止模块404,其中:
请求获取模块401,获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行;
判断模块402,使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
风险审计模块403,如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
阻止模块404,如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例中,所述装置还包括:
子程序获取模块,获取一个或多个不同的子程序提供方提供的子程序;
打包模块,将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包;
封装模块,对获取的子程序对应的子程序包进行封装处理,得到所述目标应用程序。
本说明书实施例中,所述装置还包括:
通知模块,如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则向预设的管理设备发送所述第一通信模块对应的子程序存在风险的通知消息。
本说明书实施例中,所述目标应用程序包含的子程序中包括非可信子程序,所述风险审计模块403,如果所述通信请求对应的数据为预设类型的隐私数据,且所述通信请求的目标方对应的子程序为非可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述目标应用程序包含的子程序中还包括可信子程序,所述风险审计模块403,如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述通信请求进行响应。
本说明书实施例中,所述风险审计模块403,如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为非可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述子程序包括第三方SDK对应的程序、搭载于所述目标应用程序中的小程序、浏览器内核程序、针对预设业务或预设功能编写的程序中的一项或多项。
本说明书实施例提供一种基于隐私保护的程序通信装置,其中设置有安全执行环境,且该装置中包括目标应用程序,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,通过获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行,使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计,风险审计未通过,则阻止对通信请求进行响应,这样,通过对如包括第三方SDK在内多种目标应用程序内的不同子程序的安全隔离沙箱机制,可以较好的实现客户端应用程序内不同子程序之间的硬性隔离,实现了对用户安全和隐私数据的保护。
实施例四
以上为本说明书实施例提供的基于隐私保护的程序通信装置,基于同样的思路,本说明书实施例还提供一种基于隐私保护的程序通信设备,所述基于隐私保护的程序通信设备中设置有安全执行环境,所述基于隐私保护的程序通信设备中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,如图5所示。
所述基于隐私保护的程序通信设备可以为上述实施例提供的终端设备等。
基于隐私保护的程序通信设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对基于隐私保护的程序通信设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在基于隐私保护的程序通信设备上执行存储器502中的一系列计算机可执行指令。基于隐私保护的程序通信设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506。
具体在本实施例中,基于隐私保护的程序通信设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于隐私保护的程序通信设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行;
使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例中,还包括:
获取一个或多个不同的子程序提供方提供的子程序;
将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包;
对获取的子程序对应的子程序包进行封装处理,得到所述目标应用程序。
本说明书实施例中,还包括:
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则向预设的管理设备发送所述第一通信模块对应的子程序存在风险的通知消息。
本说明书实施例中,所述目标应用程序包含的子程序中包括非可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述通信请求的目标方对应的子程序为非可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述目标应用程序包含的子程序中还包括可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述通信请求进行响应。
本说明书实施例中,所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为非可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述子程序包括第三方SDK对应的程序、搭载于所述目标应用程序中的小程序、浏览器内核程序、针对预设业务或预设功能编写的程序中的一项或多项。
本说明书实施例提供一种基于隐私保护的程序通信设备,其中设置有安全执行环境,该基于隐私保护的程序通信设备中包括目标应用程序,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,通过获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行,使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计,风险审计未通过,则阻止对通信请求进行响应,这样,通过对如包括第三方SDK在内多种目标应用程序内的不同子程序的安全隔离沙箱机制,可以较好的实现客户端应用程序内不同子程序之间的硬性隔离,实现了对用户安全和隐私数据的保护。
实施例五
进一步地,基于上述图1至图3所示的方法,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块;
使用安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
本说明书实施例中,还包括:
获取一个或多个不同的子程序提供方提供的子程序;
将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包;
对获取的子程序对应的子程序包进行封装处理,得到所述目标应用程序。
本说明书实施例中,还包括:
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则向预设的管理设备发送所述第一通信模块对应的子程序存在风险的通知消息。
本说明书实施例中,所述目标应用程序包含的子程序中包括非可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述通信请求的目标方对应的子程序为非可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述目标应用程序包含的子程序中还包括可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述通信请求进行响应。
本说明书实施例中,所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为非可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
本说明书实施例中,所述子程序包括第三方SDK对应的程序、搭载于所述目标应用程序中的小程序、浏览器内核程序、针对预设业务或预设功能编写的程序中的一项或多项。
本说明书实施例提供一种存储介质,通过获取目标应用程序中第一通信模块提供的通信请求,第一通信模块以独立的进程运行,目标应用程序中包含不同的子程序提供方提供的子程序,且针对每个子程序封装有通信模块,使用安全执行环境,并基于通信请求确定通信请求对应的数据是否为目标应用程序中的其它通信模块中的预设类型的隐私数据,如果通信请求对应的数据为预设类型的隐私数据,则对第一通信模块获取通信请求对应的数据的行为进行风险审计,风险审计未通过,则阻止对通信请求进行响应,这样,通过对如包括第三方SDK在内多种目标应用程序内的不同子程序的安全隔离沙箱机制,可以较好的实现客户端应用程序内不同子程序之间的硬性隔离,实现了对用户安全和隐私数据的保护。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程欺诈案例的串并设备的处理器以产生一个机器,使得通过计算机或其他可编程欺诈案例的串并设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程欺诈案例的串并设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程欺诈案例的串并设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (12)
1.一种基于隐私保护的程序通信方法,应用于设置有安全执行环境的终端设备,所述终端设备中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,所述方法包括:
获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行;
使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
2.根据权利要求1所述的方法,所述方法还包括:
获取一个或多个不同的子程序提供方提供的子程序;
将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包;
对获取的子程序对应的子程序包进行封装处理,得到所述目标应用程序。
3.根据权利要求2所述的方法,所述方法还包括:
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则向预设的管理设备发送所述第一通信模块对应的子程序存在风险的通知消息。
4.根据权利要求3所述的方法,所述目标应用程序包含的子程序中包括非可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述通信请求的目标方对应的子程序为非可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
5.根据权利要求4所述的方法,所述目标应用程序包含的子程序中还包括可信子程序,
所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述通信请求进行响应。
6.根据权利要求5所述的方法,所述如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计,包括:
如果所述通信请求对应的数据为预设类型的隐私数据,且所述第一通信模块对应的子程序为非可信子程序,所述通信请求的目标方对应的子程序为可信子程序,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计。
7.根据权利要求1-5中任一项所述的方法,所述子程序包括第三方SDK对应的程序、搭载于所述目标应用程序中的小程序、浏览器内核程序、针对预设业务或预设功能编写的程序中的一项或多项。
8.一种基于隐私保护的程序通信装置,所述装置中设置有安全执行环境,所述装置中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,所述装置包括:
请求获取模块,获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行;
判断模块,使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
风险审计模块,如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
阻止模块,如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
9.根据权利要求8所述的装置,所述装置还包括:
子程序获取模块,获取一个或多个不同的子程序提供方提供的子程序;
打包模块,将获取的不同子程序分别进行打包,得到每个子程序对应的子程序包;
封装模块,对获取的子程序对应的子程序包进行封装处理,得到所述目标应用程序。
10.根据权利要求8-9中任一项所述的装置,所述子程序包括第三方SDK对应的程序、搭载于所述目标应用程序中的小程序、浏览器内核程序、针对预设业务或预设功能编写的程序中的一项或多项。
11.一种基于隐私保护的程序通信设备,所述基于隐私保护的程序通信设备中设置有安全执行环境,所述基于隐私保护的程序通信设备中包括目标应用程序,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块,所述基于隐私保护的程序通信设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取所述目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行;
使用所述安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
12.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
获取目标应用程序中第一通信模块提供的通信请求,所述第一通信模块以独立的进程运行,所述目标应用程序中包含一个或多个不同的子程序提供方提供的子程序,且针对每个所述子程序封装有通信模块;
使用安全执行环境,并基于所述通信请求确定所述通信请求对应的数据是否为所述目标应用程序中的其它通信模块中的预设类型的隐私数据,所述目标应用程序中的其它通信模块包括除所述第一通信模块之外的通信模块;
如果所述通信请求对应的数据为预设类型的隐私数据,则对所述第一通信模块获取所述通信请求对应的数据的行为进行风险审计;
如果对所述第一通信模块获取所述通信请求对应的数据的行为的风险审计未通过,则阻止对所述通信请求进行响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348708.6A CN112948824B (zh) | 2021-03-31 | 2021-03-31 | 一种基于隐私保护的程序通信方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348708.6A CN112948824B (zh) | 2021-03-31 | 2021-03-31 | 一种基于隐私保护的程序通信方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948824A CN112948824A (zh) | 2021-06-11 |
CN112948824B true CN112948824B (zh) | 2022-04-26 |
Family
ID=76231533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110348708.6A Active CN112948824B (zh) | 2021-03-31 | 2021-03-31 | 一种基于隐私保护的程序通信方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948824B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615070B (zh) * | 2022-03-21 | 2024-04-19 | 中国人民解放军国防科技大学 | 基于可信执行环境的网络安全事件捕获方法和装置 |
CN115730345B (zh) * | 2022-11-03 | 2023-10-20 | 支付宝(杭州)信息技术有限公司 | 一种隐私数据处理方法、检测引擎及系统 |
Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920778A (zh) * | 2005-08-26 | 2007-02-28 | 国际商业机器公司 | 父子应用集成的系统及方法 |
CN103268438A (zh) * | 2013-02-04 | 2013-08-28 | 中国科学院信息工程研究所 | 基于调用链的Android权限管理方法及系统 |
CN103377337A (zh) * | 2012-04-27 | 2013-10-30 | 通用电气航空系统有限公司 | 用于控制计算机系统的组件之间的交互的安全性系统和方法 |
WO2014180206A1 (zh) * | 2013-10-18 | 2014-11-13 | 中兴通讯股份有限公司 | 数据访问的处理方法、装置及计算及可读存储介质 |
CN104317605A (zh) * | 2014-11-18 | 2015-01-28 | 东方网力科技股份有限公司 | 一种组件运行方法及装置 |
CN104462949A (zh) * | 2014-10-27 | 2015-03-25 | 中国建设银行股份有限公司 | 一种插件的调用方法及装置 |
CN105468465A (zh) * | 2015-12-28 | 2016-04-06 | 深圳市科漫达智能管理科技有限公司 | 一种基于ace的进程间通信系统和方法 |
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN106446711A (zh) * | 2016-09-30 | 2017-02-22 | 努比亚技术有限公司 | 一种信息处理方法及电子设备 |
CN106570394A (zh) * | 2016-11-10 | 2017-04-19 | 厦门安胜网络科技有限公司 | 一种检测恶意程序的方法 |
CN106650422A (zh) * | 2016-10-13 | 2017-05-10 | 中国科学院信息工程研究所 | 一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法 |
CN106709347A (zh) * | 2016-11-25 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 应用运行的方法及装置 |
CN107480530A (zh) * | 2017-08-23 | 2017-12-15 | 北京奇虎科技有限公司 | 安全检测的方法、装置、系统以及服务器 |
CN107688502A (zh) * | 2017-08-18 | 2018-02-13 | 苏州科达特种视讯有限公司 | 进程间通信方法及装置 |
CN107786951A (zh) * | 2016-08-24 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种信息处理方法及终端设备 |
CN107888589A (zh) * | 2017-11-10 | 2018-04-06 | 恒宝股份有限公司 | 一种调用可信应用的方法及其系统 |
CN109067739A (zh) * | 2018-07-27 | 2018-12-21 | 平安科技(深圳)有限公司 | 通信数据加密方法和装置 |
CN109086092A (zh) * | 2017-06-13 | 2018-12-25 | 中国移动通信集团四川有限公司 | Web程序调用本地插件的方法及装置 |
CN109558739A (zh) * | 2017-09-26 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 程序运行方法、装置、终端及可读介质 |
CN110309006A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110309005A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110555293A (zh) * | 2019-09-10 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法、装置、电子设备和计算机可读介质 |
CN111092872A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种隐私保护方法、装置及设备 |
CN111310196A (zh) * | 2020-05-09 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 风险识别方法及装置和电子设备 |
CN111381903A (zh) * | 2020-03-18 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 程序运行方法、装置、设备及介质 |
CN111580988A (zh) * | 2020-04-29 | 2020-08-25 | 广州虎牙科技有限公司 | 开放平台的实现方法、装置、存储介质和计算机设备 |
CN112163193A (zh) * | 2020-09-10 | 2021-01-01 | 珠海市魅族科技有限公司 | 一种广播注册控制方法、装置、设备及介质 |
CN112182506A (zh) * | 2020-09-16 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种数据的合规检测方法、装置及设备 |
CN112182508A (zh) * | 2020-09-16 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种合规业务指标的异常监测方法及装置 |
CN112231124A (zh) * | 2020-12-14 | 2021-01-15 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的应用间通信方法及装置 |
CN112560022A (zh) * | 2020-12-03 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 一种系统接口调用的检测方法及装置 |
CN112559980A (zh) * | 2020-11-24 | 2021-03-26 | 珠海凡泰极客科技有限责任公司 | 一种可内嵌众多任意app的小程序运行时 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182966A1 (en) * | 2004-02-17 | 2005-08-18 | Duc Pham | Secure interprocess communications binding system and methods |
US20050182958A1 (en) * | 2004-02-17 | 2005-08-18 | Duc Pham | Secure, real-time application execution control system and methods |
CN107645482B (zh) * | 2016-07-22 | 2020-08-07 | 创新先进技术有限公司 | 一种针对业务操作的风险控制方法及装置 |
-
2021
- 2021-03-31 CN CN202110348708.6A patent/CN112948824B/zh active Active
Patent Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920778A (zh) * | 2005-08-26 | 2007-02-28 | 国际商业机器公司 | 父子应用集成的系统及方法 |
CN103377337A (zh) * | 2012-04-27 | 2013-10-30 | 通用电气航空系统有限公司 | 用于控制计算机系统的组件之间的交互的安全性系统和方法 |
CN103268438A (zh) * | 2013-02-04 | 2013-08-28 | 中国科学院信息工程研究所 | 基于调用链的Android权限管理方法及系统 |
WO2014180206A1 (zh) * | 2013-10-18 | 2014-11-13 | 中兴通讯股份有限公司 | 数据访问的处理方法、装置及计算及可读存储介质 |
CN104462949A (zh) * | 2014-10-27 | 2015-03-25 | 中国建设银行股份有限公司 | 一种插件的调用方法及装置 |
CN104317605A (zh) * | 2014-11-18 | 2015-01-28 | 东方网力科技股份有限公司 | 一种组件运行方法及装置 |
CN105468465A (zh) * | 2015-12-28 | 2016-04-06 | 深圳市科漫达智能管理科技有限公司 | 一种基于ace的进程间通信系统和方法 |
CN106203113A (zh) * | 2016-07-08 | 2016-12-07 | 西安电子科技大学 | 安卓应用文件的隐私泄露监控方法 |
CN107786951A (zh) * | 2016-08-24 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种信息处理方法及终端设备 |
CN106446711A (zh) * | 2016-09-30 | 2017-02-22 | 努比亚技术有限公司 | 一种信息处理方法及电子设备 |
CN106650422A (zh) * | 2016-10-13 | 2017-05-10 | 中国科学院信息工程研究所 | 一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法 |
CN106570394A (zh) * | 2016-11-10 | 2017-04-19 | 厦门安胜网络科技有限公司 | 一种检测恶意程序的方法 |
CN106709347A (zh) * | 2016-11-25 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 应用运行的方法及装置 |
CN109086092A (zh) * | 2017-06-13 | 2018-12-25 | 中国移动通信集团四川有限公司 | Web程序调用本地插件的方法及装置 |
CN107688502A (zh) * | 2017-08-18 | 2018-02-13 | 苏州科达特种视讯有限公司 | 进程间通信方法及装置 |
CN107480530A (zh) * | 2017-08-23 | 2017-12-15 | 北京奇虎科技有限公司 | 安全检测的方法、装置、系统以及服务器 |
CN109558739A (zh) * | 2017-09-26 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 程序运行方法、装置、终端及可读介质 |
CN107888589A (zh) * | 2017-11-10 | 2018-04-06 | 恒宝股份有限公司 | 一种调用可信应用的方法及其系统 |
CN109067739A (zh) * | 2018-07-27 | 2018-12-21 | 平安科技(深圳)有限公司 | 通信数据加密方法和装置 |
CN110309005A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110309006A (zh) * | 2019-06-28 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
CN110555293A (zh) * | 2019-09-10 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法、装置、电子设备和计算机可读介质 |
CN111092872A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种隐私保护方法、装置及设备 |
CN111381903A (zh) * | 2020-03-18 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 程序运行方法、装置、设备及介质 |
CN111580988A (zh) * | 2020-04-29 | 2020-08-25 | 广州虎牙科技有限公司 | 开放平台的实现方法、装置、存储介质和计算机设备 |
CN111310196A (zh) * | 2020-05-09 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 风险识别方法及装置和电子设备 |
CN112163193A (zh) * | 2020-09-10 | 2021-01-01 | 珠海市魅族科技有限公司 | 一种广播注册控制方法、装置、设备及介质 |
CN112182506A (zh) * | 2020-09-16 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种数据的合规检测方法、装置及设备 |
CN112182508A (zh) * | 2020-09-16 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种合规业务指标的异常监测方法及装置 |
CN112559980A (zh) * | 2020-11-24 | 2021-03-26 | 珠海凡泰极客科技有限责任公司 | 一种可内嵌众多任意app的小程序运行时 |
CN112560022A (zh) * | 2020-12-03 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 一种系统接口调用的检测方法及装置 |
CN112231124A (zh) * | 2020-12-14 | 2021-01-15 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的应用间通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112948824A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shabtai et al. | Google android: A comprehensive security assessment | |
US9141801B2 (en) | Apparatus and method for analyzing permission of application for mobile devices and detecting risk | |
US9712530B2 (en) | Systems and methods for enforcing security in mobile computing | |
AU2012337403B2 (en) | Cryptographic system and methodology for securing software cryptography | |
CN107273744B (zh) | 电子装置和保护方法 | |
CN112948824B (zh) | 一种基于隐私保护的程序通信方法、装置及设备 | |
CN107111728B (zh) | 安全密钥导出功能 | |
KR20140045502A (ko) | 신뢰 레벨 활성화 기법 | |
CN107122634B (zh) | 软件安装包的加固保护方法及装置 | |
CN115378735B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN113792297A (zh) | 一种业务处理方法、装置及设备 | |
CN113704826A (zh) | 一种基于隐私保护的业务风险检测方法、装置及设备 | |
CN104318156A (zh) | 一种进程访问安全方法及系统 | |
US9965620B2 (en) | Application program interface (API) monitoring bypass | |
CN113239853A (zh) | 一种基于隐私保护的生物识别方法、装置及设备 | |
US20240127250A1 (en) | Resource transfer methods, apparatuses, and devices | |
CN108985096B (zh) | 一种Android SQLite数据库安全增强、安全操作方法以及装置 | |
Omar et al. | Android application security | |
Bousquet et al. | Mandatory access control for the android dalvik virtual machine | |
CN115495343A (zh) | 一种安全维护方法、装置、存储介质及电子设备 | |
Balakrishnan et al. | Non-repudiable disk I/O in untrusted kernels | |
Lim et al. | Protecting Android Applications with Multiple DEX Files Against Static Reverse Engineering Attacks. | |
CN112926089B (zh) | 一种基于隐私保护的数据风险防控方法、装置及设备 | |
CN114238943A (zh) | 应用程序防护方法、装置、设备及存储介质 | |
CN113836529A (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 |