打上補(bǔ)丁,實(shí)施應(yīng)用緩解措施,別再讓黑帽子用奇奇怪怪的 SACK 玩弄你的設(shè)備了。
聯(lián)網(wǎng) Linux 服務(wù)器、PC、智能手機(jī)、平板電腦和各種小設(shè)備都有可能被惡意構(gòu)造的網(wǎng)絡(luò)包搞崩潰,要不就是網(wǎng)速受到嚴(yán)重影響。同樣的攻擊甚至 FreeBSD 都有可能淪陷。
當(dāng)今世界大量東西都是建立在 Linux 基礎(chǔ)上的,從網(wǎng)絡(luò)電視、路由器、恒溫器、電燈開關(guān)、閉路電視攝像頭和掃地機(jī)器人,到服務(wù)器、PC、安卓及 ChromeOS 設(shè)備、智能冰箱、透析機(jī)、車載資訊娛樂系統(tǒng)、牽引器、施工設(shè)備和鈾濃縮機(jī)等等,只要有漏洞,全都可能被黑客搞宕機(jī)。
換句話說,陌生人可以通過網(wǎng)絡(luò)向你的設(shè)備 ping 些數(shù)據(jù),如果你防護(hù)不周,那就有可能宕機(jī)或斷網(wǎng)。既不高端,也不可怕;但如果腳本小子發(fā)起一波又一波的漏洞利用,對沒網(wǎng)絡(luò)不成活的網(wǎng)民來說就是極大的困擾了。
補(bǔ)丁和緩解措施都是現(xiàn)成的,如果需要的話可以手動(dòng)應(yīng)用,也可以等供應(yīng)商推送安全補(bǔ)丁到風(fēng)險(xiǎn)設(shè)備上?;蛘卟扇∽兺ǚ桨福喊?“/proc/sys/net/ipv4/tcp_sack” 設(shè)置成 “0”。
都是SACK惹的禍
ping 攻擊的核心是別稱 SACK Panic 的 CVE-2019-11477 編程漏洞:可遠(yuǎn)程搞崩 Linux 內(nèi)核 2.6.29 及更高版本系統(tǒng)的漏洞,2.6.29 版內(nèi)核已發(fā)布 10 年之久。
還有其他 3 個(gè)相關(guān)漏洞:
1. CVE-2019-11478,別稱 SACK Slowness,影響 4.15 前的 Linux 內(nèi)核版本,所有版本均受一定程度的影響;
2. CVE-2019-5599,也稱 SACK Slowness,使用 RACK TCP 堆棧影響 FreeBSD;
3. CVE-2019-11479,低 MSS 值觸發(fā)的過多資源消耗,影響所有 Linux 內(nèi)核版本。
這些漏洞是 Netflix 信息安全人員喬納森·魯尼 (Jonathan Looney) 發(fā)現(xiàn)并報(bào)告的。6月18日發(fā)布于 GitHub 上的安全漏洞咨詢對此有所描述。
幾個(gè)漏洞基本上都利用了 Linux 默認(rèn)開啟的 TCP SACK 功能。SACK (選擇性確認(rèn):Selective ACKnowledgement)功能旨在加速計(jì)算機(jī)間的數(shù)據(jù)傳輸,可以讓數(shù)據(jù)接收方更準(zhǔn)確地告訴發(fā)送方自己收到了多少數(shù)據(jù),還需要重發(fā)哪些數(shù)據(jù)。理想狀態(tài)下,該功能應(yīng)能減少需要重發(fā)的數(shù)據(jù),收發(fā)雙方都能更快速地傳輸文件和其他信息。有些管理員會(huì)因?yàn)楦鞣N各樣的原因禁用該功能,其中一個(gè)原因就是有些操作系統(tǒng)對此功能的實(shí)現(xiàn)實(shí)在不怎么好。
利用 CVE-2019-11477 漏洞,一連串 TCP SACK 響應(yīng)可致 Linux 內(nèi)核意外達(dá)到內(nèi)部數(shù)據(jù)結(jié)構(gòu)上限,觸發(fā)致命混亂。Red Hat 在6月18日發(fā)布的技術(shù)摘要中稱,其他幾個(gè)影響 Linux 的漏洞則會(huì)迫使系統(tǒng)消耗大量資源,拖慢運(yùn)行速度。
另外,CVE-2019-5599 是 FreeBSD 在 SACK 響應(yīng)處理方式上的漏洞:可破壞跟蹤 SACK 的內(nèi)部數(shù)據(jù)結(jié)構(gòu),致使內(nèi)核遍歷過長鏈表,拖慢系統(tǒng)運(yùn)行速度。
截至目前,Red Hat、AWS、SUSE 和 Grsecurity 均發(fā)布了漏洞咨詢或不日推出漏洞補(bǔ)丁的聲明,其他供應(yīng)商應(yīng)該也會(huì)很快跟進(jìn)。
不管怎樣,禁用 SACK 是目前比較明智的權(quán)變措施,但要注意禁用之后網(wǎng)絡(luò)吞吐率可能會(huì)受影響。