【虹科分享】一种动态防御策略——移动目标防御(MTD)

发布时间:2024年01月05日

文章速览:

1、高级规避攻击

2、用移动目标防御对抗欺骗

  • 常见做法
  • 操作系统和应用程序才是真正的战场
  • 打破游戏规则

网络攻击的技术变得愈发难测,网络攻击者用多态性、混淆、加密和自我修改乔装他们的恶意软件,以此逃避防御性的检测,于是移动目标防御(MTD)技术出现了,通过动态地改变攻击面,有效地对抗日益复杂和隐蔽的网络攻击。

一、高级规避攻击

高级规避攻击可以反复修改网络攻击,包括其源、静态签名和行为签名,它们隐藏了防御系统的恶意意图。这些欺骗手段使传统的防御机制力不从心,攻击者明确地知道他们要攻击谁,何时何地,使用什么武器,而防御者却始终处于不确定状态。我们来看一些常见类型的高级规避攻击技术。

1、多态性通常被攻击者用来躲避反病毒软件的检测

通过加密恶意软件的有效载荷(包括代码和数据),攻击者可以获得两大优势:首先,攻击者可以通过使用多个加密密钥轻松生成同一恶意软件的不同实例。这使得基于签名的反恶意软件设施失去作用,因为新的实例具有新的、未知的静态签名。其次,恶意软件可以绕过更深入的静态分析,因为其代码和数据是加密的,因此不会暴露在扫描仪面前。利用变形技术,恶意软件的作者在每次执行时都会改变内存代码,从而使检测变得更加复杂。

2、多态性和变态性的目的是躲避自动扫描和内存扫描

利用混淆技术,恶意软件的编写者可以编写出人类分析人员难以理解的代码。具体做法是在有效载荷中加入模糊字符串、虚假代码和复杂的函数调用图,这些代码可以在恶意软件的每个实例中随机生成。

3、反虚拟机和反沙箱机制是另一种先进的攻击方法

沙箱和虚拟机是恶意软件分析人员必不可少的工具。这些方法可以检测恶意软件是否在虚拟化或沙盒环境中运行。如果检测到虚拟机或沙箱,恶意软件就会改变其行为,避免任何恶意行为。一旦在真实系统上执行,在被标记为良性后,恶意软件就会开始其恶意活动。

4、反调试技术被用来来避免调试和运行时分析

如果在运行过程中,恶意软件检测到调试工具正在运行,它就会改变执行路径,执行良性操作。一旦恶意软件不受运行时检查,它就会开始其恶意行为。

5、加密和有针对性的漏洞利用

为了避免被发现,URL模式、主机服务器、加密密钥和漏洞名称在每次发送时都会改变。这些漏洞利用程序还可以通过限制从同一IP地址访问漏洞利用程序的次数来躲避蜜罐。最后,某些类型的攻击只有在真正的用户交互(如网页滚动)之后才开始利用阶段。这样,攻击者就能确保在真实机器上执行,而不是进行自动动态分析。

二、用移动目标防御对抗欺骗

然而,攻击者使用的欺骗技术也可以被防御者利用来反向平衡。移动目标防御(MTD)就是这样一种防御技术。

(一)常见做法

在实践中,移动目标防御安全主要分为三类:

  1. 网络级MTD
  2. 主机级MTD
  3. 应用程序级MTD

1、网络级MTD包括多年来开发的几种机制。IP跳转会改变主机的IP地址,从而增加攻击者看到的网络复杂性。后来,这一想法被扩展为允许以透明方式保持主机IP变更。通过保留真实主机的IP地址,并将每台主机与一个虚拟随机IP地址关联起来,从而实现了透明性。有些技术的目的是在网络映射和侦察阶段欺骗攻击者。这些技术包括使用随机端口号、额外开放或关闭的端口、伪造监听主机和混淆端口跟踪。这包括防止操作系统识别的随机网络服务响应。

2、主机级MTD包括更改主机和操作系统级资源、命名和配置,以欺骗攻击者。

3、应用程序级MTD包括更改应用程序环境以欺骗攻击者。微软推出的地址空间布局随机化(ASLR)实现了MTD的基本水平。它包括随机安排进程地址空间的内存布局,使对手更难执行其shellcode。其他技术包括改变应用程序类型和版本,并在不同主机之间轮换使用。一些应用程序级MTD使用不同的设置和编程语言编译源代码,每次编译都会生成不同的代码。

下表概述了不同类别MTD中使用的常用技术:

(二)操作系统和应用程序才是真正的战场

移动目标防御模式打破了攻防双方之间的不对称。现在,攻击者也必须在不确定和不可预测的情况下行动。

虽然网络级MTD提供了一定的弹性,但随机化IP地址、网络拓扑结构和配置并不是有效的防御手段。攻击者的最终目的地是位于网络、防火墙和路由器后面的主机、服务器和终端。操作系统和应用程序是0日漏洞、恶意软件和高级持续性威胁(APT)的有利可图的目标,是攻击者与防御者斗争的主要战场。

操作系统和应用程序层面的MTD大有可为;为了成功发起攻击,攻击者必须收集切实的情报,并对目标操作系统和应用程序做出假设。这些信息需要包括相关版本、配置、内存结构、资源名称等因素。如果攻击者将攻击步骤建立在错误元素(即使是一个内存地址)的基础上,攻击就会失败。

(三)打破游戏规则

Morphisec以攻击者无法追踪的方式对应用程序和操作系统进行环境修改,从而将移动目标防御提升到一个新的水平。因此,对攻击者而言,每次函数调用、地址跳转或资源访问都有可能失败,同时攻击、其发起者和来源也会完全暴露。在这种情况下,攻击的成本会急剧上升,而成功的概率则会下降到接近于零。这些因素加在一起,使得攻击在实际和经济上都不那么可行。

移动目标防御与基于检测的保护模式截然不同,后者必须首先检测或预测恶意活动,才能阻止其发生。人工智能和机器学习确实能更好、更快地进行检测,但也受到限制,因为要检测到威胁,需要对威胁有一定程度的了解,且高级闪避攻击仍具有不可预测性。而移动目标防御迫使攻击者在不确定的战场上作战,从而彻底改变了冲突规则。

文章来源:https://blog.csdn.net/HongkeTraining/article/details/135407435
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。