崛起中的“无文件式”恶意软件攻击
2016-03-01 TechTarget中国 编辑:Nick Lewis 翻译:邹
攻击者希望尽可能保持隐身来减少他们被检测的机会,这意味着他们只能对受感染系统进行最少次数的改变,以及在系统留下最少的证据。攻击者保持不被发现的时间越长,他们就越有可能实现自己的目标。攻击者早就知道在攻击过程中删除自己的工具,而恶意软件作者也开始删除在攻击中使用的文件,这被称为无文件(fileless)恶意软件。在无文件恶意软件攻击中,系统变得相对干净,没有很多恶意文件可被检测来通知安全管理人员。
在本文中,让我们一同探讨一下无文件恶意软件的工作原理,它如何变得越来越复杂,以及企业应该怎样做来保护自己免受此类威胁。
无文件恶意软件的工作原理
Intel Security在其2015年11月McAfee实验室威胁报告中详细描述了无文件恶意软件。该报告介绍了无文件恶意软件如何删除它在受感染系统磁盘中保存的所有文件,在注册表中保存加密数据,注入代码到正在运行的进程,并使用PowerShell、Windows Management Instrumentation和其他技术使其难以被检测以及分析。在注册表中保存数据的方式让恶意软件可在启动时运行,而不会让普通用户查看或访问特定的注册表数据。这让攻击者有更多的时间来利用其恶意软件以及继续执行其攻击;恶意软件可能被自动化工具检测或提交到恶意软件库,但在进行全面分析前,大多数反恶意软件产品都很难发现和移除这种恶意软件。他们有合理的原因在注册表中存储加密或哈希数据,或者使用恶意软件编写者使用的其他技术来模糊化其恶意软件。例如,有些应用可能在需要保护的注册表中存储加密密码。
为了在Windows计算机执行指令,操作系统首先需要知道执行什么指令;这可通过打开附件、点击电子邮件中的链接、打开计算机中的文件或者使用远程文件共享来进行。注入代码到正在运行的进程首先需要这种前期行动。当代码在内存中后,它可以执行以及采取用户执行代码的任何行动,如果该用户有用管理级访问权限,系统可被完全破坏,但如果该账户只是受限账户,攻击者还要采取额外的步骤来完全破坏整个系统。
在McAfee实验室报告中,研究人员描述了Kovter恶意软件如何利用更先进的无文件恶意软件技术。Kovter通过电子邮件或恶意软件网站来分发,在本地计算机执行最初的恶意软件攻击后,它会编写JavaScript到注册表,调用同样存储在该注册表中加密的PowerShell脚本。由于它并不会保存文件,并使用Powershell来隐藏,这更加难以被检测。而较旧的恶意软件类型在初次分发后不会采取这些先进的做法。
如何抵御无文件恶意软件攻击?
在抵御无文件恶意软件攻击的第一步是确保端点保持更新;还要确保用户只有标准用户账户,而没有特权账户,并使用端点反恶意软件工具来保护设备。这些步骤需要采用纵深防御的方法来完成,通过扫描网络连接和电子邮件中是否存在恶意软件。这将帮助减少恶意软件到达端点并执行的机会。
端点安全工具可监控可执行文件的行为以及操作系统调用,这些工具也可能检测未经授权的内部连接或对无文件恶意软件攻击需要的注册表的意外访问。为了防止恶意PowerShell脚本,技术专家兼微软MVP Don Jones介绍了PowerShell必要的安全保护措施,但最重要的是确保只能执行数字签名的脚本。
恶意软件编写者正在不断提高自己的无文件恶意软件策略,但企业可使用与抵御较旧恶意软件相同的技术和工具来保护端点。尽管攻击者的改进让我们很难分析无文件恶意软件,但企业使用相同的保护措施可减少恶意软件初始感染和执行的机会。