CN110210220B - 一种信息泄露检测方法、装置和存储介质 - Google Patents

一种信息泄露检测方法、装置和存储介质 Download PDF

Info

Publication number
CN110210220B
CN110210220B CN201810796287.1A CN201810796287A CN110210220B CN 110210220 B CN110210220 B CN 110210220B CN 201810796287 A CN201810796287 A CN 201810796287A CN 110210220 B CN110210220 B CN 110210220B
Authority
CN
China
Prior art keywords
data
data stream
information
information leakage
function
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
CN201810796287.1A
Other languages
English (en)
Other versions
CN110210220A (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 CN201810796287.1A priority Critical patent/CN110210220B/zh
Publication of CN110210220A publication Critical patent/CN110210220A/zh
Application granted granted Critical
Publication of CN110210220B publication Critical patent/CN110210220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种信息泄露检测方法、装置和存储介质。本发明实施例可以在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中;若数据流中包含与预设数据内容和/或格式相同的数据,则确定被检测进程存在信息泄露。该方案实现了应用程序进程的信息泄露检测,检测方法高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。

Description

一种信息泄露检测方法、装置和存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种信息泄露检测方法、装置和存储介质。
背景技术
随着网络技术的发展,应用程序的安全越来越受到重视,技术人员可以通过漏洞挖掘来找出漏洞,进而采取相应的安全措施来保障应用程序的安全。目前,主流的漏洞挖掘技术和工具都致力于挖掘内存破坏型漏洞,如溢出、越界和Use-After-Free(释放后再使用)等类型的漏洞。
在对现有技术的研究和实践过程中,本发明的发明人发现,应用程序还可能存在信息泄露漏洞,应用程序在运行时可能被执行的进程泄露敏感信息,信息泄露漏洞可以用于提权、逃逸沙箱、甚至直接泄露内存中的敏感信息,导致隐私信息暴露,给用户造成巨大危害。可见,信息泄露给应用程序带来了巨大的安全隐患,而目前几乎没有检测应用程序进程是否存在信息泄露的方法。
发明内容
本发明实施例提供一种信息泄露检测方法、装置和存储介质,旨在检测应用程序进程是否存在信息泄露。
本发明实施例提供一种信息泄露检测方法,包括:
在被检测进程运行的过程中,获取第一拦截函数截获的数据流,所述第一拦截函数配置在所述被检测进程的进程间通信框架中;
若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露。
可选地,所述第一拦截函数配置在所述被检测进程的进程间通信框架中,包括:
确定被检测进程的进程间通信框架,获取所述进程间通信框架中的数据收发节点;
在所述数据收发节点上配置第一拦截函数。
可选地,所述获取所述进程间通信框架中的数据收发节点,包括:
将进程间通信框架驱动确定为所述进程间通信框架中的数据收发节点,以在所述被检测进程切换为内核态时,拦截所述进程间通信框架驱动发出的数据流。
可选地,所述获取第一拦截函数截获的数据流,之前还包括:
在内存管理函数上配置第二拦截函数,其中,所述内存管理函数位于运行被检测进程的系统标准函数库中;
在所述第二拦截函数拦截到所述内存管理函数分配的内存和/或指针时,根据所述内存和/或指针配置预设数据。
可选地,所述内存为未初始化的内存,所述根据所述内存配置预设数据,包括:
使用预设的染色数据,对所述内存进行染色,将所述染色数据配置到预设数据中。
可选地,所述若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露,包括:
若所述数据流中包含与所述内存和/或指针内容相同的数据,则确定所述被检测进程存在信息泄露。
可选地,所述获取第一拦截函数截获的数据流,之后还包括:
检测所述数据流中是否包含与预设数据内容和/或格式相同的数据。
可选地,所述检测所述数据流中是否包含与预设数据内容和/或格式相同的数据,包括:
获取所述数据流中的数据包,调用所述进程间通信框架中的打包函数解析所述数据包,得到待匹配数据;
在所述待匹配数据中,查找与预设数据内容和/或格式相同的数据;
若在所述待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定所述数据流中包含与预设数据内容和/或格式相同的数据。
可选地,所述确定所述被检测进程存在数据泄露,之后还包括:
获取所述数据流的状态信息,解析所述状态信息得到所述数据流对应的服务信息;
根据所述服务信息,确定所述被检测进程的信息泄露源位置。
可选地,所述确定所述被检测进程存在数据泄露,之后还包括:
获取所述数据流的状态信息,解析所述状态信息得到接收所述数据流的目标进程。
本发明实施例还提供一种信息泄露检测装置,包括:
获取单元,用于在被检测进程运行的过程中,获取第一拦截函数截获的数据流,所述第一拦截函数配置在所述被检测进程的进程间通信框架中;
泄露单元,用于若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露。
可选地,所述装置还包括:
第一配置单元,用于确定被检测进程的进程间通信框架,获取所述进程间通信框架中的数据收发节点;在所述数据收发节点上配置第一拦截函数。
可选地,所述第一配置单元具体用于:
将进程间通信框架驱动确定为所述进程间通信框架中的数据收发节点,以在所述被检测进程切换为内核态时,拦截所述进程间通信框架驱动发出的数据流。
可选地,所述装置还包括:
第二配置单元,用于在内存管理函数上配置第二拦截函数,其中,所述内存管理函数位于运行被检测进程的系统标准函数库中;
第三配置单元,用于在所述第二拦截函数拦截到所述内存管理函数分配的内存和/或指针时,根据所述内存和/或指针配置预设数据。
可选地,所述内存为未初始化的内存,所述第三配置单元具体用于:
使用预设的染色数据,对所述内存进行染色,将所述染色数据配置到预设数据中。
可选地,所述泄露单元具体用于:
若所述数据流中包含与所述内存和/或指针内容相同的数据,则确定所述被检测进程存在信息泄露。
可选地,所述泄露单元还用于:
检测所述数据流中是否包含与预设数据内容和/或格式相同的数据。
可选地,所述泄露单元具体用于:
获取所述数据流中的数据包,调用所述进程间通信框架中的打包函数解析所述数据包,得到待匹配数据;在所述待匹配数据中,查找与预设数据内容和/或格式相同的数据;若在所述待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定所述数据流中包含与预设数据内容和/或格式相同的数据。
可选地,所述装置还包括:
服务单元,用于获取所述数据流的状态信息,解析所述状态信息得到所述数据流对应的服务信息;根据所述服务信息,确定所述被检测进程的信息泄露源位置。
可选地,所述装置还包括:
进程单元,用于获取所述数据流的状态信息,解析所述状态信息得到接收所述数据流的目标进程。
本发明实施例还提供一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一信息泄露检测方法中的步骤。
本发明实施例通过在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与预设数据内容和/或格式相同的数据,则可以判定数据流中包含了敏感信息,确定被检测进程存在信息泄露。该方案通过在进程间通信框架里中配置拦截函数,能够拦截到被检测进程通过进程间通信框架向其他进程发送的全部数据流,避免被检测进程外发的数据流被遗漏,保障了信息泄露检测的效率。并且,通过数据内容和/或格式匹配来检测数据流中是否包含敏感信息,能够根据实际需求来检测数据流中是否包含了指定模式的敏感数据,提高了信息泄露检测的灵活性、灵敏性和准确性。由此,该方案采用在进程间通信框架中配置的拦截函数来进行数据拦截,保障被检测进程向其他进程发送的每一条消息都能够进行信息泄露检测,实现了应用程序进程的信息泄露检测。并且,由于进程间的通信几乎都是通过进程间通信框架进行的,因此,该方案技术通用性较好,不需要为不同的被检测应用程序进程定制不同的实现方案,降低了信息泄露检测的技术难度和操作难度。该方案实现了检测方法的高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的信息交互场景示意图;
图1b是本发明实施例提供的信息泄露检测方法的流程示意图;
图2是本发明实施例提供的另一信息泄露检测方法的流程示意图;
图3是本发明实施例提供的信息泄露检测场景示意图;
图4a是本发明实施例提供的信息泄露检测装置结构示意图;
图4b是本发明实施例提供的另一信息泄露检测装置结构示意图
图5是本发明实施例提供的又一信息泄露检测装置结构示意图;
图6是本发明实施例提供的网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种信息泄露检测方法、装置及存储介质。
参考图1a所示的信息交互场景示意图,信息泄露检测装置可以集成在服务器、终端等设备中;被检测进程可单独运行在终端、服务器等设备中,也可以运行在集成信息泄露检测装置的设备中,被检测进程在运行的过程中,可能向其他进程发送数据流,接收数据流的进程为目标进程。其中,目标进程可以与被检测进程运行在同一设备中或不同的设备中。
被检测进程启动后,在被检测进程运行的过程中,信息泄露检测装置获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中;若数据流中包含与预设数据内容和/或相同的数据,则信息泄露检测装置确定被检测进程存在信息泄露,被检测进程发送给目标进程的信息流中包含了敏感信息。
由此,该方案采用在进程间通信框架中配置的拦截函数来进行数据拦截,保障被检测进程向其他进程发送的每一条消息都能够进行信息泄露检测,实现了应用程序进程的信息泄露检测。并且,由于进程间的通信几乎都是通过进程间通信框架进行的,因此,该方案技术通用性较好,不需要为不同的被检测应用程序进程定制不同的实现方案,降低了信息泄露检测的技术难度和操作难度。该方案实现了检测方法的高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。
上述图1a的例子只是实现本发明实施例的一个信息交互场景实例,本发明实施例并不限于上述图1a所示的信息交互场景,基于该信息交互场景,提出本发明各个实施例。
在本实施例中,将从信息泄露检测装置的角度进行描述,该信息泄露检测装置具体可以集成在网络设备如终端或服务器等设备中。
本发明实施例提供一种信息泄露检测方法,包括:在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中;若数据流中包含与预设数据内容和/或相同的数据,则确定被检测进程存在信息泄露。需要说明的是,可以对执行被检测应用程序的一个或多个进程分别进行信息泄露检测,本实施例以单个进程进行信息泄露检测进行说明。
如图1b所示,该信息泄露检测方法的具体流程可以如下:
101、在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中。
本实施例中,以被检测的应用程序为Android(安卓)程序、且被检测进程运行在安卓平台中进行举例说明。
其中,被检测进程可以运行在终端、虚拟机、服务器等设备中,进行信息泄露检测。进程间通信框架具体是由各项功能程序、函数和/或类按照一定的通信机制搭建而成,也可理解为包含各项功能程序、函数和/或类的库,以实现进程间通信服务。进程可以通过进程间通信框架向其他进程传递消息。其中,功能函数例如数据收发函数、内存分配函数、驱动等等。
本实施例中,进程间通信框架可以是Binder框架,Binder是安卓平台的一种IPC(Inter-Process Communication,进程间通信)框架,安卓平台上进程间的通信可以通过Binder框架进行。由此,第一拦截函数能够拦截到被检测进程通过进程间通信框架发送给其他进程的数据流。
拦截函数可以是Hook(钩子)函数,配置在被检测进程的进程间通信框架中。每当进程间通信框架向其他进程发送消息时,在没有到达目标进程前,Hook函数就可以先捕获该消息,亦即Hook函数先得到控制权。在得到该消息后,Hook函数即可以加工处理(例如修改)该消息,也可以不作处理而继续传递该消息,还可以强制结束该消息的传递。
被检测进程启动后,第一拦截函数拦截被检测进程在运行过程中发送给其他进程的数据流。在第一拦截函数拦截到被检测进程通过进程间通信框架发送给其他进程的数据流后,信息泄露检测装置获取第一拦截函数截获的数据流。具体可以是第一拦截函数主动将截获的数据流发送给信息泄露检测装置;也可以是信息泄露检测装置根据预设的周期发消息询问第一拦截函数是否有截获数据流,在收到肯定答复时请求第一拦截函数将截获的数据流发送给信息泄露检测装置,当然,还可以是其他的获取方式,可根据实际需要灵活配置。
在一些实施例中,为了能够更准确拦截到被检测进程发送给其他进程的数据流,步骤“第一拦截函数配置在所述被检测进程的进程间通信框架中”,可以包括:
确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上配置第一拦截函数。
需要说明的是,步骤“确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上配置第一拦截函数”可以在启动被检测进程前进行,也可以在启动被检测进程之后执行,可根据实际需要灵活配置。
信息泄露检测装置首先确定被检测进程的进程间通信框架,例如Binder框架,然后在被检测进程的进程间通信框架中找到数据收发节点,在数据收发节点上增加一个拦截函数,作为第一拦截函数,用于拦截数据收发节点发出的全部信息,也即数据流。当然,拦截函数也可以作为一个拦截模块加载在数据收发节点中,可根据实际需要灵活配置。
其中,数据收发节点可以包括进程间通信框架中收发数据的程序、函数或是类等等,以在用户态拦截被检测进程向其他进程发送的信息。例如,Binder框架中的IPCThreadState(进程间通信线程状态)是用于收发数据的类,向其他进程发送数据流或是接收其他进程发送的数据流,可以作为数据收发节点在其上配置第一拦截函数。
由此,当被检测进程启动后,在用户态,第一拦截函数即可拦截数据收发节点向其他进程发送的数据流,无需获取被检测进程所在设备或系统的ROOT(根)权限就能对进程进行检测,通用性较好,不需要为不同检测目标定制不同的实现方案,也无需编译系统程序文件。
在一些实施例中,数据收发节点包括进程间通信框架驱动。进程间通信框架驱动是进程间通信框架中被配置在Linux内核代码里、不对应实体硬件的函数。进程在向其他进程发送消息时,在用户态将数据发送给进程间通信框架中收发数据程序、函数或是类等,然后,收发数据程序、函数或是类等进行系统调用,将用户态切换为内核态,在系统层面由进程间通信框架驱动向其他进程发送数据,实现进程间消息的传递。因此,拦截进程间通信框架驱动的数据流,即可检测到数据是否泄露。
因此,步骤“获取进程间通信框架中的数据收发节点”可以包括:将进程间通信框架驱动确定进程间通信框架中的数据收发节点,以在被检测进程切换为内核态时,拦截进程间通信框架驱动发出的数据流。
当被检测进程需要向其他进程发送信息时,需要进行系统调用,切换为内核态,由进程间通信框架驱动向其他进程发送数据流。因此,信息泄露检测装置可以将被检测进程的进程间通信框架驱动确定为数据收发节点,在其上配置第一拦截函数,使得第一拦截函数可以在内核态拦截到被检测进程发送给其他进程的信息流进行信息泄露检测。在内核态拦截数据流时,被检测进程运行在集成信息泄露检测装置的设备中。
其中,进程间通信框架驱动可以是Binder驱动,在Binder驱动上配置第一拦截函数,能够实现在内核态拦截Binder驱动向其他进程发送的消息。
在进程间通信框架驱动上配置第一拦截函数可以有如下两种方式:
一是获取被检测进程所在设备或系统的ROOT权限,在系统内核中加载拦截模块,作为第一拦截函数,拦截被检测进程的进程间通信框架驱动发送给其他进程的数据流,实现在进程间通信框架驱动上配置第一拦截函数。由此,第一拦截函数配置在系统层面中,可以筛选出被检测进程的进程间通信框架驱动发送给其他进程的数据流,进行检测。
需要说明的是,由于进程的内核态是在权级最高的内核代码中执行,因此信息泄露检测装置需要获取被检测进程所在设备或系统的ROOT权限,才能在系统内核中加载拦截模块。
一是修改被检测进程所在系统的进程间通信框架驱动的源代码中添加拦截函数,作为第一拦截函数,实现在进程间通信框架驱动上配置第一拦截函数。由此,第一拦截函数被配置在被检测进程的进程间通信框架驱动中,可以拦截到被检测进程的进程间通信框架驱动发送给其他进程的数据流。
由此,实现了第一拦截函数的配置。当进程间通信框架中的数据收发程序、函数或是类向其他进程发送消息时,进行系统调用,被检测进程由用户态切换为内核态,由进程间通信框架驱动向其他进程发送此消息,则第一拦截函数可以拦截到进程间通信框架驱动发出的数据流。
需要说明的是,作为一种实施方式,还可以在进程间通信框架中收发数据的程序、函数或是类上配置第一拦截函数,并且,在进程间通信框架驱动中也配置第一拦截函数。在进程间通信框架中收发数据的程序、函数或是类上配置第一拦截函数失败,或是在进程间通信框架驱动中配置第一拦截函数失败时,保障被检测进程发送给其他进程的数据流能够被成功拦截,实现双保险。
信息泄露检测装置在获取数据流后,可以将数据流发往第三方检测设备,检测数据流中是否包含与预设数据内容和/或预设数据格式相同的数据,获取第三方检测设备返回的检测结果。当然,信息泄露检测装置也可以自行检测数据流中是否包含与预设数据内容和/或预设数据格式相同的数据。
其中,预设数据可以是业务级数据和/或系统级数据。业务级数据可以包括敏感的用户信息等;系统级数据可以包括分配的内存、指针等数据。
需要说明的是,与预设数据内容相同是指数据流中包含与预设的字符串完全相同的字符串;与预设数据格式相同是指数据流中包含与预设的字符串格式一致的字符串,数据格式可以包括字符串的语言类型、长度和/或排列方式等等。可根据实际检测需要配置预设数据的内容和格式,用于查找数据。并且,预设数据可以包括多个内容不同的字符串,和/或格式不同的字符串,以同时实现多种数据泄露的检测。
例如,若当前仅检测被检测进程是否泄露了某一用户的密码,则预设数据的内容为此用户账号和密码,信息泄露检测装置检测数据流中是否包含此用户账号和密码。若信息泄露检测装置在数据流找到了此用户账号和密码,则确定数据流包含与预设数据内容相同的数据。
若当前需要检测被检测进程是否泄露了用户密码类型的数据,则将用户密码的数据格式配置为预设数据格式,例如,预设数据格式为8位字符,其中首位字符为英文大写字母,剩余7位字符中包含英文字母和阿拉伯数字。则信息泄露检测装置检测数据流中是否包含与此用户密码数据格式相同的数据,若有,则确定在数据流中找到了与预设数据格式相同的数据。
在检测数据流中是否包含与预设数据内容和/或格式相同的数据后,信息泄露检测装置可以继续传递此信息流、修改此信息流或是结束此信息流的传递,具体可根据实际需要灵活配置。
在一些实施例中,信息泄露检测装置检测数据流中是否包含与预设数据内容和/或格式相同的数据可以包括:获取数据流中的数据包,调用进程间通信框架中的打包函数解析数据包,得到待匹配数据;在待匹配数据中,查找与预设数据内容和/或格式相同的数据;若在待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定数据流中包含与预设数据内容和/或格式相同的数据。
由于外发的数据是以数据包的形式存在数据流中,因此,需要信息泄露检测装置提取出数据流中的数据包,以数据包的打包模式来解包,得到被打包外发的原始数据,将原始数据作为待匹配数据。
由于在Binder框架中,数据流中的数据是由Binder框架中的Parcel类打包的,因此,信息泄露检测装置可以调用Parcel类中的打包函数来解析IPCThreadState发出的数据流中的Parcel包,从而以Parcel打包存储数据的模式解析数据包,得到被打包的原始数据。
在得到待匹配数据后,信息泄露检测装置在待匹配数据中查找与预设数据内容相同和/或格式相同的数据。若在待匹配数据中找到与预设数据内容相同和/或格式相同的数据,则判定数据流中包含与预设数据内容和/或格式相同的数据。若在待匹配数据未中找到与预设数据内容相同和/或格式相同的数据,则判定数据流中不包含与预设数据内容和/或格式相同的数据。
102、若所述数据流中包含与预设数据内容和/或相同的数据,则确定被检测进程存在信息泄露。
若数据流中包含与预设数据内容相同和/或与预设数据格式相同的数据,则证明数据流中包含了不希望被外泄的敏感信息,信息泄露检测装置确定被检测进程存在信息泄露,被检测的应用程序存在信息泄露漏洞。
若数据流中不包含与预设数据内容相同和/或与预设数据格式相同的数据,则转入执行步骤101,信息泄露检测装置继续获取第一拦截函数拦截到的数据流,以检测数据流中是否包含与预设数据内容和/或格式相同的数据。
在一些实施例中,在步骤102之后,该信息泄露检测方法还包括:获取数据流的状态信息,解析状态信息得到数据流对应的服务信息;根据服务信息,确定被检测进程的信息泄露源位置。
若确定数据流中包含与预设数据内容和/或格式相同的数据,数据流包含了敏感信息,则信息泄露检测装置可以获取此数据流的状态信息,以找到敏感信息泄露发生的根源位置。
其中,状态信息中包括了数据流对应的服务名和服务号等服务信息。服务名也即服务的名称;服务号表示了服务的作用或者功能,便于快速查找到服务代码。
信息泄露检测装置解析数据流的状态信息,获取状态信息中的服务信息,得到数据流对应的服务名和服务号等。然后,信息泄露检测装置根据服务名确定被检测进程中泄露信息的服务,并根据服务号定位到此服务代码的位置,作为被检测进程的信息泄露源位置,也即被检测应用程序的信息泄露源位置。
由此,得到了被检测进程信息泄露产生的处理逻辑位置,便于溯源。
在一些实施例中,在步骤103之后,该信息泄露检测方法还包括:获取数据流的状态信息,解析状态信息得到接收数据流的目标进程。
若确定数据流中包含与预设数据内容和/或格式相同的数据,数据流包含了敏感信息,则信息泄露检测装置可以获取此数据流的状态信息,以找到接收敏感信息的目标进程。
其中,状态信息中包括了接收数据流的目标进程号等信息。信息泄露检测装置解析数据流的状态信息,获取状态信息中的目标进程号,得到接收数据流的目标进程。
由此,可以得到被检测进程信息泄露的路径。
由上可知,本发明实施例通过在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与预设数据内容和/或格式相同的数据,则可以判定数据流中包含了敏感信息,确定被检测进程存在信息泄露。该方案通过在进程间通信框架里中配置拦截函数,能够拦截到被检测进程通过进程间通信框架向其他进程发送的全部数据流,避免被检测进程外发的数据流被遗漏,保障了信息泄露检测的效率。并且,通过数据内容和/或格式匹配来检测数据流中是否包含敏感信息,能够根据实际需求来检测数据流中是否包含了指定模式的敏感数据,提高了信息泄露检测的灵活性、灵敏性和准确性。由此,该方案采用在进程间通信框架中配置的拦截函数来进行数据拦截,保障被检测进程向其他进程发送的每一条消息都能够进行信息泄露检测,实现了应用程序进程的信息泄露检测。并且,由于进程间的通信几乎都是通过进程间通信框架进行的,因此,该方案技术通用性较好,不需要为不同的被检测应用程序进程定制不同的实现方案,降低了信息泄露检测的技术难度和操作难度。该方案实现了检测方法的高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。
在一实施例中,提供了一种信息泄露检测方法,与上述信息泄露检测方法实施例的区别在于:本实施例中还在进程间通信内框架中的内存管理函数上配置了拦截点,以检测系统内存数据是否存在泄露。参照图2,该方法包括:
201、在内存管理函数上配置第二拦截函数,其中,内存管理函数位于运行被检测进程的系统标准函数库中。
需要说明的是,步骤201可以在被检测进程启动后执行,也可以在被检测进程启动前执行,可根据实际需要灵活配置。
信息泄露检测装置需要获取运行被检测进程的系统的标准数据库,在标准数据库中的内存管理函数上配置第二拦截函数。以被检测进程运行在Android系统中为例,系统的标准函数库可以是Android平台的bionic libc(系统C库)库,其中包括用于内存管理的关键函数。本实施例中,内存管理函数可以包括malloc(内存分配函数)、free(内存释放函数)和/或realloc(内存再分配函数)等,可根据实际需要灵活配置。
第二拦截函数可以是Hook函数,可以用于拦截内存管理函数分配的内存。
202、在第二拦截函数拦截到内存管理函数分配的内存和/或指针时,根据内存和/或指针配置预设数据。
在被检测进程启动后,若内存管理函数分配了内存,则信息泄露检测装置根据分配的内存和/或指针配置预设数据,用于检测是否泄露了内存数据。
具体的,在第二拦截函数拦截到内存管理函数分配的内存时,信息泄露检测装置可以根据分配的内存配置预设数据;在第二拦截函数拦截到内存管理函数分配的指针时,信息泄露检测装置可以根据分配的指针配置预设数据;在第二拦截函数拦截到内存管理函数分配的内存和指针时,信息泄露检测装置可以根据分配的内存和/或指针配置预设数据。
例如,内存管理函数在分配内存时,会对应分配指针,则信息泄露检测装置可以获取内存管理函数分配的指针,根据内存管理函数分配的指针配置预设数据,进行信息泄露检测。当然,信息泄露检测装置还可以将指针存入全局表中,将全局表配置到预设数据中。
在一些实施例中,内存管理函数分配的内存为未初始化的内存,则步骤“根据内存配置预设数据”包括:使用预设的染色数据,对内存进行染色,将染色数据配置到预设数据中。
在被检测进程启动后,若内存管理函数分配了未初始化的内存,则第二拦截函数拦截此未初始化的内存。其中,未初始化的内存中可能包括了上次运行保留的敏感信息,例如用户密码等未初始化的数据。
然后,信息泄露检测装置获取第二拦截函数截获的未初始化的内存,使用预设的染色数据,对未初始化的内存进行染色。例如,预设的染色数据可以是预设的特殊模数,具有特殊标识的作用,与进程中常规的运行数据不同。
并且,信息泄露检测装置将染色数据配置到预设数据中,进行信息泄露检测。由此,实现了使用染色数据替换内存进行信息泄露检测,若在数据流中检测到染色数据,也即意味着内存信息的泄露。
需要说明的是,对未初始化的内存进行染色可以是使用预设的染色数据替换掉未初始化内存中的原始数据。由此,不仅可以用于检测未初始化内存中的数据是否被泄露,而且,保障了未初始化内存中的原始数据不会真的被泄露。
当然,信息泄露检测装置还可以将染色数据和内存管理函数分配的指针配置到预设数据中,实现多重检测。
需要说明的是,预设数据中可以不仅可以包括染色数据或是内存管理函数分配的指针等系统级数据,还可以包括根据业务需求配置的业务级数据,从而实现对系统内存和业务信息的同时检测。
203、在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中。
具体可参照上述信息泄露检测方法实施例中步骤101的实施方式,在此不再赘述。
204、若数据流中包含与内存和/或指针内容相同的数据,则确定被检测进程存在信息泄露。
例如,在一些实施例中,预设数据包括染色数据,则信息泄露检测装置在数据流中查找与染色数据内容相同的数据;若在数据流中找到与染色数据内容相同的数据,则确定被检测进程存在信息泄露。
具体地,信息泄露检测装置可以将数据流的字符作为待匹配数据,染色数据作为预设数据,从待匹配数据的第一个字符起与预设数据的第一个字符比较,若相等,则继续对字符进行后续的比较,否则待匹配数据从第二个字符起与预设数据的第一个字符重新比较,直至预设数据中的每个字符依次和待匹配数据中的一个连续的字符序列相等为止,此时称为匹配成功,否则匹配失败。
若匹配成功,则确定在数据流中找到了与染色数据内容相同的数据,确定被检测进程存在信息泄露。
在一些实施例中,预设数据包括内存管理函数分配的指针,则步骤204可以包括:在测数据流中查找与指针内容相同的数据;若在数据流中找到与指针内容相同的数据,则确定被检测进程存在信息泄露。
信息泄露检测装置在数据流中查找与内存管理函数分配的指针内容相同的数据,具体可以将数据流的字符作为待匹配数据,内存管理函数分配的指针作为预设数据,从待匹配数据的第一个字符起与预设数据的第一个字符比较,若相等,则继续对字符进行后续的比较,否则待匹配数据从第二个字符起与预设数据的第一个字符重新比较,直至预设数据中的每个字符依次和待匹配数据中的一个连续的字符序列相等为止,此时称为匹配成功,否则匹配失败。
若匹配成功,则确定在数据流中找到了与内存管理函数分配的指针内容相同的数据,进而确定被检测进程存在信息泄露。
在一些实施例中,预设数据包括染色数据和内存管理函数分配的指针,则信息泄露检测设备若在数据流中找到与内存管理函数分配的指针和/或染色数据相同的数据,就判定被检测进程存在信息泄露,泄露了内存信息。
由此,实现了对数据流的检测。
由上可知,本发明实施例通过在运行被检测进程的系统标准函数库中的内存管理函数里配置第二拦截函数,能够拦截到内存管理函数分配内存时的信息,进而供配置预设数据使用,检测被检测进程运行时是否泄露了内存;在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与内存和/或指针内容相同的数据,则可以判定数据流中包含了内存信息,确定被检测进程存在信息泄露。该方案通过在内存管理函数上配置拦截函数,能够截获分配内存的相关信息用于内存信息泄露检测,由此,该方案不仅能够实现对业务信息的泄露检测,而且,还可以实现内存信息泄露的检测,适用面广、有着良好的应用前景。
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
例如,参照图3,在本实施例中,将以该信息泄露检测装置具体集成在网设备中进行说明,被检测进程运行在Android系统平台中,进程间通信框架为Binder框架,第一拦截函数和第二拦截函数均为Hook函数。
(一)被检测进程启动。
被检测进程可以运行在终端、虚拟机、服务器等设备中,进行信息泄露检测。
(二)Hook内存管理函数。
进程启动后,网络设备在bionic libc中的内存管理函数上配置Hook函数,以Hook住内存管理函数。
其中,内存管理函数可以包括malloc、free和/或realloc等涉及到内存管理的相关函数。网络设备可以通过添加程序段或是加载Hook模块等方式配置Hook函数。
内存管理函数中的Hook函数用于拦截内存管理函数分配的内存和指针,使用预设的染色数据对内存进行染色,将染色数据配置到预设数据中;和/或,将分配的指针配置到预设数据中,用于内存信息泄露的检测。
(三)判断是否Hook成功。
在Hook内存管理函数后,网络设备判断Hook函数是否成功的配置到了内存管理函数中。例如,可以通过是否能够成功调用Hook函数来判断是否Hook成功。
若Hook成功,则继续执行(四)Hook Binder框架中的数据收发节点;若Hook失败,则转入执行(十)退出。
(四)Hook Binder框架中的数据收发节点。
内存管理函数Hook成功后,网络设备在Binder框架中IPCThreadState中的配置Hook函数,以Hook住Binder框架中的数据收发节点。网络设备可以通过添加程序段或是加载Hook模块等方式配置Hook函数。
数据收发节点中的Hook函数用于拦截数据收发节点向其他进程发送的数据流,进行信息泄露的检测。
(五)判断是否Hook成功。
在Hook数据收发节点后,网络设备判断Hook函数是否成功的配置到了数据收发节点中。例如,可以通过是否能够成功调用Hook函数来判断是否Hook成功。
若Hook成功,则继续执行(六)进程继续执行;若Hook失败,则转入执行(十)退出。
(六)进程继续执行。
需要说明的是,被检测进程启动后,Hook内存管理函数和Hook Binder框架中的数据收发节点可以同时执行,在二者均Hook成功后,再执行(七)拦截数据收发节点发出的数据流,通过模式匹配检测信息泄露。
(七)获取数据收发节点中Hook截获的数据流,通过模式匹配检测信息泄露。
在内存管理函数和框架中的数据收发节点都Hook成功后,被检测进程在运行过程中发向其他进程的信息都会被数据收发节点中Hook函数拦截。
网络设备获取数据收发节点中Hook函数截获的数据流,通过模式匹配来检测信息泄露。具体的,预设模式可以是预设数据内容或预设数据格式,网络设备需要检测数据流中是否包含与预设数据内容和/或格式相同的数据。若数据流中包含与预设数据内容和/或格式相同的数据,则判定数据流与预设模式匹配。
检测数据流与预设数据内容或是格式是否相同的具体实施方式可参照上述信息泄露检测方法实施例中的描述,在此不再追溯。预设数据可以包括系统级数据和/或业务级数据。
(八)判断是否检测到信息泄露。
若数据流与预设模式匹配,则网络设备确定检测到信息泄露,转入执行(九)记录泄露信息的服务信息和目标进程号。
若数据流与预设模式不匹配,则网络设备确定未检测到信息泄露,转入执行(六)进程继续执行。
(九)记录泄露信息的服务信息和目标进程号。
在检测到信息泄露后,网络设备获取数据流的状态信息,解析提取其中的服务信息和目标进程号,从而确定发生信息泄露的源位置以及接受泄露信息的目标进程。
然后,网络设备继续执行(六)进程继续执行,继续进行信息泄露的检测。
(十)退出。
在内存管理函数Hook失败或是数据收发节点Hook失败时,网络设备可以控制进程强行停止运行,或是退出信息泄露检测。
由此,本发明实施例通过在内存管理函数和Binder框架中的数据收发节点上配置Hook函数,拦截被检测发向其他进程的数据流进行信息泄露检测,实现了内存泄露和业务信息泄露的多重检测,保障了信息泄露检测的完整性。
为了更好的实施以上方法,本发明是实施例还提供一种信息泄露检测装置,信息泄露检测装置具体可以集成在网络设备如终端或服务器等设备中,终端可以包括手机、笔记本电脑或个人计算机等设备。
例如,如图4a所示,该信息泄露检测装置可以包括获取单元401和泄露单元402,如下:
(1)、获取单元401;
获取单元401,用于在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中。
其中,被检测进程可以运行在终端、虚拟机、服务器等设备中,进行信息泄露检测。被检测进程启动后,第一拦截函数拦截被检测进程在运行过程中发送给其他进程的数据流。
在第一拦截函数拦截到被检测进程通过进程间通信框架发送给其他进程的数据流后,获取单元401获取第一拦截函数截获的数据流。具体可以是第一拦截函数主动将截获的数据流发送给获取单元401;也可以是获取单元401根据预设的周期发消息询问第一拦截函数是否有截获数据流,在收到肯定答复时请求第一拦截函数将截获的数据流发送给获取单元401,当然,还可以是其他的获取方式,可根据实际需要灵活配置。
在获取数据流后,获取单元401可以将数据流发往第三方检测设备,检测数据流中是否包含与预设数据内容和/或预设数据格式相同的数据,获取第三方检测设备返回的检测结果。
(2)泄露单元402。
泄露单元402,用于若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露。
泄露单元402可以获取第三方检测设备返回的数据流中是否包含与预设数据内容和/或预设数据格式相同的数据的检测结果,也可以自行检测数据流中是否包含与预设数据内容和/或预设数据格式相同的数据,得到检测结果。
例如,在一些实施例中,泄露单元402还可以用于检测数据流中是否包含与预设数据内容和/或预设数据格式相同的数据。其中,预设数据可以是业务级数据和/或系统级数据。业务级数据可以包括敏感的用户信息等;系统级数据可以包括分配的内存、指针等数据。
需要说明的是,与预设数据内容相同是指数据流中包含与预设的字符串完全相同的字符串;与预设数据格式相同是指数据流中包含与预设的字符串格式一致的字符串,数据格式可以包括字符串的语言类型、长度和/或排列方式等等。可根据实际检测需要配置预设数据的内容和格式,用于查找数据。并且,预设数据可以包括多个内容不同的字符串,和/或格式不同的字符串,以同时实现多种数据泄露的检测。
例如,若当前仅检测被检测进程是否泄露了某一用户的密码,则预设数据的内容为此用户账号和密码,泄露单元402检测数据流中是否包含此用户账号和密码。若泄露单元402在数据流找到了此用户账号和密码,则确定数据流包含与预设数据内容相同的数据。
若当前需要检测被检测进程是否泄露了用户密码类型的数据,则将用户密码的数据格式配置为预设数据格式,例如,预设数据格式为8位字符,其中首位字符为英文大写字母,剩余7位字符中包含英文字母和阿拉伯数字。则泄露单元402检测数据流中是否包含与此用户密码数据格式相同的数据,若有,则确定在数据流中找到了与预设数据格式相同的数据。
在检测数据流中是否包含与预设数据内容和/或格式相同的数据后,信息泄露检测装置可以继续传递此信息流、修改此信息流或是结束此信息流的传递,具体可根据实际需要灵活配置。
在一些实施例中,泄露单元402具体可以用于:获取数据流中的数据包,调用进程间通信框架中的打包函数解析数据包,得到待匹配数据;在待匹配数据中,查找与预设数据内容和/或格式相同的数据;若在待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定数据流中包含与预设数据内容和/或格式相同的数据。
由于外发的数据是以数据包的形式存在数据流中,因此,需要泄露单元402提取出数据流中的数据包,以数据包的打包模式来解包,得到被打包外发的原始数据,将原始数据作为待匹配数据。
由于在Binder框架中,数据流中的数据是由Binder框架中的Parcel类打包的,因此,泄露单元402可以调用Parcel类中的打包函数来解析IPCThreadState发出的数据流中的Parcel包,从而以Parcel打包存储数据的模式解析数据包,得到被打包的原始数据。
在得到待匹配数据后,泄露单元402在待匹配数据中查找与预设数据内容相同和/或格式相同的数据。若在待匹配数据中找到与预设数据内容相同和/或格式相同的数据,则判定数据流中包含与预设数据内容和/或格式相同的数据。若在待匹配数据未中找到与预设数据内容相同和/或格式相同的数据,则判定数据流中不包含与预设数据内容和/或格式相同的数据。
若数据流中包含与预设数据内容相同和/或与预设数据格式相同的数据,则证明数据流中包含了不希望被外泄的敏感信息,泄露单元402确定被检测进程存在信息泄露,被检测的应用程序存在信息泄露漏洞。
若数据流中不包含与预设数据内容相同和/或与预设数据格式相同的数据,则获取单元401继续获取第一拦截函数拦截到的数据流,以检测数据流中是否包含与预设数据内容和/或格式相同的数据。
由此,实现了进程间信息泄露的检测。
此外,参照图4b,信息泄露检测装置还可以包括:第一配置单元403、服务单元404和进程单元405,如下:
(3)第一配置单元403;
第一配置单元403,用于确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上配置第一拦截函数。
本实施例中,以被检测的应用程序为Android(安卓)程序、且被检测进程运行在安卓平台中进行举例说明。进程间通信框架具体是由各项功能程序、函数和/或类按照一定的通信机制搭建而成,也可理解为包含各项功能程序、函数和/或类的库,以实现进程间通信服务。进程可以通过进程间通信框架向其他进程传递消息。其中,功能函数例如数据收发函数、内存分配函数、驱动等等。
第一配置单元403首先确定被检测进程的进程间通信框架。例如,被检测进程的进程间通信框架可以是Binder框架,Binder是安卓平台的一种IPC(Inter-ProcessCommunication,进程间通信)框架,安卓平台上进程间的通信可以通过Binder框架进行。由此,第一拦截函数能够拦截到被检测进程通过进程间通信框架发送给其他进程的数据流。
然后,第一配置单元403在被检测进程的进程间通信框架中找到数据收发节点,在数据收发节点上增加一个拦截函数,作为第一拦截函数,用于拦截数据收发节点发出的全部信息,也即数据流。当然,拦截函数也可以作为一个拦截模块加载在数据收发节点中,可根据实际需要灵活配置。
其中,数据收发节点可以包括进程间通信框架中收发数据的程序、函数或是类等等,以在用户态拦截被检测进程向其他进程发送的信息。例如,Binder框架中的IPCThreadState(进程间通信线程状态)是用于收发数据的类,向其他进程发送数据流或是接收其他进程发送的数据流,可以作为数据收发节点在其上配置第一拦截函数。
拦截函数可以是Hook(钩子)函数,配置在被检测进程的进程间通信框架中,例如,数据收发节点上,每当进程间通信框架向其他进程发送消息时,在没有到达目标进程前,Hook函数就可以先捕获该消息,亦即Hook函数先得到控制权。在得到该消息后,Hook函数即可以加工处理(例如修改)该消息,也可以不作处理而继续传递该消息,还可以强制结束该消息的传递。
由此,当被检测进程启动后,在用户态,第一拦截函数即可拦截数据收发节点向其他进程发送的数据流,无需获取被检测进程所在设备或系统的ROOT(根)权限就能对进程进行检测,通用性较好,不需要为不同检测目标定制不同的实现方案,也无需编译系统程序文件。
在一些实施例中,第一配置单元403具体用于:将进程间通信框架驱动确定为进程间通信框架中的数据收发节点,以在被检测进程切换为内核态时,拦截进程间通信框架驱动发出的数据流。
当被检测进程需要向其他进程发送信息时,需要进行系统调用,切换为内核态,由进程间通信框架驱动向其他进程发送数据流。因此,第一配置单元403可以将被检测进程的进程间通信框架驱动确定为数据收发节点,在其上配置第一拦截函数,使得第一拦截函数可以在内核态拦截到被检测进程发送给其他进程的信息流进行信息泄露检测。
其中,进程间通信框架驱动可以是Binder驱动,在Binder驱动上配置第一拦截函数,能够实现在内核态拦截Binder驱动向其他进程发送的消息。
第一配置单元403在进程间通信框架驱动上配置第一拦截函数可以有如下两种方式:
一是获取被检测进程所在设备或系统的ROOT权限,在系统内核中加载拦截模块,作为第一拦截函数,拦截被检测进程的进程间通信框架驱动发送给其他进程的数据流,实现在进程间通信框架驱动上配置第一拦截函数。由此,第一拦截函数配置在系统层面中,可以筛选出被检测进程的进程间通信框架驱动发送给其他进程的数据流,进行检测。
一是修改被检测进程所在系统的进程间通信框架驱动的源代码中添加拦截函数,作为第一拦截函数,实现在进程间通信框架驱动上配置第一拦截函数。由此,第一拦截函数被配置在被检测进程的进程间通信框架驱动中,可以拦截到被检测进程的进程间通信框架驱动发送给其他进程的数据流。
当进程间通信框架中的数据收发程序、函数或是类向其他进程发送消息时,进行系统调用,被检测进程由用户态切换为内核态,由进程间通信框架驱动向其他进程发送此消息,则第一拦截函数可以拦截到进程间通信框架驱动发出的数据流。
需要说明的是,作为一种实施方式,还可以在进程间通信框架中收发数据的程序、函数或是类上配置第一拦截函数,并且,在进程间通信框架驱动中也配置第一拦截函数。在进程间通信框架中收发数据的程序、函数或是类上配置第一拦截函数失败,或是在进程间通信框架驱动中配置第一拦截函数失败时,保障被检测进程发送给其他进程的数据流能够被成功拦截,实现双保险。
(5)服务单元404;
服务单元404,用于获取数据流的状态信息,解析状态信息得到数据流对应的服务信息;根据服务信息,确定被检测进程的信息泄露源位置。
若确定数据流中包含与预设数据内容和/或格式相同的数据,数据流包含了敏感信息,则服务单元404可以获取此数据流的状态信息,以找到敏感信息泄露发生的根源位置。
其中,状态信息中包括了数据流对应的服务名和服务号等服务信息。服务名也即服务的名称;服务号表示了服务的作用或者功能,便于快速查找到服务代码。
服务单元404解析数据流的状态信息,获取状态信息中的服务信息,得到数据流对应的服务名和服务号等。然后,服务单元404根据服务名确定被检测进程中泄露信息的服务,并根据服务号定位到此服务代码的位置,作为被检测进程的信息泄露源位置,也即被检测应用程序的信息泄露源位置。
由此,服务单元404得到了被检测进程信息泄露产生的处理逻辑位置,便于溯源。
(6)进程单元405;
进程单元405,用于获取数据流的状态信息,解析状态信息得到接收数据流的目标进程。
若确定数据流中包含与预设数据内容和/或格式相同的数据,数据流包含了敏感信息,则进程单元405可以获取此数据流的状态信息,以找到接收敏感信息的目标进程。
其中,状态信息中包括了接收数据流的目标进程号等信息。进程单元405解析数据流的状态信息,获取状态信息中的目标进程号,得到接收数据流的目标进程。
由此,进程单元405可以得到被检测进程信息泄露的路径。
由上可知,本发明实施例在被检测进程运行的过程中,获取单元401获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,可以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与预设数据内容和/或格式相同的数据,则泄露单元402可以判定数据流中包含了敏感信息,确定被检测进程存在信息泄露。该方案通过在进程间通信框架里的上配置拦截函数,能够拦截到被检测进程通过进程间通信框架向其他进程发送的全部数据流,避免被检测进程外发的数据流被遗漏,保障了信息泄露检测的效率。并且,通过数据内容和/或格式匹配来检测数据流中是否包含敏感信息,能够根据实际需求来检测数据流中是否包含了指定模式的敏感数据,提高了信息泄露检测的灵活性、灵敏性和准确性。由此,该方案采用在进程间通信框架中配置的拦截函数来进行数据拦截,保障被检测进程向其他进程发送的每一条消息都能够进行信息泄露检测,实现了应用程序进程的信息泄露检测。并且,由于进程间的通信几乎都是通过进程间通信框架进行的,因此,该方案技术通用性较好,不需要为不同的被检测应用程序进程定制不同的实现方案,降低了信息泄露检测的技术难度和操作难度。该方案实现了检测方法的高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。
在一实施例中,提供了一种信息泄露检测装置,与上述信息泄露检测装置实施例的区别在于:本实施例中还在进程间通信内框架中的内存管理函数上配置了拦截点,以检测系统内存数据是否存在泄露。参照图5,该装置包括:第二配置单元501、第三配置单元502、获取单元503、泄露单元504,具体的:
(1)第二配置单元501;
第二配置单元501,用于在内存管理函数上配置第二拦截函数,其中,内存管理函数位于运行被检测进程的系统标准函数库中。
第二配置单元501需要获取运行被检测进程的系统的标准数据库,在标准数据库中的内存管理函数上配置第二拦截函数。以被检测进程运行在Android系统中为例,系统的标准函数库可以是Android平台的bionic libc(系统C库)库,其中包括用于内存管理的关键函数。本实施例中,内存管理函数可以包括malloc(内存分配函数)、free(内存释放函数)和/或realloc(内存再分配函数)等,可根据实际需要灵活配置。
第二拦截函数可以是Hook函数,可以用于拦截内存管理函数分配的内存。
(2)第三配置单元502;
第三配置单元502,用于在第二拦截函数拦截到内存管理函数分配的内存和/或指针时,根据内存和/或指针配置预设数据。
在被检测进程启动后,若内存管理函数分配了内存,则第三配置单元502根据分配的内存和/或指针配置预设数据,用于检测是否泄露了内存数据。
具体的,在第二拦截函数拦截到内存管理函数分配的内存时,第三配置单元502可以根据分配的内存配置预设数据;在第二拦截函数拦截到内存管理函数分配的指针时,第三配置单元502可以根据分配的指针配置预设数据;在第二拦截函数拦截到内存管理函数分配的内存和指针时,第三配置单元502可以根据分配的内存和/或指针配置预设数据。
例如,内存管理函数在分配内存时,会对应分配指针,则第三配置单元502可以获取内存管理函数分配的指针,根据内存管理函数分配的指针配置预设数据中,进行信息泄露检测。当然,第三配置单元502还可以将指针存入全局表中,将全局表配置到预设数据中。
在一些实施例中,内存管理函数分配的内存为未初始化的内存,则第三配置单元502具体用于:使用预设的染色数据,对内存进行染色,将染色数据配置到预设数据中。
在被检测进程启动后,若内存管理函数分配了未初始化的内存,则第二拦截函数拦截此未初始化的内存。其中,未初始化的内存中可能包括了上次运行保留的敏感信息,例如用户密码等未初始化的数据。
然后,第三配置单元502获取第二拦截函数截获的未初始化的内存,使用预设的染色数据,对未初始化的内存进行染色。例如,预设的染色数据可以是预设的特殊模数,具有特殊标识的作用,与进程中常规的运行数据不同。
并且,第三配置单元502将染色数据配置到预设数据中,进行信息泄露检测。由此,实现了使用染色数据替换内存进行信息泄露检测,若在数据流中检测到染色数据,也即意味着内存信息的泄露。
需要说明的是,对未初始化的内存进行染色可以是使用预设的染色数据替换掉未初始化内存中的原始数据。由此,不仅可以用于检测未初始化内存中的数据是否被泄露,而且,保障了未初始化内存中的原始数据不会真的被泄露。
当然,第三配置单元502还可以将染色数据和内存管理函数分配的指针都配置到预设数据中,实现多重检测。
需要说明的是,预设数据中可以不仅可以包括染色数据或是内存管理函数分配的指针等系统级数据,还可以包括根据业务需求配置的业务级数据,从而实现对系统内存和业务信息的同时检测。
(3)获取单元503;
获取单元503,用于在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中。
具体可参照上述信息泄露检测装置实施例中获取单元401的实施方式,在此不再赘述。
(4)泄露单元504;
泄露单元504,用于若数据流中包含与内存和/或指针内容相同的数据,则确定被检测进程存在信息泄露。
例如,在一些实施例中,预设数据包括染色数据,则泄露单元504具体可以用于:在数据流中查找与染色数据内容相同的数据;若在数据流中找到与染色数据内容相同的数据,则确定被检测进程存在信息泄露。
具体地,泄露单元504可以将数据流的字符作为待匹配数据,染色数据作为预设数据,从待匹配数据的第一个字符起与预设数据的第一个字符比较,若相等,则继续对字符进行后续的比较,否则待匹配数据从第二个字符起与预设数据的第一个字符重新比较,直至预设数据中的每个字符依次和待匹配数据中的一个连续的字符序列相等为止,此时称为匹配成功,否则匹配失败。
若匹配成功,则泄露单元504确定在数据流中找到了与染色数据内容相同的数据,确定被检测进程存在信息泄露。
在一些实施例中,预设数据包括内存管理函数分配的指针,则泄露单元504具体可以用于:在数据流中查找与指针内容相同的数据;若在数据流中找到数据,则确定被检测进程存在信息泄露。
泄露单元504在数据流中查找与内存管理函数分配的指针内容相同的数据,具体可以将数据流的字符作为待匹配数据,内存管理函数分配的指针作为预设数据,从待匹配数据的第一个字符起与预设数据的第一个字符比较,若相等,则继续对字符进行后续的比较,否则待匹配数据从第二个字符起与预设数据的第一个字符重新比较,直至预设数据中的每个字符依次和待匹配数据中的一个连续的字符序列相等为止,此时称为匹配成功,否则匹配失败。
若匹配成功,则确定在数据流中找到了与内存管理函数分配的指针内容相同的数据,进而确定被检测进程存在信息泄露。
在一些实施例中,预设数据包括染色数据和内存管理函数分配的指针,则泄露单元504若在数据流中找到与内存管理函数分配的指针和/或染色数据相同的数据,就判定被检测进程存在信息泄露,确定数据流泄露了内存信息。
由此,实现了对数据流的检测。
由上可知,本发明实施例通过第二配置单元501在运行被检测进程的系统标准函数库中的内存管理函数里配置第二拦截函数,能够拦截到内存管理函数分配内存时的信息,进而供第三配置单元502配置预设数据使用,检测被检测进程运行时是否泄露了内存;在被检测进程运行的过程中,获取单元503获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与内存和/或指针内容相同的数据,则泄露单元504可以判定数据流中包含了内存信息,确定被检测进程存在信息泄露。该方案通过在内存管理函数上配置拦截函数,能够截获分配内存的相关信息用于内存信息泄露检测,由此,该方案不仅能够实现对业务信息的泄露检测,而且,还可以实现内存信息泄露的检测,适用面广、有着良好的应用前景。
本发明实施例还提供一种网络设备,如图6所示,其示出了本发明实施例所涉及的网络设备的结构示意图,具体来讲:
该网络设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元606等部件。本领域技术人员可以理解,图6中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
网络设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该网络设备还可包括输入单元606,该输入单元606可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,网络设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,网络设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中;
若数据流中包含与预设数据内容和/或格式相同的数据,则确定被检测进程存在信息泄露。
由上可知,本发明实施例的网络设备通过在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中,以拦截被检测进程通过进程间通信框架发送给其他进程的信息;若数据流中包含与预设数据内容和/或格式相同的数据,则可以判定数据流中包含了敏感信息,确定被检测进程存在信息泄露。该方案通过在进程间通信框架里中配置拦截函数,能够拦截到被检测进程通过进程间通信框架向其他进程发送的全部数据流,避免被检测进程外发的数据流被遗漏,保障了信息泄露检测的效率。并且,通过数据内容和/或格式匹配来检测数据流中是否包含敏感信息,能够根据实际需求来检测数据流中是否包含了指定模式的敏感数据,提高了信息泄露检测的灵活性、灵敏性和准确性。由此,该方案采用在进程间通信框架中配置的拦截函数来进行数据拦截,保障被检测进程向其他进程发送的每一条消息都能够进行信息泄露检测,实现了应用程序进程的信息泄露检测。并且,由于进程间的通信几乎都是通过进程间通信框架进行的,因此,该方案技术通用性较好,不需要为不同的被检测应用程序进程定制不同的实现方案,降低了信息泄露检测的技术难度和操作难度。该方案实现了检测方法的高效、通用和简便,可以协助技术人员修复信息泄露漏洞、提升应用程序的安全性,利于维护应用程序的信息安全。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种信息泄露检测方法中的步骤。例如,该指令可以执行如下步骤:
在被检测进程运行的过程中,获取第一拦截函数截获的数据流,第一拦截函数配置在被检测进程的进程间通信框架中;若数据流中包含与预设数据内容和/或格式相同的数据,则确定被检测进程存在信息泄露。
该指令还可以执行如下步骤:
确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上配置第一拦截函数。
该指令还可以执行如下步骤:
将进程间通信框架驱动确定为进程间通信框架中的数据收发节点,以在被检测进程切换为内核态时,拦截进程间通信框架驱动发出的数据流。
该指令还可以执行如下步骤:
在内存管理函数上配置第二拦截函数,其中,内存管理函数位于运行被检测进程的系统标准函数库中;在第二拦截函数拦截到内存管理函数分配的内存和/或指针时,根据内存和/或指针配置预设数据。
内存为未初始化的内存,该指令还可以执行如下步骤:
使用预设的染色数据,对内存进行染色,将染色数据配置到预设数据中。
该指令还可以执行如下步骤:
若所述数据流中包含与所述内存和/或指针内容相同的数据,则确定所述被检测进程存在信息泄露。
该指令还可以执行如下步骤:
检测所述数据流中是否包含与预设数据内容和/或格式相同的数据。
该指令还可以执行如下步骤:
获取所述数据流中的数据包,调用所述进程间通信框架中的打包函数解析所述数据包,得到待匹配数据;在所述待匹配数据中,查找与预设数据内容和/或格式相同的数据;若在所述待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定所述数据流中包含与预设数据内容和/或格式相同的数据。
该指令还可以执行如下步骤:
获取数据流的状态信息,解析状态信息得到数据流对应的服务信息;根据服务信息,确定被检测进程的信息泄露源位置。
该指令还可以执行如下步骤:
获取数据流的状态信息,解析状态信息得到接收数据流的目标进程。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种信息泄露检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种信息泄露检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种信息泄露检测方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种信息泄露检测方法,其特征在于,包括:
在被检测进程运行的过程中,获取第一拦截函数截获的数据流,所述第一拦截函数配置在所述被检测进程的进程间通信框架中,其中,所述被检测进程为运行在终端、虚拟机或服务器中,待被进行信息泄露检测的进程,所述第一拦截函数配置在所述被检测进程的进程间通信框架中包括:确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上增加一个拦截函数作为第一拦截函数,用于拦截数据收发节点发出的全部信息,所述获取进程间通信框架中的数据收发节点包括:将进程间通信框架驱动确定为进程间通信框架中的数据收发节点,以在被检测进程切换为内核态时,拦截进程间通信框架驱动发出的数据流;
若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露;
获取数据流的状态信息,解析状态信息得到数据流对应的服务信息;根据服务信息,确定被检测进程的信息泄露源位置;其中,包括:若确定数据流中包含与预设数据内容和/或格式相同的数据,则信息泄露检测装置获取所述数据流的状态信息,以找到敏感信息泄露发生的根源位置。
2.如权利要求1所述的方法,其特征在于,所述获取第一拦截函数截获的数据流,之前还包括:
在内存管理函数上配置第二拦截函数,其中,所述内存管理函数位于运行被检测进程的系统标准函数库中;
在所述第二拦截函数拦截到所述内存管理函数分配的内存和/或指针时,根据所述内存和/或指针配置预设数据。
3.如权利要求2述的方法,其特征在于,所述内存为未初始化的内存,所述根据所述内存配置预设数据,包括:
使用预设的染色数据,对所述内存进行染色,将所述染色数据配置到预设数据中。
4.如权利要求2所述的方法,其特征在于,所述若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露,包括:
若所述数据流中包含与所述内存和/或指针内容相同的数据,则确定所述被检测进程存在信息泄露。
5.如权利要求1-4任一项所述的方法,其特征在于,所述若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露,之前还包括:
检测所述数据流中是否包含与预设数据内容和/或格式相同的数据。
6.如权利要求5所述的方法,其特征在于,所述检测所述数据流中是否包含与预设数据内容和/或格式相同的数据,包括:
获取所述数据流中的数据包,调用所述进程间通信框架中的打包函数解析所述数据包,得到待匹配数据;
在所述待匹配数据中,查找与预设数据内容和/或格式相同的数据;
若在所述待匹配数据中成功找到与预设数据内容和/或格式相同的数据,则确定所述数据流中包含与预设数据内容和/或格式相同的数据。
7.如权利要求1-4任一项所述的方法,其特征在于,所述确定所述被检测进程存在数据泄露,之后还包括:
获取所述数据流的状态信息,解析所述状态信息得到接收所述数据流的目标进程。
8.一种信息泄露检测装置,其特征在于,包括:
获取单元,用于在被检测进程运行的过程中,获取第一拦截函数截获的数据流,所述第一拦截函数配置在所述被检测进程的进程间通信框架中,其中,所述被检测进程为运行在终端、虚拟机或服务器中,待被进行信息泄露检测的进程,所述第一拦截函数配置在所述被检测进程的进程间通信框架中包括:确定被检测进程的进程间通信框架,获取进程间通信框架中的数据收发节点;在数据收发节点上增加一个拦截函数作为第一拦截函数,用于拦截数据收发节点发出的全部信息,所述获取进程间通信框架中的数据收发节点包括:将进程间通信框架驱动确定为进程间通信框架中的数据收发节点,以在被检测进程切换为内核态时,拦截进程间通信框架驱动发出的数据流;
泄露单元,用于若所述数据流中包含与预设数据内容和/或格式相同的数据,则确定所述被检测进程存在信息泄露;泄露单元,具体用于获取数据流的状态信息,解析状态信息得到数据流对应的服务信息;根据服务信息,确定被检测进程的信息泄露源位置;其中,包括:若确定数据流中包含与预设数据内容和/或格式相同的数据,则信息泄露检测装置获取所述数据流的状态信息,以找到敏感信息泄露发生的根源位置。
9.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的信息泄露检测方法中的步骤。
CN201810796287.1A 2018-07-19 2018-07-19 一种信息泄露检测方法、装置和存储介质 Active CN110210220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810796287.1A CN110210220B (zh) 2018-07-19 2018-07-19 一种信息泄露检测方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810796287.1A CN110210220B (zh) 2018-07-19 2018-07-19 一种信息泄露检测方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN110210220A CN110210220A (zh) 2019-09-06
CN110210220B true CN110210220B (zh) 2023-03-07

Family

ID=67779790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810796287.1A Active CN110210220B (zh) 2018-07-19 2018-07-19 一种信息泄露检测方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110210220B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580116A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种数据保护方法及装置
CN111159704B (zh) * 2019-12-31 2022-09-09 奇安信科技集团股份有限公司 虚拟内存数据泄露检测方法及装置
CN112765655B (zh) * 2021-01-07 2023-03-21 支付宝(杭州)信息技术有限公司 一种基于隐私数据外发的管控方法及装置
CN113434364B (zh) * 2021-06-25 2024-03-22 青岛海尔科技有限公司 屏端设备内存检测方法、装置、存储介质及电子装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294588A (zh) * 2012-02-22 2013-09-11 深圳富泰宏精密工业有限公司 内存检测系统及方法
US9026801B2 (en) * 2012-04-26 2015-05-05 Hewlett-Packard Development Company, L.P. System call interception
CN104111808A (zh) * 2014-07-24 2014-10-22 江苏敏捷科技股份有限公司 一种打印防泄漏的方法
CN104376263B (zh) * 2014-12-09 2018-02-16 北京奇虎科技有限公司 应用程序行为拦截的方法和装置
CN106033511A (zh) * 2015-03-17 2016-10-19 阿里巴巴集团控股有限公司 防止网站数据泄露的方法及设备
CN106101105A (zh) * 2016-06-14 2016-11-09 北京小米移动软件有限公司 数据处理方法、装置及系统

Also Published As

Publication number Publication date
CN110210220A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110210220B (zh) 一种信息泄露检测方法、装置和存储介质
US9898609B2 (en) Trusted boot of a virtual machine
CN108475217B (zh) 用于审计虚拟机的系统及方法
CN101488173B (zh) 支持零宕机的可信虚拟域启动文件完整性度量的方法
CN110457894B (zh) root权限的分配方法、装置、存储介质及终端设备
US11726799B2 (en) Preventing framework conflicts for multi-OS applications
CN101866408A (zh) 一种基于虚拟机架构的透明信任链构建系统
CN106355092B (zh) 用于优化反病毒测定的系统和方法
CN112528288A (zh) 可信应用的运行方法、信息处理和内存分配方法及装置
CN104091102B (zh) 一种基于安卓系统的多用户管理方法及其装置
CN106874028A (zh) 应用部署方法和装置
CN103996003B (zh) 一种虚拟化环境中的数据擦除系统及方法
KR20140147141A (ko) 보안을 구현하기 위한 방법, 방화벽, 단말 및 판독가능 저장 매체
CN110221845A (zh) 应用部署方法、装置、设备和介质
CN102981949A (zh) 一种在线自动测试服务器的方法
CN107992381A (zh) 系统还原方法、装置、系统、备份还原服务器及存储介质
CN110298173A (zh) 检测由软件程序的延迟循环隐藏的恶意软件
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
US20220214928A1 (en) Workload Configuration Extractor
CN112199151B (zh) 一种应用程序的运行方法及装置
US11227052B2 (en) Malware detection with dynamic operating-system-level containerization
US20210020173A1 (en) Voice-assistant activated virtual card replacement
CN109145598A (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
CN110308968A (zh) 维持宿主机和容器组编号一致的方法、装置、设备及介质
CN103413093B (zh) 一种基于内存隔离的xen云平台虚拟机隔离方法

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