CN113641988B - 沙箱初始化方法、图形界面及相关装置 - Google Patents
沙箱初始化方法、图形界面及相关装置 Download PDFInfo
- Publication number
- CN113641988B CN113641988B CN202110780578.3A CN202110780578A CN113641988B CN 113641988 B CN113641988 B CN 113641988B CN 202110780578 A CN202110780578 A CN 202110780578A CN 113641988 B CN113641988 B CN 113641988B
- Authority
- CN
- China
- Prior art keywords
- application
- information
- sandbox
- electronic device
- detected
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种沙箱初始化方法、图形界面及相关装置,该方法适用于基于子用户创建的沙箱用户,电子设备可以使用沙箱用户的沙箱环境检测待检测应用的安全性,在电子设备检测结束后,该方法可以根据沙箱环境检测前的初始沙箱信息和检测结束后的结束沙箱信息,进行沙箱环境的轻度还原,重置待检测应用在运行过程中,对沙箱环境造成的影响。进一步地,如果轻度还原失败,即沙箱环境中存在无法重置的内容,则电子设备进行沙箱环境的重度还原,即删除该沙箱环境,并重新创建一个沙箱环境。也就是说,电子设备可以根据沙箱环境还原的情况来选择使用轻度还原还是重度还原,尽可能地减少沙箱还原过程中所消耗的时间,有效提高沙箱还原的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及沙箱初始化方法、图形界面及相关装置。
背景技术
近年来,随着网络的普及与高速发展,恶意应用已逐渐发展为互联网上不容忽视的热点问题。这些恶意应用可能携带有病毒,在未明确提示用户或未经用户许可的情况下,恶意收集用户信息,用户卸载后仍活动或残存程序等等。
为了保证电子设备不受恶意应用的侵扰,可以使用沙箱来检测应用的安全性。沙箱,是一个虚拟系统程序,它可以为运行中的程序提供隔离环境,保证程序创建、修改、删除、读取等文件操作都在这个隔离环境内进行,不会影响到系统中的真实文件。这样,电子设备可以将应用放入沙箱环境中来检测应用是否为恶意应用。
但是,在沙箱检测完应用后,如何恢复沙箱的初始环境,是目前亟待解决的问题。
发明内容
本申请提供了沙箱初始化方法、图形界面及相关装置,该沙箱初始化方法提供沙箱环境的二级还原方式,首先对沙箱环境进行轻度还原,在轻度还原失败后再进行重度还原,通过该二级还原的方式来有效提高沙箱还原的效率。
第一方面,本申请实施例提供了一种沙箱初始化方法,其特征在于,所述方法应用于包含主用户空间和子用户空间的电子设备,所述主用户空间和所述子用户空间对应所述电子设备中不同的存储区,所述主用户空间和子用户空间相互独立;所述方法包括:所述电子设备在所述子用户空间中创建第一沙箱环境,并根据待检测应用的安装包,在所述第一沙箱环境中检测所述待检测应用的安全性;所述安装包通过所述主用户空间获取;所述电子设备获取所述第一沙箱环境的第一信息,所述第一信息描述了检测完成后的所述第一沙箱环境的内容;所述电子设备根据初始信息和所述第一信息,调整检测完成后的所述第一沙箱环境,使得所述第一沙箱环境的内容和所述初始信息描述的内容一致;所述初始信息描述了检测前的所述第一沙箱环境的内容。
该沙箱初始化方法适用于多用户系统,在多用户系统中,各用户都存在专用的存储空间,包括主用户对应的主用户空间,以及子用户对应的子用户空间,各存储空间对应的存储区相互隔离。电子设备可以在子用户空间中创建沙箱用户对应的沙箱环境,在电子设备利用沙箱环境检测待检测应用的安全性之后,该方法可以根据沙箱环境检测前的初始沙箱信息和检测结束后的结束沙箱信息,调整沙箱环境中的内容,从而重置待检测应用对沙箱环境的影响。该重置的过程可以称为轻度还原过程,当待检测应用对沙箱环境的影响较小时,通过轻度还原的方式可以快速重置沙箱环境,为下一次应用的安全性检测做准备,提高沙箱还原的效率。
结合第一方面,在一种可能的实现方式中,所述电子设备根据初始信息和所述第一信息,调整检测完成后的所述第一沙箱环境,使得所述第一沙箱环境的内容和所述初始信息描述的内容一致之后,所述方法还包括:所述电子设备获取所述第一沙箱环境的第二信息,所述第二信息描述了调整后所述第一沙箱环境的内容;在所述第一信息与所述初始信息不一致的情况下,所述电子设备删除所述第一沙箱环境。
由于待检测应用可能为恶意应用,恶意应用对沙箱环境造成的应用可能无法通过轻度还原的方式进行还原,这时,该沙箱环境可能无法再进行修复,电子设备可以直接删除该沙箱环境。
结合第一方面,在一种可能的实现方式中,所述电子设备删除所述第一沙箱环境之后,所述方法还包括:所述电子设备在所述子用户空间中创建第二沙箱环境。
在电子设备删除沙箱环境之后,电子设备可以重新创建一个新的沙箱环境,为下一次应用的安全性检测做准备。其中,删除并重新创建沙箱环境的过程可以成为重度还原过程,电子设备可以通过重度还原的方式来保证沙箱初始化的成功。
结合第一方面,在一种可能的实现方式中,其特征在于,所述电子设备获取所述第一沙箱环境的第一信息之前,所述方法还包括:所述电子设备完成所述待检测应用的安全性检测;或者,所述电子设备确定所述待检测应用为非安全应用。
也就是说,电子设备可以在结束待检测应用的安全性检测之后开始沙箱环境的还原过程,这样,可以保证每次检测时,沙箱环境都是固定的结构和内容。或者,电子设备可以在确定待检测应用为非安全应用,即恶意应用时,开始沙箱环境的还原过程,这是由于只有在电子设备检测到恶意应用时,沙箱环境中发生的变化才更大,或者沙箱环境才会遭到破坏,进而影响到下一次电子设备的检测过程,电子设备只在检测到恶意应用时才还原沙箱环境,可以减少系统资源的浪费,提升沙箱检测的效率。
结合第一方面,在一种可能的实现方式中,所述电子设备根据所述安装包,在所述第一沙箱环境中检测所述待检测应用的安全性,具体包括:所述电子设备根据所述安装包,在所述第一沙箱环境中安装所述待检测应用,并运行所述待检测应用;所述电子设备获取运行所述待检测应用的过程中,所述待检测应用对所述电子设备中各个函数的调用情况;在所述待检测应用调用了预设函数的情况下,所述电子设备确定所述待检测应用为非安全应用;在所述待检测应用未调用所述预设函数的情况下,所述电子设备确定所述待检测应用为安全应用。
可以看出,电子设备需要还原沙箱环境是因为,在电子设备利用沙箱环境检测待检测应用的过程中,电子设备是根据待检测应用对函数的调用情况来分析待检测应用的安全性。在待检测应用调用函数的过程中,就有可能造成沙箱环境中内容的变化。
结合第一方面,在一种可能的实现方式中,所述初始信息为预置信息,或者,所述初始信息由所述电子设备根据检测前的所述第一沙箱环境获得。
沙箱环境的初始沙箱信息可以在电子设备检测之前,通过沙箱环境获取。或者,提前预置沙箱环境的初始沙箱信息,这样,可以减少电子设备初始化沙箱环境时,生成初始沙箱信息的时间,加快沙箱环境初始化的速度。
结合第一方面,在一种可能的实现方式中,所述初始信息包括以下一项或多项:进程信息、文件信息、应用信息、配置信息。所述进程信息、文件信息、应用信息、配置信息分别描述了所述电子设备检测前,所述第一沙箱环境中进程、文件、应用、配置。
结合第一方面,在一种可能的实现方式中,所述第一信息包括以下一项或多项:进程信息、文件信息、应用信息、配置信息。所述进程信息、文件信息、应用信息、配置信息分别描述了所述电子设备检测完成后,所述第一沙箱环境中进程、文件、应用、配置。
也就是说,该沙箱初始化方法能够根据电子设备检测前后,沙箱环境中的进程、文件、应用和配置的变化来还原沙箱环境。
结合第一方面,在一种可能的实现方式中,所述电子设备根据初始信息和所述第一信息,调整检测完成后的所述第一沙箱环境,具体包括:所述电子设备根据初始信息和所述第一信息,获得区别信息,所述区别信息描述了检测后相对于检测前,所述第一沙箱环境中变化的内容;所述电子设备根据所述区别信息调整检测完成后的所述第一沙箱环境。
也就是说,该沙箱初始化方法能够记录电子设备检测前后,沙箱环境中的进程、文件、应用和配置的变化,并根据该变化还原沙箱环境,使检测后的沙箱环境能够还原到检测前。
结合第一方面,在一种可能的实现方式中,所述区别信息包括以下一项或多项:区别进程信息、区别文件信息、区别应用信息、区别配置信息,所述区别进程信息、区别文件信息、区别应用信息、区别配置信息分别描述了所述电子设备检测过程中,所述第一沙箱环境中变化的进程、文件、应用、配置。
结合第一方面,在一种可能的实现方式中,所述电子设备根据所述区别信息调整检测完成后的所述第一沙箱环境,具体包括:所述电子设备根据所述区别进程信息,关闭或开启检测完成后的所述第一沙箱环境中的进程;所述电子设备根据所述区别文件信息,删除或增加检测完成后的所述第一沙箱环境中的文件;所述电子设备根据所述区别应用信息,卸载或安装检测完成后的所述第一沙箱环境中的应用;所述电子设备根据所述区别配置信息,替换检测完成后的所述第一沙箱环境中的配置。
第二方面,本申请实施例提供了一种电子设备,包括:存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中该一个或多个程序被存储在该存储器中;该一个或多个处理器在执行该一个或多个程序时,使得该电子设备实现如第一方面或第一方面的任意一种实施方式所描述的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所描述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如如第一方面或第一方面的任意一种实施方式所描述的方法。
实施本申请实施例提供的技术方法,电子设备可以根据沙箱环境检测前的初始沙箱信息和检测结束后的结束沙箱信息,调整沙箱环境中的内容,从而重置待检测应用对沙箱环境的影响。该调整的过程可以称为轻度还原过程,当待检测应用对沙箱环境的影响较小时,通过轻度还原的方式可以快速重置沙箱环境,为下一次应用的安全性检测做准备,提高沙箱还原的效率。之后,当轻度还原失败,电子设备在进行重度还原,直接删除沙箱环境并重新创建一个新的沙箱环境,保证沙箱初始化的成功。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2A-图2I为本申请实施例涉及的一些用户界面;
图3为本申请实施例提供的一种电子设备的软件结构示意图;
图4为本申请实施例提供的电子设备的软件结构中,内部各模块之间的交互流程图;
图5为本申请实施例提供的检测方法的流程示意图;
图6为申请实施例提供的沙箱环境中的部分进程;
图7为本申请实施例提供的沙箱环境中的部分文件;
图8为本申请实施例提供的沙箱初始化的详细流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
为了便于理解本申请,首先介绍本申请涉及的几个技术术语。
(一)沙箱(Sandboxie)
沙箱,又叫沙盘,是一个虚拟系统程序,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。它可以创造了一个独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
(二)插桩
插桩是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”,本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。
(三)多用户系统
多用户系统是指一台主机,通过多个用户共享主机资源。在主机硬盘上,每个用户都建立有专用的存储区。多用户系统的基本思想为多用户“分时共用”一台主机,共享主机资源,包括硬件资源和软件资源,节省投资。主机承担所有用户的信息处理任务,实施集中管理。
沙箱,可以提供一个隔离环境来检测待检测应用的安全性,具体地,电子设备可以将待检测应用放入沙箱环境中运行,通过分析待检测应用在运行过程中的运行行为来判断该待检测应用是否安全,其中,该运行行为可以是指运行的待检测应用对电子设备的函数的调用行为,例如,当电子设备在沙箱中运行一个未知应用时,该未知应用调用一些涉及用户隐私信息的函数时,则电子设备可以判断该未知应用为非安全应用或者为恶意应用。
在使用沙箱检测待检测应用的过程中,由于待检测应用的运行过程都发生在沙箱环境中,沙箱环境会因为待检测应用的运行而修改沙箱环境的内容。所以在检测完成后,需要调整沙箱环境中的内容,将沙箱环境恢复到检测之前,为下一次应用的检测做准备。
那么,在沙箱完成检测之后,可以直接将沙箱恢复出厂配置,使沙箱环境恢复到检测之前,但是这种方法耗费的时间过长,仅适用于云端部署的X86沙箱虚拟环境,不适用于移动终端上部署的沙箱环境,因为移动终端上资源受限,一次只能运行单个沙箱,并且在沙箱环境恢复出厂配置的过程中,移动终端需要等待较长的时间才能使用沙箱环境进行下一次的检测。
本申请实施例提供一种沙箱初始化方法,该方法包括二级还原:轻度还原、重度还原。在电子设备使用沙箱环境完成待检测应用的检测之后,首先对沙箱环境进行轻度还原,如果轻度还原失败,电子设备再对沙箱进行重度还原。具体实现中,电子设备首先进行轻度还原,电子设备可以记录沙箱初始环境的进程、文件、应用和配置等内容,生成初始沙箱信息,在沙箱检测完成后,再次记录沙箱环境的进程、文件、应用和配置等内容,生成结束沙箱信息,电子设备可以根据初始沙箱信息和结束沙箱信息的区别,调整沙箱环境的内容,使沙箱环境的进程、文件、应用和配置等内容与初始沙箱信息中记录的内容一致。如果整理过程中存在无法还原的进程、文件、应用或配置,即轻度还原失败,电子设备再进行重度还原,直接删除沙箱环境,并重新创建一个沙箱环境。
可以看出,本申请实施例提供的沙箱初始化方法包括二级还原,能够根据沙箱环境还原的情况来选择使用轻度还原还是重度还原,尽可能地减少沙箱还原过程中所消耗的时间,且该方法更适用于移动终端上所使用的沙箱,有效提高沙箱还原的效率。
本申请实施例提供的沙箱初始化方法适用于多用户系统。多用户系统中,多个用户可以“分时共用”电子设备的主机资源,各用户都存在专用的存储空间,且互相之间的数据是隔离的,用户的创建过程主要是应用运行环境的准备过程。其中,这多个用户可以包括主用户和子用户,一个多用户系统可以包括一个主用户,多个子用户,主用户是指首次注册或登录的用户,主用户可以使用电子设备的所用功能,并且主用户可以添加或删除子用户,管理子用户的权限,例如,授权子用户使用通话功能、短信功能等,子用户是指再次注册的用户,子用户可以使用电子设备的部分功能。另外,同一时间段内,只允许一个用户下的进程在前台显示和交互,电子设备可以通过设置应用程序切换用户。
沙箱用户,可以称为影子用户,也是电子设备创建的子用户,与电子设备创建的普通子用户不同的是,沙箱用户不产生用户界面,沙箱用户可以和主用户同时运行,不需要切换用户。沙箱用户可以使用检测服务调用沙箱的功能,完成应用的安全性检测。该沙箱用户拥有独立的运行空间,即沙箱环境,该沙箱环境与电子设备的真实运行环境是隔离的,电子设备运行应用的过程中,生成的数据或文件都可以存储在沙箱环境中,访问的数据也可以是沙箱环境中创建的数据。也就是说,电子设备可以根据应用在沙箱环境中的运行情况分析该应用的安全性,并且应用的运行并不会影响到电子设备的真实环境,这里,电子设备的真实环境是指进程在前台显示和交互的用户的运行空间,例如,主用户的运行空间。具体关于沙箱用户的描述可以参考后续内容,这里先不赘述。
图1示出了本申请实施例提供的电子设备100的硬件结构示意图。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的具体类型不作特殊限制。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一些实施例中,处理器110可用于将应用的安装包安装到沙箱环境中,并在沙箱环境中运行该应用,并模拟用户使用应用时,应用的运行过程,获取应用在运行过程中对函数的调用行为,并根据该行为判断应用是否安全。另外,处理器110还可以在检测完成之后,将沙箱环境还原成检测之前的环境,重置沙箱用户安装应用后,运行的应用对沙箱环境造成的影响。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100可以通过移动通信模板150和无线通信模块160下载应用的安装包。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在一些实施例中,显示屏194可用于显示检测过程中涉及到的提示信息或检测结果,例如,提示信息用于提示用户电子设备100正在检测应用的安全性,检测结果用于指示电子设备100检测的应用是否安全。具体关于该检测方法涉及的用户界面可以参考后续UI实施例。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
在一些实施例中,内部存储器121可以分成多个存储空间,一个用户对应一个存储空间,且各个存储空间之间的数据是隔离的。其中,存在一个存储空间为主用户的运行环境,该运行环境为电子设备100的真实运行环境,电子设备100可以将应用的安装包保存到该存储空间,存在一个存储空间为沙箱用户的运行环境,电子设备100可以将应用安装到该存储空间在,该存储空间可作用应用的运行环境,电子设备100可通过该存储空间检测应用的安全性。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
本申请实施例提供的检测方法可以应用于多种场景,包括但不限于:
(1)二维码检测场景
在二维码检测场景中,电子设备100可以通过扫描二维码,来触发下载二维码对应的应用程序。由于二维码中对应的应用程序不同于应用商店中的应用程序,黑客可以通过篡改二维码中存储的URL链接,更改二维码对应的应用,使电子设备100扫码后下载恶意应用。
在本申请实施例中,电子设备100可以提供扫码功能,在电子设备100扫码并跳转到二维码中应的应用下载页面后,电子设备100可以接收到用户同意安装的用户操作,响应于该操作,电子设备100将应用的安装包下载到本地,并将该应用安装到沙箱环境中,之后,电子设备100在沙箱环境中触发应用的行为,并根据应用的行为分析该应用是否为恶意应用。最后,电子设备100将检测结果展示给用户,从而用户可以根据检测结果得知该二维码是否安全。
(2)链接检测场景
在链接检测场景中,链接通常可以表现为一串由英文或数字组合成的网址,或者图标、图片等形式,该链接可以响应于用户的点击操作,进入应用下载页面或者直接下载应用。由于链接可以使电子设备100跳转到另外一个页面,黑客可以使链接“重定向”到恶意应用的下载页面,使用户在不知情的情况下下载恶意应用。
在本申请实施例中,电子设备100可以在接收到用户作用于该链接的点击操作后,触发下载链接对应的应用,并将应用安装到沙箱环境中,之后,电子设备100在沙箱环境中触发该应用的行为,并根据该应用的行为分析该应用是否为恶意应用。最后,电子设备100将检测结果展示给用户,从而用户可以根据检测结果得知该链接是否安全。
(3)未知应用检测场景
在未知应用检测场景中,电子设备100可以通过浏览器搜索、好友分享等途径,获取到未知应用的安装包。用户可能仅仅只了解到该未知应用的用途,并不清楚该未知应用的来源或真实内容,该未知应用中可能携带有病毒,贸然点击安装可能会造成用户信息泄露。
在本申请实施例中,电子设备100可以在接收到用户安装该未知应用的操作之后,将该未知应用安装到沙箱环境中,之后,电子设备100在沙箱环境中触发未知应用的行为,并根据该未知应用的行为分析该应用是否为恶意应用。最后,电子设备100将检测结果展示给用户,从而用户可以根据检测结果得知该未知应用是否安全。
可以理解的是,不限于上述提及的场景,本申请实施例提供的检测方法可以应用于任何需要检测应用安全性的场景。
下面以二维码检测场景为例,介绍本申请实施例提供的检测方法。
图2A-图2G示例性示出了本申请实施例涉及的一些用户界面。
图2A示例性示出了电子设备100开启设置应用程序后,设置应用程序提供的默认用户界面21。该用户界面21中可以包含:飞行模式、WiFi、蓝牙、热点、移动网络等多个功能选项。电子设备100可以检测到用户作用于用户界面21中不同功能选项的触控操作,响应于该操作,电子设备100可以开启或关闭飞行模式、WiFi、蓝牙、热点、移动网络等等功能。
其中,用户界面21中包括“安全检测”选项211。“安全检测”选项211用于开启或关闭电子设备100的安全检测功能,安全检测功能可用于在电子设备100扫描二维码时,检测该二维码的安全性。“安全检测”选项211包含设置开关211A,设置开关211A可以检测到用户的触控操作,响应于该操作,电子设备开启或关闭安全检测功能。示例性地,当开关211A显示的主体颜色为白色时,安全检测功能处于关闭状态,当开关211A显示的主体颜色为灰色时,安全检测功能处于开启状态。默认地,安全检测功能初始处于关闭状态。
如图2A所示,电子设备100可以检测到用户作用于设置开关211A的触控操作,响应于该操作,电子设备100开启安全检测功能,设置开关211A的主体颜色由白色变为灰色。这时,电子设备100可以创建沙箱用户,并搭建沙箱用户的沙箱环境,为电子设备100检测应用的安全性做准备。
图2B示例性示出了电子设备100显示主屏幕的用户界面31,该用户界面31中显示了一个放置有应用图标的页面,该页面包括多个应用图标(例如,电话应用图标、设置应用图标、通讯录应用图标、信息应用图标等等)。多个应用图标下方还显示包括有页面指示符,以表明当前显示的页面与其他页面的位置关系。另外,用户界面31中还显示有浏览器缩略框311,其中,浏览器缩略框311包括搜索框311A、“扫一扫”控件311B。
搜索框311A可用于监听触发网页搜索的用户操作。电子设备100可以检测到用户作用于搜索框311A的触控操作,响应于该操作,电子设备100切换到浏览器提供的搜索界面。搜索界面的文本输入区域可以接收到用户输入的关键字,查询并展示与该关键字相关的网页信息。
“扫一扫”控件311B可用于监听触发扫码事件的用户操作。如图2B所示,电子设备100可以检测到用户作用于“扫一扫”控件311B的触控操作,响应于该操作,电子设备100切换到扫码界面,示例性地,该扫码界面可以是指图2C所述的用户界面41。该用户界面可用于显示摄像头采集的图像,并识别图像中包含的二维码。
如图2C所示,用户界面41包括二维码识别区域411、返回控件412、图库控件413。二维码识别区域411用于识别二维码。当电子设备100采集的图像中,二维码位于二维码识别区域411内时,电子设备100可以获取二维码中存储的URL链接。返回控件412用于退出当前用户界面41,显示上一级用户界面(例如用户界面31)。图库控件413可用于开启图库应用程序。响应于作用在图库控件413上的用户操作,例如,点击操作,电子设备100可以开启图库应用程序。用户可以从图库中选择包含二维码的图片,触发电子设备100对该二维码的扫描。从图2C可以看出,当电子设备100检测到采集的图像中包含二维码10,且二维码10位于二维码识别区域411内,电子设备100解析二维码10中存储的URL链接,进入如图2D所述的解析界面,该界面用于触发下载二维码10对应的应用程序A。
如图2D所示,用户界面51示例性示出了二维码对应的解析界面,该解析界面可以包含浏览器应用程序提供的页面,以及悬浮提示窗口511,悬浮提示窗口511用于在电子设备100扫描并解析二维码10后,提示用户安装二维码10指示的应用程序A。悬浮提示窗口511包括关闭控件511A,信息展示区域511B,下载控件511C。其中,关闭控件511A可用于触发关闭悬浮提示窗口511的用户操作。电子设备100可以检测到用户作用于关闭控件511A的触控操作,响应于该操作,电子设备100关闭悬浮提示窗口511,显示浏览器应用程序提供的页面。信息展示区域511B用于展示应用程序A的安装包的文件名和文件大小。下载控件511C可用于触发下载该应用程序A的安装包的用户操作。如图2D所示,电子设备100可以检测到用户作用于下载控件511C的触控操作,响应于该操作,电子设备100下载该应用程序A的安装包,下载控件511C更新为如图2E所示的下载进度条511D。
如图2E所示,下载进度条511D中显示有应用程序A的安装包下载进入,具体地,电子设备100可以将应用程序A下载到主用户对应的环境中。在电子设备100下载完成后,电子设备100可以自动触发该安装包的安装行为,将安装包安装到沙箱环境。在安装完成并获得应用程序A后,电子设备100可以在沙箱环境中检测该应用程序A的安全性,在检测的过程中,电子设备100可以在用户界面51中显示如图2F所述的第一提示信息512。
如图2F所示,第一提示信息515用于提示用户当前电子设备100正在检测该应用程序A是否为恶意应用。在检测的过程中,沙箱用户可以在沙箱环境中触发应用程序A的应用行为,并根据应用行为检测该应用程序A是否是恶意应用。例如,当电子设备100检测到应用程序A访问通话权限、获取账号等等应用行为,电子设备100将应用程序A认定为恶意应用,之后,电子设备100将第一提示信息512更新为如图2G所示的第二提示信息513。
如图2G所示,第二提示信息513用于提示用户当前下载的安装包存在安全风险,是否继续安装该应用程序A。第二提示信息513还包括确认控件513A、取消控件513B。确认控件513A用于触发安装应用程序A到主用户对应的环境中,取消控件513B用于触发取消安装应用程序A到主用户对应的环境中。如图2G所示,当电子设备100检测到用户作用于确认控件513A的用户操作,电子设备100进入如图2H所示的用户界面61,该用户界面61可以为应用程序A的安装界面。在应用程序A安装完成后,用户即可正常使用应用程序A的功能。
在一些实施例中,当电子设备100检测出该安装包没有安全风险时,电子设备100可以显示应用程序A的安装界面,将应用程序A安装到电子设备100的真实环境中。也就是说,在电子设备100显示如图2F所示的用户界面之后,如果检测到安装包没有安全风险,则直接显示如图2H所示的用户界面。或者,进一步地,电子设备100可以在检测完成后,或显示安装界面时,显示提示信息,提示该安装包没有安全风险。
在一些实施例中,电子设备100除了可以在检测二维码之前,通过设置应用程序开启安全检测功能,还可以在电子设备100接收到用户下载应用程序的用户操作,应用程序下载完成时,或者接收到用户触发安装应用程序的用户操作时,显示提示信息,提示用户是否开启安全检测功能。如图2I所示,在应用程序A下载完成后,电子设备100显示第三提示信息514,该第三提示信息514用于提示用户,当前是否开启安全检测功能,检测该安装包的安全性。其中,第三提示信息514包括确认控件514A、取消控件514B。确认控件514A可用于开启安全检测功能,取消控件514B可用于拒绝开启安全检测功能。当电子设备100检测到用户作用于确认控件514A的触控操作,电子设备100开启安全检测功能,创建沙箱用户并搭建沙箱环境,然后利用沙箱环境检测应用程序A的安全性。示例性地,响应于作用在确认控件514A的触控操作,电子设备100显示如图2F所示的用户界面51。当电子设备100检测到用户作用于取消控件514B的触控操作,响应于该操作,电子设备100直接安装应用程序A,显示如图2H所示的用户界面61。
电子设备可以是搭载iOS、Android、Microsoft或者其它操作系统的便携式终端设备,例如手机、平板电脑、可穿戴设备等,还可以是具有触敏表面或触控面板的膝上型计算机(Laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备。电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括设置、扫码应用、相机、图库等应用程序。
设置应用可以提供安全检测开关,该安全检测开关可用于开启或关闭安全检测功能,安全检测功能可用于检测应有的安全性。
扫码应用可以提供扫码功能,该扫码功能能够使电子设备100获取到包含二维码的图片,识别该图片中的二维码,提取二维码中包含的URL链接,使电子设备100显示URL链接对应的页面,例如,应用下载页面、网页等等。
相机可以提供拍摄功能,电子设备100可以利用相机的拍摄功能获取包含二维码的图片。
图库可用于存储相机拍摄获取的包含二维码的图片,在电子设备100使用扫码应用的扫码功能时,电子设备100识别图库中的图片上包含的二维码。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。如图3所示,应用程序框架层还可以包括AMS、UMS、PMS、沙箱服务框架、主用户以及沙箱用户。
其中,AMS,即为活动管理服务,作为系统的引导服务,用于管理应用程序层中的各应用程序的启动、切换和调度。UMS,即为用户管理服务,用于创建和删除用户,以及查询用户信息,PMS,即为包管理服务,用于创建用户数据。
沙箱服务框架用于为沙箱用户提供服务,其中,沙箱服务框架可以包括以下几个模块:防逃逸模块、行为触发模块、桩点监控模块、威胁检测模块、结果处理模块、初始化模块、插桩模块、沙箱用户。
防逃逸模块用于为沙箱用户创建与电子设备100的真实运行环境,即主用户或子用户的运行环境相似的沙箱环境,防止恶意应用在沙箱环境中的逃逸。具体地,防逃逸模块主要通过以下一个或两个方面来创建较为真实的环境:1)在沙箱用户创建时进行假数据填充,该假数据包括:联系人、通话记录、备忘录、短信、闹钟信息等等。这样,即使恶意应用或恶意网页窃取了沙箱环境中填充的数据,也不会泄露用户的隐私数据,造成用户的损失。2)安装常见应用,例如,社交类应用、支付类应用、购物类应用等等。这样,避免恶意应用通过安装的应用来判断是否为真实的运行环境时,侦测出其所在的环境不是电子设备100真实的运行环境。
行为触发模块用于在应用安装完成之后,在沙箱环境中遍历该应用的功能路径,触发该应用的行为。这是由于有些恶意应用在安装完成后,可能会潜伏在电子设备100中,不会立刻窃取用户的信息或者破坏电子设备100的环境,行为触发模块可以立即触发应用的行为,方便电子设备100快速检测出应用是否为恶意应用。
桩点监控模块用于对电子设备100内部的敏感函数进行监控,这些敏感函数可以是指与用户信息、用户权限等等有关的函数,例如,TelephonyRegistry(),NetworkMangementService(),WifiServiceImpl()等等。当电子设备100根据应用在运行过程中对函数的调用情况,生成行为序列时,电子设备100可以通过桩点监控模块从行为序列中找出对敏感函数的调用行为,该行为序列可以包括调用时间以及调用的函数等等,电子设备100再将该行为序列传递给威胁检测模块。
威胁检测模块用于对传入的行为序列进行检测,判断应用是否为恶意应用,并将判断的结果传递给结果处理模块。
结果处理模块可用于:1)记录检测文件的哈希值和对应的结果,这样,当下次检测时遇到相同的行为序列表时,即可通过哈希值来判断应用是否恶意,无需再次利用威胁检测模块进行检测。2)将结果输出至前台显示,用户通过显示的结果即可得知该检测的安装包是否安全,以供用户进行下一步的操作,例如,同意或拒绝安装应用,同意或拒绝跳转网页等等。
初始化模块可用于在检测完成之后,将沙箱环境恢复到检测之前,重置检测过程中,恶意应用对沙箱环境造成的破坏,为下一次检测做准备。
插桩模块可用于为电子设备100拥有的函数“做标记”,当电子设备100运行的应用调用到“做标记”的函数时,桩点监控模块即可记录该调用行为,进一步地,插桩模块可以标记电子设备100的敏感函数,这样,在调用到敏感函数时,电子设备100便可记录该敏感函数的调用行为,以供电子设备100根据该调用行为分析应用的安全性。当电子设备“做标记”的函数越多,电子设备100检测的效果越好,检测速度也更慢。
沙箱用户作为电子设备100的子用户,包含与其他用户隔离的存储空间,沙箱用户可以调用沙箱服务框架中各模块,将电子设备100需要检测的应用安装到沙箱用户的存储空间中,并在该存储空间中运行该应用,根据该应用调用函数的行为来判断该应用的安全性。
另外,框架层还可以包含其他多个用户,这多个用户可以包含主用户、普通子用户,普通子用户也为电子设备100的子用户,普通子用户可以显示用户界面,使用电子设备的功能。
其中,电子设备100包含的用户中,主用户有且仅有1个,子用户可以为0个、1个或多个,示例性地,如图3所示,主用户、普通子用户以及沙箱用户均为1个,其中主用户的用户ID为User0,普通子用户的用户ID为User11,沙箱用户的用户ID为UserX(X表示除去0、11的任意一个数字),且主用户、普通子用户以及沙箱用户都包含应用数据、进程数据、权限控制、/storage分区、/data分区这几个子模块,/storage分区用于存放该用户的系统文件和数据,/data分区用于存放该用户的应用文件和数据,本申请实施例对这些用户包含的子模块不作限制。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
二维图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层包含显示驱动,摄像头驱动,对焦马达驱动,图像传感器驱动,图像信号处理器驱动等等。
下面结合图3所示的电子设备100的软件结构,详细描述二维码检测场景中,电子设备100检测应用的安全性时,内部各模块之间的交互流程。
在电子设备100检测应用安全性的过程中,主要涉及到软件结构中的以下模块:扫码应用、设置、AMS、UMS、PMS、沙箱服务框架、主用户、沙箱用户。
图4示出了电子设备100检测应用的安全性时,内部各模块之间的一种交互流程。
如图4所示,该过程可包括如下步骤:
1.电子设备100通过主用户开启扫码应用。
电子设备100可以默认运行主用户对应的真实环境。在电子设备100运行主用户的过程中,电子设备100可以显示主用户提供的用户界面,该用户界面中可以显示有扫码应用的图标,当电子设备100检测到作用于该图标的用户操作,例如,点击操作时,电子设备100开启扫码应用。
2.扫码应用检测到二维码。
扫码应用可用于提供扫码功能,该扫码功能可用于检测二维码,获取二维码中存储的URL链接。具体地,在本申请实施例中,该URL链接可用于跳转到应用下载页面,在电子设备100跳转到该应用下载页面后,可以触发下载待检测应用的安装包。也是就说,电子设备100可以通过扫描该二维码下载该二维码对应的待检测应用。
其中,该二维码可以位于相机采集的图像中,在扫码应用中,电子设备100可以通过开启相机获取到该二维码,或者,该二维码可以位于图库保存的图片中,在扫码应用中,电子设备100可以通过调用图库中的图片,获得图片中的二维码。
3.电子设备100判断设置应用中的安全检测开关是否开启。
在扫码应用检测到二维码后,电子设备100可以触发判断设置应用中的安全检测开关是否开启。
当安全检测开关未开启时,进入步骤4,电子设备100可以开启安全检测开关,并创建沙箱用户。
当安全检测开关已开启时,此时电子设备100已完成沙箱用户的创建,进入步骤11,电子设备100可以直接触发下载应用的安装包,并利用沙箱用户检测该应用的安全性。
4.电子设备100显示提示信息,提示用户是否开启设置应用中的安全检测开关。
5.电子设备100接收到用户开启检测开关的用户操作。
6.电子设备100通过沙箱服务框架调度AMS。
7.AMS拉起UMS。
8.电子设备100通过UMS创建沙箱用户,构建与主用户隔离的环境。
具体地,电子设备100通过调用AMS,在通过AMS调用UMS,使用UMS中的函数创建沙箱用户,例如,电子设备100可以调用UMS中的createUser()方法创建沙箱用户,具体关于电子设备100创建沙箱用户的过程可以参见下述方法实施例中的相关内容。
9.电子设备100调用沙箱服务框架中的防逃逸模块搭建沙箱环境。
在电子设备100调用UMS完成沙箱用户的创建后,电子设备100还可以调用沙箱服务框架为沙箱用户搭建与电子设备100的真实环境相类似的沙箱环境,该沙箱环境能够模拟电子设备100的真实环境,有效防止恶意应用的逃逸问题。其中,电子设备100可以通过对沙箱用户进行假数据填充,安装常见应用等方式来搭建沙箱环境,具体关于电子设备100搭建沙箱环境的描述可以参见下述方法实施例中的相关内容。
10.电子设备100调用沙箱服务框架中的初始化模块获取沙箱环境中的初始沙箱信息。
该初始沙箱信息记录了电子设备100检测应用之前,沙箱环境的结构、内容。其中,该初始沙箱信息可以记录有沙箱用户中进程、文件、应用、配置等等。具体关于初始沙箱信息的描述可以参见下述方法实施例中的相关内容。
11.电子设备100获取二维码中对应的待检测应用的安装包。
在电子设备100完成沙箱用户的创建,以及沙箱环境的搭建之后,电子设备100可以将步骤2中检测到的二维码对应的安装包下载到主用户的存储空间中。
在一些实施例中,电子设备100也可以将该安装包下载到沙箱用户的存储空间中。
12.电子设备100通过PMS将应用安装到沙箱环境中。
13.电子设备100调用沙箱服务框架中的行为触发模块触发该应用的运行。
在待检测应用安装完成后,电子设备100可以触发待检测应用的运行,模拟用户发起用户操作,作用于待检测应用各个控件,触发待检测应用调用函数的行为,使待检测应用的运行过程发生在沙箱环境中。
14.电子设备100根据待检测应用的运行过程判断待检测应用的安全性。
电子设备100可以根据待检测应用在沙箱环境中对函数的调用行为,来判断待检测应用的安全性。具体地,电子设备100可以调用沙箱服务框架中的桩点监控模块监控待检测应用对敏感函数的调用情况,生成行为序列,该行为序列记录了待检测应用对函数的调用情况,电子设备100可以调用沙箱服务框架中的威胁检测模块对行为序列进行检测,判断待检测应用的安全性。
15.电子设备100调用沙箱服务框架中的结果处理模块输出检测结果。
在电子设备100判断出待检测应用的安全性之后,电子设备100可以通过主用户显示该检测结果,例如,当电子设备100的判断结果为,该待检测应用为恶意应用时,电子设备100可以将该判断结果显示在主用户对应的用户界面中,这样,用户可以得知该待检测应用为恶意应用的检测结果。
16.电子设备100调用沙箱服务框架中的初始化模块初始化沙箱环境。
电子设备100可以在完成待检测应用的安全性检测之后,通过初始化沙箱环境来重置应用检测过程中,沙箱环境中的变化,将沙箱环境还原到检测之前,或者,清除应用对沙箱环境造成的影响。其中,电子设备100可以通过二级还原的方式来初始化沙箱环境,首先,电子设备100进入轻度还原阶段,电子设备100可以在检测结束后,获取沙箱环境中的结束沙箱信息,该结束沙箱信息记录了电子设备100完成应用的检测后,沙箱环境的结构、内容。电子设备100可以根据结束沙箱信息以及步骤10中获得的初始沙箱信息之前的区别,来修补沙箱环境的变化,从而达到轻度还原沙箱环境的效果,如果轻度还原失败,则电子设备100进入重度还原阶段,直接删除沙箱用户,重新创建一个沙箱用户,电子设备100可以利用新创建的沙箱用户的沙箱环境来检测应用的安全性。
17.电子设备100通过PMS将待检测应用安装到主用户对应的存储空间中。
具体地,如果待检测应用的检测结果指示该待检测应用非恶意应用,或者接收到用户选择安装待检测应用的操作,则电子设备100可以将待检测应用安装到主用户对应的存储空间中,该存储空间为电子设备100的真实环境,在待检测应用安装到主用户对应的存储空间后,电子设备100可以在真实环境中运行该待检测应用。
图5示例性示出了本申请实施例提供的检测方法的流程示意图。
如图5所示,该方法包括:
S1001、电子设备100开启安全检测开关。
安全检测开关可用于开启电子设备100的安全检测功能,安全检测功能可用于检测应用的安全性。
电子设备100可以通过以下两种方式开启安全检测开关:
1)电子设备100在接收到用户开启安全检测开关的用户操作后开启安全检测开关
示例性地,安全检测开关可以表现为设置应用程序中一个功能选项,用户可以通过电子设备100的设置应用程序找到安全检测开关,开启或关闭安全检测功能。图2A示出了电子设备100开启设置应用程序后,设置应用程序提供的默认用户界面21,该用户界面21中包含有“安全检测”选项211,电子设备100可以检测到用户作用于“安全检测”选项211中的设置开关211A的用户操作,响应于该操作,电子设备100开启或关闭安全检测功能。
示例性地,安全检测开关还可以表现为电子设备100接收到用户操作后显示的提示信息。该用户操作可以是指用户作用于安装控件,安装应用程序的点击操作。该提示信息用于提示用户是否开启安全检测开关。参考图2I,该提示信息可以是指第三提示信息514,在电子设备100接收到作用于确认控件514A的用户操作后,响应于该操作,电子设备100开启安全检测功能。
这样,用户可以在需要检测应用安全性的时候,通过安全检测开关来开启电子设备100的安全检测功能,增强用户选择的灵活性。
2)电子设备100检测到自身进入特定场景时,自动开启安全检测开关
该特定场景可以是指电子设备100接收到用户安装应用程序的用户操作,即将跳转到应用安装界面的场景,或者,该特定场景可以由开发人员预置,例如,该特定场景可以是指扫码场景、应用下载场景、邮件查看场景等等。以扫码场景为例,当电子设备100检测用户开启扫码类应用程序或者识别到二维码时,即可确定电子设备100进入扫码场景。
这样,电子设备100可以严格控制自身的安全性,对于可能威胁到电子设备100安全性的用户操作或运行情况,自动开启安全性检测功能,避免用户数据的泄露和电子设备100环境的破坏等等。
可以理解的是,不限于上述两种方式,本申请实施例还可以包含其他开启安全检测开关的方式,本申请实施例对此不作限制。
值得注意的是,在电子设备100开启待检测应用时,电子设备100运行的是电子设备100的真实环境。
S1002、电子设备100创建沙箱用户并搭建沙箱环境。
用户的创建过程其实就是电子设备100分配一份独立的存储空间,不同用户下的存储空间,且各存储空间对应电子设备中不同的存储区,这些存储区相互隔离。电子设备100可以通过创建沙箱用户,为检测应用的安全性额外开辟一块运行空间,避免应用在运行过程,对运行空间的破坏影响到电子设备100。
具体地,电子设备100可以先创建沙箱用户,然后再在沙箱用户中搭建沙箱环境。其中:
步骤1、电子设备100创建沙箱用户
具体地,电子设备100可以通过AMS,调度UMS创建沙箱用户。例如,在UMS中调用createUser()方法创建沙箱用户,创建过程具体包括:设置用户信息(用户ID,序列号创建时间等等)、用户目录、以及数据目录等等。
以下,示出了电子设备100创建沙箱用户的代码示例:
步骤2:电子设备100在沙箱用户中搭建沙箱环境
其中,电子设备100可以通过防逃逸模块来搭建沙箱环境。
具体地,电子设备搭建沙箱环境主要包括以下两个部分:1)假数据填充,该假数据包括:联系人、通话记录、备忘录等等。这样,即使恶意应用或恶意网页窃取了沙箱环境中填充的数据,也不会泄露用户的隐私数据,造成用户的损失。2)安装常见应用,例如,社交类应用、支付类应用、购物类应用等等。也就是说,电子设备100可以用过假数据填充,和/或,安装常见应用来模拟真实环境,这样,避免恶意应用通过沙箱环境中的内容来判断是否为真实的运行环境时,侦测出其所在的环境不是电子设备100真实的运行环境。
在本申请实施例中,沙箱环境还可以是指第一沙箱环境。
S1003、电子设备100生成初始沙箱信息。
初始沙箱信息记录了检测之前,沙箱环境中的结构、内容。在本申请实施例中,初始沙箱信息还可以是指初始信息。
电子设备100可以通过以下两种方式触发生成初始沙箱信息:
1)电子设备100在完成沙箱用户的创建以及沙箱环境的搭建后,生成初始沙箱信息。
电子设备100可以在完成沙箱用户的创建以及沙箱环境的搭建后,根据沙箱用户的进程、文件、应用和配置等信息生成初始沙箱信息。这时,电子设备100无需多次生成初始沙箱信息,只有在电子设备100创建沙箱用户、或者搭建沙箱环境时,才会根据沙箱环境生成初始沙箱信息。
具体地,电子设备100可以在检测到用户开启安全检测功能的操作之后,完成沙箱用户的创建以及沙箱环境的搭建,这时,电子设备100再生成沙箱信息。例如,在如图2A所述的用户界面中,电子设备100可以检测到用户作用于设置开关211A的触控操作后,完成沙箱用户的创建以及沙箱环境的搭建,根据搭建的沙箱环境生成初始沙箱信息。或者,在如图2I所述的用户界面中,在电子设备100检测到作用于确认控件514A的触控操作后,完成沙箱用户的创建以及沙箱环境的搭建,根据搭建的沙箱环境生成初始沙箱信息。
2)电子设备100在开始检测时,生成初始沙箱信息。
电子设备100可以在开始检测待检测应用的安全性时,触发生成初始沙箱信息。这样,电子设备100在每次检测应用时,都会触发记录沙箱环境的结构、内容。
具体地,电子设备100可以在,已经完成沙箱用户的创建以及沙箱环境的搭建后,接收到用户安装应用程序的用户操作时,触发生成初始沙箱信息。例如,在如图2E所述的用户界面中,电子设备100可以在完成应用程序A的安装包的下载后,触发生成初始沙箱信息。
3)电子设备100提前预置初始沙箱信息。
由于沙箱环境的进程、文件、应用和配置等信息较为固定,电子设备100无需在创建沙箱用户或者检测时,根据沙箱环境生成初始沙箱信息,电子设备100可以提前预置有沙箱环境对应初始沙箱信息。这样,可以减少电子设备100初始化沙箱环境时,生成初始沙箱信息的时间,加快沙箱环境初始化的速度。
具体地,初始沙箱信息可以记录以下一项或多项:沙箱环境中的进程、文件、应用和配置等等。初始沙箱信息可以包括但不限于以下几项信息:
1)进程信息
该进程信息用于记录沙箱环境中正在运行的应用程序所对应的进程,这些进程描述了应用程序在沙箱环境中的执行活动。例如,当沙箱环境中运行笔记本时,该进程信息中可以找到一个称为Notepad.exe的进程。另外,该进程信息可以包括系统进程信息和用户进程信息,系统进程信息用于记录沙箱环境中系统本身在运行过程中,系统自带的应用对应的进程,用户进程信息用于记录沙箱环境运行用户应用时,该用户应用对应的进程,该用户应用为除去系统应用之外,沙箱环境中存在的应用,例如,沙箱用户通过防逃逸模块安装的常见应用即可称为用户应用。
可以理解的是,在电子设备100检测待检测应用之前,沙箱环境中可能不存在进程,此时进程信息为空,或者,沙箱环境中可能只存在系统进程,例如,与软件更新相关的进程,或者,沙箱环境中同时存在系统进程和应用进程,本申请实施例对此不作限制。
图6示例性示出了电子设备100运行沙箱用户时,电子设备100内部的部分进程。其中,沙箱用户的用户ID为user10,从图6所列举的进程可以看出,沙箱用户的进程为图6中黑线框内列举的进程,其余为主用户的进程,电子设备100可以将黑线框中列举的进程记录到初始沙箱信息中的进程信息中。
2)文件信息
该文件信息用于记录电子设备100检测之前,沙箱环境中的包含的文件。这些文件可用于存放电子设备100检测之前,沙箱环境中的应用所包含的数据。例如,这些文件中可以包含电子设备100模拟真实环境时,通过防逃逸模块填充的假数据所在的文件,即联系人信息相关文件、备忘录相关文件、通话记录相关文件等等。
在一些实施例中,电子设备100在检测待检测应用之前,可以通过路径/data/user/X/查找到沙箱环境中包含的文件。
图7示例性示出了沙箱环境中的部分文件。其中,该沙箱用户的用户ID为user 10,电子设备100可以将图7中列出的文件记录到初始沙箱信息中的文件信息中。
3)应用信息
该应用信息用于记录沙箱环境中初始安装的应用,这些应用可以是指电子设备100为了模拟真实环境,通过防逃逸模块安装的一些常见应用,例如,社交类应用、支付类应用、购物类应用等等。
4)配置信息
该配置信息用于记录沙箱环境中的初始配置,初始配置描述了电子设备100配置给沙箱环境的权限、功能以及功能的开启或关闭状态,其中,权限可以包括对联系人信息的访问权限、对网络的访问权限、对账号信息的访问权限等等,功能可以包括WiFi、蓝牙、GPS等等。沙箱环境的初始配置可以由开发人员确定,例如,沙箱环境的初始配置可以为:沙箱环境的功能包括WiFi和蓝牙,其中WiFi处于关闭状态、蓝牙处于开启状态,权限包括对网络的访问权限等等。
在一些实施例中,电子设备100在检测待检测应用之前,可以通过路径/data/system/users/X/settings_xxx.xml查找到沙箱环境的初始配置。
S1004、响应于下载待检测应用的操作,电子设备100将待检测应用的安装包下载到主用户对应的真实环境中。
电子设备100将待检测应用的安装包下载到主用户对应的真实环境中是指,电子设备100将该应用的安装包保存到主用户存储文件的位置。这里,待检测应用的安装包可以为APK格式的文件。另外,该安装包是在电子设备100运行真实环境,响应于下载待检测应用的操作时获取的,也就是说,该安装包时通过电子设备100的真实环境获取的。
该操作可以是指作用于待检测应用的下载控件的用户操作,响应于该操作,电子设备100开始下载待检测应用对应的安装包。
示例性地,该待检测应用可以是指图2D所述的应用程序A,该操作可以是指图2D所示实施例中作用于下载控件511C的用户操作。
在一些实施例中,电子设备100还可以将待检测应用的安装包下载到沙箱环境中。
在本申请实施例中,主用户对应的真实环境还可以是指主用户空间。
可以理解的是,该安装包除了可以通过图2C所示的电子设备100扫描二维码中获取,该安装包还可以通过应用商店或者网页下载获取,或者通过跳转到链接对应的应用下载界面触发下载待检测应用的安装包,本申请实施例对电子设备100获取安装包的方式不做限制。
S1005、电子设备100将待检测应用安装到沙箱环境中。
电子设备100将待检测应用安装到沙箱环境中是指,电子设备100将该待检测应用的文件保存到沙箱用户存储文件的位置。具体地,电子设备100安装待检测应用的过程可以是指,电子设备100解压缩待检测应用的安装包,获得多个应用文件,这些应用文件分别对应不同的存储位置,电子设备100将这些文件保存到沙箱用户的存储空间中对应的存储位置。
在电子设备100将待检测应用安装到沙箱环境的过程中,该安装过程在后台进行,不对用户显示,电子设备100的用户界面中可以显示提示信息,该提示信息用于提示用户电子设备100正在检测该应用的安全性。
示例性地,该提示信息可以是指图2F所示实施例中的第一提示信息512。
电子设备100安装待检测应用的触发方式可以包括但不限于以下几种情况:
1)电子设备100接收到用户安装待检测应用的操作
该操作可以是指作用于待检测应用的安装包的安装操作,响应于该操作,电子设备100安装该待检测应用,并将待检测应用安装到沙箱用户中。
这时,步骤S1004为可选的步骤,电子设备100可以通过其他方式获得待检测应用的安装包,例如,电子设备100通过外部存储器接口120,从非易失性存储器中获得待检测应用的安装包,电子设备100可以接收到用户作用于该安装包的安装操作,将待检测应用安装到沙箱用户中。
2)电子设备100自动触发应用的安装
其中,电子设备100可以在完成待检测应用的安装后自动触发待检测应用的安装,并将待检测应用安装到沙箱环境中。
这时,步骤S1004和步骤S1005可以整合为一个步骤,响应于下载应用的操作,电子设备100可以将在待检测应用的安装包下载完成之后,自动将待检测应用安装到沙箱用户中。
可以理解的,上述步骤S1004的操作不限于下载应用的操作,例如,当电子设备100扫码后自动触发待检测应用的下载和安装,该操作还可以是指用户扫描二维码的用户操作。又例如,当电子设备100接收到用户作用于链接的点击操作,响应于该操作,电子设备100自动触发待检测应用的下载和安装,该操作可以是指用户作用于链接的点击操作。本申请实施例对该操作不作限制。
具体实现中,在电子设备100下载待检测应用时,沙箱服务框架的权限属于系统权限(android:sharedUserId="android.uid.system"),电子设备100可以将待检测应用的安装包下载到主用户保存文件的位置,即下载到主用户的真实环境中,或者,电子设备100可以将待检测应用的安装包下载到子用户保存文件的位置中,其中,该子用户可以是指沙箱用户或普通子用户。在电子设备100安装待检测应用时,电子设备100可以调用PMS.installPackageAsUser(),或者执行adb命令将待检测应用安装到指定的用户,这里,电子设备100可以通过指定沙箱用户的用户ID将应用安装到沙箱环境中。
S1006、电子设备100触发待检测应用的行为。
在待检测应用安装完成后,电子设备100需要遍历待检测应用的功能路径,触发待检测应用的行为,该行为是指待检测应用运行的过程中,对电子设备100中的函数的调用行为。这些函数的调用行为表明了待检测应用的功能调用情况。具体实现中,电子设备100触发待检测应用的行为的过程可以是指电子设备100遍历待检测应用提供的各个图层,模拟用户发起用户操作,作用于待检测应用各个控件,触发待检测应用的功能的过程。在待检测应用的功能被触发时,待检测应用会通过调用函数该触发操作。此时,待检测应用调用函数的操作即为应用的行为。
其中,电子设备100可以使用行为触发模块来触发应用的行为。
电子设备100触发待检测应用的行为是因为待检测应用在安装完成后,可能不会立即发起待检测应用的行为,这时,电子设备100无法及时根据待检测应用的行为来分析待检测应用的安全性,通过触发待检测应用的行为,能够使电子设备100在较短的时间内根据应用的行为判断该应用是否为恶意应用,加快电子设备100的检测速度。
S1007、电子设备100生成行为序列。
根据待检测应用对函数的调用行为,电子设备100可以生成行为序列表。这些行为序列表包含了该待检测应用在运行的过程中,调用函数的所有行为记录。例如,行为序列中可以包含电子设备100按照顺序调用的函数,以及调用的时间。具体地,电子设备100可以通过插桩模块对电子设备100内部的函数“做标记”,这样,当电子设备100运行的应用调用到“做标记”的函数时,即可记录该函数的调用情况,生成行为序列。进一步地,电子设备100可以利用插桩模块,对电子设备100的敏感函数“做标记”,当待检测应用调用到敏感函数时,电子设备100即可记录应用对敏感函数的调用行为。其中,敏感函数是指涉及到用户信息、用户权限等的函数。例如,敏感函数可以是指涉及到位置信息、联系人信息等的函数。敏感函数可以由研发人员预先定义,不同的敏感函数还可以对应不同的等级,等级越高,函数越容易涉及用户的隐私,当该函数被调用时,说明该待检测应用是恶意函数的可能性越大。电子设备100可以通过桩点监控模块,从待检测应用调用的多个函数中找出“做标记”的函数。
S1008、电子设备100根据行为序列判断该待检测应用的安全性。
待检测应用的安全性可以是指待检测应用是否为恶意应用,或非安全应用。具体地,电子设备100可以根据行为序列中调用的敏感函数以及调用的各敏感函数之间的关联性来判断该待检测应用是否恶意。也就是说,待检测应用调用了预设函数时,电子设备100可以确定该待检测应用为恶意应用,待检测应用未调用预设函数时,电子设备100可以确定该待检测应用不是恶意应用,或该待检测应用为安全应用。
例如,电子设备100可以将该行为序列输入到已经训练好的神经网络分类模型中进行检测,即可得到检测结果,该检测结果用于指示该待检测应用是否恶意。其中,电子设备100可以利用已知应用来训练该神经网络分类模型。将已知应用是否为恶意应用作为标签,利用应用的行为序列及标签对自定义的卷积神经网络进行训练,从而获得基于应用行为的应用检测神经网络分类模型。可以理解的是,上述利用神经网络分类模型来判断应用是否恶意只是示例性介绍,本申请实施例对此不作限制。
电子设备100可以使用威胁检测模块来判断待检测应用是否恶意。另外,在电子设备未开启安全检测开关时,桩点监控模块不会对应用进行监控,这样可以减少资源的浪费。
S1009、电子设备100记录待检测应用的安装包对应的标识以及检测结果。
该标识可用于唯一确定该安装包,例如,该标识可以为该安装包对应的哈希值,电子设备100可以利用MD5、CRC等哈希算法来计算该安装包的哈希值。检测结果可以指示该待检测应用是否为恶意应用。
电子设备100可以在检测完成之后,计算此次检测的安装包的哈希值,并将该哈希值以及此次检测结果保存起来。这样,在下一次检测时,如果获取到相同的安装包,电子设备100可以直接根据安装包的哈希值以及检测结果确定当前检测的安装包对应的应用是否安全,提升电子设备100检测的效率,减少重复检测过程中,不必要的时间浪费。
这就是说,在电子设备100执行步骤S1005之前,还包括:电子设备100获取待检测应用的安装包,并计算该安装包的哈希值,判断电子设备100中是否存在相同的哈希值,如果存在,则电子设备100找到该哈希值对应的检测结果,再根据该检测结果判断是直接安装,还是显示检测结果并提供用户选择的结果;如果不存在,电子设备100再将该待检测应用安装到沙箱用户中。
S1010、在待检测应用检测完成后,电子设备100生成结束沙箱信息。
在电子设备100检测完成后,沙箱环境相比与检测之前,可能会存在以下一种或多种情况:
1)沙箱环境中存在不变的内容。
2)沙箱环境中存在丢失的内容。
3)沙箱环境中存在新增的内容。
4)沙箱环境中存在更改的内容。
沙箱环境中存在内容的变化,这是由于待检测应用在沙箱环境中的运行,会对沙箱用户的沙箱环境造成影响,例如,产生额外数据、修改配置等等,从而造成了沙箱环境的变化。这时,电子设备100可以通过对比检测前和检测前的沙箱环境来具体确定沙箱环境的变化情况。即,电子设备100可以在检测完成后,通过生成结束沙箱信息,来记录沙箱环境的结构、内容,之后,通过对比初始沙箱信息以及结束沙箱信息即可确定沙箱环境中的变化情况。在本申请实施例中,电子设备100在待检测应用检测完成后生成的结束沙箱信息还可以是指第一信息。
电子设备100可以在以下任意一种情况下,生成结束沙箱信息:
1)电子设备100在每次检测完成后,生成结束沙箱信息
这样,电子设备100不区分待检测应用是否为恶意应用,在每次检测完成之后生成结束沙箱信息,并根据初始沙箱信息和结束沙箱信息的区别还原沙箱环境,保证电子设备100每次检测时,沙箱环境都是固定的结构和内容。
2)当电子设备100检测到待检测应用为恶意应用时,生成结束沙箱信息
这是由于只有在电子设备100运行恶意应用时,沙箱环境中发生的变化才会更大,或沙箱环境才会遭到破坏,会影响到电子设备100下一次的检测过程。这样,电子设备不需要在每次检测完成后都还原沙箱环境,减少系统资源的浪费,提升沙箱检测的效率。
可以理解的是,不限于上述情况,电子设备100该可以周期性,或根据用户的操作来确定何时生成结束沙箱信息来还原沙箱,本申请实施例对此不作限制。
结束沙箱信息描述了电子设备100完成检测之后,沙箱环境的结构、内容。具体地,结束沙箱信息类似于初始沙箱信息,也可以包括但不限于以下一项或多项:
1)进程信息
与初始沙箱信息中的进程信息相同,结束沙箱信息中的进程信息同样用于记录沙箱环境中正在运行的应用程序所对应的进程。不同的是,结束沙箱信息中的进程信息相比于初始沙箱信息中的进程信息可能存在不变、新增或消失的进程。
其中,当结束沙箱信息中的进程信息与初始沙箱信息中的进程信息相同时,则说明电子设备100检测结束后与检测前的进程相同。
当结束沙箱信息中的进程信息存在新增的进程时,新增的进程可能来源于待检测应用对应的进程,或者,来源于待检测应用拉起的其他应用对应的进程,例如,当待检测应用为社交类应用,在社交类应用运行时,该社交类应用可能会触发开启相机应用,则此时电子设备100运行的进程中,包含社交类应用对应的进程以及相机应用对应的进程。
当结束沙箱信息中的进程信息,相比于初始沙箱信息中的进程信息存在消失的进程时,消失的进程可以为沙箱环境检测待检测应用之前,运行的其他应用对应的进程,例如该其他应用可以是指杀毒软件,当待检测应用携带OSO病毒时,该病毒可以采用镜像劫持技术,在系统中更改程序执行时的指向,使电子设备100由原本运行的杀毒软件,更改为运行待检测应用。
2)文件信息
该文件信息用于记录检测完成之后,沙箱环境中的包含的文件。这些文件可用于存放电子设备100检测完成后,沙箱环境中的应用所包含的数据。相比于初始沙箱信息中记录的文件,结束沙箱信息中可能存在不变、新增、消失或更改的文件。
其中,结束沙箱信息中可能存在新增的文件是指,待检测应用在检测过程中可能会额外产生一些数据,例如,包括应用内容数据、应用缓存数据、应用配置数据等等。那么,此时结束沙箱信息中的文件信息相比于初始沙箱信息中的文件信息,会记录有新增的文件,这些文件可以包含应用内容数据、应用缓存数据、应用配置数据等等。
结束沙箱信息中可能存在消失的文件是指,待检测应用在检测过程中可能会删除沙箱环境中原本配置的一些文件,例如联系人信息相关文件、备忘录相关文件、通话记录相关文件等等,则此时结束沙箱信息中的文件信息,相比于初始沙箱信息中的文件信息中记录的文件,会缺少部分文件。
结束沙箱信息中可能存在更改的文件是指,待检测应用在检测过程中可能会更改沙箱环境中原本配置的一些文件,例如,更改联系人信息、备忘录、通话记录等等,则此时结束沙箱信息中的文件信息记录的文件,可以与初始沙箱信息中的文件信息记录的文件相同,但是文件中包含的数据不同。
3)应用信息
该应用信息用于记录检测结束后,沙箱环境中安装的应用。相比于初始沙箱信息中记录的应用,结束沙箱信息中可能存在不变、新增或消失的应用。
其中,结束沙箱信息中存在不变的应用是指,结束沙箱信息中的应用信息记录的应用,与初始沙箱信息中的应用信息记录的应用相同。
结束沙箱信息中存在新增的应用时,该新增的应用可以为待检测应用,或者,进一步,该新增的应用还包括其他应用,该其他应用可以为电子设备100安装待检测应用时,该待检测应用绑定的应用。
结束沙箱信息中存在消失的应用时,该消失的应用可以为电子设备100搭建沙箱环境时,通过防逃逸模块安装的一些常见应用,例如,社交类应用、支付类应用、购物类应用等等。
4)配置信息
该配置信息用于记录检测结束后,沙箱环境中的配置。相比于初始沙箱信息中记录的配置,结束沙箱信息中可能存在不变或变化的配置。
结束沙箱信息中存在不变的配置是指结束沙箱信息中的配置信息,与初始沙箱信息中的配置信息相同。
结束沙箱信息中存在变化的配置是指结束沙箱信息中的配置信息与初始沙箱信息中的配置信息不同,其中,可能存在配置信息记录的配置增多、减少或者配置内容的更改等情况。这是由于,当待检测应用为恶意应用时,可能会修改沙箱环境的初始配置,例如,当待检测应用绑定有其他搜索类应用时,该待检测应用可能会篡改沙箱环境中默认配置的搜索类应用,将该默认配置的搜索类应用更改为待检测应用绑定的其他搜索类应用。
S1011、电子设备100根据初始沙箱信息和结束沙箱信息初始化沙箱环境。
电子设备100初始化沙箱环境可以是指电子设备100将检测后的沙箱环境的结构、内容还原到检测前,从而重置电子设备100检测待检测应用的过程中,待检测应用在沙箱环境中的运行,对沙箱环境造成的影响。具体地,图8示出了步骤S1011的详细过程。如图8所示,该详细过程包括:
S201、电子设备100根据初始沙箱信息和结束沙箱信息获得区别信息。
该区别信息记录了结束沙箱信息和初始沙箱信息的区别。其中,该区别信息可以记录有检测后的沙箱环境,相比于检测前的沙箱环境,新增、丢失或更改的内容。
具体地,区别信息可以包括以下一项或多项:
1)区别进程信息
该区别进程信息可以记录有检测后的沙箱环境,相比于检测前的沙箱环境,新增或丢失的进程。其中,该新增的进程为结束沙箱信息中记录的进程,该丢失的进程为初始沙箱信息中记录的进程。
2)区别文件信息
该区别进程信息可以记录有检测后的沙箱环境,相比于检测前的沙箱环境,新增、丢失或更改的文件。其中,该新增的文件为结束沙箱信息中记录的进程,该丢失或更改的文件为初始沙箱信息中记录的文件。
3)区别应用信息
该区别应用信息可以记录有检测后的沙箱环境,相比于检测前的沙箱环境,新增或丢失的应用。其中,该新增的应用为结束沙箱信息中记录的应用,该丢失的应用为初始沙箱信息中记录的应用。
4)区别配置信息
该区别配置信息可以记录有检测后的沙箱环境,相比于检测前的沙箱环境,变化的配置,另外,该区别配置信息为初始沙箱信息中记录的配置,相比于结束沙箱信息,变化的配置。换句话说,区别配置信息中记录的变化的配置来源于初始沙箱信息中记录的配置。
另外,区别信息中除了包括上述四项信息之外,区别信息中还包括标识信息,该标识信息用于标记区别信息中记录的区别,具体为结束沙箱信息,相比于初始沙箱信息,新增、丢失或更改的内容。例如,当区别进程信息中包括新增的进程,则区别信息中除了包含该新增的进程,还包括该新增的进程的标识信息,电子设备100根据该标识信息即可确定该进程为沙箱环境在检测结束后,相比于检测前新增的进程。
在电子设备100获取区别信息的具体实现中,由于检测过程中,沙箱环境的进程、文件和应用都可能存在新增和丢失的情况,电子设备100可以根据初始沙箱信息和结束沙箱信息中列举的进程、文件、应用,来确定新增或丢失的进程、文件、应用。进一步地,由于文件的内容也可能存在更改的情况,这时仅仅通过对比初始沙箱信息和结束沙箱信息中记录的文件无法确定文件的内容是否更改。电子设备100可以计算检测前和检测后,沙箱环境中各文件的哈希值,通过对比初始沙箱信息以及结束沙箱信息中,相同文件的哈希值,即可确定文件的内容是否发生了更改。具体地,当哈希值相同时,则说明该文件的内容没有发生变化,当哈希值不同时,则说明该文件的内容在检测结束后,相比于检测前发生了内容上的更改。类似的,当沙箱环境的配置发生变化时,电子设备100可以根据配置的哈希值来确定结束沙箱信息相比于初始沙箱信息中,哪些配置发生了变化。
S202、电子设备100根据区别信息还原沙箱环境。
电子设备100还原沙箱环境是为了让沙箱环境的结构和内容能够恢复到检测之前。其中,电子设备100根据区别信息还原沙箱环境为轻度还原阶段。电子设备100可以根据区别信息中记录的新增、丢失或更改的内容,删除、补充或替换相应的内容,从而达到还原沙箱环境的效果。
具体实现中,当标识信息指示为新增内容时,电子设备100将该标识信息对应的区别内容从沙箱环境中删除,当标识信息指示为丢失内容时,电子设备100将该标识信息对应的区别内容补充到沙箱环境中,当标识信息指示为更改的内容时,电子设备100将沙箱环境中原本对应的内容替换为该标识信息对应的区别内容。
在一些实施例中,电子设备100可以根据区别进程信息,关闭或开启检测完成后的沙箱环境中的进程;这时,区别进程信息中记录有沙箱环境,检测后相对于检测前,新增或减少的进程。电子设备100根据区别文件信息,删除或增加检测完成后的沙箱环境中的文件;这时,区别文件信息中记录有沙箱环境,检测后相对于检测前,新增或减少的文件。电子设备100根据区别应用信息,卸载或安装检测完成后的沙箱环境中的应用;这时,区别应用信息中记录有沙箱环境,检测后相对于检测前,新增或减少的应用。电子设备根据区别配置信息,替换检测完成后的沙箱环境中的配置。这时,区别配置信息中记录有沙箱环境,检测后相对于检测前,变化的配置。可以看出,进程、文件和应用都是记录新增或减少的内容,而配置是记录变化的内容,这是因为进程、文件和应用的变化一般是数量上的变化,内容上的变化较少,电子设备100可以直接通过删除或增加的方式来处理沙箱环境中新增或丢失的内容,而配置的变化一般是内容上的变化,不容易查找,所以,电子设备100可以直接通过,将沙箱环境中的配置替换成检测前的配置的方式来还原沙箱环境。
在一些实施例中,电子设备100可以按照先还原进程后还原静态内容(例如,应用、文件、配置)的顺序,还原沙箱环境。具体地,电子设备100可以先根据区别进程信息还原沙箱环境中的进程,再根据区别应用信息还原沙箱环境中的应用,之后在根据区别文件信息还原沙箱环境中的文件,最后再根据区别配置信息还原沙箱环境中的配置。可以理解的是,还原顺序可以预先设定,本申请实施例对沙箱环境的还原顺序不作限制。
进一步地,由于进程与文件存在关联关系,在电子设备100拉起进程或删除进程时,沙箱环境中可能会出现某些文件消失或新增某些文件的情况,这时,区别文件信息中记录的文件就不再是当前沙箱环境与检测前的沙箱环境的区别。那么,电子设备100可以在检测结束后,先确定结束沙箱信息中的进程信息,再根据结束沙箱信息和初始沙箱信息中的进程信息确定区别进程信息,在根据区别进程信息还原进程之后,电子设备100再确定结束沙箱信息中的其他信息,包括:文件信息、应用信息、配置信息等等,再确定这些其他信息在结束沙箱信息和初始沙箱信息中的区别信息,并根据该区别信息还原沙箱中的文件、应用、配置等等。
在一些实施例中,区别信息中不包括区别配置信息,电子设备100可以直接将沙箱环境中的配置替换为初始沙箱信息中的配置信息记录的配置。这时由于检测结束后,沙箱环境的配置发生的变化,往往出现在配置的内容上,这相比于增加配置或丢失配置更不易发现。这时,电子设备100可以不用比较检测前和检测后的沙箱环境的配置,直接对沙箱环境的配置进行替换,减少电子设备100比较检测前和检测后的沙箱环境的结构、内容的时间和工作量,并且,相比于根据区别来还原配置,直接替换配置更能保证还原的准确性。可以理解的是,不限于沙箱环境的配置,其他内容,例如进程、文件、应用等等中的一个或多个也可以按照直接替换的方式进行还原,本申请实施例对此不作限制。
可以看出,电子设备100直接根据沙箱环境检测前和检测后的区别,来还原沙箱环境,当检测前和检测后的沙箱环境区别较小时,电子设备100可以花费较少的时间在还原沙箱环境上,使沙箱环境能够尽快地为下一次应用的检测做准备。
S203、电子设备100再次生成结束沙箱信息。
在电子设备100根据区别信息还原沙箱之后,电子设备100可以检查该还原过程是否成功,那么,电子设备100可以对比还原后的沙箱环境是否与检测前的沙箱环境一致,从而确定该还原过程是否成功。这时,电子设备100可以再次生成结束沙箱信息。在本申请实施例中,电子设备100再次生成的结束沙箱信息还可以是指第二信息。
具体关于再次生成的结束沙箱信息包含的内容可以参考前述初始沙箱信息和结束沙箱信息的相关描述。
S204、电子设备100判断再次生成的结束沙箱信息与初始沙箱信息是否一致。
如果电子设备100判断再次生成的结束沙箱信息与初始沙箱信息一致,则说明沙箱环境轻度还原成功,此时沙箱环境的结构、内容已经恢复到检测前的沙箱环境的结构、内容。如果电子设备100判断再次生成的结束沙箱信息与初始沙箱信息不一致,则说明电子设备100轻度还原失败,电子设备100可以执行步骤S1014,进入重度还原阶段。
S205、电子设备100删除该沙箱用户,并重新创建沙箱用户,搭建沙箱环境。
电子设备100轻度还原失败,可能存在以下几种情况:
1)沙箱环境中存在无法删除的进程
当待检测应用为恶意应用时,该恶意应用可能会在电子设备100生成结束沙箱信息时,将自身的进程伪装成沙箱环境中的系统进程,或者,隐藏自身的进程,导致电子设备100没有将该恶意应用的进程记录到区别进程信息中,使电子设备100无法删除该进程。
2)沙箱环境中存在无法卸载的应用
当待检测应用为恶意应用时,在电子设备100卸载该恶意应用时,恶意应用可能会触发恶意程序,在系统中安装大量文件,导致电子设备100无法卸载该恶意应用。
3)沙箱环境中存在无法修复的文件
当待检测应用为恶意应用时,在恶意应用运行的过程中,可能会造成文件的严重损坏,导致电子设备100确定的区别文件信息有遗漏,导致电子设备100轻度还原过程中,文件无法完全恢复。
不限于上述提及的几种情况,还可能存在其他情况导致电子设备100轻度还原失败,本申请实施例对此不作限制。
在电子设备100删除该沙箱用户的具体实现中,电子设备100可以调用removeUser()方法来删除该沙箱用户,从而直接删除沙箱用户的沙箱环境中的所有内容,然后重新创建沙箱用户,搭建新的沙箱环境。具体地,电子设备100中的初始化模块向主用户发送删除沙箱用户的指令,主用户根据该指令调用UMS删除沙箱用户,在沙箱用户删除完成后,主用户再调用UMS创建新的沙箱用户,并利用防逃逸模搭建沙箱环境。
具体关于电子设备100创建沙箱用户以及搭建沙箱环境的过程可以参考前述内容,这里不再赘述。
可以看出,电子设备100可以采用二级还原的方法,在电子设备完成检测之后,首先对沙箱进行轻度还原,如果轻度还原失败,电子设备再对沙箱进行重度还原。能够根据沙箱还原的情况来选择使用轻度还原还是重度还原,在尽可能地减少沙箱还原过程中所消耗的时间的前提下,保证还原的成功,有效提高沙箱还原的效率。
S1012、电子设备100判断是否安装该待检测应用。
电子设备100可以通过以下两种方式判断是否安装该待检测应用:
1)电子设备100根据检测结果判断是否安装该待检测应用
具体地,当检测结果指示该待检测应用为恶意应用时,电子设备100判断不安装该待检测应用,当检测结果指示该待检测应用不是恶意应用时,电子设备100判断安装该待检测应用。这样,电子设备100无需用户确定,自行根据安装包是否安全来判断是否安装该待检测应用,避免了恶意应用对电子设备100的威胁。
2)电子设备100根据用户的选择判断是否安装该应用
电子设备100可以将是否安装待检测应用的选择权交由用户,由用户来决定是否安装该待检测应用。这是由于,即使电子设备100检测出该待检测应用为恶意应用,该待检测应用可能是用户自己开发的应用,用户仍然想要安装该待检测应用,或者,即使电子设备100检测出该待检测应用不是恶意应用,用户也可以改变想法,选择不再安装该待检测应用。这样,由用户来确定是否该待检测应用,增加了用户安装应用的自由性,为用户提供更加灵活的选择。
在该情况下,电子设备100可以显示提示信息,该提示信息包括检测结果,以供用户根据该检测结果判断是否安装该待检测应用,该提示信息还能够响应于用户的操作,触发电子设备100是否安装该待检测应用。
示例性地,参见图2G,该提示信息可以为第二提示信息513,该第二提示信息513用于提示用户该待检测应用对应的安装包存在安全风险,是否继续安装,另外,第二提示信息513中还包括确认控件513A、取消控件513B,这两个控件即为电子设备100提供的可供用户操作的接口,用于用户选择是否安装该待检测应用。
S1013、电子设备100安装该待检测应用。
电子设备100安装该待检测应用可以是指电子设备100直接安装该待检测应用,或者,在接收到用户触发安装待检测应用的操作后,响应于该操作,安装该待检测应用。
具体实现中,电子设备100可以调用PMS.installPackageAsUser(),或者执行adb命令将待检测应用安装到指定的用户,例如,电子设备100可以将待检测应用安装到主用户的存储空间中,这时,电子设备100可以不指定用户ID或者指定用户ID为User0即可将待检测应用安装到主用户的真实环境中。或者,电子设备100可以指定用户ID为普通子用户的ID,例如,User11,这样,电子设备100可以将待检测应用安装到子用户的存储空间中。在安装完成后,该应用的图标可以出现在电子设备100的用户界面中,当电子设备100接收到用户作用于该图标的用户操作时,响应于该操作,电子设备100即可打开该应用。这样,该应用可以通过电子设备100的用户界面呈现给用户,用户能够在检测完成后使用该应用的功能。
S1014、电子设备100不安装该待检测应用。
电子设备100不安装该待检测应用可以是指电子设备100检测到该待检测应用为恶意应用,拒绝安装该待检测应用,或者,在接收到用户触发拒绝安装的操作后,响应于该操作,拒绝安装该待检测应用。
在一些实施例中,进一步地,当电子设备100不安装该待检测应用,电子设备100可以将该待检测应用的安装包删除,释放电子设备100的内存空间。
可以理解的是,本申请实施例提供的检测方法不限于上述提及的检测场景,例如,还可以应用到应用市场或者网页上下载应用的场景,另外,不限于对安装包的检测,该方法还可应用于网页、文件、代码等的安全性检测,本申请实施例对此不作限制。
本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种沙箱初始化方法,其特征在于,所述方法应用于包含主用户空间和子用户空间的电子设备,所述主用户空间和所述子用户空间对应所述电子设备中不同的存储区,所述主用户空间和子用户空间相互独立;所述方法包括:
所述电子设备在所述子用户空间中创建第一沙箱环境,并根据待检测应用的安装包,在所述第一沙箱环境中检测所述待检测应用的安全性;所述安装包通过所述主用户空间获取;
所述电子设备获取所述第一沙箱环境的第一信息,所述第一信息描述了检测完成后的所述第一沙箱环境的内容;
所述电子设备根据初始信息和所述第一信息,调整检测完成后的所述第一沙箱环境,使得所述第一沙箱环境的内容和所述初始信息描述的内容一致;所述初始信息描述了检测前的所述第一沙箱环境的内容;
所述电子设备获取所述第一沙箱环境的第二信息,所述第二信息描述了调整后所述第一沙箱环境的内容;
在所述第二信息与所述初始信息不一致的情况下,所述电子设备删除所述第一沙箱环境。
2.根据权利要求1所述的方法,其特征在于,所述电子设备删除所述第一沙箱环境之后,所述方法还包括:
所述电子设备在所述子用户空间中创建第二沙箱环境。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备获取所述第一沙箱环境的第一信息之前,所述方法还包括:
所述电子设备完成所述待检测应用的安全性检测;
或者,
所述电子设备确定所述待检测应用为非安全应用。
4.根据权利要求1或2所述的方法,其特征在于,所述电子设备根据所述安装包,在所述第一沙箱环境中检测所述待检测应用的安全性,具体包括:
所述电子设备根据所述安装包,在所述第一沙箱环境中安装所述待检测应用,并运行所述待检测应用;
所述电子设备获取运行所述待检测应用的过程中,所述待检测应用对所述电子设备中各个函数的调用情况;
在所述待检测应用调用了预设函数的情况下,所述电子设备确定所述待检测应用为非安全应用;
在所述待检测应用未调用所述预设函数的情况下,所述电子设备确定所述待检测应用为安全应用。
5.根据权利要求1或2所述的方法,其特征在于,所述初始信息为预置信息,或者,所述初始信息由所述电子设备根据检测前的所述第一沙箱环境获得。
6.根据权利要求1或2所述的方法,其特征在于,所述初始信息包括以下一项或多项:进程信息、文件信息、应用信息或配置信息;
所述进程信息、文件信息、应用信息、配置信息分别描述了所述电子设备检测前,所述第一沙箱环境中进程、文件、应用、配置。
7.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括以下一项或多项:进程信息、文件信息、应用信息或配置信息;
所述进程信息、文件信息、应用信息、配置信息分别描述了所述电子设备检测完成后,所述第一沙箱环境中进程、文件、应用、配置。
8.根据权利要求1或2所述的方法,其特征在于,所述电子设备根据初始信息和所述第一信息,调整检测完成后的所述第一沙箱环境,具体包括:
所述电子设备根据初始信息和所述第一信息,获得区别信息,所述区别信息描述了检测后相对于检测前,所述第一沙箱环境中变化的内容;
所述电子设备根据所述区别信息调整检测完成后的所述第一沙箱环境。
9.根据权利要求8所述的方法,其特征在于,所述区别信息包括以下一项或多项:区别进程信息、区别文件信息、区别应用信息或区别配置信息;
所述区别进程信息、区别文件信息、区别应用信息、区别配置信息分别描述了所述电子设备检测过程中,所述第一沙箱环境中变化的进程、文件、应用、配置。
10.根据权利要求9所述的方法,其特征在于,所述电子设备根据所述区别信息调整检测完成后的所述第一沙箱环境,具体包括:
所述电子设备根据所述区别进程信息,关闭或开启检测完成后的所述第一沙箱环境中的进程;
所述电子设备根据所述区别文件信息,删除或增加检测完成后的所述第一沙箱环境中的文件;
所述电子设备根据所述区别应用信息,卸载或安装检测完成后的所述第一沙箱环境中的应用;
所述电子设备根据所述区别配置信息,替换检测完成后的所述第一沙箱环境中的配置。
11.一种电子设备,包括:存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中所述一个或多个程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至10任一项所述的方法。
12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/070944 WO2022247300A1 (zh) | 2021-05-26 | 2022-01-10 | 沙箱初始化方法、图形界面及相关装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110582060 | 2021-05-26 | ||
CN2021105820609 | 2021-05-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641988A CN113641988A (zh) | 2021-11-12 |
CN113641988B true CN113641988B (zh) | 2022-09-16 |
Family
ID=78417032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110780578.3A Active CN113641988B (zh) | 2021-05-26 | 2021-07-09 | 沙箱初始化方法、图形界面及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113641988B (zh) |
WO (1) | WO2022247300A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641988B (zh) * | 2021-05-26 | 2022-09-16 | 荣耀终端有限公司 | 沙箱初始化方法、图形界面及相关装置 |
CN113641996B (zh) * | 2021-05-26 | 2022-10-28 | 荣耀终端有限公司 | 检测方法、图形界面及相关装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170235558A1 (en) * | 2014-03-26 | 2017-08-17 | NetSuite Inc. | System and method for recapture and rebuild of application definition from installed instance |
CN104766007B (zh) * | 2015-03-27 | 2017-07-21 | 杭州安恒信息技术有限公司 | 一种基于文件系统过滤驱动实现沙箱快速恢复的方法 |
CN106055975A (zh) * | 2016-05-16 | 2016-10-26 | 杭州华三通信技术有限公司 | 文件检测方法及沙箱 |
CN106650427B (zh) * | 2016-12-28 | 2019-10-22 | 北京奇虎测腾科技有限公司 | 沙箱运行环境的检测方法及检测装置 |
CN108319850B (zh) * | 2017-01-16 | 2020-12-15 | 华为技术有限公司 | 沙箱检测的方法、沙箱系统和沙箱设备 |
US10554475B2 (en) * | 2017-06-29 | 2020-02-04 | L3Harris Technologies, Inc. | Sandbox based internet isolation in an untrusted network |
CN108021806B (zh) * | 2017-11-24 | 2021-10-22 | 北京奇虎科技有限公司 | 一种恶意安装包的识别方法和装置 |
CN111191225B (zh) * | 2020-01-03 | 2022-05-27 | 北京字节跳动网络技术有限公司 | 一种切换隔离对象的方法、装置、介质和电子设备 |
CN113641988B (zh) * | 2021-05-26 | 2022-09-16 | 荣耀终端有限公司 | 沙箱初始化方法、图形界面及相关装置 |
-
2021
- 2021-07-09 CN CN202110780578.3A patent/CN113641988B/zh active Active
-
2022
- 2022-01-10 WO PCT/CN2022/070944 patent/WO2022247300A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN113641988A (zh) | 2021-11-12 |
WO2022247300A1 (zh) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113641996B (zh) | 检测方法、图形界面及相关装置 | |
CN113641988B (zh) | 沙箱初始化方法、图形界面及相关装置 | |
US9380456B1 (en) | System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform | |
US11853820B2 (en) | Cross-process communication method, apparatus, and device | |
CN111459715A (zh) | 应用异常恢复 | |
KR20150047707A (ko) | 전자 장치의 운영체제 업그레이드 방법 및 장치 | |
KR20110128632A (ko) | 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치 | |
CN112394906B (zh) | 一种应用切换运行的方法及设备 | |
WO2022253158A1 (zh) | 一种用户隐私保护方法及装置 | |
CN113672908B (zh) | 定点插桩方法、相关装置及系统 | |
CN113435173B (zh) | 文本生成方法、相关装置及系统 | |
CN105447349A (zh) | 对so文件中的导出符号进行保护的方法及装置 | |
KR101653162B1 (ko) | 메시지 통신을 통해 위젯 확장 기능을 제공하는 모바일 통신 단말기 및 상기 모바일 통신 단말기의 동작 방법 | |
CN111666581A (zh) | 数据保护方法、装置、设备及介质 | |
CN117235771B (zh) | 一种应用程序的权限管控方法和电子设备 | |
US20180218132A1 (en) | Application portability via application(s) installed on a portable storage device | |
KR101675420B1 (ko) | 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법 | |
CN113918447B (zh) | 一种应用测试方法及电子设备 | |
US11627150B2 (en) | Proxy services for the secure upload of file system tree structures | |
WO2023169212A1 (zh) | 一种识别应用程序中sdk的方法、终端及服务器 | |
CN117312055B (zh) | 数据备份的方法及相关装置 | |
US20240135033A1 (en) | Access control method, electronic device, and system | |
WO2022194010A1 (zh) | 应用程序的分享方法和分享装置 | |
CN117827228A (zh) | 快应用部署方法及相关设备 | |
CN115080967A (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 |