(图片来源网络,侵删)
文章速览:1、高级规避攻击2、用移动目标防御对抗欺骗常见做法操作系统和应用程序才是真正的战场打破游戏规则网络攻击的技术变得愈发难测,网络攻击者用多态性、混淆、加密和自我修改乔装他们的恶意软件,以此逃避防御性的检测,于是移动目标防御(MTD)技术出现了,通过动态地改变攻击面,有效地对抗日益复杂和隐蔽的网络攻击一、高级规避攻击高级规避攻击可以反复修改网络攻击,包括其源、静态签名和行为签名,它们隐藏了防御系统的恶意意图这些欺骗手段使传统的防御机制力不从心,攻击者明确地知道他们要攻击谁,何时何地,使用什么武器,而防御者却始终处于不确定状态我们来看一些常见类型的高级规避攻击技术 技术欺骗手段多态性(Polymorphism)更改恶意软件签名变形恶意软件(Metamorphism / self-modification)更改 FLY 上的恶意代码混淆(Obfuscation)隐藏恶意活动自加密(Self-encryption)更改恶意软件签名,隐藏恶意代码和数据反虚拟机/沙箱(Anti-VM/sandboxes)通过改变取证环境中的行为逃避自动取证分析反调试(Anti-Debugging)通过改变取证环境中的行为,逃避自动/人工调查 技术欺骗手段加密漏洞利用(Encrypted exploits)通过更改参数和签名逃避自动/人工调查行为变化(Behavior changes)等待真正的用户活动后再执行1、多态性通常被攻击者用来躲避反病毒软件的检测通过加密恶意软件的有效载荷(包括代码和数据),攻击者可以获得两大优势:首先,攻击者可以通过使用多个加密密钥轻松生成同一恶意软件的不同实例这使得基于签名的反恶意软件设施失去作用,因为新的实例具有新的、未知的静态签名其次,恶意软件可以绕过更深入的静态分析,因为其代码和数据是加密的,因此不会暴露在扫描仪面前利用变形技术,恶意软件的作者在每次执行时都会改变内存代码,从而使检测变得更加复杂2、多态性和变态性的目的是躲避自动扫描和内存扫描利用混淆技术,恶意软件的编写者可以编写出人类分析人员难以理解的代码具体做法是在有效载荷中加入模糊字符串、虚假代码和复杂的函数调用图,这些代码可以在恶意软件的每个实例中随机生成3、反虚拟机和反沙箱机制是另一种先进的攻击方法沙箱和虚拟机是恶意软件分析人员必不可少的工具这些方法可以检测恶意软件是否在虚拟化或沙盒环境中运行如果检测到虚拟机或沙箱,恶意软件就会改变其行为,避免任何恶意行为一旦在真实系统上执行,在被标记为良性后,恶意软件就会开始其恶意活动4、反调试技术被用来来避免调试和运行时分析如果在运行过程中,恶意软件检测到调试工具正在运行,它就会改变执行路径,执行良性操作一旦恶意软件不受运行时检查,它就会开始其恶意行为5、加密和有针对性的漏洞利用为了避免被发现,URL模式、主机服务器、加密密钥和漏洞名称在每次发送时都会改变这些漏洞利用程序还可以通过限制从同一IP地址访问漏洞利用程序的次数来躲避蜜罐最后,某些类型的攻击只有在真正的用户交互(如网页滚动)之后才开始利用阶段这样,攻击者就能确保在真实机器上执行,而不是进行自动动态分析二、用移动目标防御对抗欺骗然而,攻击者使用的欺骗技术也可以被防御者利用来反向平衡移动目标防御(MTD)就是这样一种防御技术(一)常见做法在实践中,移动目标防御安全主要分为三类:网络级MTD主机级MTD应用程序级MTD1、网络级MTD包括多年来开发的几种机制IP跳转会改变主机的IP地址,从而增加攻击者看到的网络复杂性后来,这一想法被扩展为允许以透明方式保持主机IP变更通过保留真实主机的IP地址,并将每台主机与一个虚拟随机IP地址关联起来,从而实现了透明性有些技术的目的是在网络映射和侦察阶段欺骗攻击者这些技术包括使用随机端口号、额外开放或关闭的端口、伪造监听主机和混淆端口跟踪这包括防止操作系统识别的随机网络服务响应2、主机级MTD包括更改主机和操作系统级资源、命名和配置,以欺骗攻击者3、应用程序级MTD包括更改应用程序环境以欺骗攻击者微软推出的地址空间布局随机化(ASLR)实现了MTD的基本水平它包括随机安排进程地址空间的内存布局,使对手更难执行其shellcode其他技术包括改变应用程序类型和版本,并在不同主机之间轮换使用一些应用程序级MTD使用不同的设置和编程语言编译源代码,每次编译都会生成不同的代码下表概述了不同类别MTD中使用的常用技术: 信息系统部分攻击手段网络(Network)路由更改;随机地址、名称和端口防火墙/IDS(Firewall/IDS)策略变化主机(Host)更改主机地址,更换主机镜像操作系统(OS)更改版本和发布;更改主机ID;更改内存地址、结构和资源名称应用程序/应用程序代码(Application/Application code)随机化存储片段的地址、 过滤导致故障的输入数据,在不同主机之间轮换应用程序;多语言代码生成;不同代码生成(二)操作系统和应用程序才是真正的战场移动目标防御模式打破了攻防双方之间的不对称现在,攻击者也必须在不确定和不可预测的情况下行动虽然网络级MTD提供了一定的弹性,但随机化IP地址、网络拓扑结构和配置并不是有效的防御手段攻击者的最终目的地是位于网络、防火墙和路由器后面的主机、服务器和终端操作系统和应用程序是0日漏洞、恶意软件和高级持续性威胁(APT)的有利可图的目标,是攻击者与防御者斗争的主要战场操作系统和应用程序层面的MTD大有可为;为了成功发起攻击,攻击者必须收集切实的情报,并对目标操作系统和应用程序做出假设这些信息需要包括相关版本、配置、内存结构、资源名称等因素如果攻击者将攻击步骤建立在错误元素(即使是一个内存地址)的基础上,攻击就会失败(三)打破游戏规则Morphisec以攻击者无法追踪的方式对应用程序和操作系统进行环境修改,从而将移动目标防御提升到一个新的水平因此,对攻击者而言,每次函数调用、地址跳转或资源访问都有可能失败,同时攻击、其发起者和来源也会完全暴露在这种情况下,攻击的成本会急剧上升,而成功的概率则会下降到接近于零这些因素加在一起,使得攻击在实际和经济上都不那么可行移动目标防御与基于检测的保护模式截然不同,后者必须首先检测或预测恶意活动,才能阻止其发生人工智能和机器学习确实能更好、更快地进行检测,但也受到限制,因为要检测到威胁,需要对威胁有一定程度的了解,且高级闪避攻击仍具有不可预测性而移动目标防御迫使攻击者在不确定的战场上作战,从而彻底改变了冲突规则
0 评论