沙盒(英语:sandbox,又译为沙箱),计算机术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。 沙盒通常严格控制其中的程序所能访问的资源,比如,沙盒可以提供用后即回收的磁盘及内存空间。在沙盒中,网络访问、对真实系统的访问、对输入设备的读取通常被禁止或是严格限制。从这个角度来说,沙盒属于虚拟化的一种。 沙盒中的所有改动对操作系统不会造成任何损失。通常,这种技术被计算机技术人员广泛用于测试可能带毒的程序或是其他的恶意代码。 具体实现 [url=]编辑[/url][url=] 播报[/url] 沙盒将App运行于一个受限的系统环境中,控制程序可使用的资源(如文件描述符、内存、磁盘空间等)。 以下是一些沙盒的具体实现: · App监狱(Jail):限制网络访问、受限的文件系统名字空间。App监狱最常用于虚拟主机上。 · 基于规则的实行:通过系统安全机制,按照一系列预设规则给用户及程序分配一定的访问权限,完全控制程序的启动、代码注入及网络访问。也可控制程序对于文件、注册表的访问。在这样的环境中,病毒木马感染系统的几率将会减小。Linux中,安全增强式Linux和AppArmor正使用了这种策略。 · 虚拟机:模拟一个完整的宿主系统,可以如运行于真实硬件一般运行虚拟的操作系统(客户系统)。客户系统只能通过模拟器访问宿主的资源,因此可算作一种沙盒。 · 主机本地沙盒:安全研究人员十分依赖沙盒技术来分析恶意App的行为。通过创建一个模拟真实桌面的环境,研究人员就能够观察恶意App是如何感染一台主机的。若干恶意App分析服务使用了沙盒技术。 · 在线判题系统:用于编程竞赛中的程序测试。 · 安全计算模式(seccomp):Linux内核内置的一个沙盒。启用后,seccomp仅允许write()、read()、exit()和sigreturn()这几个系统调用。 [1]
|