一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于沙箱安装的应用程序安装装置及方法与流程

2022-07-06 14:30:12 来源:中国专利 TAG:

1.本发明涉及计算机软件安全技术领域,尤其涉及一种基于沙箱安装的应用程序安装装置及方法。


背景技术:

2.安装于移动终端(如智能手机)中的应用程序可能进行获取移动终端的信息(如手机内短信、通话记录、通讯录、国际移动终端识别码)的操作,若不对移动终端内的移动程序进行监控,则可能造成个人隐私信息的泄露。例如,移动终端可能在不安全的网络(如公共wifi热点)中使用,进而容易造成恶意软件感染和数据泄漏;越狱或获取root权限同样也会给移动终端带来更多安全风险;在移动终端被盗或未经授权的情况下通过移动终端访问公司的网络,进而导致泄漏敏感数据。此外,配备给用户的移动终端被安装过多的应用程序时可能导致用户产生抵触情绪。
3.针对如何对应用程序进行监控,现有的技术方案有以下几种:
4.一种是通过反编译结合静态扫描的方式:通过反编译应用程序文件,获取反编译代码,扫描并匹配反编译代码中获取手机信息的函数。该技术方案的缺点是容易出现信息误报,而且对加固的应用程序无法进行反编译。
5.另一种是在移动终端内插入hook(反射)代码,但是此种方式容易破坏应用程序包的完整性,并可能存在病毒等安全隐患。
6.此外,还可以通过移动终端自带的全盘数据加密功能来对应用程序所产生的数据进行全盘加密。但是,该方式容易使得移动终端(比如手机)出现变卡、发热严重等情况。与此同时,在安卓/鸿蒙发布新版之后,上述方法还需要对底层源码进行框架适配。安装在沙箱中的应用若使用了比较偏僻的编译技术也需要进行代码适配。
7.例如,公开号为cn110427752a的中国专利文献公开了一种沙箱监控应用程序的方法、移动终端和存储介质。所述方法包括:定义获取移动终端信息行为,并定位所述获取移动终端信息行为在移动终端的源码;所述沙箱系统在应用程序执行获取移动终端信息行为时,生成并输出系统日志。当应用程序调用函数获取移动终端信息时,插入在函数源码中的日志输出函数即可生成一个系统日志以监控应用程序。但是,该发明仍存在以下技术不足:该方法不能在应用程序被上传至沙箱系统之前对上述应用程序的安全性进行检测。因此,针对现有技术的不足有必要进行改进。
8.此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于申请人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。


技术实现要素:

9.针对现有技术之不足,本发明提供了一种基于沙箱安装的应用程序安装方法。所
述方法至少包括:沙箱模块被安装至每个移动终端;待使用的应用程序被上传至所述沙箱模块内的应用商店,以检测上述应用程序是否存在安全威胁;若所述应用程序不存在安全威胁,则能够被上传至所述应用商店,用户能够在所述应用商店中查看供所述用户使用的应用程序。
10.通过该配置方式,沙箱模块或者配置有沙箱模块的移动终端作为移动业务的安全管理平台,并在用户开展移动业务时为业务数据提供全方位的防护,例如针对不同种类的移动终端、移动数据和应用程序,沙箱模块能够提供实时的管理/安全防护和统一配置,从而满足用户对移动业务的数据安全的需求。
11.不同于常规的移动设备中的应用商店,本沙箱模块被更多地用于监控企业内部的应用程序的安全性。因为各大移动终端(比如手机)厂商所生产的移动终端上的应用商店已具备较为完善的应用程序审核系统,并且通常还具备专职的审核员,另外上述这些应用商店内的应用程序大多是由已经合法运营多年、具备相应资质、具备较高的行业声誉的公司开发的应用程序,因而上述应用程序的安全性方面已经能够得到一个较好的保证。但是,企业类的应用程序多为内部人员开发或者由内部人员寻求外部开发或者从应用开发分享网站下载的应用程序,上述这些应用程序的来源非常繁杂,因而企业类的应用程序中存在大量的非主流的应用程序,且上述非主流的应用程序的原开发者的信息也较为模糊。此外,由于部分企业的特殊性,这些应用商店中的应用程序总是处于快速迭代更新或批量更换之中。与此同时,由于企业的管理成本等原因,上述企业通常没有配置相应的人员对上述这些应用程序进行检查,进而造成上述企业内的移动终端所使用的这些应用程序的安全性不能得到可靠的保证。而本方案中,选择在企业内的用户所使用的移动终端上进行配置,并且沙箱的配置也与用户的属性相关联,所有被导入应用商店的应用程序均首先被自动地导入沙箱,经过沙箱进行基于拆包的自动检测,能够自动地判断出应用程序的安全性,并且安全性被确认的应用程序还能够基于用户的属性被决定是否展现给用户,最终形成一种可变验证的情形,即对于某些应用程序是否安全的至少一条判定标准是基于用户的属性来构筑的。简而言之,一些应用程序对于企业用户a不存在安全问题,因为用户a没有权限使用该应用程序中的可能存在安全问题的某个功能,但是上述应用程序对于企业用户b则存在安全问题。因此实际上,本方案实现了基于安全沙箱的可变验证展示的功能,不同的用户能够基于自身的属性获取不同的应用程序,甚至这些应用程序在不同用户的使用过程中具备不同的安全性。
12.根据一个优选实施方式,所述“待使用的应用程序被上传至所述沙箱模块内的应用商店,以检测上述应用程序是否存在安全威胁”的具体步骤为:在所述沙箱模块内设置管理后台,以对沙箱模块内的应用程序进行安全检测;所述用户将需要安装到所述沙箱模块中的应用程序上传到所述管理后台;在所述上传操作完成之后,所述管理后台能够利用自动脚本对apk进行拆包分析,以查看所述应用程序是否存在安全威胁;若所述管理后台未发现所述应用程序存在安全威胁,则将所述应用程序上传至所述应用商店,以供所述用户下载使用;若所述管理后台发现上述应用程序存在安全威胁,则终止所述应用程序的上传操作,并向相关应用程序的开发者发送提示信息。
13.根据一个优选实施方式,所述方法还包括:定义获取移动终端信息行为,并定位所述获取移动终端信息行为在原系统中的源码;在所述源码中插入日志输出函数以编译生成
沙箱模块,并将所述沙箱模块安装于移动终端中;在应用程序执行获取移动终端信息行为时,所述沙箱模块生成并输出系统日志。
14.根据一个优选实施方式,所述获取移动终端信息行为包括但不限于:删除/查询短信、查询通话记录/通讯录、获取移动设备国际识别码、获取国际移动用户识别码、录音、打开移动终端的摄像头、定位、获取移动终端的管理员用户权限中的至少一种。
15.根据一个优选实施方式,所述沙箱模块生成并输出系统日志的步骤包括:根据所述获取移动终端信息行为的uid定位获取所述移动终端信息行为的应用程序。
16.根据一个优选实施方式,所述沙箱模块生成并输出系统日志的步骤还包括:根据执行所述获取移动终端信息行为的应用程序的方法调用栈定位所述应用程序执行获取移动终端信息行为的函数。
17.根据一个优选实施方式,所述“在所述源码中插入日志输出函数以编译生成沙箱模块,并将所述沙箱模块安装于移动终端中”还包括:所述沙箱模块通过fastboot或recovery被安装于所述移动终端中。
18.根据一个优选实施方式,所述“在所述源码中插入日志输出函数以编译生成沙箱模块,并将所述沙箱模块安装于移动终端中”还包括:在所述移动终端中安装测试用应用程序。
19.本发明还提供一种基于沙箱安装的应用程序安装装置。所述装置包括处理器和存储介质。所述存储介质集成有能够被所述处理器执行的沙箱模块。所述沙箱模块被所述处理器执行时能够实现上述任意一项的应用程序安装方法。
20.根据一个优选实施方式,所述存储介质存储有一个或多个程序。所述一个或多个程序能够被一个或多个处理器执行。
附图说明
21.图1是本发明提供的一种优选实施方式的简化模块连接关系示意图。
22.附图标记列表
23.1:处理器;2:存储介质。
具体实施方式
24.下面结合附图进行详细说明。
25.本发明提供的沙箱模块是针对安卓/鸿蒙应用程序的虚拟化引擎。
26.本沙箱模块能够创建虚拟空间,并允许在上述虚拟空间中运行其他应用程序。
27.应用程序隔离是基于安卓系统的多用户机制实现的,即每个应用程序在安装时被分配了不同的安卓用户属性。此外,在企业沙箱中子应用与主应用(沙箱本身)是具有相同用户属性的应用。
28.将待下载/使用的应用程序包上传至服务器内的应用商店中,之后确认应用程序包是否上传成功,并检测应用程序包的安全性。应用商店可以作为安全门户。
29.用户能够使用移动终端打开沙箱模块所创建的虚拟空间,并从应用商店中的上述应用程序包中下载所需要的应用程序。在上述应用程序被下载完成之后,应用程序能够被静默安装。在虚拟空间外,上述被下载安装的应用程序不会被查找到。在虚拟空间中能够安
装企业级应用程序。
30.沙箱模块能够建立dsa数据隔离区,以保障沙箱模块内的数据的安全。沙箱模块通过dsa驱动层访问到虚拟文件系统。虚拟文件系统相当于从硬盘中虚拟出一段内存来作为虚拟空间。虚拟空间可以用于保存文件。虚拟空间是个对内透明、对外隐藏的磁盘空间。上层app通过调用虚拟文件系统的接口能够进行数据读写。dsa能够自动地进行数据的打散与加密保护操作。dsa数据隔离区采用高强度的加密。dsa数据隔离区以外的应用程序无法获取dsa数据隔离区的任何数据细节。dsa包含磁盘分区信息、文件目录表、密钥保险柜区域以及加密文件存储区。通过dsa存储的文件都是采用一次一密的随机密钥和aes256加密算法进行保护。而随机会话密钥则通过pki公钥进行加密并存储在安全的密钥保险柜中。沙箱模块采用dsa技术方案可以实现较高级别的加密保护,并有效地抵抗数据分析与破解。
31.企业级应用程序能够被安装于沙箱模块中。
32.沙箱模块能够对存储于沙箱模块内的数据进行自动地加解密。
33.在移动终端的应用安装列表中只会显示安装于沙箱模块内的应用程序,而不会显示沙箱模块外部的应用程序。
34.只有当用户处于工作时间段时,用户才能通过移动终端看到并使用安装于沙箱模块中的企业级应用程序。
35.沙箱模块所创建的虚拟空间为企业级应用程序提供了一个安全便捷的运行环境。与此同时,企业的相关信息管理部门也能够通过沙箱模块对安装于沙箱模块中的应用程序进行管控。
36.沙箱模块内的应用商店能够为移动终端提供企业级后台应用的上传审核操作。
37.沙箱模块能够根据用户的职能以及所属部门为用户提供与所述用户的职能以及所属部门相对应的使用权限。例如使用权限可以用于实现安装于沙箱模块中的某个或某些应用程序对哪些用户可见或者不可见。
38.沙箱模块内的应用程序能够根据用户的使用权限进行显示。
39.沙箱模块内的深层次的企业应用程序的申请权限(例如申请用户的实时定位、读取联系人等敏感权限)也能够通过管理后台进行配置下发。
40.例如该企业使用了企业微信这款应用程序,且已经上传至上述应用商店中。若企业微信申请读取联系人和定位权限,企业相关管理人员或沙箱模块能够配置禁止企业微信申请该权限的策略,并将上述策略下发至沙箱模块内的各应用程序。
41.沙箱模块内的各应用程序收到上述策略之后能够根据上述策略禁止企业微信申请上述权限。
42.所有安装在沙箱模块内的企业级应用程序均能够被默认加密,以实现对企业级应用程序内的数据进行有效地保护。
43.沙箱模块能够对待上传至应用商店的应用程序进行扫描,以识别上述应用程序内的安全威胁(比如漏洞和/或病毒)。
44.所述“待使用的应用程序被上传至所述沙箱模块内的应用商店,以检测上述应用程序是否存在安全威胁”的具体步骤为:
45.(1)在所述沙箱模块内设置管理后台,以对沙箱模块内的应用程序进行安全检测;
46.(2)所述用户将需要安装到所述沙箱模块中的应用程序上传到所述管理后台;
47.(3)在所述上传操作完成之后,所述管理后台能够利用自动脚本对apk进行拆包分析,以查看所述应用程序是否存在安全威胁;
48.(4)若所述管理后台未发现所述应用程序存在安全威胁,则将所述应用程序上传至所述应用商店,以供所述用户下载使用;
49.(5)若所述管理后台发现上述应用程序存在安全威胁,则终止所述应用程序的上传操作,并向相关应用程序的开发者发送提示信息,以便于开发者进行整改。
50.此外,还需确认沙箱模块内的应用程序与沙箱模块外的应用程序运行时是否一致。例如用户在沙箱模块的外部安装一个企业微信,并登录a账号。与此同时,在沙箱模块的内部安装一个同样的企业微信,并登录b账号。上述两个企业微信互相不会有任何干扰。通过上述方式确认沙箱模块内的应用程序与沙箱模块外的应用程序运行时是否一致。
51.之后,需检测应用程序是否被正确地安装:
52.(1)检查应用程序在沙箱模块内是否被静默安装。
53.(2)应用程序被静默安装成功后,点击打开,查看该应用程序是否能被打开。若该应用程序能够被正常打开,即表明该应用程序被成功安装。
54.(3)将沙箱模块退至管理后台,并进入移动终端中的设置目录中的应用管理栏以查找是否存在上述应用程序,若存在上述应用程序,则表明上述应用程序被成功安装。
55.基于安卓底层的linux的原理,沙箱模块可以理解为一个中间件的工具,以负责在framework层和应用层之间进行沟通/传递信息。
56.例如,一个安卓应用程序在开发过程中,都是通过调用安卓framework层提供的api接口进行功能实现的。沙箱模块相当于提供一个虚拟的framework层的环境。应用程序运行在上述api则相当于调用的是沙箱模块的api,然后沙箱模块通过代理的方式负责与移动终端的framework层进行沟通,进而使得沙箱模块中的应用程序能够正常地运行。
57.例如对于数据的读写,沙箱模块会利用一个读写方法去代理应用程序的读写操作,即读写操作都是在沙箱模块的管控下进行的。沙箱模块在获取数据之后,沙箱模块能够像处理沙箱模块自身的数据一样对所获取的数据进行自由地加密和处理,之后再将经过加密和处理的数据传递至移动终端的framework层。
58.沙箱模块主要用于对企业级应用程序(比如政府单位的移动oa、企业微信等)的数据保护。
59.沙箱模块的使用步骤包括:
60.沙箱模块被安装至每个移动终端;
61.待使用的应用程序被上传至所述沙箱模块内的应用商店,以检测上述应用程序是否存在安全威胁;
62.若所述应用程序不存在安全威胁,则能够被上传至所述应用商店,用户能够在所述应用商店中查看供所述用户使用的应用程序。
63.沙箱模块对应用程序的数据进行加密操作是在用户使用沙箱模块的应用程序的过程中进行的。
64.例如,在企业微信被安装于沙箱模块内的情况下,用户之间使用企业微信互相发送某个文档,沙箱模块则负责代理上述的文档读写。因而沙箱模块能够自动地监听上述文档的读写,并对上述文档进行加解密。
65.沙箱模块的作用主要是创建一个可运行应用程序的虚拟空间。
66.沙箱模块能够代替移动终端去实现某个应用程序所运行的环境。
67.沙箱模块具有对沙箱模块内的应用程序的最高的管控权限。
68.例如,在企业微信被安装于移动终端的沙箱模块之后,若企业微信试图申请定位、读取联系人等权限,沙箱模块能够代替企业微信前往移动终端申请该权限。如果管理员认为该权限过于隐私,管理员可通过管理后台的沙箱配置策略关闭该权限。
69.在接收到权限申请后,沙箱模块能够在前往移动终端申请该权限之前做出判断,即判断管理后台是否允许配置该权限。若管理后台不允许,沙箱模块则被禁止前往移动终端申请该权限,从而使得上述应用程序不具备上述不被允许的权限。
70.现有的移动终端中安装有各类系统。用户在系统环境中安装并运行应用程序。例如用户在智能手机中安装安卓系统,或者在安卓系统内安装/运行不同的apk文件(应用程序文件)。安装在移动终端中的应用程序会通过调用系统函数的方式获取移动终端中储存的信息或移动终端自身的信息。
71.沙箱模块能够通过编译系统函数生成。在应用程序调用系统函数获取信息时,沙箱模块根据调用的系统函数生成系统日志,即可通过系统日志监控沙箱模块内的应用程序。
72.首先,需要修改移动终端中的原系统以生成沙箱模块。
73.生成沙箱模块的具体实施步骤、应用及原理如下:
74.对移动终端中的原系统中的源码进行定位。
75.定位源码则需要确定应用程序获取了移动终端的哪些具体信息。因而,首先需要定义应用程序的获取移动终端信息行为。
76.s100:定义应用程序的获取移动终端信息行为。
77.在本发明的一个实施例中,所述移动终端包括但不限于:智能手机、平板电脑等。
78.应用程序的获取移动终端信息行为包括但不限于:
79.查询/删除移动终端中储存的短信、查询通话记录/通讯录、获取移动终端的移动设备国际识别码(imei)、获取安装在移动终端中sim卡的国际移动用户识别码(imsi)、通过移动终端录音或查询录音文件、打开移动终端的摄像头、定位、获取移动终端的管理员用户权限(root权限)。
80.s200:定位源码。
81.根据应用程序的获取移动终端信息行为,即可定位移动终端中原系统内需要修改的源码。
82.s300:在源码中插入日志输出函数。
83.在上述对应函数源码中插入或添加日志输出函数。日志输出函数在执行对应函数源码的时候输出一个系统日志。当应用程序调用系统函数以获得手机信息时,系统函数内的日志输出函数即可生成并输出系统日志。用户通过系统日志即可监控应用程序是否获取手机信息。
84.s400:编译生成沙箱模块。
85.修改源码后的系统进行编译生成沙箱模块。在本发明的一个优选实施例中,修改源码后的系统经过make-j命令编译成沙箱模块。上述代码编译过程可以采用多种编译方
式。
86.s500:在移动终端中安装沙箱模块。
87.上述编译生成的沙箱模块能够被安装于移动终端中,以对安装在沙箱模块中的应用程序进行监控。沙箱模块能够通过fastboot安装在移动终端中。沙箱模块也可以通过recovery安装在移动终端中。
88.本发明通过在原系统源码中插入日志输出函数对沙箱模块内的应用程序进行监控。当应用程序获取移动终端内的信息时,调用移动终端内系统对应的函数源码,沙箱模块就会通过插入在源码中的日志输出函数输出系统日志,从而对沙箱模块内的应用程序进行监控。
89.无论应用程序是否被加固或加密,当应用程序调用系统函数都会生成系统日志。与此同时,应用程序本身是否被加固或加密不会影响沙箱模块对应用程序的监控。
90.s600:安装测试用应用程序。
91.在沙箱模块中安装测试用应用程序,以通过沙箱模块对应用程序获取移动终端的信息进行监控。
92.应用程序在获取移动终端信息时,移动终端内的沙箱模块和应用程序按照以下流程运行:
93.r100:应用程序执行获取移动终端信息行为。
94.r200:沙箱模块接收并执行应用程序请求。
95.r300:沙箱模块通过日志输出函数输出系统日志。
96.移动终端包括处理器1和存储介质2。
97.存储介质2储存可被所述处理器1执行的沙箱模块。
98.沙箱模块被处理器1执行时能够实现如上述沙箱模块监控应用程序的方法。
99.所述移动终端通过沙箱模块监控安装在所述移动终端内的应用程序的获取移动终端信息行为,从而增强所述移动终端的信息安全性能。
100.用户根据安装在所述移动终端内的沙箱模块生成的系统日志,了解应用程序获取所述移动终端信息的情况,从而防止移动终端发生信息泄露。
101.本发明还提供一种基于沙箱安装的应用程序安装装置。如图1所示,所述装置包括处理器1和存储介质2。所述存储介质2集成有能够被所述处理器1执行的沙箱模块。所述沙箱模块被所述处理器1执行时能够实现上述的应用程序安装方法。
102.根据一个优选实施方式,所述存储介质2存储有一个或多个程序,所述一个或多个程序能够被一个或多个处理器1执行。
103.需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。本发明说明书包含多项发明构思,诸如“优选地”、“根据一个优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献