作者:百度安全實驗室
原文鏈接:https://mp.weixin.qq.com/s/CIAdpOoxQ-ARwitVmTxX7Q
0x00概述
百度智云盾團隊在2022年3月首次捕獲到利用OpenAFS服務的反射放大攻擊。據現有資料表明,這種反射攻擊方式尚屬全網首次出現,智云盾系統在2秒內識別攻擊,實時對流量做了隔離和清洗,保障用戶免遭DDoS的傷害。
經過深入分析,我們確認了本次攻擊是黑客利用了基于OpenAFS系統的客戶端服務發起的DDoS反射攻擊,OpenAFS是一套成熟的分布式文件系統,客戶端在UDP7001端口提供服務,由于OpenAFS 多個版本存在安全漏洞,導致開啟該服務的主機容易被黑客利用作為反射源進行DDoS反射攻擊。
0x01反射原理
攻擊者采用反射方式實施DDoS攻擊時,不是直接攻擊受害者IP,而是偽造了大量受害者IP的請求發給相應的開放服務,通常這類開放服務不對源進行校驗而是立即完成響應,這樣更大更多的響應數據包發送到受害者IP,從而實現了流量的反射,這類開放服務就是反射源。
原理如下圖所示:
圖1中攻擊者Attacker偽造了請求包PVA并發送到反射服務器A,但PVA的源IP是V,所以A響應的時候發送PAV給到V。
反射攻擊一方面隱藏了攻擊IP,同時還有一個重要特征是放大,上述原理圖中的PAV往往是PVA的好幾倍,甚至是成千上萬倍。正是有了這樣的特征,黑客組織樂此不疲的使用這一攻擊方式,并不斷的研究信息反射攻擊增強攻擊效果。
0x02攻擊分析
智云盾系統檢測到攻擊時,自動對攻擊流量進行采樣,安全專家對采樣包及時進行了深層次的分析和演練。本次攻擊事件共涉及反射源2594個。
- 攻擊包分析
通過分析智云盾的攻擊采樣包發現,反射流量的端口來自于7001端口,下圖紅色箭頭指向的是反射源端口:
采樣包中udp攜帶的攻擊載荷如下圖所示:
數據包中的攻擊載荷固定包含OpenAFS,通過搜索分析,這是一款分布式文件系統。攻擊載荷如下圖所示:
2.攻擊模擬(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端口有響應。復現攻擊如下圖所示:
我們在模擬攻擊請求的驗證中,發出一個載荷長度為29字節,獲取到的響應包載荷為93字節。
3.攻擊模擬(OpenAFS版本號:1.7和1.8)
OpenAFS從1.0到1.9共有10個大版本,我們對每個版本都進行了測試分析,最后發現,1.7和1.8兩個較新的版本也存在安全漏洞,但是與1.6版本不同的是,響應包內容不再包含服務器的主機信息。下面展示了我們的驗證過程:
版本1.7:
發送一個載荷長度為29字節的請求,共獲取到5個載荷為24字節的響應內容,下圖為模擬過程:

版本1.8:
發送一個載荷長度為29字節的請求,共獲取到5個載荷為18字節的響應內容,下圖為模擬過程:

4.放大倍數
按照我們前期對反射倍數的研究結果,科學的統計放大倍數,應當包括數據包協議頭和網絡幀間隙。詳細的方案可以參閱《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 |
0x03反射源分析
1.全網數據
攻擊發生以后,我們聯合 ZoomEye 對在UDP7001上存在漏洞的服務進行了全網掃描,對掃描的反射源進行了調查分析,全球共有超過26w的OpenAFS服務存在安全漏洞,主要來源于中國,占比超過48%。下圖是IP的全球分布情況:
0x04防范建議
反射攻擊與傳統的flood攻擊相比,能更好的隱藏攻擊者,并且產生的流量更大,因而反射攻擊越來越受到黑客青睞。
建議參考以下方式提升防護能力。
1.對互聯網服務應避免被濫用,充當黑客攻擊的幫兇
- 禁用UDP服務,不能禁用時,應確保響應與請求不要有倍數關系
- 啟用的UDP服務應采取授權認證,對未授權請求不予響應
2.對企業用戶應做好防范,減少DDoS對自有網絡和業務的影響
- 如果沒有UDP相關業務,可以在上層交換機或者本機防火墻過濾UDP包
- 尋求運營商提供UDP黑洞的IP網段做對外網站服務
- 選擇接入DDoS云防安全服務對抗大規模的DDoS攻擊
智云盾團隊介紹
百度智云盾是百度安全專注在互聯網基礎設施網絡安全攻防的團隊,提供T級云防、定制端防和運營商聯防等DDoS/CC防御解決方案。一直服務于搜索、貼吧、地圖、云等百度業務,在保障百度全場景業務之余也進行防御能力外部輸出,為互聯網客戶提供一體化的防御服務。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.jmbmsq.com/1861/
暫無評論