本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 产品智能选型 IP知识百科

什么是沙箱技术?

在计算机领域中,沙箱技术(Sandboxing)是一种用于隔离正在运行程序的安全机制,其目的是限制不可信进程或不可信代码运行时的访问权限。沙箱的名称来源于儿童所玩的沙盒游戏,在沙盒中,孩子们可以自由运用想象力搭建一个与外界隔绝的小世界,正如沙箱会为待执行的程序提供了一个虚拟环境。这个虚拟环境中包含一些虚拟的硬件和软件资源,如文件系统、网络、操作系统等,使应用程序或进程可以在该环境中运行。在沙箱中运行的程序只能访问沙箱给它加载的资源,而不会影响到外部的应用、系统或平台,避免其对计算机中的其他程序或数据造成永久的更改。沙箱应用在网络安全领域,可以通过隔离沙箱中的病毒文件,以达到识别未知攻击的效果。

沙箱技术的原理

沙箱主要应用到了三类技术:虚拟化技术、访问控制技术与防躲避技术。

  • 虚拟化技术

    虚拟化技术(Virtualization)是一种资源管理技术。通过虚拟化,计算机的很多实体资源,包括CPU、内存、磁盘空间等,都会被抽象化后成为可供分割和重新组合的状态,让用户可以自己重新分配电脑硬件资源。如图所示,在沙箱中会使用虚拟化技术为不可信的资源构建封闭的运行环境,在保证不可信资源功能正常运行的同时提供安全防护。简而言之,即是沙箱中被隔离的可疑或待测程序会使用沙箱中的资源运行,以保证沙箱外资源的安全,不影响沙箱外其他程序的运行。

    沙箱是如何工作的
    沙箱是如何工作的

    沙箱根据虚拟化层次的不同,可以被分为系统级别的沙箱和容器级别的沙箱。系统级别的沙箱即是一种特殊的虚拟机(Virtual Machine),往往会虚拟化一个完整的计算机软件架构,即在沙箱内部有完整的一套虚拟设备和操作系统。容器级别的沙箱不同于此,该种类型的沙箱仅仅只是一个部署在某个应用程序周围的一个容器(Container),容器内包括了被隔离的文件和程序及这些文件或程序可能会使用到的资源。容器级别的沙箱相较于系统级别的沙箱,占用的内存和硬盘空间都是更小的。

    沙箱之所以被认为是一种特殊的虚拟机或容器,是因为沙箱相较于通常意义上的虚拟机或容器,更侧重于安全隔离,目的是让沙箱中所做的任何操作对外界不造成影响,重点在于不让沙箱内部影响到沙箱外部。通常意义上的虚拟机或容器更侧重于应用部署,目的是隔离出一个单独的部署环境,使得外界的变化对容器内部应用的正常运行不造成影响,重点在于不让容器外部影响到内部。

  • 访问控制技术

    当沙箱环境中的程序需要去访问一些沙箱外的、但对其运行有必要的资源时,就需要访问控制规则去限制程序的行为。沙箱的访问控制往往由程序监控器与访问控制规则引擎等部分组成。程序监控器监控沙箱内程序的运行,并将监控到的行为提交给访问规则控制引擎。访问规则控制引擎会根据规则,判断是否允许程序使用沙箱外的特定资源。

  • 防躲避技术

    恶意软件在运行时检测到自己处于沙箱环境中,会采取一系列措施来规避沙箱的检测和分析,沙箱一般需具备如下防躲避技术防止恶意软件躲避:

    • 病毒隐藏虚拟机固定字符串的硬件注册表信息
    • 对病毒打开虚拟机或者内核调试器为驱动程序创建的符号链接的动作,返回“不存在”
    • 对病毒隐藏虚拟机中独有的服务进程
    • 对病毒隐藏虚拟机中独有的应用软件信息
    • 拦截系统序列号注册表查询动作,返回某个不会被怀疑的序列号

沙箱技术的应用

在网络安全场景中,沙箱主要被应用于病毒检测及避免软件未知漏洞的蔓延。

传统的病毒检测技术基于病毒特征库扫描,对于未知病毒不具有检测和防御的能力。当一个未知病毒未被添加到病毒特征库时,基于特征库的反病毒产品会将病毒认为是正常文件而不对其进行拦截,导致用户终端被病毒感染入侵。这种被动的防御方式已经不能适应现在种类繁多、日新月异的病毒攻击,而将沙箱技术运用于病毒检测,正是解决了这种问题。沙箱可以将可疑文件或程序隔离在沙箱内部,并诱导可疑文件或程序在沙箱环境中运行。在运行过程中,沙箱将检查每个命令在激活情况下的状况并查找任何可疑行为,例如自我复制、覆盖文件以及其他在病毒中常见的操作。若检测到高风险的动作,则可判定为危险文件或程序。

因此,沙箱能够有效地构筑对未知病毒的安全防线,化被动防御为主动防御,对零日攻击高级持续性威胁都能起到较好的防护作用。沙箱检测过程如图1-2所示。

沙箱检测过程

