複製鏈接
請複製以下鏈接發送給好友

降級攻擊

鎖定
降級攻擊(Downgrade attack)是一種對計算機系統或通訊協議的攻擊。在降級攻擊中,攻擊者故意使系統放棄新式、安全性高的工作方式(如加密連接),反而使用為向下兼容而準備的老式、安全性差的工作方式(如明文通訊)。例如,在OpenSSL中曾經存在一個缺陷,從而使攻擊者能夠讓SSL/TLS服務器與客户端創建老版本TLS連接,儘管雙方事實上支持新版本。這樣的攻擊是最常見的降級攻擊。
中文名
降級攻擊
外文名
Downgrade attack
學    科
信息安全
定    義
一種對計算機系統或協議的攻擊
應    用
中間人攻擊
出現地方
SSL/TLS協議
解決手段
去除向下兼容

降級攻擊簡介

向下兼容(downward compatibility),在計算機中指在一個程序、庫或硬件更新到較新版本後,用舊版本程序創建的文檔或系統仍能被正常操作或使用(包括輸入數據)、在舊版本庫的基礎上開發的程序仍能正常編譯運行,或較舊版的硬件仍可在新版使用的情況。
降級攻擊是一種間接攻擊計算機系統的方式,使系統放棄安全度較高的工作方式,使用向下兼容的工作方式。降級攻擊常被用於中間人攻擊,將加密通訊的安全性大幅削弱,得以進行原本不可能做到的攻擊。SSL/TLS協議是降級攻擊的重災區,長期面臨這類問題,例如POODLE(Padding Oracle On Downgraded Legacy Encryption)攻擊。去除向下兼容往往是解決降級攻擊的較好手段。

降級攻擊降級過程

降級過程通過翻轉兩端的認證協議來實現。具體來説, 由於對認證協議選項的配置是從服務器端開始的,當服務器發送出第一個 configure-request 報文時,服務器端 PPTP 程序記錄了當前服務器認可的認證協議選項, 這個認證協議是 CHAP。 當客户端接收到這個 configure-request 報文時,必然會發送 Ack 報文對服務器發送的上一個配置報文進行確認。此時,中間人攻擊程序將這個 Ack 報文攔截掉並偷偷丟棄,然後自己偽造一個 Nak 報文並在其中添加 PAP 選項之後發送給服務器端。服務器接收到這個報文以後,其認證協議選項就從 CHAP 翻轉成 PAP。 但是此時客户端事實上已經接受了服務器發送的上一個配置報文, 所以客户端所記錄的認證協議狀態是 CHAP。下面我們需要通過偽造 configure- request報文對客户端的認證協議狀態進行翻轉。
由於服務器接收到了客户端發送過來的 Nak 報文,它就會進入重協商過程, 重新發送一個新的 configure-request 報文,這個配置報文中不包含對認證協議的協商。 當這個報文到達中間人主機時,中間人攻擊程序將這個報文攔截,並在它的選項字段添加一個新的PAP 選項,然後繼續轉發給客户端。 客户端接收這個新的配置報文以後,其認證協議就從 CHAP 翻轉為PAP。 此時客户端會對這個配置報文重新進行確認,發送一個Ack 報文,當這個 Ack 報文到達中間人主機時,中間人攻擊程序攔截這個報文,刪除其中的 PAP 選項,並繼續轉發給服務器端。
至此,整個降級攻擊過程完成。這個降級攻擊方式不會對 GRE 隧道的序列號造成混亂,因為中間人並沒有憑空偽造一個報文來消耗兩端的序列號, 而是通過替換原有的報文,佔用了原有的序列號。從上面的分析可見,降級過程是通過偽造 Nak 報文來讓兩端進行強制重協商狀態,只有通過 Nak 報文強制翻轉服務器端的認證協議選項,才可以實現降級。 強制重協商過程也是中間人攻擊的典型攻擊模式 [1] 

降級攻擊中間人攻擊

