悲剧的 SACK:各种装置都能被Ping of Death网络包搞崩溃
打上补丁,实施应用缓解措施,别再让黑帽子用奇奇怪怪的 SACK 玩弄你的装置了。
联网 Linux 服务器、PC、智能手机、平板电脑和各种小装置都有可能被恶意构造的网络包搞崩溃,要不就是网速受到严重影响。同样的攻击甚至 FreeBSD 都有可能沦陷。
当今世界大量东西都是建立在 Linux 基础上的,从网络电视、路由器、恒温器、电灯开关、闭路电视摄像头和扫地机器人,到服务器、PC、安卓及 ChromeOS 装置、智慧冰箱、透析机、车载资讯娱乐系统、牵引器、施工装置和铀浓缩机等等,只要有漏洞,全都可能被黑客搞宕机。
换句话说,陌生人可以通过网络向你的装置 ping 些资料,如果你防护不周,那就有可能宕机或断网。既不高阶,也不可怕;但如果指令码小子发起一波又一波的漏洞利用,对没网络不成活的网民来说就是极大的困扰了。
补丁和缓解措施都是现成的,如果需要的话可以手动应用,也可以等供应商推送安全补丁到风险装置上。或者采取变通方案:把 “/proc/sys/net/ipv4/tcp_sack” 设定成 “0”。
ping 攻击的核心是别称 SACK Panic 的 CVE-2019-11477 程式设计漏洞:可远端搞崩 Linux 核心 2.6.29 及更高版本系统的漏洞,2.6.29 版核心已释出 10 年之久。
还有其他 3 个相关漏洞:
1. CVE-2019-11478,别称 SACK Slowness,影响 4.15 前的 Linux 核心版本,所有版本均受一定程度的影响;
2. CVE-2019-5599,也称 SACK Slowness,使用 RACK TCP 堆叠影响 FreeBSD;
3. CVE-2019-11479,低 MSS 值触发的过多资源消耗,影响所有 Linux 核心版本。
这些漏洞是 Netflix 资讯保安人员乔纳森·鲁尼 (Jonathan Looney) 发现并报告的。6月18日释出于 GitHub 上的安全漏洞咨询对此有所描述。
几个漏洞基本上都利用了 Linux 预设开启的 TCP SACK 功能。SACK (选择性确认:Selective ACKnowledgement)功能旨在加速计算机间的资料传输,可以让资料接收方更准确地告诉传送方自己收到了多少资料,还需要重发哪些资料。理想状态下,该功能应能减少需要重发的资料,收发双方都能更快速地传输档案和其他资讯。有些管理员会因为各种各样的原因禁用该功能,其中一个原因就是有些操作系统对此功能的实现实在不怎么好。
利用 CVE-2019-11477 漏洞,一连串 TCP SACK 响应可致 Linux 核心意外达到内部资料结构上限,触发致命混乱。Red Hat 在6月18日释出的技术摘要中称,其他几个影响 Linux 的漏洞则会迫使系统消耗大量资源,拖慢执行速度。
另外,CVE-2019-5599 是 FreeBSD 在 SACK 响应处理方式上的漏洞:可破坏跟踪 SACK 的内部资料结构,致使核心遍历过长连结串列,拖慢系统执行速度。
截至目前,Red Hat、AWS、SUSE 和 Grsecurity 均释出了漏洞咨询或不日推出漏洞补丁的宣告,其他供应商应该也会很快跟进。
不管怎样,禁用 SACK 是目前比较明智的权变措施,但要注意禁用之后网络吞吐率可能会受影响。
Netflix 安全漏洞咨询: