抵御无文件型恶意软件攻击的那些事儿. 2019-05-17
目前,针对企业环境的无文件型恶意软件威胁正在日趋增长。无文件型恶意软件所使用的代码不需要驻留在目标Windows设备上,而普通的Windows安装程序涉及到很多的东西:PowerShell、WMI、VB、注册表键和.NET框架等等,但对于无文件型恶意软件来说,它们在实现目标主机感染时,并不需要通过文件来调用上述组件。
这个过程通常被称之为Process Hollowing,在这种机制下,恶意软件可以使用一个特定进程来作为恶意代码的存储容器以及分发机制。近期,FireEye的研究人员就发现有攻击者将PowerShell、VB脚本和.NET应用整合进了一个代码包中。
利用PowerShell来实现攻击已经很常见了,而且大家应该也清楚基于PowerShell的漏洞攻击杀伤力有多么强大,因为恶意代码可以直接在PC内存中执行。此外,PowerShell还可以用于远程访问攻击或绕过应用白名单保护等等。
鉴于这类日趋严重的安全威胁,安全团队可以做些什么来保护他们的组织抵御无文件型恶意软件呢?
确保公司内部环境的安全
为了抵御无文件型恶意软件的攻击,首先我们要确保组织网络系统内的计算机安装了最新的补丁程序。很多攻击者会利用旧版本系统中未修复或延迟修复的漏洞,而“永恒之蓝”漏洞就是一个很好的例子(该漏洞的补丁要先于漏洞利用程序的发布)。
接下来,我们要设计一个强有力的安全意识培训方案。这并不意味着你要定期进行安全练习,或偶尔向员工发送钓鱼测试邮件。这里需要我们制定一套安全操作流程,并且让员工有效地意识到电子邮件附件的危险性,防止员工无意识地点击陌生链接。因为很多无文件型恶意软件攻击都是通过一封简单的网络钓鱼邮件开始的,因此这样的安全培训或操作方案是非常重要的。
第三,安全团队需要了解Windows内置代码的操作行为,这样我们就可以在第一时间发现异常情况。比如说,如果你在/TEMP目录中发现了隐藏的PowerShell脚本,那你就需要小心了。
更新访问权限和特权账号
组织应该了解无文件型恶意软件的攻击机制,因为就算你点击了一封邮件中的恶意附件,也并不意味着你的电脑就会立即感染恶意软件。因为很多恶意软件会在目标系统所处的网络环境中进行横向渗透,并寻找更加有价值的攻击目标,比如说域控制器或Web服务器等等。为了防止这种情况的发生,我们应该对组织内的网络系统以及相应访问权限进行仔细划分,尤其是针对第三方应用程序和用户进行划分。
当恶意软件成功渗透目标组织的网络系统后,随着恶意软件的横向渗透,攻击者可以利用PowerShell来实现提权。比如说,攻击者可以发送反向DNS请求,枚举出网络共享的访问控制列表,并查找出特定域组的成员。
因此,安全团队应当遵循“最少权限”的原则,及时检查已过期账户的访问权限,并根据需要限制某些账号的特权。除此之外,组织还要禁用那些不需要的Windows程序,因为并不是每个员工都需要在自己的计算机上运行PowerShell或.NET框架的。当然了,你也可以移除像SMBv1这样的遗留协议,而这类协议也是WannaCry能够为非作歹的主要原因。
最后,为了确保不被攻击者利用MS Office恶意宏来实现攻击,我们也应该尽可能地禁用宏功能,不过这并不是一种通用解决方案,因为很多用户仍然需要宏功能来完成他们的工作。
抗争到底!
虽然无文件攻击日益猖獗,但微软方面并没有停滞不前。实际上,他们已经开发出了一个名为“反恶意软件扫描接口”的开放接口,而且很多供应商已经开始使用它来检测无文件型恶意软件攻击了,尤其是在分析脚本行为时,这个接口的作用就体现得更加明显了。
此外,任何想要深入了解无文件型攻击的研究人员都应该去看一看开源项目-AltFS。这是一个完整的无文件型虚拟文件系统,可以用来演示无文件技术的工作机制,而且该项目可以直接在Windows或macOS平台上搭建使用。
正如大家所看到的那样,对抗无文件攻击需要我们扎扎实实地做好很多细节工作,并在各种工具与技术之间进行仔细协调。随着越来越多不可预见的恶意软件威胁出现,各大组织更应该采取措施来加强自身的安全防御。
转http://netsecurity.51cto.com