中間人攻擊(Man-in-the-Middle Attack),是一種間接攻擊模式。 黑客通過某種技術控制一個處於通信兩端的主機之間的某個路由,在這個路由上,中間人可以嗅探、攔截或修改兩端通信過程中的數據包。 能夠實現中間人攻擊的技術很多,比如:ARP 欺騙 ,為了欺騙一個處於同一局域網的某台主機 ,可以使用 ARP 配置報文,使目標主機誤認為攻擊者主機是該局域網的默認網關。 這樣受害者主機所有的出口流量就都會發送到中間人主機上。
DNS 欺騙 :在域名解析過程中 ,客户端首先需要通過域名向 DNS 服務器發送一個請求報文,以獲得目的主機的 IP。 攻擊者可以通過劫持這個請求報文,然後發送一個虛假的回覆報文,將一個虛假的目的 IP 地址發送給客户端。 客户端就會被帶到一箇中間人預先設定好的目的主機上。
釣魚網絡:無線接入是非常普遍的局域網接入方式。中間人可以通過在一台安裝有無線收發網卡的設備上開啓無線網絡誘導被害者使用該網絡。由於被害者一旦接入該網絡,他的所有數據都是通過這個釣魚網絡進行轉發的,因此在中間人的機器上可以很容易的攔截和修改數據包。而且相比於前兩種策略,搭建釣魚網絡的成本非常小,配置也比較簡便。總體來説,在公共場所開放一個免費Wi-Fi是一個非常隱蔽和簡單快捷的攻擊方案。
一箇中間人攻擊能成功的前提條件是攻擊者能將自己偽裝成每一個參與會話的終端,並且不被其他終端識破。中間人攻擊是一個(缺乏)相互認證的攻擊。大多數的加密協議都專門加入了一些特殊的認證方法以阻止中間人攻擊。例如,SSL協議可以驗證參與通訊的一方或雙方使用的證書是否是由受信任的數字證書認證機構頒發,並且能執行雙向身份認證。

降級攻擊傳輸層安全性協議

傳輸層安全性協議(Transport Layer Security,TLS),及其前身安全套接層(Secure Sockets Layer,縮寫作 SSL)是一種安全協議,目的是為互聯網通信,提供安全及數據完整性保障。網景公司(Netscape)在1994年推出首版網頁瀏覽器,網景導航者時,推出HTTPS協議,以SSL進行加密,這是SSL的起源。IETF將SSL進行標準化,1999年公佈第一版TLS標準文件。隨後又公佈RFC 5246 (2008年8月)與 RFC 6176 (2011年3月)。在瀏覽器、電子郵件、即時通信、VoIP、網絡傳真等應用程序中,廣泛支持這個協議。主要的網站,如Google、Facebook等也以這個協議來創建安全連接,發送數據。已成為互聯網上保密通信的工業標準。
SSL包含記錄層(Record Layer)和傳輸層,記錄層協議確定傳輸層數據的封裝格式。傳輸層安全協議使用X.509認證,之後利用非對稱加密演算來對通信方做身份認證,之後交換對稱密鑰作為會談密鑰(Session key)。這個會談密鑰是用來將通信兩方交換的數據做加密,保證兩個應用間通信的保密性和可靠性,使客户與服務器應用之間的通信不被攻擊者竊聽。
TLS協議採用主從式架構模型,用於在兩個應用程序間透過網絡創建起安全的連接,防止在交換數據時受到竊聽及篡改。
TLS協議的優勢是與高層的應用層協議(如HTTP、FTP、Telnet等)無耦合。應用層協議能透明地運行在TLS協議之上,由TLS協議進行創建加密通道需要的協商和認證。應用層協議傳送的數據在通過TLS協議時都會被加密,從而保證通信的私密性。
TLS協議是可選的,必須配置客户端和服務器才能使用。主要有兩種方式實現這一目標:一個是使用統一的TLS協議通信端口(例如:用於HTTPS的端口443);另一個是客户端請求服務器連接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。一旦客户端和服務器都同意使用TLS協議,他們通過使用一個握手過程協商出一個有狀態的連接以傳輸數據。通過握手,客户端和服務器協商各種參數用於創建安全連接:
  1. 當客户端連接到支持TLS協議的服務器要求創建安全連接並列出了受支持的密碼組合(加密密碼算法和加密哈希函數),握手開始。
  2. 服務器從該列表中決定加密和散列函數,並通知客户端。
  3. 服務器發回其數字證書,此證書通常包含服務器的名稱、受信任的證書頒發機構(CA)和服務器的公鑰。
  4. 客户端確認其頒發的證書的有效性。
  5. 為了生成會話密鑰用於安全連接,客户端使用服務器的公鑰加密隨機生成的密鑰,並將其發送到服務器,只有服務器才能使用自己的私鑰解密。
  6. 利用隨機數,雙方生成用於加密和解密的對稱密鑰。這就是TLS協議的握手,握手完畢後的連接是安全的,直到連接(被)關閉。如果上述任何一個步驟失敗,TLS握手過程就會失敗,並且斷開所有的連接。
參考資料
  • 1.    張旭,張華熊,魏偉,李炳彤.PPTP VPN降級攻擊檢測與防護[J].工業控制計算機,2017,30(07):127-128+130.