此外,网络安全专家也可以通过沙箱技术来分析恶意软件的行为。安全专家可以在沙箱环境中观测恶意软件的行为和进程,分析恶意软件是怎样感染目标主机的。这样,安全专家既可以对这些威胁进行详尽的学习,并将研究成果应用于后续的恶意软件防护之中,也不会让威胁对主机造成实际的影响。


沙箱检测过程

沙箱技术的价值

沙箱技术的价值体现在如下几个方面:

  1. 保护主机与操作系统

    在沙箱环境中运行未知可疑文件,降低了主机被病毒感染入侵的风险。

  2. 抵御零日漏洞等未知威胁

    基于特征检测的传统安全防御手段只能识别已知威胁,且存在应对快速演进的威胁滞后时间较长的弱点。对于未知威胁软件利用零日漏洞,沙箱隔离是有效的保护网络的方法。通过将威胁隔离在沙箱环境中,可以有效阻断威胁在内网的传播与扩散。

  3. 与防火墙等其他安全设备进行协同防护

    沙箱可以和企业网络中部署的其他安全设备,如防火墙、入侵防御反病毒软件或终端安全软件等进行协同防护。在沙箱识别出未知威胁后,可以通过情报共享给其他的安全设备,有助于在全网阻断相似的威胁。

  4. 预防未来的攻击

    安全研究专家可以对沙箱环境中的新威胁进行研究,在虚拟环境里观察新威胁如何入侵感染主机的方式,并将研究成果应用于未来对威胁的防御之中。

云沙箱与硬件沙箱的区别

根据部署方式的区别,沙箱可以被分为硬件沙箱与云沙箱两种。尽管部署方式不同,这两种沙箱的功能是相同的,都可以起到对未检测程序或未知威胁隔离、测试的作用。

  • 硬件沙箱

    硬件沙箱即是部署在物理服务器上的沙箱,会在物理设备上检验可疑的文件、URL和代码。硬件沙箱的一个弊端在于,对于规模较大或有大量远程办公人员的企业,这些未连接公司内网的终端就不再受到沙箱的保护。硬件沙箱的另一个弊端在于,由于要部署在物理服务器上,物理设备的购置、管理与维护的成本使得云沙箱比硬件沙箱更为经济。硬件沙箱适用于独立的政企园区,或有数据不出局点要求的客户。

  • 云沙箱

    云沙箱即是不依托于物理设备,部署在云上的沙箱。当沙箱部署在云上时,可以确保任何云下的、公司内网中的物理设备不会受到沙箱检测的恶意文件或软件的影响。此外,云沙箱对于企业网络内设备的保护不受地理位置的限制,即,即使有远程办公人员,这些人员所使用的设备也可以受到云沙箱的保护。由于云沙箱不需要被部署在物理服务器上,大大节省了购置、管理与维护物理服务器的成本。云沙箱适用于可以数据出局的客户场景,即客户允许文件上送至厂商的云沙箱的场景。

沙箱技术在华为FireHunter6000系列沙箱中的实践

华为FireHunter6000系列沙箱产品是华为推出的新一代高性能APT威胁检测系统,可以精确识别未知恶意文件。通过直接还原网络流量并提取文件或依靠下一代防火墙提取的文件,在虚拟的环境内进行分析,实现对未知恶意文件的检测。

华为FireHunter6000系列沙箱产品凭借独有的ADE高级威胁检测引擎,与下一代防火墙配合,面对高级恶意软件,通过信誉扫描、实时行为分析等本地和云端技术,分析和收集软件的静态及动态行为,对“灰度”流量实时检测、阻断和报告呈现,有效避免未知威胁攻击的迅速扩散和企业核心信息资产损失,特别适用于金融、政府机要部门、能源、高科技等关键用户。

FireHunterADE高级威胁检测引擎的技术原理如图1-3所示:

ADE高级威胁检测引擎技术原理
ADE高级威胁检测引擎技术原理

文件检测经过信誉体系评分、静态检测、启发式检测、虚拟机执行,最终在威胁分析引擎进行对各个检测结果进行关联、联合分析和威胁判定,最终给出威胁检测结果。其中,涉及到沙箱技术的为启发式检测与虚拟机执行。ADE高级威胁检测引擎使用基于Euler+Wine虚拟环境的Windows深度行为分析沙箱,可以动态执行、分析样本,其具有如下特征:

  • 深度解析文件基础信息数据,检测异常格式、异常信息。
  • 动态执行,提取文件关键行为数据,如关键API函数、恶意操作、异常通信信息等。
  • 关键内存监控:及时监控恶意软件运行过程申请、释放的关键动态内存,挖掘恶意IOC、恶意代码信息。
  • 监视文件运行时动态行为数据,包括进程操作、文件操作、网络操作等等。
  • 防逃逸:支持操作系统逃逸、时间逃逸、注册表逃逸、调试逃逸、网络逃逸等各类主流逃逸手段,保证恶意行为正确触发。
  • 细颗粒度监控:支持监控全部Windows API调用,看到的数据足够丰富,提供更优的检测效果。

FireHunter6000系列沙箱通过Windows深度行为分析沙箱技术,使用动态行为人工智能检测,相较人工行为签名提取,病毒检出率显著提升。

词条统计
  • 作者: 朱思邈
  • 最近更新: 2024-01-03
  • 浏览次数: 11051
  • 平均得分:
分享链接到: