攻击者希望尽可能保持隐身来减少他们被检测的机会,这意味着他们只能对受感染系统进行最少次数的改变,以及在系统留下最少的证据。攻击者保持不被发现的时间越长,他们就越有可能实现自己的目标。攻击者早就知道在攻击过程中删除自己的工具,而恶意软件作者也开始删除在攻击中使用的文件,这被称为无文件(fileless)恶意软件。在无文件恶意软件攻击中,系统变得相对干净,没有很多恶意文件可被检测来通知安全管理人员。
崛起中的“无文件式”恶意软件攻击
在本文中,让我们一同探讨一下无文件恶意软件的工作原理,它如何变得越来越复杂,以及企业应该怎样做来保护自己免受此类威胁。
无文件恶意软件的工作原理
Intel Security在其2015年11月McAfee实验室威胁报告中详细描述了无文件恶意软件。该报告介绍了无文件恶意软件如何删除它在受感染系统磁盘中保存的所有文件,在注册表中保存加密数据,注入代码到正在运行的进程,并使用PowerShell、Windows Management Instrumentation和其他技术使其难以被检测以及分析。在注册表中保存数据的方式让恶意软件可在启动时运行,而不会让普通用户查看或访问特定的注册表数据。这让攻击者有更多的时间来利用其恶意软件以及继续执行其攻击;恶意软件可能被自动化工具检测或提交到恶意软件库,但在进行全面分析前,大多数反恶意软件产品都很难发现和移除这种恶意软件。他们有合理的原因在注册表中存储加密或哈希数据,或者使用恶意软件编写者使用的其他技术来模糊化其恶意软件。例如,有些应用可能在需要保护的注册表中存储加密密码。
为了在Windows计算机执行指令,操作系统首先需要知道执行什么指令;这可通过打开附件、点击电子邮件中的链接、打开计算机中的文件或者使用远程文件共享来进行。注入代码到正在运行的进程首先需要这种前期行动。当代码在内存中后,它可以执行以及采取用户执行代码的任何行动,如果该用户有用管理级访问权限,系统可被完全破坏,但如果该账户只是受限账户,攻击者还要采取额外的步骤来完全破坏整个系统。
在McAfee实验室报告中,研究人员描述了Kovter恶意软件如何利用更先进的无文件恶意软件技术。Kovter通过电子邮件或恶意软件网站来分发,在本地计算机执行最初的恶意软件攻击后,它会编写JavaScript到注册表,调用同样存储在该注册表中加密的PowerShell脚本。由于它并不会保存文件,并使用Powershell来隐藏,这更加难以被检测。而较旧的恶意软件类型在初次分发后不会采取这些先进的做法。
如何抵御无文件恶意软件攻击?
在抵御无文件恶意软件攻击的第一步是确保端点保持更新;还要确保用户只有标准用户账户,而没有特权账户,并使用端点反恶意软件工具来保护设备。这些步骤需要采用纵深防御的方法来完成,通过扫描网络连接和电子邮件中是否存在恶意软件。这将帮助减少恶意软件到达端点并执行的机会。
端点安全工具可监控可执行文件的行为以及操作系统调用,这些工具也可能检测未经授权的内部连接或对无文件恶意软件攻击需要的注册表的意外访问。为了防止恶意PowerShell脚本,技术专家兼微软MVP Don Jones介绍了PowerShell必要的安全保护措施,但最重要的是确保只能执行数字签名的脚本。
恶意软件编写者正在不断提高自己的无文件恶意软件策略,但企业可使用与抵御较旧恶意软件相同的技术和工具来保护端点。尽管攻击者的改进让我们很难分析无文件恶意软件,但企业使用相同的保护措施可减少恶意软件初始感染和执行的机会。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2021-02-16 滑动窗口——最大值问题,需要维护一个单调减序队列
2017-02-16 NFL原则告诉我们做决策的时候,试图找到一个能解决所有问题,“大而全”的方案是不存在的。我们应当找到最关心的问题,因地制宜做出选择。——聚焦目标,取舍有道!
2017-02-16 wiredtiger存储引擎介绍——本质就是LSM,当然里面也可以包含btree和列存储
2017-02-16 Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统