SSDP協議


SSDP (Simple Service Discovery Protocol,簡單服務發現協議)是一種用於小型網絡(包括家庭網絡)的網絡協議,用於宣傳和發現主要由通用即插即用(Universal Plug-and-Play, UPnP)架構支持的網絡服務。簡單服務發現協議是在HTTPU和HTTPMU的基礎上實現的協議。它使用UDP數據報交換消息。

1. SSDP功能

SSDP是即插即用架構的骨干。它允許輕松地連接工作在同一個小網絡或連接到相同的Wi-Fi點的家庭設備,這些設備可能包括智能手機、打印機和多媒體播放器、智能電視、媒體控制台、揚聲器、攝像機等。要使SSDP工作,這些設備必須支持即插即用功能。在支持SSDP的設備和PC上,可以開啟、關閉和暫停該特性。當啟用SSDP時,設備就會與任何其他即插即用客戶端通信關於它們自身和它們提供的服務的信息。使用SSDP,連接到網絡的計算機也提供關於可用服務的信息。使用SSDP,設備和PC不僅可以相互了解,還可以以某種方式進行交互:在另一台設備上交換數據、啟動功能和服務等等。

2. 與SSDP相關的威脅

首先,SSDP協議本身並不提供加密(它不能阻止設備交換加密數據),其次,在許多設備用於家庭、在小辦公室環境中,SSDP在缺省情況下是啟用的,造成未經授權訪問的風險。因此,這個功能應該保持禁用,只有在真正需要它的時候才啟用它,並確保在每個當前沒有使用SSDP的設備上都禁用它。可以在Windows PC上使用services.msc命令檢測SSDP發現服務是否開啟。關於SSDP的一種威脅可能是利用SSDP特性用於DDoS攻擊如SSDP放大攻擊的實現。

網絡層(L3)攻擊利用了其中嵌入SSDP協議的漏洞,這可能是出於其開發人員希望盡可能簡化小型網絡中的設備交互的初衷。不幸的是,這種簡單性是以犧牲安全性為代價的。在最一般的情況下,一個新設備的網絡接入是這樣的。為了查明網絡中已經存在哪些設備,添加到其中並啟用SSDP的設備使用 fan-out 或 multicasting向其他設備發送一個搜索請求到保留地址和端口(239.255.255.250:1900)。在請求中,設備指定一個與其類型相對應的模板或目標。為了響應這個請求,網絡上每一個支持SSDP的設備都會發送一個帶有自身信息的UDP消息到發送這個請求的源IP地址和端口。

技巧在於,在SSDP協議中,不會檢查消息發送方的位置,因此設備不僅可以響應來自鄰居的請求,還可以響應來自網絡外部的請求。防火牆可以並且應該對此類請求進行保護。但是,首先網絡所有者並不總是安裝防火牆,其次在已安裝的防火牆中,端口1900經常保持開放。而且,由於對SSDP請求的響應可能是請求本身的幾倍甚至幾十倍,因此會出現放大攻擊的可能:一個來自外部網絡的虛假請求,包含一個IP地址作為受害者主機的反向地址,可以觸發一個乘數響應,並將其發送給受害者。然后,就像在經典的DDoS場景中一樣:要么受害者節點的通信通道被垃圾SSDP響應流量阻塞,要么節點本身被淹沒,試圖處理強大的SSDP響應流。具體如圖1所示。

  圖1:SSDP DDoS攻擊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM