著录项信息
专利名称 | 清除应用数据的方法及装置 |
申请号 | CN201410555058.2 | 申请日期 | 2014-10-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-12-31 | 公开/公告号 | CN104252373A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5;;;G;0;6;F;9;/;4;4查看分类表>
|
申请人 | 北京奇虎科技有限公司;奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 张晨;程君 |
代理机构 | 北京市立方律师事务所 | 代理人 | 王增鑫 |
摘要
本发明提供一种清除应用数据的方法,包括以下步骤:服务器端下发应用程序至客户端,应用程序中插入有清除服务包;根据客户端的状态,服务器端发送应用数据清除指令至客户端或客户端本地发出应用数据清除指令;客户端获取应用数据清除指令;根据清除指令,调用应用程序中相应清除服务包的接口;清除服务包执行清除操作,清除其所在应用程序的数据。本发明还提供一种清除应用数据的装置。通过上述方法,本发明能够不依赖提权,对应用程序产生的应用数据进行清除。
1.一种清除应用数据的方法,其特征在于,包括以下步骤:
获取应用数据清除指令;
根据所述清除指令,调用应用程序中相应清除服务包的接口;
所述清除服务包执行清除操作,清除其所在应用程序的数据;
所述获取应用数据清除指令,包括:
接收服务器端发送的应用数据清除指令;或
获取本地发出的应用数据清除指令;
所述清除服务包以插包的方式置于应用程序中,所述插包的方式为:
将所述应用程序解压,并进行反编译;
对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
2.根据权利要求1所述的清除应用数据的方法,其特征在于,所述清除服务包执行清除操作,清除其所在应用程序的数据之后,包括:
对清除结果进行反馈。
3.根据权利要求2所述的清除应用数据的方法,其特征在于,所述清除指令为加密清除指令。
4.一种清除应用数据的方法,其特征在于,包括以下步骤:
下发应用程序至客户端,所述应用程序中插入有清除服务包;
根据所述客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据;
所述客户端的状态,包括以下任意一种或多种:
检测的客户端中应用程序的状态、接收的客户端的状态及管理员确认的需清除应用数据的客户端;
其中,检测的客户端中应用程序的状态包括应用程序交互异常和/或应用程序达到预设的清除应用数据的时间阈值,接收的客户端的状态包括客户端被root和/或客户端被请求进行应用数据清除;
所述应用程序中插入有清除服务包,包括:
所述清除服务包以插包的方式置于应用程序中,所述插包的方式为:
将所述应用程序解压,并进行反编译;
对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
5.根据权利要求4所述的清除应用数据的方法,其特征在于,下发的应用程序为加固后的应用程序。
6.一种清除应用数据的装置,其特征在于,包括:
获取模块,用于获取应用数据清除指令;
调用模块,用于根据所述清除指令,调用应用程序中相应清除服务包的接口;
清除模块,用于清除所述清除服务包所在应用程序的数据;
所述获取模块具体用于接收服务器端发送的应用数据清除指令;或获取本地发出的应用数据清除指令;
所述调用模块具体用于根据所述清除指令,调用以插包的方式置于应用程序中的相应清除服务包的接口;其中,所述插包的方式为:
将所述应用程序解压,并进行反编译;
对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
7.根据权利要求6所述的清除应用数据的装置,其特征在于,所述装置包括:
反馈模块,用于在所述清除模块清除所述清除服务包所在应用程序的数据后,对清除结果进行反馈。
8.一种清除应用数据的装置,其特征在于,包括:
下发模块,用于下发应用程序至客户端,所述应用程序中插入有清除服务包;
发送模块,用于根据所述客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据;
所述客户端的状态,包括以下任意一种或多种:
检测的客户端中应用程序的状态、接收的客户端的状态及管理员确认的需清除应用数据的客户端;
其中,检测的客户端中应用程序的状态包括应用程序交互异常和/或应用程序达到预设的清除应用数据的时间阈值,接收的客户端的状态包括客户端被root和/或客户端被请求进行应用数据清除;
所述下发模块下发的应用程序中的清除服务包以插包的方式置于该应用程序中,所述插包的方式为:
将所述应用程序解压,并进行反编译;
对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明;
将处理后的反编译文件进行回编译、签名,完成所述应用程序中清除服务包的插入。
清除应用数据的方法及装置\n技术领域\n[0001] 本发明涉及计算机领域,具体而言,本发明涉及一种清除应用数据的方法及装置。\n背景技术\n[0002] 应用程序在运行过程中,通常会产生应用数据,为防止重要信息的泄露,对应用数据进行清除是非常必要的。目前,常用的清除方式为人工清除,如在系统的应用设置里点击清除数据或直接卸载应用程序。\n[0003] 以Android系统为例,该系统具有较为严密的用户权限管理机制,其中,管理员拥有系统的最高权限。当以用户的权限无法对应用程序的应用数据进行清除时,可通过提权的方式提高权限,而提权需要通过root授权的方式才能实现。但在提取过程中,会存在失败的情况,且系统被root,也会影响系统的安全。\n[0004] 当需要清除应用程序的应用数据,尤其是应用程序所在的终端不在用户可控的范围内或终端自身存在不安全因素等情况时,如何清除应用数据,是目前数据清除亟待解决的问题之一。\n发明内容\n[0005] 本发明的目的旨在至少解决上述技术缺陷之一,特别是在不依赖提取的情况下,对应用程序产生的应用数据进行清除。\n[0006] 本发明提供一种远程清除应用数据的方法,包括以下步骤:获取应用数据清除指令;根据清除指令,调用应用程序中相应清除服务包的接口;清除服务包执行清除操作,清除其所在应用程序的数据。\n[0007] 本发明还提供一种远程清除应用数据的方法,包括以下步骤:下发应用程序至客户端,应用程序中插入有清除服务包;根据客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据。\n[0008] 本发明提供一种远程清除应用数据的装置,包括:获取模块,用于获取应用数据清除指令;调用模块,用于根据清除指令,调用应用程序中相应清除服务包的接口;清除模块,用于清除清除服务包所在应用程序的数据。\n[0009] 本发明还提供一种远程清除应用数据的装置,包括:下发模块,用于下发应用程序至客户端,应用程序中插入有清除服务包;发送模块,用于根据客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据。\n[0010] 本发明中,可对客户端中应用程序产生的应用数据进行清除,具体为:首先,客户端中的应用程序为服务器端下发的应用程序,应用程序中插入有清除服务包;其次,服务器端可根据客户端的状态,发送应用数据清除指令,或客户端根据自身的状态,发出应用数据清除指令;最后,客户端获取应用数据清除指令后,根据清除指令,调用应用程序中相应清除服务包的接口,清除服务包执行清除操作,清除其所在应用程序的应用数据。\n[0011] 本发明提出的上述方案,服务器端可实时监控客户端的状态,当客户端的状态满足条件时,即时发送应用数据清除指令,智能地远程对客户端的应用数据进行清除,以确保客户端的安全。\n[0012] 本发明提出的上述方案,当管理员确认客户端需进行应用数据清除时,利用服务器端发送应用数据清除指令,远程对客户端的应用数据进行清除,以确保客户端的安全。\n[0013] 本发明提出的上述方案,客户端可实时监控自身的状态,当客户端的状态满足条件时,即时发出应用数据清除指令,智能地对客户端的应用数据进行清除。\n[0014] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。\n附图说明\n[0015] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:\n[0016] 图1为本发明清除应用数据的方法一实施例的流程示意图;\n[0017] 图2为本发明清除应用数据的方法另一实施例的流程示意图;\n[0018] 图3为本发明清除应用数据系统一实施例的流程示意图;\n[0019] 图4为本发明清除应用数据的装置一实施例的结构示意图;\n[0020] 图5为本发明清除应用数据的装置另一实施例的结构示意图。\n具体实施方式\n[0021] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。\n[0022] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。\n[0023] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。\n[0024] 本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。\n[0025] 本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于\n3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。\n[0026] 请参阅图1,图1为本发明清除应用数据的方法一实施例的流程示意图,该方法在客户端实施,如图1所示,包括以下步骤:\n[0027] S11,获取应用数据清除指令。\n[0028] 在本实施例中,获取应用数据清除指令的方式包括以下两种:\n[0029] A.接收服务器端发送的应用数据清除指令。\n[0030] B.获取本地发出的应用数据清除指令。\n[0031] 其中,只有应用数据清除指令才能清除客户端中的应用数据,此清除指令需进行加密,以防止恶意清除指令对应用数据进行清除。\n[0032] S12,根据清除指令,调用应用程序中相应清除服务包的接口。\n[0033] 客户端中的应用程序来自服务器端,服务器端的应用程序插入有清除服务包,通过插包的方式可动态改变应用程序的功能。其中,清除服务包以插包的方式置于应用程序中的方法如下:\n[0034] A.将应用程序解压,并进行反编译。\n[0035] 利用apktool对应用程序进行解压,解压成原来的文件,然后对其中的代码文件、配置文件等进行反编译。\n[0036] B.对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明。\n[0037] 清除服务包需编译成smali文件,再插入应用程序解压后的原文件。\n[0038] 通过脚本对解压后的Androidmanifest.xml文件进行解析,写入清除服务包的相关的服务声明,其中,服务声明中包括清除服务包的名称、用途及路径等。\n[0039] 具体为,在AndroidManifest中增加如下服务:\n[0040]\n[0041] 在反编译后的.\smali\com\qihoo360\byod\aidlserver中增加如下文件:\n[0042] – IRemote$Stub$Proxy.smali\n[0043] – IRemote$Stub.smali\n[0044] – IRemote.smali\n[0045] – emoteService$1.smali\n[0046] – RemoteService.smali\n[0047] C.将处理后的反编译文件进行回编译、签名,完成应用程序中清除服务包的插入。\n[0048] 将插包后的应用程序上传至服务器端。\n[0049] 其中,清除服务包中设有接口,当客户端获取清除指令后,调用相应的接口,使接口对应的清除服务包执行清除操作。\n[0050] S13,清除服务包执行清除操作,清除其所在应用程序的数据。\n[0051] 清除服务包只能清除其所在的应用程序的数据,应用程序的数据被清除后,相当于重新安装。\n[0052] 应用数据清除结束后,可对清除结果进行反馈。具体为,对于清除的执行状态,客户端可调用接口(如:AIDL)得到清除结果。若清除指令为服务器端所发,还可再将该清除结果反馈至服务器端。\n[0053] 以上所述,本实施例的方法可不依赖于提权,对应用数据进行清除。\n[0054] 请参阅图2,图2为本发明清除应用数据的方法另一实施例的流程示意图,该方法在服务器端实施,如图2所示,包括以下步骤:\n[0055] S21,下发应用程序至客户端,应用程序中插入有清除服务包。\n[0056] 上传至服务器端的应用程序插入有清除服务包,清除服务包的插入方法在图1所示实施例中有详细的阐述,在此不再赘述。\n[0057] 其中,服务器端采用两种应用程序下发方式:自由安装和强制安装。自由安装方式下发的应用程序显示在客户端的应用市场中,供用户自由安装;强制安装方式下发的应用,用户需安装才能使用客户端。\n[0058] 其中,服务器端对上传的应用程序进行加固、加密处理,加固处理可防止应用程序被逆向。所有上传的应用程序的安装包均经过病毒检测和加固处理,从而杜绝恶意篡改、代码注入、内存修改、窃取数据、反编译等威胁。\n[0059] 加固的主要过程为:提取应用程序中的全局配置文件和可执行文件;解析可执行文件,得到第一代码;将保护代码插入第一代码中得到第二代码,并对第二代码进行加密处理;按照保护代码的入口点修改全局配置文件;将修改后的全局配置文件和可执行文件重新打包生成加固应用程序。\n[0060] 保护代码可以包括对可执行文件进行加壳和解壳的代码,例如:解壳触发代码和反编译工具的崩溃代码,可以在第一代码中的每一类的代码中置入解壳触发代码和反编译工具的崩溃代码,解壳触发代码被执行时,调用解壳代码对该类进行解密。\n[0061] 对第二代码进行加密处理包括:抽取第二代码的至少一部分进行重构;植入用于解密重构的代码的链接库,链接库在解密过程中由java本地接口(Java Native Interface,简称JNI)加载。\n[0062] 加固需要对dex文件进行重构,将dex文件各个节数据修改重组后重定位并生成新dex。\n[0063] 对应用程序进行加固处理,可防止应用程序被轻易逆向从而获取密钥体系等关键信息,同时给应用程序增加了数据加密的功能,增加安全系数。以在Android系统上实现为例对应用程序安装包的加固处理进行阐述:对应用程序的安装包进行加固处理主要就是改变应用程序的class.dex文件的内容,对该内容进行一些算法加密,在apk(Android Package,安卓安装包)运行时再动态的去解密,还原内容;在修改class.dex文件的时候要保证其符合dex文件的固有格式。\n[0064] 加密的主要过程为:通过.so(动态链接库)文件实现,主要是在应用程序中注入代码,使得apk初始化时去调用该.so文件,要保证.so文件运行的时机比应用程序的读写文件的时间早,如果晚了文件就会变成“一半加密的状态”,导致文件损坏。通过加密,.so文件会拦截该应用程序的所有文件操作,从而实现加密。\n[0065] S22,根据客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据。\n[0066] 客户端的状态,包括以下任意一种或多种:\n[0067] 检测的客户端中应用程序的状态、接收的客户端的状态及管理员确认的需清除应用数据的客户端。\n[0068] 其中,检测的客户端中应用程序的状态包括服务器端检测到客户端中应用程序与其交互异常和/或客户端中应用程序达到其预设的清除应用数据的时间阈值。\n[0069] 接收的客户端的状态包括服务器端接收到客户端被root的消息和/或客户端被请求进行应用数据清除的消息。客户端被请求进行应用数据清除的场景为客户端丢失或使用客户端的用户离职,用户利用其他客户端发送的请求。\n[0070] 管理员确认的需清除应用数据的客户端,此类场景为客户端丢失或使用客户端的用户离职,管理员直接通过服务器端发送应用数据清除指令。\n[0071] 在其他实施例中,可根据客户端的离线时间,对客户端中应用程序的数据进行清除。具体为,服务器端先发送应用数据清除指令至客户端,此清除指令中有离线时间的设定,当客户端检测其离线时间超过清除指令中设定的离线时间时,根据清除指令,调用应用程序中相应清除服务包的接口,使清除服务包执行清除操作。\n[0072] 以上所述,本实施例的方法在一些场景下,可智能地远程清除应用程序的数据。\n[0073] 与图2所示实施例服务器端发送应用数据清除指令相对,客户端也可发出应用数据清除指令。具体为:当客户端检测到其内应用程序交互异常、其被root、其被请求进行应用数据清除的消息、其离线时间达到预设的时间阈值和/或其内应用程序达到预设的清除应用数据的时间阈值等情况,客户端发出应用数据清除指令,清除指令调用相应的接口,使接口对应的清除服务包执行清除操作。\n[0074] 请参阅图3,图3为本发明清除应用数据系统一实施例的流程示意图,清除应用数据系统包括服务器端和客户端,如图3所示,该系统的工作流程包括以下步骤:\n[0075] S31,服务器端下发应用程序至客户端,应用程序中插入有清除服务包。\n[0076] S32,根据客户端的状态,发送应用数据清除指令至客户端。\n[0077] S33,客户端接收服务器端发送的应用数据清除指令。\n[0078] S34,根据清除指令,调用应用程序中相应清除服务包的接口。\n[0079] S35,清除服务包执行清除操作,清除其所在应用程序的数据。\n[0080] 上述步骤在图1和图2所示的实施例中均有详细的阐释,在此不再赘述。\n[0081] 在本实施例中,清除应用数据系统为智能终端(如:移动终端)的企业管理系统,是面向企业的移动终端管理平台,其服务器端部署在企业内网,客户端安装在需被管理的移动终端上。\n[0082] 服务器端的主要功能包括:管理、下发企业内网的应用程序,以及管理、下发安全策略等;服务器端还提供丰富的移动终端统计与管理工具,企业管理员可以通过服务器端查看每个需要被管理的移动终端的详细信息,如:终端型号、系统版本、IMEI(International Mobile Equipment Identification Number,国际移动设备识别码)、序列号、MSISDN(移动台识别号码,俗称手机号码)、是否离线、是否Root(超级用户)、更换密码时间、是否安装安全软件、电源信息、无线网络信息等。\n[0083] 客户端的主要功能包括:数据防泄密、执行安全策略等。数据防泄密包括数据清除等。\n[0084] 基于客户端的数据防泄密机制,客户端在移动终端上建立了独立工作区,所有的企业应用和数据存储在受保护的工作区内。相应的,工作区外的内存空间称为个人区,所有的个人应用和数据存储在个人区内,个人应用无法访问企业数据,从而避免企业数据被个人应用非法访问、存取。\n[0085] 服务器端建立了一个专用空间,用于存储上传到服务器端中的应用程序,可称为企业应用库。服务器端维护有应用管理列表,应用管理列表中包括所有已上传到服务器端的应用程序的名称及版本号,当然也可以包括该应用程序的其他信息,例如:上传时间、安装包大小、安装量等。管理员可以查看、编辑应用管理列表,查看各应用程序的安装量等统计信息。\n[0086] 服务器端可生成并维护每个客户端对应的可安装的应用程序的列表,并将该列表推送到相应的客户端上,客户端将该列表展示在工作区的应用市场中,供用户自由下载安装。\n[0087] 在本实施例中,服务器端与客户端的通信方式包括以下几种:\n[0088] A.采用Protocol Buffers(简称protobuf)格式的协议实现通信,指令中携带有客户端和服务器端事先预定好的一个枚举值,这个枚举值表示当前的指令是需要在客户端的工作区内执行的操作方式,如:清除数据。客户端收到枚举值后,根据本地保存的枚举值的含义,获知服务器端下发指令的含义。\n[0089] B.通过HTTP(HTTP-Hypertext transfer protocol,超文本传送协议)协议实现通信,如:通过HTTP协议中的get或post方法来实现服务器端和客户端之间的通信。\n[0090] C.指令可以为一个命令行,在该命令行中包括很多字符串,服务器端和客户端约定了每段字符串代表的含义,并且在该命令行的约定位置携带标识锁定工作区的控制字段。客户端根据与服务器端的约定,在接收到指令后,对该指令进行解析,在约定位置获取控制字段,根据该控制字段执行锁定工作区的控制策略。命令行中标识锁定工作区的字符串可以是Value值,客户端预先保存了各种Value值对应的信息,例如:1表示数据清除,-1表示解锁工作区等。该字符串可以采用Protobuf方法生成。这是因为Protobuf序列化后所生成的二进制消息非常紧凑,这得益于Protobuf采用的非常巧妙的Encoding方法。该Protobuf方法采用Varint编码,Varint是一种紧凑的表示数字的方法。\n[0091] 客户端预先保存各种不同策略的Key和Value的值,收到指令后,解析该指令中Key和Value的值即可了解服务器端下发的指令的具体含义。\n[0092] D.指令可以采用自定义的格式,如:清除指令,qingchu#密码。\n[0093] 在本实施例中,服务器端与客户端共同作用,完成应用数据的远程清除,确保客户端工作区的安全。此清除方法不受限于提权,也不受限于人工清除,且对应用数据清除指令进行加密处理,可进一步确保应用数据清除的安全性。本实施例中的应用程序还进行了加固、加密处理,使得客户端工作区更加安全。\n[0094] 请参阅图4,图4为本发明清除应用数据的装置一实施例的结构示意图,此装置为客户端,如图4所示,包括:获取模块41、调用模块42、清除模块43及反馈模块44。\n[0095] 上述各模块的功能如下:\n[0096] 获取模块41用于获取应用数据清除指令。调用模块42用于根据清除指令,调用应用程序中相应清除服务包的接口。清除模块43用于清除清除服务包所在应用程序的数据。\n反馈模块44用于在清除模块43清除清除服务包所在应用程序的数据后,对清除结果进行反馈。\n[0097] 其中,获取模块41可接收服务器端发送的应用数据清除指令或本地发出的应用数据清除指令。\n[0098] 请参阅图5,图5为本发明清除应用数据的装置另一实施例的结构示意图,此装置为服务器端,如图5所示,包括:下发模块51和发送模块52。\n[0099] 上述各模块的功能如下:\n[0100] 下发模块51用于下发应用程序至客户端,应用程序中插入有清除服务包。发送模块52用于根据客户端的状态,发送应用数据清除指令至客户端以使客户端中相应的清除服务包清除其所在应用程序的数据。\n[0101] 结合图4和图5,首先,服务器端下发模块51下发的应用程序中插入有清除服务包,清除服务包中设置有接口。客户端安装下发模块51下发的应用程序后,发送模块52可根据客户端的状态,发送应用数据清除指令至客户端;或者是客户端根据自身的状态,发出应用数据清除指令。其次,客户端获取模块41获取到清除指令后,调用模块42根据清除指令,调用应用程序中相应清除服务包的接口,使得清除模块43清除清除服务包所在应用程序的数据。最后,反馈模块44将清除结果进行反馈。\n[0102] 其中,以服务器端根据客户端的状态发送应用数据清除指令为例,客户端的状态,包括以下任意一种或多种:\n[0103] 检测的客户端中应用程序的状态、接收的客户端的状态及管理员确认的需清除应用数据的客户端。\n[0104] 进一步地,检测的客户端中应用程序的状态包括服务器端检测到客户端中应用程序与其交互异常和/或客户端中应用程序达到其预设的清除应用数据的时间阈值。接收的客户端的状态包括服务器端接收到客户端被root的消息和/或客户端被请求进行应用数据清除的消息。客户端被请求进行应用数据清除的场景为客户端丢失或使用客户端的用户离职,用户利用其他客户端发送的请求。管理员确认的需清除应用数据的客户端,此类场景为客户端丢失或使用客户端的用户离职,管理员直接通过服务器端发送应用数据清除指令。\n[0105] 以上所述,图4和图5所示实施例的装置,当客户端存在安全隐患或人为需要时,可清除客户端应用程序的数据,以确保客户端的安全。\n[0106] 以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2022-08-09
专利权的转移
登记生效日: 2022.07.27
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
专利权人由奇智软件(北京)有限公司 变更为空
- 2018-04-10
- 2015-01-21
实质审查的生效
IPC(主分类): G06F 9/445
专利申请号: 201410555058.2
申请日: 2014.10.17
- 2014-12-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-04-02
|
2013-12-31
| | |
2
| |
2014-07-23
|
2014-03-18
| | |
3
| |
2014-05-28
|
2012-11-19
| | |
4
| |
2013-05-08
|
2013-02-07
| | |
5
| |
2014-01-08
|
2013-10-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |