近日,Red Hat官方发布了一份安全公告称, Linux以及FreeBSD等系统内核中存在远程DoS漏洞,它们均与Linux的TCP SACK模块有关,其中一个被命名为SACK Panic的漏洞尤为严重:攻击者可利用该漏洞攻击服务器,导致服务器崩溃或无法提供服务。
1、漏洞分析
见附录。
2、漏洞影响范围
影响Linux内核2.6.29及以上版本(4.4.182、4.9.182、4.14.127、4.19.52、5.1.11版本已修复)。
3、华为云提供一键检测和修复
漏洞爆发后,华为云立即分析和研究漏洞,并于6月19日发布了漏洞预警公告。同时,华为云企业主机安全服务提供了一键检测和修复建议。操作如下:
(1)一键检测:登录华为云安全控制台,选择“企业主机安全”“防护列表”,点击“手动检测”,选择要检测的云服务器,如下图所示:
(2)查看漏洞信息和修复建议:登录华为云安全控制台,选择“企业主机安全”“漏洞管理”,可以查看漏洞信息和修复建议,如下图所示:
注:CESA-2019:1481是修复三个漏洞的补丁包
除漏洞管理之外,华为云企业主机安全还提供资产管理、入侵检测、基线检查、网页防篡改等功能,提升云上云下主机整体安全性,也是等保测评必备安全服务之一。
附 漏洞分析
SACK(Selective ACK)是TCP的选项,用来改善TCP因丢包而引起的网络传输效率低的问题。通过SACK机制,接收方可以记录并告诉发送方丢失、重传和已经收到的报文段有哪些,根据这些信息,发送方可以只重传真正丢失、需要重发的报文段。
SACK Panic漏洞则存在于TCP的处理子系统,该处理子系统的tcp_gso_segs用于记录数据包个数,最多记录65535个。
数据包发送前,会被放置到发送队列中,数据包的详细信息会保存在控制缓冲区结构体中:
SACK机制允许TCP在重传中合并多个SKB(套接字缓冲区)队列,最多可以填充17个片段到最大容量,从而引起tcp_gso_segs整数溢出,触发BUG_ON()调用,导致内核崩溃。
攻击者可以通过在TCP连接上使用较小值的TCP MSS(最大分段大小)发送一系列特定的SACK包来触发该内核模块的整数溢出漏洞,进而实行远程拒绝服务攻击。
欲了解更多详情,请登陆华为云官网,首页搜索“企业主机安全 HSS”。