安全研究人員發(fā)現(xiàn)了一個新漏洞,使?jié)撛诘墓粽呖梢越俪质苡绊懙? NIX設(shè)備上的VPN連接,并將任意數(shù)據(jù)有效載荷注入IPv4和IPv6 TCP流中。
他們向發(fā)行版和Linux內(nèi)核安全團隊以及其他受影響的系統(tǒng)(如Systemd,Google,Apple,OpenVPN和WireGuard)披露了跟蹤為CVE-2019-14899的安全漏洞。
已知該漏洞會影響大多數(shù)Linux發(fā)行版和類Unix操作系統(tǒng),包括FreeBSD,OpenBSD,macOS,iOS和Android。
下面提供了當前不完整的易受攻擊的操作系統(tǒng)及其附帶的初始化系統(tǒng)的列表,一旦測試并發(fā)現(xiàn)受影響的操作系統(tǒng),便會添加更多列表:
下面提供了當前不完整的易受攻擊的操作系統(tǒng)及其附帶的初始化系統(tǒng)的列表,一旦測試并發(fā)現(xiàn)受影響的操作系統(tǒng),便會添加更多列表:
• Ubuntu 19.10 (systemd)
• Fedora (systemd)
• Debian 10.2 (systemd)
• Arch 2019.05 (systemd)
• Manjaro 18.1.1 (systemd)
• Devuan (sysV init)
• MX Linux 19 (Mepis+antiX)
• Void Linux (runit)
• Slackware 14.2 (rc.d)
• Deepin (rc.d)
• FreeBSD (rc.d)
• OpenBSD (rc.d)
所有VPN實施都會受到影響
這個安全漏洞“允許網(wǎng)絡相鄰的攻擊者,以確定是否另一用戶連接到VPN,它們已經(jīng)由VPN服務器分配的虛擬IP地址,以及是否不存在于給定的網(wǎng)站的活動連接,” 根據(jù)給William J. Tolley,Beau Kujath和Jedidiah R. Crandall,新墨西哥大學的Breakpointing Bad研究人員。
研究人員說:“此外,我們還可以通過計算加密的數(shù)據(jù)包和/或檢查它們的大小來確定確切的序列號和確認號。這使我們能夠?qū)?shù)據(jù)注入TCP流并劫持連接!
利用CVE-2019-14899進行的攻擊可對抗OpenVPN,WireGuard和IKEv2 / IPSec,但研究人員仍在測試其針對Tor的可行性。
他們還指出,所使用的VPN技術(shù)似乎并不重要,因為即使在從目標獲得的響應被加密的情況下,攻擊也仍在測試過程中起作用,因為數(shù)據(jù)包的大小和發(fā)送的數(shù)據(jù)包的數(shù)量足以發(fā)現(xiàn)通過加密的VPN隧道傳送的數(shù)據(jù)包的類型。
在Ubuntu 19.10發(fā)行之前,這種攻擊對我們測試過的任何Linux發(fā)行版都沒有作用,并且我們注意到rp_filter設(shè)置被設(shè)置為“寬松”模式。我們看到systemd儲存庫中sysctl.d / 50-default.conf中的默認設(shè)置已于2018年11月28日從“嚴格”模式更改為“寬松”模式,因此在此日期之后使用未修改配置的systemd版本進行分發(fā)現(xiàn)在很脆弱。我們測試的大多數(shù)使用其他init系統(tǒng)的Linux發(fā)行版都將值保留為0(Linux內(nèi)核的默認值)。
研究人員發(fā)現(xiàn),他們測試的大多數(shù)Linux發(fā)行版都容易受到利用此缺陷的攻擊的攻擊。他們還發(fā)現(xiàn),所有使用2018年11月28日之后發(fā)布的 systemd版本的發(fā)行版(帶有從嚴格模式切換到寬松模式的反向路徑過濾)都容易受到攻擊。
鑒于此,在此日期之后使用默認配置的systemd版本的所有Linux發(fā)行版都容易受到攻擊。
值得注意的是,盡管某些發(fā)行版本的特定systemd版本易受攻擊,但已知該漏洞會影響各種init系統(tǒng),并且不僅與systemd有關(guān),如上面可用的受影響的操作系統(tǒng)列表所示。
此外,網(wǎng)絡安全顧問Noel Kuntze 在對公開報告的回復中說,此漏洞僅影響基于路由的VPN實施。
一名所謂的Amazon Web Services員工還表示, 利用此漏洞的攻擊未影響Amazon Linux發(fā)行版和AWS VPN產(chǎn)品。
有可能緩解
根據(jù)研究人員的說法,緩解是可能的,并且有可能通過打開反向路徑過濾,使用bogon過濾(過濾虛假的IP地址)或在加密的數(shù)據(jù)包大小和定時的幫助下實現(xiàn)。
這些是運行旨在利用此漏洞并劫持目標的VPN連接的攻擊所需的步驟:
1.確定VPN客戶端的虛擬IP地址
2.使用虛擬IP地址推斷活動連接
3.使用對未經(jīng)請求的數(shù)據(jù)包的加密答復來確定活動連接的順序和確認號,以劫持TCP會話
在此處公開提供的披露報告中,詳細說明了在Linux發(fā)行版上重現(xiàn)該漏洞的完整過程。
該研究小組計劃在找到適當?shù)慕鉀Q方法后,發(fā)表一篇對該漏洞及其含義進行深入分析的論文。