百度智雲盾團隊在2021年1月首次捕獲到利用Plex(媒體播放平臺)的網絡服務發起的DDoS反射攻擊。據現有資料表明,這種反射攻擊方式尚屬全網首次出現,智雲盾系統在2秒內識別攻擊,實時對流量做了隔離和清洗,保障用戶免遭DDoS的傷害。
本次攻擊事件中黑客利用了基於Plex服務發起的DDoS反射攻擊,Plex是一套媒體播放平臺,基於UDP協議提供服務,由於UDP協議的不可靠性質,導致開啓該服務的主機容易被黑客利用作爲反射源進行DDoS反射攻擊。
攻擊者採用反射方式實施DDoS攻擊時,不是直接攻擊受害者IP,而是僞造了大量受害者IP的請求發給相應的開放服務,通常這類開放服務不對源進行校驗而是立即完成響應,這樣更大更多的響應數據包發送到受害者IP,從而實現了流量的反射,這類開放服務就是反射源。
圖1中攻擊者P僞造了請求包BA併發送到PA,但BA的源IP是PV,所以PA響應的時候發送BV給到PV。
反射攻擊一方面隱藏了攻擊IP,同時還有一個重要特徵是放大,上述原理圖中的BV往往是BA的好幾倍,甚至是成千上萬倍。
正是有了這樣的
特性,黑客組織樂此不疲的使用這一攻擊方式,並不斷的研究新型反射攻擊增強攻擊效果。
智雲盾系統檢測到攻擊時,自動對攻擊流量進行採樣,安全專家對採樣包及時進行了深層次的分析和演練。本次攻擊事件共涉及反射源2451個。
通過分析智雲盾的攻擊採樣包發現,反射流量的端口來自於32414端口,下圖紅色箭頭指向的是反射源端口:
數據包中的攻擊載荷固定包含
plex/media-server,通過搜索分析,這是一套媒體播放平臺的服務器軟件。
攻擊載荷如下圖所示:
爲了進一步分析,我們在一臺純淨的ubuntu16.04上安裝了Plex服務,安裝完成後查看服務綁定的端口號,如下圖所示:
可以看到Plex服務監聽32410、32412、32413和32414四個udp端口,通過對攻擊載荷的分析,並借鑑設備查詢請求的消息格式,我們編寫軟件向這幾個端口發送攻擊載荷爲M-SEARCH * HTTP/1.1的udp數據包,並針對反射源IP進行抓包,最後發現32410與32414均有響應。復現攻擊如下圖所示:
我們在模擬攻擊請求的驗證中,發出一個載荷長度爲20字節,獲取到的響應包載荷爲258字節。
協議頭和網絡幀間隙計算爲:14(以太頭)+20(IP頭)+8(UDP頭)+4(FCS頭)+20(幀間隙)=66字節,所以計算實際響應的數據包大小爲258+66=324字節,請求包大小爲20+66=86字節。
最終
我們計算得到的放大倍數爲324/86=3.77倍。
對比udpflood可以僞造大數據包攻擊,3.77倍的放大攻擊實際能達到的效果並不理想,攻擊者之所以熱衷於此類探索,一方面是反射攻擊是個『技術活』,另一方面他們還有一個倍數『更大』的計算方法,業內也比較流行,就是隻計算請求響應的載荷比。這裏的Plex反射則可以達到258/20=12.9倍,放大倍數一下就超過了10倍。
Plex是一套全面的影音媒體播放平臺,包括一整套媒體播放器及服務器軟件,個人用戶可以利用這個平臺整理電腦、NAS、XBOX等設備上的電影、音樂、電視和圖片文件,並可以方便的在朋友間分享。Plex服務向個人用戶免費開放,支持大多數平臺,隨着家庭影音的普及,相信未來部署Plex服務系統或設備會越來越多。
我們在shodan、zoomeye等全網掃描數據庫中查詢32410、32414等端口獲取到的IP數據非常少,說明當前Plex服務受關注度還比較低。
受限於其他原因,我們沒有對Plex服務進行全網掃描。
對參與此次攻擊的反射源進行了調查分析,其中被利用的反射源主要來源於海外。下圖是IP分佈情況:
通過分析攻擊包載荷中的name字段(主機標識)可以發現,主機標識大多數不重複,且未使用默認的主機標識,多數爲個人用戶配置使用。下圖展示了此次攻擊的反射源主機信息:
反射攻擊與傳統的flood攻擊相比,能更好的隱藏攻擊者,並且產生的流量更大,因而反射攻擊
越來
越受到黑客青睞。
建議參考以下方式提升防護能力。
禁用UDP服務,不能禁用時,應確保響應與請求不要有倍數關係
啓用的UDP服務應採取授權認證,對未授權請求不予響應
如果沒有UDP相關業務,可以在上層交換機或者本機防火牆過濾UDP包
尋求運營商提供UDP黑洞的IP網段做對外網站服務
選擇接入DDoS雲防安全服務對抗大規模的DDoS攻擊
本文分享自微信公衆號 - 百度安全實驗室(BaiduX_lab)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。