CN106778348A - 一种隔离隐私数据的方法和装置 - Google Patents

一种隔离隐私数据的方法和装置 Download PDF

Info

Publication number
CN106778348A
CN106778348A CN201611213374.7A CN201611213374A CN106778348A CN 106778348 A CN106778348 A CN 106778348A CN 201611213374 A CN201611213374 A CN 201611213374A CN 106778348 A CN106778348 A CN 106778348A
Authority
CN
China
Prior art keywords
catalogue
privacy
intended application
general
private data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611213374.7A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611213374.7A priority Critical patent/CN106778348A/zh
Publication of CN106778348A publication Critical patent/CN106778348A/zh
Pending legal-status Critical Current

Links

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/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种隔离隐私数据的方法和装置,用于对应用的部分数据隔离,部分数据公开。所述方法包括:为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。

Description

一种隔离隐私数据的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种隔离隐私数据的方法和装置。
背景技术
随着科技日新月异地发展,以及用户对电子产品功能丰富化的要求,应用程序已经逐步深入日常工作和生活的方方面面。然而,与此同时,应用所涉及到用户隐私也越来越多。为了保护应用中用户的隐私数据,在相关技术中,一部分应用可以设置隐私模式。具体来讲,设置为隐私模式的应用在启动或重新进入应用界面时需要对用户身份进行验证。只有输入正确的身份信息,通过验证,才可以启动或重新进入应用。而取消隐私模式后,则任何用户均可以随意启动和进入应用进行操作。
可见,以上述方式隔离保护应用隐私,只能隔离所有应用的数据,或者公开所有应用的数据。
发明内容
本发明实施例提供了一种隔离隐私数据的方法和装置,用于对应用的部分数据隔离,部分数据公开。
第一方面,本发明提供了一种隔离隐私数据的方法,包括:
为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
可选的,在将所述目标应用的隐私数据存储在所述隐私目录下之后,还包括:
按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
在读取所述隐私目录下存储的所述隐私数据之后,还包括:
按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
可选的,所述隐私数据包括隐私配置文件,在读取所述隐私目录下存储的所述隐私数据之后,还包括:
运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
可选的,所述方法还包括:
接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
可选的,在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,还包括:
通过免ROOT方式获取***权限;
基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造所述目标应用运行所需要的沙箱。
可选的,通过免ROOT方式获取***权限,包括:
获取补丁包;
通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述补丁包中包括:所述为运行在沙箱中的目标应用创建隐私目录和普通目录,所述将所述目标应用的隐私数据存储在所述隐私目录下,将所述目标应用的普通数据存储在所述普通目录下,以及所述当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录的步骤的执行文件。
可选的,通过加载所述补丁包对特定***漏洞进行修,包括:
以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。
第二方面,本发明提供了一种隔离隐私数据的装置,包括:
创建模块,用于为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
存储模块,用于将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
读取模块,用于当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
可选的,所述装置还包括:
加密模块,用于在将所述目标应用的隐私数据存储在所述隐私目录下之后,按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
解密模块,用于在读取所述隐私目录下存储的所述隐私数据之后,按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
可选的,所述隐私数据包括隐私配置文件,所述装置还包括:
加载模块,用于在读取所述隐私目录下存储的所述隐私数据之后,运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
可选的,所述装置还包括:
接收模块,用于接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
验证模块,用于当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
控制模块,用于当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
可选的,所述装置还包括:
权限获取模块,用于在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,通过免ROOT方式获取***权限;
安装包获取模块,用于基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造模块,用于构造所述目标应用运行所需要的沙箱。
可选的,所述权限获取模块用于获取补丁包;通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述创建模块、所述存储模块和所述读取模块通过调用所述补丁包中的执行文件执行相应的步骤。
可选的,所述权限获取模块用于以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先为运行在沙箱中的目标应用创建相互独立的隐私目录和普通目录,然后将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,而当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录,目标应用能够在隐私模式和普通模式间切换。所以,通过为隐私数据和普通数据创建相互独立的目录,并且隐私模式时读取隐私目录下的隐私数据,而普通模式时只读取普通目录下的数据,由此实现了普通模式下仅隔离隐私数据,普通数据则公开。所以,本发明实现了对于一个应用,部分数据隔离,部分数据公开的技术效果。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例中隔离数据的方法流程图;
图2为本发明实施例中隔离数据的装置结构示意图。
具体实施方式
本发明实施例提供了一种隔离隐私数据的方法和装置,用于对应用的部分数据隔离,部分数据公开。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,首先为运行在沙箱中的目标应用创建相互独立的隐私目录和普通目录,然后将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,而当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录,目标应用能够在隐私模式和普通模式间切换。所以,通过为隐私数据和普通数据创建相互独立的目录,并且隐私模式时读取隐私目录下的隐私数据,而普通模式时只读取普通目录下的数据,由此实现了普通模式下仅隔离隐私数据,普通数据则公开。所以,本发明实现了对于一个应用,部分数据隔离,部分数据公开的技术效果。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明第一方面提供了一种隔离隐私数据方法,请参考图1,为本发明实施例中隔离隐私数据的方法流程图。该方法包括:
S101:为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
S102:将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
S103:当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
具体来讲,本发明实施例中的目标应用可以为安装在电子设备中的任意应用,如社交应用、音乐应用和办公应用等。对于用户需要隔离部分数据的应用,均可以放入沙箱中执行本发明实施例中的方法。
将目标应用加入沙箱运行,在S101中,沙箱中为目标应用创建两个相互独立的目录。并且,为了使两个目录地位相同,将两个目录建立在同一层级上。本发明实施例中相互独立的两个目录指的是两个目录中所有节点均不相同,且不相连。两个目录分别用于存放目标应用的隐私数据和普通数据。为了方便区分两个目录,本发明将存放隐私数据的目录称为隐私目录,将存储普通数据的目录称为普通目录。
其中,本发明实施例中的隐私数据为不公开的数据,普通数据则指的是可以公开的数据。在具体实现过程中,沙箱可以默认例如配置文件、日志文件等数据为隐私数据。或者,用户也可以根据自己的需要从目标应用的数据中选择出隐私数据。举例来说,目标应用为聊天应用,用户选择与好友A和好友B的聊天内容为隐私数据,与好友C的聊天内容为普通数据。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。
创建出隐私目录和普通目录,并且确定出何种类型的数据为隐私数据,何种类型的数据为普通数据后,在S102中,将目标应用产生的数据中的隐私数据存储到隐私目录下,并且将目标应用产生的普通数据存储到普通目录下。
由上述描述可知,本发明实施例中将普通数据重定向到普通目录下,隐私数据重定向到隐私目录下,由于普通目录和隐私目录相互独立,故而存储到两个目录下的数据也相互独立,由此就实现了将隐私数据和普通数据隔离开的技术效果。
进一步,在本发明实施例中,沙箱还进一步为目标应用的运行方式提供了两个模式:隐私模式和普通模式。在S103中,当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录。
具体来讲,在本发明实施例中,隐私数据中具体包括隐私配置文件,当目标应用为隐私模式时,将从隐私目录下读取出隐私配置文件,进一步还包括:
运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
具体来讲,本发明实施例中的隐私配置文件中包括隐私模式下目标应用的配置参数和配置方式。当目标应用为隐私模式时,沙箱从隐私模式中读取隐私配置文件,并按照隐私配置文件中的配置参数和配置方式加载目标应用,从而使目标应用运行在隐私模式下。举例来说,隐私配置文件包括密码,以及表示点击目标应用的图标后显示密码的输入界面,以及密码匹配进入目标应用界面的配置参数,隐私数据中还包括用户与好友A和好友B的聊天内容。那么,以隐私模式运行目标应用时,按照隐私数据中的隐私配置文件加载目标应用,并读取用户与好友A和好友B的聊天内容。进而,用户在沙箱中点击目标应用图标后将进入目标应用的密码输入界面,输入正确的密码后进入目标应用界面,并且查看到与好友A和好友B的聊天内容。
而当目标应用为普通模式时,沙箱仅从普通模式中读取数据。在具体实现过程中,普通数据中还可以包括与隐私配置文件不相关的普通配置文件。其中,普通配置文件包括的配置参数和配置方式与隐私配置文件包括的配置参数和配置方式可以相同也可以不同。举例来说,普通数据中的普通配置文件包括表示将目标应用配置为点击目标应用的图标即进入,以及包括用户与好友C的聊天内容。那么,以普通模式运行目标应用时,按照普通配置文件加载目标应用,并读取用户与好友C的聊天内容。进而用户在沙箱中点击目标应用图标即可立即进入目标应用,并且查看到与好友C的聊天内容。
在具体实现过程中,即使隐私配置文件中的配置参数和配置方式与普通配置文件的配置参数与配置方式相同,也需要分别在隐私目录和普通目录下各存储一份配置文件。原因在于,普通模式下读取普通目录下的普通配置文件,而不是读取隐私目录下的配置文件,由此避免隐私目录暴露。
同时,在本发明实施例中,为了保护隐私数据,当目标应用运行在普通模式时,沙箱将隐藏隐私目录,进而使得使用普通模式的目标应用的用户无法或者隐私数据的存在,进而无法读取隐私数据。
另外,在本发明实施例中,隐私模式和普通模式可以相互切换,使得用户可以随着查看普通数据和隐私数据。具体来讲,用户可以通过点击“切换”虚拟按键切换,或者通过特定手势,例如从左到右的平行滑动手势,或者通过特定指纹,或者通过用户的虹膜认证等切换,本发明所属领域的普通技术人员可以根据实际进行设置,为本发明不做具体限制。
由上述描述可以看出,在本发明实施例的技术方案中,首先为运行在沙箱中的目标应用创建相互独立的隐私目录和普通目录,然后将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,而当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录,目标应用能够在隐私模式和普通模式间切换。所以,通过为隐私数据和普通数据创建相互独立的目录,并且隐私模式时读取隐私目录下的隐私数据,而普通模式时只读取普通目录下的数据,由此实现了普通模式下仅隔离隐私数据,普通数据则公开。所以,本发明实现了对于一个应用,部分数据隔离,部分数据公开的技术效果。
下面对本发明实施例进行更加详细的介绍。
为了能够通过沙箱重定向目标应用的数据,在本发明S101之前,还包括:
通过免ROOT方式获取***权限;
基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造所述目标应用运行所需要的沙箱。
具体来讲,Unix系的操作***,以安卓***为例,广泛应用于各种用户设备中,例如手机、平板电脑和穿戴式设备等。安卓***具有严格的权限管理机制,默认状态下,非***应用的权限较低。要突破权限限制,需要将非***应用的权限提高,因此需要进行ROOT授权。获得安卓***权限的非***应用即可对其他安卓应用的恶意行为进行拦截,对消耗***资源的设置项进行修改,因此,多数情况下,市面上的安全软件需要在已经获得ROOT授权的安卓用户设备上工作,才能达到最佳效果。但是,普通用户并不掌握较高的专业知识,故不能对用户设备进行正确ROOT授权。即使进行了ROOT授权,在为安全应用开放更高权限的同时,也给了恶意应用可乘之机。更为矛盾的是,在非ROOT条件下,一部分恶意应用能工作,而传统的安全监控应用却会失去绝对优势。
因此,为了解决上述只能在ROOT后获取***授权的技术问题,本发明实施例中还提供了在不ROOT的情况下为目标应用构建沙箱。
具体来讲,为方便说明,下面以用户设备的***为案子***为例来进行说明。在S101之前,要获取安卓***权限,即获取安卓***中的***system文件夹的操作权限。现有技术中ROOT方式是获取***目录操作权限的最基本条件,然而,与现有技术不同的是,本方案不通过ROOT方式获取***目录操作权限,可以在那些无法ROOT或者用户不愿意ROOT的用户设备上实施目标应用的数据隔离,而不修改***,不影响用户的质保和升级。
具体来讲,本发明实施例中,通过免ROOT获取***权限,具体通过如下过程实现:
获取补丁包;
通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述补丁包中包括:所述为运行在沙箱中的目标应用创建隐私目录和普通目录,所述将所述目标应用的隐私数据存储在所述隐私目录下,将所述目标应用的普通数据存储在所述普通目录下,以及所述当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录的步骤的执行文件。
具体来讲,在本发明实施例中,通过为特定***漏洞进行修复,借修复***漏洞之机引入补丁包,将补丁包加载到安卓***中,成为***应用的一部分,以获取安卓***权限。其中,本发明实施例中的特定***漏洞是指:现有的安卓***存在任意的***漏洞。
上述通过加载补丁包对特定***漏洞进行修复,获取安卓***权限,具体包括:在加载补丁包修复特定***漏洞的过程中,以补丁包替换特定***应用,实现安卓***对补丁包中的执行文件的加载,使得补丁包中的执行文件获取安卓***权限。其中,补丁包中的执行文件获取到安卓***权限之后,可以对安卓***中的system文件夹进行操作。而本发明实施例中的执行文件中包括执行为运行在沙箱中的目标应用创建隐私目录和普通目录,将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,以及当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,当目标应用的模式为普通模式时,读取普通目录下的所述普通数据,并隐藏隐私目录等各个步骤的逻辑代码,因此,加载补丁包后运行执行文件中的代码,就可以执行上述S101至S103。
以一个具体的例子来对上述过程进行说明,假设本发明实施例中的特定***漏洞为安卓***中的主秘钥MasterKey漏洞,利用该漏洞可以在不修改签名的情况下修改安卓***代码。基于MasterKey原生漏洞,本发明在对MasterKey漏洞进行修复的同时,一方面修复了MasterKey漏洞,另一方面利用MasterKey漏洞的修复过程获取了安卓***权限,一举多得,符合实际需求,保障用户使用用户设备的信息安全。具体来讲,在本发明实施例中,在检查到安卓***中的MaterKey漏洞后将通知用户对MasterKey漏洞进行修复,修复过程中需要获取用于修复MasterKey漏洞的补丁包,并安装获取的补丁包,以补丁包应用替换安卓***原有的***应用存储设置Setting Storage,或者,以补丁包在安卓***原有的***应用Setting Storage的基础上进行升级,由于***应用Setting Storage在安卓***启动时即进行加载,所以补丁包中的执行文件也在安卓***启动时便进行加载。此时补丁包中的执行文件中的代码拥有了安卓***最高权限,可以实现system文件访问、权限管理等操作。在获得了安卓***权限之后,即可以执行为运行在沙箱中的目标应用创建隐私目录和普通目录,将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,以及当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录的步骤。
此外,本发明实施例中修复特定***漏洞的补丁包可以根据用户意愿随时卸载,卸载后无残留,符合用户需求。
在具体实现过程中,上文中的特定***漏洞MasterKey漏洞以及特定***应用Setting Storage应用均为举例说明,本发明所属领域的普通技术人员可以根据实际需求进行选择,本发明不做具体限制。
接下来,基于***权限获取目标应用的安装包并保存至指定目录下。其中本发明实施例所述的指定目录,是指本发明处于文件组织、管理效率的考虑而为这些需要构建沙箱环境目标应用而提供的自定义默认目录,所有通过本方案在沙箱中运行的应用的安装包,均可被移动或复制保存到指定目录中。在具体实现过程中,指定目录也可以是***中已经存在的目录,可以是单个目录,也可以是多个目录。因此,概括而言,指定目录是为本发明所采用的用于存放由本方案构建沙箱环境的目标应用的安装包的目录。
具体来讲,在本发明实施例中,获取目标应用的安装包并保存到指定目录下,可以通过多种方式实现。下面对其中三种方式进行介绍。在具体实现过程中,包括但不限于以下三种方式。
方式一:当目标应用是已安装应用时,从***的应用安装目录中查找目标应用的安装包,将安装包复制至指定目录,然后卸载***中的目标应用。
例如,安卓***中应用的安装会涉及对如下目录的操作:安装应用时安卓***先把APK(安卓应用的安装包,AndroidPackage)复制到安卓应用安装目录data/app目录中;将APK解压后的代码文件(.dex文件)安装到data/dalvik-cache目录下;data/data建立并存放安卓应用所需的资源数据。基于上述原理可知,应用的APK文件即为应用的安装包,在data/app目录中可以找到应用的安装包。因此,对于已安装的目标应用而言,可以从data/app目录中复制相应的APK文件到指定目录中,然后从安卓***中卸载目标应用,使得后续目标应用在沙箱中运行而不在沙箱外运行,避免发生冲突。
方式二,当目标应用是正在进行安装的应用时,通过注册默认安装器拦截目标应用的安装广播信息,从安装广播信息中获取目标应用的安装包,将安装包存放至指定目录。
例如,对于准备或正在进行安装的目标应用而言,本发明可以通过将自身注册为默认安装器的形式,获取该目标应用的安装广播信息。从安装广播信息中获取目标应用的安装包所在位置,进而从安装包所在位置获取目标应用的安装包,然后将目标应用的安装包移动存放到指定目录。
将安装包保存到指定目录下之后,接下来,就可以构造目标应用的沙箱环境了。具体来讲,本发明实施例中可以通过以下过程构建沙箱:
解析所述指定目录下的所述目标应用的安装包,获取所述目标应用的相关信息;
构造所述目标应用运行所需的资源环境,以在所述目标应用运行时调取相应的资源;
构造类加载器,以加载所述目标应用的执行文件中的相应类文件;
构造主线程,以使所述主线程执行所述目标应用中的各组件的启动操作;
为所述目标应用中的各组件分别构造一个加载应用安装包对象。
具体来讲,解析指定目录下的目标应用的安装包,获取安装包中包含的各组件。其中,一个应用的组件分为四种类型,这四种类型分别为:活动Activity组件、广播接收者Broadcast Receiver组件、服务Service组件和内容提供者Content Provider组件。在具体实现过程中,有的应用也可能由上述一种组件或多种组件组件,而不一定必须包括上述四种组件。应用的各个组件都需要注册才能使用,即每一个组件都需要在应用的安装包的配置文件AndroidManifest.xml中进行配置。因此,应用的安装包的配置文件AndroidManifest.xml中会列出应用所包含的所有组件。由此可知,本实施例可通过读取目标应用的安装包中的AndroidManifest.xml文件,来获取目标应用的安装包中所包含的所有组件。这里需要说明的是:***中的PMS(安装包管理服务器,Package Manager Service)安装应用的过程实质上就是解析应用的安装包中的配置文件AndroidManifest.xml的过程,并从里面得到应用的相关信息,如得到应用的Activity组件、Service组件、BroadcastReceiver组件和Content Provider组件等信息。有了相关信息后,通过AMS(活动管理服务,Activity Manager Service)就可以在***中正常地运行应用了。与上述***安装应用的过程类似,本发明也先通过解析目标应用的安装包来获取目标应用的相关信息。具体地,可采用反射机制来获取目标应用的安装包中包含的各组件。其中,本发明实施例中所采用的反射机制可以为爪哇Java反射机制,Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象的方法的功能即为Java语言的反射机制。不同语言都有其相对应的反射机制,例如,C语言和C++语言均有其对应的反射机制。
其次,目标应用在被加载运行时所采用的上下文是沙箱的上下文,因此,本方案所构造的沙箱中不仅要能加载目标应用中的各组件,还需构建目标应用运行所需要的环境。
具体来讲,应用在运行的过程中,是通过资源管理器Asset Manager来读取打包在应用的安装包里面的资源文件的。应用的每一个Activity组件都关联一个Contextlmpl对象,这个Contextlmpl对象就是用来描述Activity组件的运行上下文环境的。调用ContextImpl对象的成员函数init来执行初始化Activity组件运行上下文环境的工作,其中就包括创建用来访问应用资源的Resources对象和AssetManager对象的工作。其中,ContextImpl.init函数就定义在文件frameworks/base/core/java/android/app/ContextImpl.java中。ContextImpl.init函数中的参数packageInfo指向的是一个LoadedApk对象,这个LoadedApk对象描述的是当前正在启动组件所属的APK。用来访问应用程序资源的Resources对象是通过调用参数packageInfo所指向的LoadedApk对象的成员函数getResources创建的。由此可知,为了创建Resources对象,以提取或访问应用资源,本发明实施例还需分别为目标应用中的各组件构建一个loadedApk对象。
可见,本发明实施例需要为目标应用构造其运行所需的资源环境,以在启动各组件时调取相应的资源。具体的地,可采用如下方式实现:对资源Resources类的构造函数中的成员变量massets进行修改,以在启动各组件时通过massets来调取相应的资源;和/或对资源管理器Asset Manager中的Asset Path函数进行修改,修改后的Asset Path函数指向目标应用的安装包中的资源文件,以在启动各组件时通过Asset Manager调取Asset Path函数来获取资源文件中的对应资源。其中,Resources类的构造函数定义在文件frameworks/base/core/java/android/content/res/Resources.java中。因为Resources类的构造函数将参数assets所指向的一个AssetManager对象保存在成员变量mAssets中,即mAssets=assets,使得Resources类的构造函数可以通过mAssets来访问应用程序的资源。因此,本发明实施例可通过对资源类的构造函数中的成员变量massets进行修改,来实现通过massets调取应用程序所需的资源。其中,上述实现方式可采用反射机制来实现。当然,还可对资源管理器Asset Manager中的Asset Path函数进行修改,如通过AssetManager对象的成员函数addAssetPath来添加指定的应用程序资源文件路径(如:路径为/system/app/Music.apk)到Asset Path函数中。由于addAssetPath是隐藏API(应用程序编程接口,Application Programming Interface),我们无法直接调用,所以只能通过反射机制来实现。
进一步,本发明实施例还需要为目标应用构造类加载器,以加载各组件中的相应加载类。具体来讲,构造类加载器,可采用如下方式实现:将目标应用的路径添加到类加载器中的路径列表pathlist中,构造根据应用程序路径查找加载类的类加载器;和/或,对类加载器中的m parent成员进行修改,构造首先用parent找加载类的类加载器。构造首先用parent找加载类的类加载器的目的是,***在找一个加载类的时候,首先调的是findloadedclass()函数,接着就会去调用mparentfindclass()函数。如果本发明实施例直接将class loader构造为首先用parent找加载类的类加载器,这样***在找这个类的时候,就直接调用mparentfindclass()函数去找了,省去了调用findloadedclass()函数找类的步骤。
接着,由于一个应用的运行只有一个主进程ActivityThread,ActivityThread对象描述的是当前正在运行的应用进程,因此,本发明实施例在沙箱中需构造出目标应用的ActivityThread,以使Activity Thread执行目标应用中的各组件的启动操作。
最后,分别为各组件构造一个加载目标应用的安装包loadedApk对象。具体的,可采用如下方式实现:通过反射机制反射Activity Thread里的packageinfo,以分别为各组件构造一个目标应用的安装包loadedApk对象。
此外,若加载的组件为内容提供者ContentProvider组件,则通过反射机制调用ContentProvider组件。
由上述描述可知,本发明实施例提供的技术方案通过构建目标应用运行所需的运行环境,以为目标应用提供同在安卓***中安装后的运行环境相同的沙箱环境,使得目标应用在沙箱中运行,进而可以基于沙箱将目标应用的隐私数据和普通数据重定向到两个相互独立的目录下,由此实现目标应用的数据隔离。
或者,在本发明实施例中,也可以通过如下方式构造沙箱,具体包括:
解析所述指定目录下的所述目标应用的安装包,生成所述目标应用的镜像安装包;
在所述镜像安装包的执行文件中注入指示调用钩子函数的代码;
修改所述镜像安装包的配置文件的配置参数,用于加载所述应用;
在***中安装并运行所述镜像安装包;其中,所述钩子函数用于对所述应用的行为进行监控。
具体来讲,目标应用的安装包为压缩文件,一种方式中,可以将目标应用的安装包解压至一个临时工作目录以完成解压工作,解压后,即可对目标应用的安装包中的各个文件进行解析。另一种方式中,也可以在内存中直接解析目标应用的安装包。无论采取哪种方式对目标应用的安装包进行解析,目的是为了获取相关参数和资源,以配置生成目标应用的镜像安装包。
镜像可以是硬盘镜像也可以是内存镜像。由于目标应用的安装包的构成文件中包含执行文件Classes.dex,相应地,在目标应用的镜像安装包中也包含执行文件Classes.dex,本方案通过在镜像安装包中的执行文件中Classes.dex注入指示调用钩子程序的代码。且目标应用的安装包的构成文件中包含配置文件Androidmanifest.xml,相应地,在目标应用的镜像安装包中也包含配置文件Androidmanifest.xml,对该配置文件进行修改,使得修改后的镜像安装包适于加载目标应用。具体地,本方案利用Java反射调用机制将LoadApk与ActivityThread涉及的运行配置信息用反射替换成指定目录中的目标应用的安装包的类加载器ClassLoader与资源,实现镜像安装包对应的应用在运行时对目标应用的加载。至此,本发明实施例所构建的目标应用的镜像安装包在运行时,先加载上述指示调用钩子程序的执行文件,再加载目标应用,能够实现利用钩子程序对目标应用在运行中发生的行为的监控捕获。
本发明实施例中,目标应用被加载到所构建的目标应用的镜像安装包对应的应用的内部环境中去运行,目标应用的镜像安装包对应的应用的内部环境实质上相当于是沙箱环境,将目标应用在安卓***中隔离开来,并通过在该沙箱环境中设置钩子程序来实现对目标应用的行为的监控。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择上述任一方式构建沙箱,本发明不做具体限制。
进一步,作为一种可选的实施例,在将隐私数据存储到隐私目录下之后,还包括:
按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
在读取隐私目录下存储的隐私数据之前,还包括:
按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
具体来讲,为了对被隔离的隐私数据进行保护,本发明进一步还需要对存储到隐私目录下的隐私数据进行加密。具体来讲,当一个隐私数据存储到隐私目录下,且存储完成后,将立即按照预设加密方式对该个隐私数据进行加密。其中,预设加密方式可以包括但不限于AES(高级加密标准,Advanced Encryption Standard)、ECC(椭圆曲线密码编码学,Elliptic Curves Cryptography)以及哈希加密方式等,本发明不做具体限制。本发明所属领域的技术人员可以根据实际选择任意一种或任意多种组合对隐私数据进行加密,本发明不做具体限制。
另外,由于隐私数据被加密,因此为了使用户能够正常查看和使用隐私数据,在从隐私目录中读取出隐私数据后,进一步按照预设算法对隐私数据进行解密。
进一步,作为一种可选的实施例,本发明还进一步包括:
接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
首先,接收用户执行的用于启动或者重新进入目标应用的触发操作。本发明实施例中重新进入目标应用,指的是将目标应用由后台运行调整到前台运行,且进入目标应用界面。触发操作例如为点击目标应用图标的点击操作、从与后台运行的多个应用对应的多个标签中选择目标应用的标签的选择操作、或者上下摇晃手机的摇晃操作等,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。
由于本发明实施例中的目标应用有普通模式和隐私模式两种模式,因此触发操作也具体包括两种不同的触发操作。其中,用于控制目标应用进入普通模式的触发操作为第一触发操作,用于控制目标应用进入隐私模式的触发操作为第二触发操作。第一触发操作和第二触发操作不同。举例来说,第一触发操作为点击目标应用的图标的操作,第二触发操作为点击设置有指纹识别模块的按键的操作;或者,第一触发操作为点击目标应用的图标的操作,第二触发操作为双击目标应用的图标的操作。通过不同的触发操作,用户就可以方便地切换目标应用进入隐私模式或普通模式。另外,在具体实现过程中,为了避免他人知晓目标应用具有隐私数据,因此将第一触发操作设置为与现有技术中启动或者重新进入目标应用的操作类似为较佳选择。进而,在用户通过第一触发操作启动或者重新进入目标应用时,就不容易被了解到隐藏数据的存在,由此保护了用户隐私。
当此时接收到的具体为第二触发操作时,为了保护隐私数据,避免他人随意查看隐私数据,本发明实施例中,进一步对执行第二触发操作的用户进行身份验证。
具体来讲,本发明实施例中对用户进行身份验证的方式有多种,例如验证用户输入进入隐私模式的密码是否正确,如果正确则通过身份验证,或者例如验证用户的指纹是否与预先设置的指纹匹配,如果匹配则通过身份验证,或者验证用户的声纹是否与预先设置的声纹匹配,如果匹配则通过身份验证。本发明不做具体限制。
优选的,为了方便用户快速进入隐私模式的目标应用,将接收第二触发操作与身份验证结合起来为较佳选择。举例来说,由于目前大多数用户设备上都设置有指纹采集模块,并且指纹采集模块常常设置在主菜单或电源键上。因此,以采集模块设备设置在主菜单上为例,可以设置第二触发操作为在锁屏模式下点击主菜单键,进而,电子设备接收主菜单键点击操作的同时,通过指纹采集模块采集到执行点击操作的手指的指纹。然后,基于点击主菜单键的操作确定接收到了第二触发操作,并且将本次点击主菜单键时获得的指纹与预设指纹进行匹配。如果该指纹与预设指纹匹配,则表示此时执行点击主菜单键的用户具有查看隐私数据的权限,因此控制目标应用进入隐私模块,读取隐私目录下的隐私数据,并允许用户访问目标应用。反之,如果该指纹与预设指纹不匹配,则表示此时执行点击主菜单键的用户不具有查看隐私数据的权限,因此不控制目标应用进入隐私模块,也不读取隐私目录下的隐私数据。
在具体实现过程中,为了避免除具有查看隐私数据权限的用户以外的其他用户在使用过程中,误执行第二触发操作而知晓目标应用存在隐私数据,当接收到第二触发操作,但执行第二触发操作的用户的身份未通过验证时,用户设备可以不做出响应,且不进行未响应提示,以使此时执行第二触发操作的用户不会执行目标应用的隐私数据的存在。
基于与前述实施例中隔离隐私数据的方法同样的发明构思,本发明第二方面还提供一种隔离隐私数据的装置,如图2所示,包括:
创建模块101,用于为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
存储模块102,用于将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
读取模块103,用于当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
进一步,本发明实施例中的装置还包括:
加密模块,用于在将所述目标应用的隐私数据存储在所述隐私目录下之后,按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
解密模块,用于在读取所述隐私目录下存储的所述隐私数据之后,按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
本发明实施例中的隐私数据包括隐私配置文件,本发明实施例中的装置还包括:
加载模块,用于在读取所述隐私目录下存储的所述隐私数据之后,运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
进一步,本发明实施例中的装置还包括:
接收模块,用于接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
验证模块,用于当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
控制模块,用于当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
进一步,本发明实施例中的装置还包括:
权限获取模块,用于在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,通过免ROOT方式获取***权限;
安装包获取模块,用于基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造模块,用于构造所述目标应用运行所需要的沙箱。
具体来讲,权限获取模块用于获取补丁包;通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述创建模块、所述存储模块和所述读取模块通过调用所述补丁包中的执行文件执行相应的步骤。
更进一步,权限获取模块用于以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。
前述图1实施例中的隔离隐私数据的方法的各种变化方式和具体实例同样适用于本实施例的隔离隐私数据的装置,通过前述对隔离隐私数据的方法的详细描述,本领域技术人员可以清楚的知道本实施例中隔离隐私数据的装置的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先为运行在沙箱中的目标应用创建相互独立的隐私目录和普通目录,然后将目标应用的隐私数据存储在隐私目录下,将目标应用的普通数据存储在普通目录下,当目标应用的模式为隐私模式时,读取隐私目录下存储的隐私数据,而当目标应用的模式为普通模式时,读取普通目录下的普通数据,并隐藏隐私目录,目标应用能够在隐私模式和普通模式间切换。所以,通过为隐私数据和普通数据创建相互独立的目录,并且隐私模式时读取隐私目录下的隐私数据,而普通模式时只读取普通目录下的数据,由此实现了普通模式下仅隔离隐私数据,普通数据则公开。所以,本发明实现了对于一个应用,部分数据隔离,部分数据公开的技术效果。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、***中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种隔离隐私数据的方法,其特征在于,包括:
为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
A2、根据A1所述的方法,其特征在于,在将所述目标应用的隐私数据存储在所述隐私目录下之后,还包括:
按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
在读取所述隐私目录下存储的所述隐私数据之后,还包括:
按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
A3、根据A2所述的方法,其特征在于,所述隐私数据包括隐私配置文件,在读取所述隐私目录下存储的所述隐私数据之后,还包括:
运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
A4、根据A3所述的方法,其特征在于,所述方法还包括:
接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
A5、根据A1所述的方法,其特征在于,在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,还包括:
通过免ROOT方式获取***权限;
基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造所述目标应用运行所需要的沙箱。
A6、根据A5所述的方法,其特征在于,通过免ROOT方式获取***权限,包括:
获取补丁包;
通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述补丁包中包括:所述为运行在沙箱中的目标应用创建隐私目录和普通目录,所述将所述目标应用的隐私数据存储在所述隐私目录下,将所述目标应用的普通数据存储在所述普通目录下,以及所述当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录的步骤的执行文件。
A7、根据A6所述的方法,其特征在于,通过加载所述补丁包对特定***漏洞进行修,包括:
以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。
B8、一种隔离隐私数据的装置,其特征在于,包括:
创建模块,用于为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
存储模块,用于将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
读取模块,用于当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
B9、根据B8所述的装置,其特征在于,所述装置还包括:
加密模块,用于在将所述目标应用的隐私数据存储在所述隐私目录下之后,按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
解密模块,用于在读取所述隐私目录下存储的所述隐私数据之后,按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
B10、根据B9所述的装置,其特征在于,所述隐私数据包括隐私配置文件,所述装置还包括:
加载模块,用于在读取所述隐私目录下存储的所述隐私数据之后,运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
B11、根据B10所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
验证模块,用于当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
控制模块,用于当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
B12、根据B8所述的装置,其特征在于,所述装置还包括:
权限获取模块,用于在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,通过免ROOT方式获取***权限;
安装包获取模块,用于基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造模块,用于构造所述目标应用运行所需要的沙箱。
B13、根据B12所述的装置,其特征在于,所述权限获取模块用于获取补丁包;通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述创建模块、所述存储模块和所述读取模块通过调用所述补丁包中的执行文件执行相应的步骤。
B14、根据B13所述的装置,其特征在于,所述权限获取模块用于以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。

Claims (10)

1.一种隔离隐私数据的方法,其特征在于,包括:
为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
2.如权利要求1所述的方法,其特征在于,在将所述目标应用的隐私数据存储在所述隐私目录下之后,还包括:
按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
在读取所述隐私目录下存储的所述隐私数据之后,还包括:
按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
3.如权利要求2所述的方法,其特征在于,所述隐私数据包括隐私配置文件,在读取所述隐私目录下存储的所述隐私数据之后,还包括:
运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收用于启动或者重新进入所述目标应用的触发操作;所述触发操作为用于控制所述目标应用进入所述普通模式的第一触发操作或者用于控制所述目标应用进入所述隐私模式的第二触发操作;
当所述触发操作为所述第二触发操作时,对执行所述第二触发操作的用户进行身份验证;
当所述用户通过身份验证后,控制所述目标应用进入所述隐私模式,并允许所述用户访问所述目标应用。
5.如权利要求1所述的方法,其特征在于,在为运行在沙箱中的目标应用创建隐私目录和普通目录之前,还包括:
通过免ROOT方式获取***权限;
基于所述***权限,获取所述目标应用的安装包并保存至指定目录下;
构造所述目标应用运行所需要的沙箱。
6.如权利要求5所述的方法,其特征在于,通过免ROOT方式获取***权限,包括:
获取补丁包;
通过加载所述补丁包对特定***漏洞进行修复,以获取所述***权限;
其中,所述补丁包中包括:所述为运行在沙箱中的目标应用创建隐私目录和普通目录,所述将所述目标应用的隐私数据存储在所述隐私目录下,将所述目标应用的普通数据存储在所述普通目录下,以及所述当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录的步骤的执行文件。
7.如权利要求6所述的方法,其特征在于,通过加载所述补丁包对特定***漏洞进行修,包括:
以所述补丁包替换特定***应用,实现***对所述补丁包中的执行文件的加载,使得所述补丁包中的执行文件获取安卓***权限。
8.一种隔离隐私数据的装置,其特征在于,包括:
创建模块,用于为运行在沙箱中的目标应用创建隐私目录和普通目录;所述隐私目录和所述普通目录相互独立;
存储模块,用于将所述目标应用的隐私数据存储在所述隐私目录下,以及将所述目标应用的普通数据存储在所述普通目录下;
读取模块,用于当所述目标应用的模式为隐私模式时,读取所述隐私目录下存储的所述隐私数据,当所述目标应用的模式为普通模式时,读取所述普通目录下的所述普通数据,并隐藏所述隐私目录;所述目标应用能够在所述隐私模式和所述普通模式间切换。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
加密模块,用于在将所述目标应用的隐私数据存储在所述隐私目录下之后,按照预设加密方式对成功存储到所述隐私目录下的所述隐私数据进行加密;
解密模块,用于在读取所述隐私目录下存储的所述隐私数据之后,按照所述预设加密方式对存储在所述隐私目录下的所述隐私数据进行解密。
10.如权利要求9所述的装置,其特征在于,所述隐私数据包括隐私配置文件,所述装置还包括:
加载模块,用于在读取所述隐私目录下存储的所述隐私数据之后,运行所述隐私配置文件中以加载所述目标应用,以使所述目标应用的配置参数与所述隐私模式匹配。
CN201611213374.7A 2016-12-23 2016-12-23 一种隔离隐私数据的方法和装置 Pending CN106778348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611213374.7A CN106778348A (zh) 2016-12-23 2016-12-23 一种隔离隐私数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611213374.7A CN106778348A (zh) 2016-12-23 2016-12-23 一种隔离隐私数据的方法和装置

