最近,Unix 虛擬私人網路(VPN)中揭露了一個安全漏洞,攻擊者可能會劫持TCP 流,即使該流在VPN 內部。這次攻擊影響了OpenVPN、Wireguard,甚至IPSec VPN。究竟是如何發生這種情況的呢?
漏洞解析
Unix 系統支援各種不同的網路場景,往往因為配置錯誤可能會導致問題。在這種情況下,發送到VPN 的IP 位址的封包會被處理和回應,即使它們是透過不同介面進入的。
攻擊的可行性
乍一看,這種攻擊似乎不太可能,因為攻擊者必須知道VPN 用戶端的虛擬IP 位址、活動TCP 連線的遠端IP 位址,以及該連線的序號和ACK 號碼。這些資訊看似繁瑣,但攻擊者可以逐步推導出,從而使這種攻擊成為可能。
攻擊場景
在揭露的場景中,攻擊者利用一個擁有多個客戶端的惡意存取點。攻擊者可以掃描私有位址空間,例如10. . .*,並發現網路上的所有VPN 用戶端。除非客戶端的防火牆配置為阻止,否則當正確的IP 位址被偵測時,VPN 介面將樂意回應該掃描。
確定活動TCP 連接
一旦找到目標,下一步是確定活動的TCP 連線。攻擊者無法看到VPN 內的數據,但可以觀察到資料包的大小和頻率。發送一個偽造來源位址的TCP SYN 封包將基於是否匹配位址和連接埠而觸發不同的回應。
地址和連接埠的發現
在發現位址和連接埠後,TCP 序號和ACK 號碼也可以透過VPN 封包的大小和時序以類似的方式被發現。一旦攻擊者擁有所有這些信息,他便可以向TCP 流中註入數據,但無法讀取VPN 內的數據。 HTTPS 連線仍然可以完全防禦這種攻擊,因此在現實世界中的價值有限。儘管如此,這仍然是一個巧妙的攻擊,隨之而來的修復將使整個網路堆疊更加安全。
WireGuard 的應對
當我聽說這個攻擊時,我聯繫了WireGuard 的創辦人[Jason Donefeld],詢問了這個漏洞的狀態。 WireGuard 的wg-quick(8) 自公告發布之前就已經採取了緩解措施。 [Jason] 最近幾天忙得不可開交,因為WireGuard 最終已被納入Linux net-next 樹,這意味著它將在5.6 版本中發布。我很高興得知這個問題的修復措施已經到位,並期待WireGuard 在Linux 的正式加入。
Windows Patch Tuesday
Windows 的修補程式星期二包含了一系列漏洞,包括正在被惡意利用的特權提升漏洞。這個零日漏洞CVE-2019-1458 與Chrome 的零日漏洞一起被利用。 Chrome 的漏洞是競態條件,導致使用後釋放。這兩個漏洞一起被觀察到是WizardOpium 攻擊的一部分,主要透過韓國網站傳播。
第二個漏洞CVE-2019-1468 在本週二被修復。雖然沒有被積極利用,但在字體處理程式碼中存在相當嚴重的漏洞。文件或網站可以嵌入惡意字體,僅透過顯示就能執行任意程式碼。這個漏洞很好地說明了在2020 年1 月之後繼續使用Windows 7 是多麼危險。
Plundervault 攻擊
研究人員發現,透過對某些Intel 處理器進行降壓可以導致安全CPU 附加區出現錯誤。被稱為Plundervolt 的攻擊,研究人員使用未記錄的指令即時更改CPU 電壓並更改受保護的位元。英特爾迅速回應,發布了微代碼更新以修復問題。這個缺陷影響了到Intel 第9 代的處理器。完整論文已發布,歡迎查閱以獲取更多資訊。
Ring 安全事件
最近,Ring 也成為新聞焦點,特別是關於「網路駭客」透過Ring 攝影機與孩子交談的令人毛骨悚然的影片。觀看晚間新聞時,聽到播報員報道這種近乎神秘的黑客活動令人發笑。讓我們來揭開這層神秘的面紗。
密碼重用的風險
顯而易見的起點是密碼重用。我們很可能都有至少一個帳戶在資料外洩中被曝光。不幸的是,許多洩漏事件都包含明文密碼。重複使用洩漏事件中曝光的使用者名稱和密碼,是導致帳戶被攻陷的快速途徑。 Ring 聲稱,每個帳戶外洩都是由於弱密碼或密碼重用,加上缺乏雙重認證造成的。
總結
透過了解這些安全漏洞及其攻擊方式,我們可以採取適當的措施來保護我們的網路和設備。確保使用強密碼和雙重認證,定期更新軟體,能夠有效減少被攻擊的風險。