基於OpenAFS文件系統的反射攻擊深度分析


01.概述


百度智雲盾團隊在2022年3月首次捕獲到利用OpenAFS服務的反射放大攻擊。據現有資料表明,這種反射攻擊方式尚屬全網首次出現,智雲盾系統在2秒內識別攻擊,實時對流量做了隔離和清洗,保障用戶免遭DDoS的傷害。


經過深入分析,我們確認了本次攻擊是黑客利用了基於OpenAFS系統的客戶端服務發起的DDoS反射攻擊,OpenAFS是一套成熟的分佈式文件系統,客戶端在UDP7001端口提供服務,由於OpenAFS 多個版本存在安全漏洞,導致開啓該服務的主機容易被黑客利用作爲反射源進行DDoS反射攻擊。


02.反射原理


攻擊者採用反射方式實施DDoS攻擊時,不是直接攻擊受害者IP,而是僞造了大量受害者IP的請求發給相應的開放服務,通常這類開放服務不對源進行校驗而是立即完成響應,這樣更大更多的響應數據包發送到受害者IP,從而實現了流量的反射,這類開放服務就是反射源。


原理如下圖所示:


圖1 反射攻擊原理示意圖


圖1中攻擊者Attacker僞造了請求包PVA併發送到反射服務器A,但PVA的源IP是V,所以A響應的時候發送PAV給到V。


反射攻擊一方面隱藏了攻擊IP,同時還有一個重要特徵是放大,上述原理圖中的PAV往往是PVA的好幾倍,甚至是成千上萬倍。正是有了這樣的特徵,黑客組織樂此不疲的使用這一攻擊方式,並不斷的研究信息反射攻擊增強攻擊效果。


03.攻擊分析


智雲盾系統檢測到攻擊時,自動對攻擊流量進行採樣,安全專家對採樣包及時進行了深層次的分析和演練。本次攻擊事件共涉及反射源2594個。


a.攻擊包分析


通過分析智雲盾的攻擊採樣包發現,反射流量的端口來自於7001端口,下圖紅色箭頭指向的是反射源端口:



圖2 採樣包內攻擊來源端口圖

採樣包中udp攜帶的攻擊載荷如下圖所示:


圖3 攻擊載荷
數據包中的攻擊載荷固定包含OpenAFS,通過搜索分析,這是一款分佈式文件系統。攻擊載荷如下圖所示:

圖4 格式化後的攻擊載荷

b.攻擊模擬(OpenAFS版本號:1.6)


爲了進一步分析,我們在一臺純淨的Ubuntu16.04的機器上安裝了OpenAFS服務,不同版本的服務在我們的測試中,響應情況不同,此次安裝的版本號爲1.6。通過對攻擊載荷的分析,並借鑑官方文檔中查詢請求的消息格式,我們編寫軟件向這幾個端口發送攻擊載荷爲

\x00\x00\x03\xe7\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x05 \x00\x00\x00\x00\x00\x00\x00的udp數據包,並針對反射源IP進行抓包,最後發現7001端口有響應。復現攻擊如下圖所示:


圖5 反射源的響應(版本號:1.6)

我們在模擬攻擊請求的驗證中,發出一個載荷長度爲29字節,獲取到的響應包載荷爲93字節。

c.攻擊模擬(OpenAFS版本號:1.7和1.8)

OpenAFS從1.0到1.9共有10個大版本,我們對每個版本都進行了測試分析,最後發現,1.7和1.8兩個較新的版本也存在安全漏洞,但是與1.6版本不同的是,響應包內容不再包含服務器的主機信息。下面展示了我們的驗證過程:
版本1.7:
發送一個載荷長度爲29字節的請求,共獲取到5個載荷爲24字節的響應內容,下圖爲模擬過程:

圖6 模擬測試(版本號:1.7)

圖7 格式化後的響應內容(版本號:1.7)
版本1.8:
發送一個載荷長度爲29字節的請求,共獲取到5個載荷爲18字節的響應內容,下圖爲模擬過程:

圖8 模擬測試(版本號:1.8)

圖9 格式化後的響應內容(版本號:1.8)

d.放大倍數

按照我們前期對反射倍數的研究結果,科學的統計放大倍數,應當包括數據包協議頭和網絡幀間隙。詳細的方案可以參閱《MEMCACHED DRDoS攻擊趨勢》一文。

協議頭和網絡幀間隙計算爲:14(以太頭)+20(IP頭)+8(UDP頭)+4(FCS頭)+20(幀間隙)=66字節。所以三個版本反射倍數計算不同,
1.6版本的實際響應的數據包大小爲93+66=159字節,1.7版本的爲5x(66+24)=450字節,1.8版本的爲5x(60+24)=420字節。請求包大小均爲29+66 = 95字節。

最終我們計算得到的放大倍數爲

版本號
放大倍數
 1.6
159/95=1.67
 1.7
450/95=4.74
 1.8
420/95=4.42

04.反射源分析

a.全網數據

攻擊發生以後,我們聯合zoomeye對在UDP7001上存在漏洞的服務進行了全網掃描,對掃描的反射源進行了調查分析,全球共有超過26w的OpenAFS服務存在安全漏洞,主要來源於中國,佔比超過48%。下圖是IP的全球分佈情況:

圖10 OpenAFS服務全球分佈


05.防範建議


反射攻擊與傳統的flood攻擊相比,能更好的隱藏攻擊者,並且產生的流量更大,因而反射攻擊越來越受到黑客青睞。

建議參考以下方式提升防護能力。

1.對互聯網服務應避免被濫用,充當黑客攻擊的幫兇

    1. 禁用UDP服務,不能禁用時,應確保響應與請求不要有倍數關係

    2. 啓用的UDP服務應採取授權認證,對未授權請求不予響應

2.對企業用戶應做好防範,減少DDoS對自有網絡和業務的影響

    1. 如果沒有UDP相關業務,可以在上層交換機或者本機防火牆過濾UDP包

    2. 尋求運營商提供UDP黑洞的IP網段做對外網站服務

    3. 選擇接入DDoS雲防安全服務對抗大規模的DDoS攻擊


智雲盾團隊介紹

百度智雲盾是百度安全專注在互聯網基礎設施網絡安全攻防的團隊,提供T級雲防、定製端防和運營商聯防等DDoS/CC防禦解決方案。一直服務於搜索、貼吧、地圖、雲等百度業務,在保障百度全場景業務之餘也進行防禦能力外部輸出,爲互聯網客戶提供一體化的防禦服務。


本文分享自微信公衆號 - 百度開發者中心(baidudev)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章