Publications (1)

Publication Number Publication Date
CN106778348A true CN106778348A (zh) 2017-05-31

Family

ID=58920658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611213374.7A Pending CN106778348A (zh) 2016-12-23 2016-12-23 一种隔离隐私数据的方法和装置

Country Status (1)

Country Link
CN (1) CN106778348A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197494A (zh) * 2018-01-09 2018-06-22 上海创图网络科技股份有限公司 一种通过文化云平台进行用户管理的方法及装置
CN109344652A (zh) * 2018-10-08 2019-02-15 北京爱普安信息技术有限公司 一种加解密方法及***
CN109886044A (zh) * 2019-02-14 2019-06-14 珠海天燕科技有限公司 一种隐私保护方法及装置
CN110263589A (zh) * 2019-05-31 2019-09-20 重庆爱奇艺智能科技有限公司 一种用于实现私密空间的方法和装置
WO2020103544A1 (zh) * 2018-11-23 2020-05-28 Oppo广东移动通信有限公司 应用启动方法及相关设备
CN114003880A (zh) * 2021-10-27 2022-02-01 北京琥珀创想科技有限公司 一种隐私保护方法及***
WO2022089303A1 (zh) * 2020-10-30 2022-05-05 京东方科技集团股份有限公司 数据使用控制方法及***、电子设备和存储介质
WO2022126528A1 (zh) * 2020-12-17 2022-06-23 深圳迈瑞生物医疗电子股份有限公司 工作模式的控制方法、监护设备、监护***及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102882A (zh) * 2013-04-12 2014-10-15 腾讯科技(深圳)有限公司 一种应用程序隐私数据的保护方法及装置
CN104657674A (zh) * 2015-01-16 2015-05-27 北京邮电大学 一种手机中隐私数据的隔离保护***及方法
CN104866783A (zh) * 2015-06-15 2015-08-26 联想(北京)有限公司 一种文件存储方法及装置
CN105631275A (zh) * 2015-04-15 2016-06-01 宇龙计算机通信科技(深圳)有限公司 信息显示方法、信息显示装置和终端
CN106096395A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的保护处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102882A (zh) * 2013-04-12 2014-10-15 腾讯科技(深圳)有限公司 一种应用程序隐私数据的保护方法及装置
CN104657674A (zh) * 2015-01-16 2015-05-27 北京邮电大学 一种手机中隐私数据的隔离保护***及方法
CN105631275A (zh) * 2015-04-15 2016-06-01 宇龙计算机通信科技(深圳)有限公司 信息显示方法、信息显示装置和终端
CN104866783A (zh) * 2015-06-15 2015-08-26 联想(北京)有限公司 一种文件存储方法及装置
CN106096395A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的保护处理方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197494A (zh) * 2018-01-09 2018-06-22 上海创图网络科技股份有限公司 一种通过文化云平台进行用户管理的方法及装置
CN109344652A (zh) * 2018-10-08 2019-02-15 北京爱普安信息技术有限公司 一种加解密方法及***
WO2020103544A1 (zh) * 2018-11-23 2020-05-28 Oppo广东移动通信有限公司 应用启动方法及相关设备
CN109886044A (zh) * 2019-02-14 2019-06-14 珠海天燕科技有限公司 一种隐私保护方法及装置
CN110263589A (zh) * 2019-05-31 2019-09-20 重庆爱奇艺智能科技有限公司 一种用于实现私密空间的方法和装置
WO2022089303A1 (zh) * 2020-10-30 2022-05-05 京东方科技集团股份有限公司 数据使用控制方法及***、电子设备和存储介质
WO2022126528A1 (zh) * 2020-12-17 2022-06-23 深圳迈瑞生物医疗电子股份有限公司 工作模式的控制方法、监护设备、监护***及可读存储介质
CN114003880A (zh) * 2021-10-27 2022-02-01 北京琥珀创想科技有限公司 一种隐私保护方法及***

