近日,一種被稱為NAT Slipstreaming的攻擊破滅了人們對防火墻和路由器的安全性幻想。
安全研究員Samy Kamkar開發了一種基于JavaScript的攻擊——NAT Slipstreaming,允許攻擊者繞過受害人的網絡地址轉換(NAT)或防火墻安全控制,遠程訪問綁定到受害者計算機的任何TCP/UDP服務-如果首先誘騙了受害人,訪問可能受到黑客控制的網站。
NAT為通過網絡設備的流量重新映射IP地址空間,該技術在節省IPv4地址空間方面非常有效,此外安全人士還廣泛認為NAT還有助于提高安全性,例如可以減少資產暴露(編者按:“萬物直聯”也是人們對5G安全性的最大擔憂),但是NAT的安全光環被NAT Slipstreaming給徹底毀掉了。
NAT Slipstreaming的開發者Samy Kamkar指出,該攻擊僅對支持應用程序級別網關(ALG)的NAT/防火墻有效,ALG是支持需要多個端口(控制通道和數據通道)協議才能工作的技術,例如VoIP協議、SIP和H323、文件傳輸協議(FTP)等。
NAT Slipstreaming是一種全新的數據包注入技術,可攻擊所有主流瀏覽器。Kamkar在技術博客中詳細介紹道:
NAT Slipstreaming通過定時攻擊或WebRTC連接內部IP提取、自動遠程MTU和IP碎片發現、TCP數據包massaging、TURN身份驗證濫用、精確的數據包邊界控制以及瀏覽器濫用造成的協議混亂等方式的組合,實現對瀏覽器與路由器防火墻NAT中內置的ALG鏈接追蹤機制連接的利用。
由于是通過NAT或防火墻打開的目標端口,因此繞過了任何基于瀏覽器的端口限制。
簡而言之,NAT Slipstreaming利用了某些路由器中的ALG部署方式,從而繞過了NAT。
Kamkar指出,解決NAT Slipstreaming暴露的安全缺陷對于廠商們來說可能是一個困難的挑戰。
可以在路由器上禁用ALG,但這會帶來不便(VoIP電話無法工作)。可以改進SIP ALG,但是SIP只是一部分,其他ALG同樣會暴露問題。
可以在瀏覽器上阻止端口5060,但這并不能解決根本問題:“這事有些鬧心。”
事實上,NAT Slipstreaming并不是嚴格意義上的“漏洞”,也“安全缺陷”是一個更準確的定義。
正如Kamkar所言:“一切協議和功能都符合標準,但是當它們組合在一起進行復雜交互的時候,糟心的問題產生了。”