无文件恶意软件可以做什么?检测和防御无文件恶意软件攻击

从历史上看,大多数恶意软件都是以文件形式交付的,这些文件会被下载到计算机、写入内存,然后执行。这种设计使某些安全解决方案更容易检测到这些类型的恶意软件。然而,无文件恶意软件仅存在于受感染计算机的内存中,不会向磁盘写入任何内容。

无文件恶意软件可以做什么?检测和防御无文件恶意软件攻击-南华中天

怎么运行的

大多数应用程序和基于文件的恶意软件都是从写入磁盘的文件开始的。执行该文件时,会将一个副本加载到内存中,然后执行程序的命令。无文件恶意软件跳过了写入磁盘的步骤,只存在于内存中。

实现这一目标的一些方法包括:

  • Living Off the Land:恶意软件执行的许多操作都可以通过合法的系统功能来完成。无文件恶意软件通常使用 PowerShell 来访问通常在恶意可执行文件中使用的内置 Windows API 函数。
  • 恶意文档:Microsoft Office 文档可能包含使用 PowerShell 执行命令的恶意宏。这可能包括下载和运行其他恶意软件而不将其写入磁盘。
  • 漏洞利用:应用程序可能包含缓冲区溢出或其他远程代码执行(RCE) 漏洞。通过利用此漏洞,攻击者可以在易受攻击的进程中运行恶意命令,而无需向磁盘写入任何内容。
  • 进程劫持:一旦一个文件被加载到内存中,它的内存空间就可以被修改。恶意软件可以将代码写入现有进程的内存空间,并在该进程内启动其恶意功能。
  • 基于注册表的恶意软件:Windows 注册表包含 Windows 操作系统的配置信息,包括自动运行。无文件恶意软件可以定义一个自动运行,在系统启动或用户登录时通过 LoLBins 启动恶意代码。

无文件恶意软件可以做什么?

无文件恶意软件可以做传统的基于文件的恶意软件变体可以做的任何事情。这包括充当信息窃取器、勒索软件、远程访问工具包 (RAT) 和加密矿工。

无文件恶意软件和基于文件的恶意软件之间的主要区别在于它们实施恶意代码的方式。无文件恶意软件通常更多地依赖于操作系统的内置功能,而不是在独立的可执行文件中实现恶意功能。

无文件恶意软件可以做什么?检测和防御无文件恶意软件攻击-南华中天

无文件攻击的阶段

无文件恶意软件攻击看起来与基于文件的恶意软件攻击非常相似。一些关键阶段包括:

  • 初始访问:恶意软件需要一种获取组织系统访问权限的方法。无文件恶意软件可能会通过网络钓鱼或利用易受攻击的 Web 应用程序来传送恶意文档。
  • 执行:无文件恶意软件可以通过各种方式实现代码执行。例如,恶意文档可能会使用社会工程学来诱骗收件人启用宏,从而允许恶意宏运行 PowerShell 命令。
  • 持久性:一旦恶意软件获得对目标系统的访问权限,它就会希望保持该访问权限。将自动运行键添加到 Windows 注册表是实现持久性的常用方法,无需将代码写入磁盘即可完成。
  • 目标:恶意软件旨在完成某些任务。无文件恶意软件可能会尝试窃取凭据、加密文件、下载其他恶意软件或执行其他一些恶意活动。

检测和防御无文件恶意软件攻击

无文件恶意软件旨在比传统的基于文件的恶意软件变体更难检测。这样做的原因是一些端点安全解决方案侧重于扫描系统上的文件,而不检查主动运行的进程是否存在恶意代码或异常活动。

但是,更难检测与无法检测并不相同。组织可以保护自己免受无文件恶意软件攻击的一些方法包括:

  • 锁定功能:无文件恶意软件通常“远离陆地”,使用内置功能来实现其目标。禁用或监控高风险应用程序(例如 PowerShell)有助于预防和检测无文件恶意软件攻击。
  • 管理宏: Microsoft Office 宏是无文件恶意软件实现初始访问和执行的常用方法。禁用宏有助于阻止这种感染媒介。
  • 补丁漏洞:攻击者可能利用缓冲区溢出等漏洞在易受攻击的应用程序中运行代码。使用入侵防御系统(IPS)应用补丁和实施虚拟补丁可以限制漏洞利用的风险。
  • 安全身份验证:网络犯罪分子越来越多地使用受损凭据和远程访问解决方案(例如 RDP)来部署和执行恶意软件。实施多因素身份验证 (MFA) 和零信任安全策略可以限制受损帐户的潜在影响。