微软Defender Antivirus成为首款能在沙盒中运行的杀毒产品

微软上周宣布,其杀毒软件Windows Defender Antivirus已经可在沙盒中执行,成为第一个具备此类能力的杀毒软件。微软并准备发布给Windows Insider方案的开发或研究人员。

将Windows Defender Antivirus成功置于沙盒中执行可防止沙盒应用被入侵,将恶意程序隔离在孤立环境中,确保系统其他部分不受影响。微软说明开发能让Windows Defender Antivirus在沙盒中执行的原因在于,除了微软持续强化Windows 10整体对攻击的防御能力外,微软内、外部研究人员已发现Windows Defender Antivirus内容分析器(content parser)的漏洞可用来执行任意代码执行。虽然没有看到Defender Antivirus漏洞的入侵行为,但也激起该公司强化产品能力的想法。

这家软件巨人指出,将Windows Defender Antivirus置于程序执行受限环境下,是听取安全业界及研究界意见的结果。这是一件很困难的挑战,因为他们必须考虑对性能和功能性的影响、找出高风险区域,并确保这类沙盒技术不会影响产品原有的安全性等。

微软解释为此对Windows Defender Antivirus做了哪些调整。首先,现代安全软件需要扫描各种对象,包括磁盘、內存中的数据串,以及即时行为事件等。而沙盒化的最重要功能之一需要将Windows Defender Antivirus扫描能力分层(layering)以完整权限执行,而且可于沙盒中执行的组件。将这些组件沙盒化执行的目的是可涵盖高风险任务,例如扫描不受信赖的输入指令、扩大的容器等,此外也需要将两个分层间的交互减少至最小以避免大幅损及性能,而只在对性能要求较低时执行这些交互。

Defender Antivirus也尽量做协调作业以避免产生不必要的I/O、减少数据读取
,以确保受检查文件维持良好性能,尤其是在老旧硬件上。此外,微软也借由限制可被处理的同时调用,以减少程序间通信(inter-process communication)、引发死结(deadlock)或优先权颠倒(priority inversion)等性能瓶颈,并以低权限的Appcontainer实例沙盒,防止不预期的程序被驱动。其他还需考察逐步部署及可使用资源的问题,还要赋给Windows Defender Antivirus高度权限,使它有能力及时缓解事件、或复原被感染的组件。

微软准备逐步将Windows Defender Antivirus发布给加入Windows Insider方案的开发或研究人员。目前仅Windows 10的1703版本以上支持这项新功能。

用户可以借由设置环境变项(setx /M MP_FORCE_USE_SANDBOX 1)后重启,一旦沙盒功能启动,用户即会在Windows Defender Antivirus中看到MsMpEngCP.exe的内容程序。