Similar Documents

Publication Publication Date Title
CN106778348A (zh) 一种隔离隐私数据的方法和装置
US10924517B2 (en) Processing network traffic based on assessed security weaknesses
CN105308560B (zh) 用于设置简档的方法和装置
US9514300B2 (en) Systems and methods for enhanced security in wireless communication
US9542552B2 (en) Extensible platform for securing apps on a mobile device using policies and customizable action points
DK1479187T4 (en) MANAGEMENT OF ACCESS LEVELS IN PHONES USING CERTIFICATES
US20070180509A1 (en) Practical platform for high risk applications
US20170099144A1 (en) Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system
CN106096395A (zh) 一种安卓应用的保护处理方法和装置
CN104348838A (zh) 一种文档管理***和方法
Yuan et al. Smartpatch: Verifying the authenticity of the trigger-event in the IoT platform
Mehak et al. Security aspects of database-as-a-service (DBaaS) in cloud computing
JP2023542527A (ja) ヘテロジニアス暗号化を通したソフトウェア・アクセス
Kang et al. A strengthening plan for enterprise information security based on cloud computing
CN103729604A (zh) 一种用户访问区域的方法和装置
Sha et al. Catching escapers: A detection method for advanced persistent escapers in industry Internet of Things based on Identity-based Broadcast Encryption (IBBE)
Ahmed Ki-Ngā-Kōpuku: a decentralised, distributed security model for cloud computing
Kywe et al. Privatedroid: Private browsing mode for android
Anjum et al. Uncovering Software Supply Chains Vulnerability: A Review of Attack Vectors, Stakeholders, and Regulatory Frameworks
Escamilla Ambrosio et al. Securing mHealth Applications Using loTsecM Security Modelling: Dentify. Me mApp Case Study for Urgent Care Management
Kern et al. Using RBAC to enforce the principle of least privilege in industrial remote maintenance sessions
Park et al. Cyber threats to mobile messenger apps from identity cloning
Selján The Remarkable 10th Anniversary of Stuxnet
Dhondge Lifecycle IoT Security for Engineers
Kim et al. Self‐Controllable Mobile App Protection Scheme Based on Binary Code Splitting

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication