Evasion Attack(逃逸攻击)
一、定义
Evasion Attack(逃逸攻击)是一种网络安全和机器学习领域的攻击方式。在安全检测系统(如入侵检测系统、恶意软件检测系统、垃圾邮件过滤器等)的情境下,攻击者试图通过巧妙地修改攻击样本(如恶意软件、恶意网络流量、垃圾邮件等)的特征,使其能够逃避这些安全检测系统的识别,从而成功地渗透进目标系统或者达到恶意目的。
二、攻击原理
(一)特征修改
- 代码混淆
- 在恶意软件攻击中,攻击者会使用代码混淆技术。这包括对恶意软件的代码结构进行变换,例如改变变量名、函数名,添加冗余代码、加密部分代码段等。通过这些操作,恶意软件的代码特征与已知的恶意软件特征模式产生差异,从而降低被基于特征匹配的安全检测工具发现的概率。例如,一个简单的病毒程序,原本其关键函数名称很容易被识别,经过代码混淆后,函数名被替换为随机生成的字符串,使安全检测系统难以通过函数名来判断其恶意性质。
- 流量伪装
- 在网络攻击场景下,对于恶意网络流量,攻击者可以通过伪装流量的协议、端口号或者在正常流量中嵌入恶意流量来进行逃逸攻击。例如,将恶意命令和控制(C&C)流量伪装成普通的HTTP流量,利用常见的HTTP端口(如80或443)进行传输。安全检测系统通常会对流量的模式进行分析,攻击者通过改变流量模式,如调整数据包的发送时间间隔、改变数据包大小等,使其类似于正常的用户网络行为,以此逃避检测。
(二)利用检测系统的漏洞或盲区
- 对抗样本生成(与机器学习检测系统相关)
- 当安全检测系统基于机器学习模型(如深度学习分类器)时,攻击者可以利用对抗样本生成技术。类似于对抗攻击,通过在恶意样本中添加微小的、精心设计的扰动,使机器学习模型产生错误的分类。例如,在恶意软件分类系统中,攻击者通过生成对抗样本,让原本被正确识别为恶意软件的样本被分类为良性软件,从而逃避检测。
- 时间窗口利用
- 一些安全检测系统在检测恶意活动时存在时间窗口的限制。攻击者可以利用这个特点,在检测系统的时间间隔内快速完成攻击行为。例如,某些入侵检测系统每隔一段时间才会对系统日志进行检查,攻击者在这个检查间隔内发动攻击,并且在检查之前清除攻击留下的痕迹,从而实现逃逸。
三、攻击类型
(一)基于应用层的逃逸攻击
- 恶意软件逃逸
- 攻击者的目的是让恶意软件(如病毒、木马、勒索软件等)逃避反病毒软件或主机安全防护系统的检测。除了前面提到的代码混淆外,还可以利用软件打包工具将恶意软件包装成看似正常的软件安装包。例如,将恶意软件嵌入到一个看似是普通办公软件的安装程序中,当用户安装这个程序时,恶意软件也随之进入系统。
- 垃圾邮件逃逸
- 在邮件安全领域,垃圾邮件发送者会尝试各种方法来逃避垃圾邮件过滤器的检测。他们可能会修改邮件内容的格式、用词,或者在邮件头中伪造信息。例如,通过改变垃圾邮件中的敏感词汇,用同义词或者错别字来代替,或者在邮件头中伪造发件人地址、添加合法的邮件转发路径等方式,使邮件看起来像是正常的通信邮件,从而绕过垃圾邮件过滤器的关键词过滤和发件人信誉检查等检测机制。
(二)基于网络层的逃逸攻击
- 网络入侵逃逸
- 攻击者在进行网络入侵(如端口扫描、漏洞利用等活动)时,会采取措施逃避网络入侵检测系统(IDS)或入侵防御系统(IPS)的监测。一种常见的方法是通过IP地址欺骗,攻击者伪造源IP地址,使检测系统无法准确追踪攻击来源。另外,攻击者还可以利用网络协议的漏洞或者通过分段发送数据包来隐藏攻击意图。例如,在进行分布式拒绝服务(DDoS)攻击时,攻击者通过控制大量僵尸主机,采用分布式的方式发送攻击流量,并且将流量进行分段、伪装,使检测系统难以识别这些流量是恶意的DDoS攻击流量。
四、影响
(一)安全威胁提升
- 系统安全性受损
- 逃逸攻击的成功会导致目标系统(如企业网络、个人电脑、服务器等)暴露在各种恶意威胁之下。恶意软件可以窃取敏感信息(如用户密码、企业商业机密等)、破坏系统数据或者控制目标系统进行进一步的攻击活动。例如,一旦勒索软件成功通过逃逸攻击进入企业的文件服务器,它可能会加密服务器上的重要文件,导致企业业务中断,面临巨大的经济损失。
- 隐私泄露风险增加
- 对于涉及用户隐私的系统,如移动应用、云存储服务等,逃逸攻击可能会导致用户的个人隐私信息被泄露。垃圾邮件逃逸攻击可能会使用户收到包含恶意链接的邮件,一旦用户点击链接,其个人信息(如账号密码、信用卡信息等)就可能被窃取。
(二)对安全防御机制的挑战
- 检测系统的有效性降低
- 逃逸攻击使得传统的安全检测系统的有效性大打折扣。安全产品厂商需要不断更新检测规则和算法来应对新出现的逃逸攻击方式。例如,反病毒软件需要频繁更新病毒特征库来识别经过混淆的新型恶意软件,这增加了安全维护的成本和难度。
- 信任体系的破坏
- 频繁的逃逸攻击可能会破坏用户对安全防御机制的信任。如果用户发现安全检测系统经常无法有效检测到恶意活动,他们可能会对这些系统的可靠性产生怀疑,从而影响整个安全生态系统的可信度。
五、防御策略
(一)多层防御机制
- 网络层与应用层相结合的防御
- 在网络层面,部署防火墙、入侵检测/防御系统等设备,对网络流量进行深度包检测(DPI)。通过分析网络数据包的内容、协议和行为模式,识别并阻止可疑的网络活动。在应用层面,对软件和系统进行安全加固,如安装主机安全防护软件、定期更新软件补丁等。例如,企业网络可以在边界防火墙处设置规则,禁止可疑的IP地址和端口访问,同时在内部主机上安装反病毒软件和终端安全管理系统,从多个层次防范逃逸攻击。
- 行为分析与特征检测相结合
- 除了基于特征的检测方法(如识别恶意软件的特征码、垃圾邮件的关键词等),引入行为分析技术。通过观察系统或用户的行为模式,判断是否存在异常行为。例如,对于一个用户账号,如果突然出现大量异常的登录地点或者频繁尝试访问未授权的资源,即使没有发现明显的恶意软件或攻击特征,也可以判定为可能受到攻击,从而采取相应的安全措施。
(二)动态安全检测与更新
- 实时监控与自适应检测
- 建立实时监控系统,对系统的运行状态、网络流量和应用行为进行持续监测。安全检测系统应该能够根据实时数据动态调整检测策略和规则。例如,当发现一种新型的逃逸攻击方式导致检测系统误判时,系统能够自动学习这种攻击的新特征,并及时更新检测规则,提高对后续类似攻击的识别能力。
- 安全更新与威胁情报共享
- 安全产品厂商和企业安全团队需要及时更新安全软件(如病毒特征库、安全策略等)。同时,加强行业内的威胁情报共享,当一个组织发现新的逃逸攻击手段时,及时将相关信息共享给其他组织和安全厂商,以便整个行业能够共同应对新的安全威胁。