利用 SSDP 協議生成 100 Gbps DDoS 流量的真相探秘
上個月我們分享過一些反射型DDoS攻擊數據,SSDP攻擊的平均大小是12 Gbps,我們記錄的最大的反射式DDoS攻擊是:
1. 30 Mpps(每秒數百萬個數據包)
2. 80 Gbps(每秒數十億位)
3. 使用940k反射器的IP
幾天前,我們注意到了一個不尋常的SSDP超級放大情況的發生,因為SSDP的放大因素可能會導致網路設備成為DDoS攻擊的目標。所以這是值得深入調查的,因為這導致了利用 SSDP 協議生成 100 Gbps DDoS 流量的臨界值。
攻擊期間每秒數據包的數據如下圖所示:
帶寬使用情況如下所示:
這個基於IP數據包的洪水攻擊持續了38分鐘,根據我們採樣的netflow數據,它使用了930k反射器伺服器。我們估計,在38分鐘內,每個反射器往Cloudflare發送了112k包。
反射器伺服器遍布全球,在阿根廷、俄羅斯和中國都有大量業務。以下是每個國家或地區的IP分布圖:
可以看出,ASN上的反射器IP分布非常典型的,它幾乎完全遵循了世界上最大的住宅ISP(residential ISP)規律:
什麼是SSDP攻擊?
智能設備普遍採用UPnP(即插即用)協議作為網路通訊協議, 而UPnP設備的發現是通過源埠為1900的SSDP(簡單服務發現協議)進行相互感知。
利用SSDP協議進行反射攻擊的原理與利用DNS服務、NTP服務類似,都是偽造成被攻擊者的IP地址向互聯網上大量的智能設備發起SSDP請求,接收到請求的智能設備根據源IP地址將響應數據包返回給受害者
當新設備(如筆記本電腦)加入網路時,可以向本地網路查詢特定設備,如互聯網網關,音頻系統,電視機或印表機。
雖然UPnP的安全標準很低,但這是一個關於M-SEARCH框架的規範的代碼片段。
當控制點被添加到網路時,UPnP發現協議允許控制點在網路上搜索感興趣的設備。它通過在保留的地址和埠(239.255.255.250:1900)上組播具有等於設備或服務的類型或標識符的模式或目標的搜索消息來實現。
要通過網路搜索找到,設備應向發送請求的源IP地址和埠向組播地址發送單播UDP響應。如果M-SEARCH請求的ST標頭欄位是「ssdp:all」,「upnp:rootdevice」,「uuid:」,後跟一個與設備發布的UUID完全匹配的UUID,或者如果M-SEARCH請求匹配設備支持的設備類型或服務類型都能對M-SEARCH框架進行回應。
這在實踐中非常起作用,例如,Chrome瀏覽器經常要求搜索一個智能電視:
該幀(frame)會發送到組播IP地址,尋找該地址並支持這種特定的ST(搜索目標)多屏幕類型的其他設備。
除了對特定設備類型的查詢外,還有兩種通用的ST查詢類型:
1. upnp:rootdevice:搜索根設備
2. ssdp:all:搜索所有UPnP設備和服務
要模擬這些查詢,你可以運行此python腳本:
以下是在我的家庭網路上,顯示的兩個設備:
防火牆的因素
通過上述了解,可以知道,實際上有兩種提供M-SEARCH框架的方法:
1. 我們以上提出的組播地址
2. 直接通過普通單播地址啟用UPnP/SSDP主機
後一種方法最有效,我們可以專門針對我現在使用的印表機IP地址為例進行說明:
從上圖中可以很明顯的看到, SSDP協議不檢查查詢方是否與設備在同一個網路中,它將通過公共互聯網提供的M-SEARCH進行回應。所有這一切都是由防火牆中的一個微小的錯誤配置引發的, 埠1900 UDP對外部開放,並且UDP擴展的目標將可用。
由於配置錯誤的目標,我們的腳本將很樂意在互聯網上工作:
放大因素
真正的攻擊是由ssdp造成的,因為所有ST類型都是通過它完成的,而正是SSDP的放大因素可能會導致網路設備成為DDoS攻擊的目標:
在這種特殊情況下,單個SSDP M-SEARCH數據包會觸發8個響應數據包,tcpdump視圖如下:
該目標公開了8倍數據包計數放大和26倍帶寬放大,而這正是SSDP的典型使用特徵。
IP欺騙因素
攻擊的最後一步是欺騙易受攻擊的伺服器,以覆蓋目標IP,為此攻擊者需要欺騙他們的查詢源IP地址。
我們對100 Gbps攻擊樣本中使用的反射器IP進行了分析後發現,在920k反射器IP中,只有350k(38%)仍然響應SSDP檢測器。
在響應的反射器中,每個發送了平均7個數據包:
響應的數據包平均有321位元組,我們採樣的請求包有110個位元組。
根據我們對ssdp的分析,所有M-SEARCH攻擊者都能夠實現:
1. 7倍的包數放大
2. 20倍帶寬放大
我們可以估計43 Mpps 或 112 Gbps攻擊可以大致生成:
1. 6.1 Mpps的欺騙能力
2. 5.6 Gbps的欺騙帶寬
換句話說,能夠執行IP欺騙的單一連接好的10Gbps伺服器可以提供超強的SSDP攻擊。
更多SSDP伺服器的因素
由於我們探測到易受攻擊的SSDP伺服器,因此可以收到最常見的伺服器頭值:
我們看到的最常見的ST標頭值如下:
可以看出,易受攻擊的IP似乎大多是無保護的家庭路由器。
開放的SSDP竟然是一個漏洞
允許家庭印表機的UDP埠1900接入互聯網是十分危險的,自2013年1月至今,這個安全風險日益嚴重,所以通用即插即用的安全漏洞的防護就是禁止你的設備連網。
顯然,SSDP的開發者沒有考慮UDP的擴增潛力,按照我們的理解M-SEARCH僅在區域網中作為組播查詢才有實際意義。
與DNS響應速率限制技術類似,單播M-SEARCH支持應該被棄用或至少限制速率。
M-SEARCH響應應該只發送到本地網路,通過網路路由的響應幾乎沒有意義和公開的描述漏洞。
如何預防超大DDoS 流量攻擊
1. 網路管理員應確保入站UDP埠1900在防火牆上被阻止。
2. 不應該允許互聯網服務供應商在其網路上執行IP欺騙, IP欺騙是攻擊的根本原因,比如臭名昭著的BCP38。
3. 互聯網服務提供商應允許他們的客戶使用BGP流量來限制入站UDP源埠1900流量,以減輕大型SSDP攻擊期間的擁塞。
4. 互聯網提供商應在內部收集網路流量協議樣本,需要netflow來識別攻擊的真正來源。使用netflow可以輕鬆了解許多信息,比如「我的哪個客戶向埠發送了6.4Mbps的流量?」這將足以跟蹤DDoS攻擊。
5. 開發人員應在仔細考慮UDP擴展問題的情況下推出自己的UDP協議。 UPnP應適當標準化和審查。
6. 終端用戶應使用腳本掃描其網路以啟用UPnP設備,這樣做是為了考慮是否允許這些設備要接入互聯網。
此外,還有一些在線檢查網站。如果你想知道你的公共IP地址是否具有易受攻擊的SSDP服務,請單擊https://badupnp.benjojo.co.uk/查詢。
令人遺憾的是,我們在分析中發現路由器保護最弱的國家竟是中國、俄羅斯和阿根廷。
本文翻譯自
https://blog.cloudflare.com/ssdp-100gbps/
點擊展開全文
※基於 Viper 的二進位軟體自動分析框架
※WCTF世界黑客大師賽,你看懂了多少?
※烏克蘭多個政府、石油企業及航空公司遭受網路攻擊
※竊取 OAuth 令牌繞過 Airbnb 身份驗證
TAG:嘶吼RoarTalk |
※剖析CLDAP協議 Reflection DDoS
※LG與蘋果達成協議 為iPhone X Plus供OLED
※三星2019QLED電視開售,支持AirPlay 2協議
※反擊HDMI 2.1 全新DisplayPort 2.0協議正式公布
※HTC與Google完成11億美元合作協議,HTC團隊進入Google硬體部門
※Nordic nRF52840多協議SoC在貿澤開售,可全面支持Thread和Bluetooth 5連接
※索尼旗下SMEJ與DHX Media達成收購協議
※Dish成為美國第四大運營商,順利與T-Mobile和Sprint達成協議
※虛擬貨幣交易所BITSUM與Korea Phase Service達成戰略業務協議
※PHPStorm從2018.2版本起將啟用新的License Server加密演算法和通信協議,請不要再升級
※Kontrol Energy簽署戰略協議並宣布融資1000萬美元,收購應用IOTA技術的軟體公司
※軟銀完成對Uber投資協議,前CEO Kalanick獲利超過15億美元
※Google研究人員公布已經20歲「高齡」的msCTF協議0 day漏洞
※FANDOM SPORTS Media與雷曼布希達成協議
※開博爾C to C數據線,一"人"之下的USB 3.1 Gen 2協議
※RS485與Modbus通信協議匯總!
※Nordic Semiconductor推出支持nRF52840多協議SoC的ZigBee解決方案,拓展其智能家居應用產品
※Windows 10 19H1正式版有望支持WPA3協議:Wi-Fi更安全
※DAG協議的Avanlanche共識
※Sprint與T-Mobile達成合併協議