基于安卓系统的沙箱技术

2018-02-25 02:39王堃
电子技术与软件工程 2018年7期
关键词:沙箱

王堃

摘要 2008年前后,国内随着安卓操作系统手机普遍推广应用,移动数据安全,移动APP安全问题逐渐浮出水面,特别在2010年国内大规模爆发的,安卓手机应用病毒传染事件,使数以十万计的安卓设备,个人隐私信息泄露,影响和后果足以引起信息安全工作者的重视。针对移动端的沙箱安全防护技术研究逐渐兴起。

【关键词】沙箱 安卓系统 移动数据安全

1 绪论

1.1 沙箱技术

沙箱( Sandbox)是一种基于既定安全策略,具有限制并运行程序的一种执行环境。性质与根植于主机还原操作行为的虚拟运行相类似。基于沙箱的安全机制能够实时监视程序行为,并当程序有恶意越界操作时,限制程序执行違反安全策略的操作。沙箱技术的核心工作,就是将一个操作受限的应用程序执行环境建立起来,将不受信任的一些程序转移到沙箱中运行,形成来限制和防范功能,回滚其可能对系统造成的破坏。

当程序在其中运行时,某些危险操作都会被沙箱虚拟化重定向,例如,注册表、文件操作等,所有对注册表和文件的操作都是虚拟的,手机中真实件并不会被修改,程序的一些危险行为会被沙箱禁止,例如底层磁盘操作,某硬件驱动重新安装,提升某APP权限等操作,这就确保系统环境不会受到影响。

1.2 沙箱系统

沙箱系统是新的用于处理恶意代码的方式。主要是让无信任权限的程序运行在虚拟机上,而虚拟机只能访问受用户权限制的副本。在应用程序中,虚拟操作环境下的一些文件所发生的相应变化会直接被忽略,但程序如果被认为有恶意,会直接被记入日志。但使用这种方案有几点需要用户注意:

(1)沙箱的运用会出现一些兼容性的问题。

(2)沙箱概念的建立要基于执行程序友高度的信任权限。

(3)沙箱或许不能阻止利用网络服务而带来的反制病毒。

(4)虚拟系统可能会出现行为阻断系统中的类似漏洞。

如常见的恶意软件或者APP有两种常见的检测软件模式,包括静态分析与动态分析,其中静态分析:利用二进制展开分析,而且是在恶意软件还未开始执行之前预先进行。其中包括反编译、解压缩、源代码分析,并展开恶意模式对比和系统调用的提前预测。而且上述过程均采用病毒码过滤二进制文件。静态分析的一个优势就是分析快速而且相对简单,而它的主要缺点是病毒码必须是提前已知的,不然就无法进行病毒应用的对比工作,而且不可能自动检测新型恶意软件或是让相关专家介入分析。

2 动态分析

动态分析是使给定的应用程序/APP在一个受控环境中运行并监控其行为的一组技术。其使用了许多启发式方法以强化对应用程序/APP动态行为的捕获能力,比如监控文件传输、文件权限改变、网络通讯,进程资源分配、系统资源的使用等。一个通用的动态软件分析手段就是沙箱。沙箱可以定义为“一个进程行为被安全策略所限制的环境”。用户空间( UserSpace)沙箱系统通常选择向系统数据库注入代码,达到掌控应用程序常用API的目的,或是在自己建立的独立环境中调试应用样本,类似ADSandbox。但恶意软件可能具有反侦察能力,能够检测到用户空间沙箱,从而将伪装成正常应用以避免被发现。内核空间( KernelSpace)沙箱极力克服这个问题,它通过执行一个底层监控方法,在内核中监测原始系统调用。沙箱系统的一种工作方式就是监控系统和数据库以及它们参数的调用情况。

3 结语

考虑到安卓系统本身的特性,其适合采用纯用户态的沙箱实现机制,利用软件隔离技术实现,该方法的优点在于沙箱在用户级执行策略,而与操作系统的具体实现无关,同时沙箱具有很好的扩展性。该方法的缺点有,纯用户级沙箱限制了沙箱的使用范围,仅对系统承载的APP/应用可用。并且也无法利用机器本身的硬件优势。作为用户的我们,正确地使用沙箱能带来好处,但是同时也要意识到危险的存在。

参考文献

[1]陈珂,柯文德,王爱国等,基于沙盒技术的行为分析系统研究[J]计算机技术与发展,2015, 25 (08):167-168.

[2]彭晖,常乐,沈亚军.Internet环境下沙箱问题的一种解决方法[J]电脑开发与应用,2002,15 (08):5-6.

[3]王鹤呜,电脑信息安全保护伞一沙箱[J]信息安全与通信保密,2012(01):37-39.

猜你喜欢
沙箱
沙箱与容器的区别
附着式盖梁支架施工工艺
Removing a stone
基于函数注入的沙箱拦截识别方法
基于沙箱回避的 APT 研究*
基于多安全机制的 Linux 应用沙箱的设计与实现
动态沙箱是威胁防御的关键所在
沙箱技术研究综述