苏苏

什么是 Sandbox

分享
  • X0_0X 2 等保中级测评师 CICSA 官方采纳
    X0_0X2 等保中级测评师 CICSA
    官方采纳

    Sandbox即安全沙盒,它的主要作用是对软件运行环境做隔离限制,通过严格控制执行的程序所访问的资源来达到限制恶意行为的目的。安全沙盒有用于多用户多进程隔离以确保安全运行的,也有用于恶意软件行为识别的。

    对于主机层的沙盒,Sandboxie是Windows上的老牌安全沙盒,可以隔离运行不可信的软件,防止系统感染病毒。从Windows 8系统开始,微软便使系统自带了AppContainer沙盒,后来在内核层又实现了Hyper-V的虚拟化沙盒。以安全著称的Chrome浏览器就是利用沙盒来确保安全的。

    对于应用层的沙盒,如Java安全模型,它实际上就是Java沙盒,包括字节码校验器(bytecode verifier)、类加载器(class loader)、存取控制器(accesscontroller)、安全管理器(security manager)、安全软件包(securitypackage)这5部分。也有利用Java Instrumentation相关API通过Hook机制来实现沙盒的,如阿里巴巴开源的JVM-Sandbox,除了上面这些用来做隔离防护的沙盒,还有用来做恶意软件分析的沙盒,比如CuckooSandbox可以用来分析Windows、macOS、Linux和Android系统上的恶意软件行为,其官网见参考资料。在Linux系统上,用户可以通过systemd服务来配置一系列沙盒功能,从而保护由systemd启动的服务,如Apache、MySQL等。systemd的沙盒功能的部分实现原理和Docker类似,都利用了Linux提供的Namespace功能。

  • Anna艳娜 2 CISO 高级信息系统项目管理师 PMP 官方采纳
    Anna艳娜2 CISO 高级信息系统项目管理师 PMP
    官方采纳

    Sandbox即安全沙盒,它的主要作用是对软件运行环境做隔离限制,通过严格控制执行的程序所访问的资源来达到限制恶意行为的目的。安全沙盒有用于多用户多进程隔离以确保安全运行的,也有用于恶意软件行为识别的。对于主机层的沙盒,Sandboxie是微软系统上的老牌安全沙盒,可以隔离运行不可信的软件,防止系统感染病毒。微软便使系统自带了该沙盒,后来在内核层又实现了Hyper-V的虚拟化沙盒。

    检测程序是否在沙箱运行的办法有以下这些:

    • 检测运行时间:在各类检测沙箱中,检测运行的时间往往是比较短的,因为其没有过多资源可以供程序长时间运行,如果运行时间长则说明不存在沙箱;

    • 检测开机时间:许多沙箱检测完毕后会重置系统,我们可以检测开机时间来判断是否为真实的运行状况;

    • 检测物理内存:当今大多数pc具有4GB以上的RAM,我们可以检测RAM是否大于4GB来判断是否是真实的运行机器,否则则为沙箱;

    • 检测CPU核心数:大多数pc拥有4核心cpu,许多在线检测的虚拟机沙盘是2核心,我们可以通过核心数来判断是否为真实机器或检测用的虚拟沙箱;

    • 检测临时文件数:正常使用的系统,其中用户的临时文件夹中有一定数量的临时文件,可以通过判断临时文件夹内的文件数量来检测是否在沙箱中运行。

  • 写回答