如何使用WIPS產品對抗KRACK漏洞
作者:360天馬安全團隊&天巡實驗室
一.前言
近日,有安全研究員披露 WPA2 協議層中存在邏輯缺陷,幾乎所有支持Wi-Fi的設備都面臨威脅,其傳輸的數據存在被嗅探、篡改的風險。攻擊者可獲取WiFi網路中的數據信息,如信用卡、郵件、賬號、照片等,危害巨大。對於用戶而言,應該關注設備廠商安全公告,及時更新修補漏洞。而對於企業而言,除了督促員工儘快更新設備外,還可以利用WIPS產品來幫助抵禦KRACK攻擊等無線安全攻擊威脅,保護企業內部的WiFI設備安全。
本文將以KRACK攻擊為例,介紹WIPS產品為何能快速支持KRACK攻擊檢測並進行防禦。
二.什麼是WIPS
WIPS(無線入侵防禦系統)是針對企業無線應用環境的安全威脅發現與防護系統,通過將無線通信技術、無線攻防、數據分析與挖掘等技術相結合,確保企業的無線網路邊界安全、可控。
較為出名的WAIDPS,便是一款由Python編寫的無線入侵檢測工具,基於Linux平台,完全開源。它可以探測包括WEP/WPA/WPS在內的無線入侵&攻擊方式,並可以收集周邊WiFi相關的所有信息。
2.1.WIPS(無線入侵防禦系統)基本架構
WIPS通常採用採用B/S或者C/S架構,收發引擎分散式部署在企業辦公環境中,將收集到的熱點信息傳給中控伺服器。管理員通過通過管理平台查看企業內部熱點信息,對捕獲到的攻擊行為進行告警,並對惡意、違規的熱點進行阻斷。
2.2.基本功能
利用WIPS產品可以查看並管理企業內可信熱點、未知熱點;識別並告警可疑攻擊行為;快速響應WiFi攻擊及威脅事件。能夠有效防止惡意熱點、未知及外部熱點、偽造熱點、未授權移動終端等可能帶來的安全隱患,從而保護企業的無線網路安全。
分散式部署在企業辦公環境中的收發引擎將會回收整個區域內所有802.11原始數據並進行分析識別,如:
熱點、客戶端識別
回收熱點、客戶端BSSID、ESSID、PWR、OUI & Loc等信息。
判斷並標記惡意熱點、未授權熱點、錯誤配置熱點(弱密碼、有漏洞的加密協議)。
發現客戶端未授權連接。
..
攻擊行為識別
檢測MDK3去認證攻擊
檢測偽造合法熱點攻擊
檢測偽造MAC地址攻擊
檢測Aircrack-NG無線破解攻擊
..
2.3.無線攻擊識別規則
由於後文對KRACK攻擊的檢測方法涉及檢測偽造熱點,此處便以此為例進行說明。
偽造熱點攻擊(Evil-Twin)是眾多無線攻擊方法中,成本較低、效果較好的一種,因此及時地發現並阻斷釣魚熱點是非常必要的。常見的偽造熱點攻擊檢測方法有:熱點常規信息檢測、登錄憑證驗證檢測、時鐘偏差檢測等方式。
常規信息檢測
利用目標AP的Beacon、Interval、SSID、Channel及其他無線信息進行比較得出判斷。
憑證驗證檢測
利用AP登記保存的憑證信息向目標設備發起連接,若成功再用錯誤密碼嘗試連接,若提示錯誤則證明是合法熱點。
時鐘偏差檢測等方式
通過計算兩個相鄰信標幀之間的timestamp間隔差異,即時鐘偏差,與預先設定的閾值進行比較來檢測偽AP。如果AP的時鐘偏差值與特徵庫中儲存的偏差值不一樣,則可認定這個AP為一個無線釣魚AP。
如上圖就是一個Python利用Scapy模塊以實現通過時鐘偏差檢測識別釣魚熱點的示例
三.KRACK攻擊原理分析
本次的WPA2「密鑰重裝攻擊」,基本原理為:利用WPA協議層中的邏輯缺陷,多次重傳握手過程中的消息3從而導致重放隨機數和重播計數器,為攻擊者提供了利用條件。
在協議標準中還存在一條危險的注釋「一旦安裝後,就可從內存中清除加密密鑰」,若按此注釋進行實現,在密鑰重裝攻擊時會從內存中取回已經被0覆蓋的key值,從而導致客戶端安裝了值全為零的秘鑰。而使用了含漏洞wpa_supplicant版本的Linux及Android設備便因此遭受嚴重威脅。
3.1.KRACK攻擊利用方式(攻擊視頻分析)
1、首先測試設備連接真實的testnetwork網路:
2.開啟WireShark監聽並在稍後被設為釣魚熱點的網卡:
3、 攻擊演示:
真實熱點Real AP:
SSID:testnetwork
Mac:bc:ae:c5:88:8c:20
Channel:6
被攻擊客戶端Target:
SSID: 90:18:7c:6e:6b:20
偽造同名同MAC熱點(Rouge AP):
SSID: testnetwork
Mac:bc:ae:c5:88:8c:20
Channel:1(信道不同)
注入CSA beacon pairs 將客戶端信道變為1,也就是迫使客戶端Target與Rouge AP通信。偽AP向目標Target發送Disassociate數據包,使其解除關聯。
4.利用網卡建立目標AP的偽造熱點,迫使客戶端連接到偽造熱點上。此時設備經歷重連,WiFI狀態為正在認證。
當目標targe與真實AP完成認證過程,準備發起連接時,注入CSA beacon pairs,使信道切換到Channel 1 實施中間人攻擊,同時客戶端狀態保持在State 2,接下來開始發送四次握手中的Message 3,實施密鑰重新安裝(Key Reinstallation Attack)攻擊。
5.此時密鑰重裝攻擊已經執行成功,客戶端已連接上偽造熱點:
6.在此偽造熱點中,被攻擊端所有流量皆可被嗅探、篡改;演示視頻中使用經典的MITM工具sslstrip對HTTPS進行降級,便可獲取用戶傳輸的明文賬號信息。
7、用戶提交的賬號信息便可被獲取:
3.2.檢測KRACK的幾種途徑
之前有講到KRACK的攻擊原理,根據現有KRACK的Demo來看,攻擊者的主要利用方式為:在被攻擊客戶端與正常AP建立連接時,攻擊代碼(POC)「克隆」了被攻擊客戶端所連接的AP,建立了一個相同BSSID、ESSID,但Channel不同的熱點;通過發送Disassociate Frame迫使被攻擊客戶端解除關聯,此時設備經歷重連;準備重新與正常AP發起連接時,注入CSA beacon pairs(Channel Switch Announcement),使信道切換到惡意AP所在信道,實施中間人攻擊;同時客戶端狀態保持在State 2(通過對訪問點進行身份驗證的身份驗證狀態),接下來開始發送四次握手中的Message 3,實施密鑰重新安裝(Key Reinstallation Attack)攻擊,即可與偽AP建立正常連接通信。
根據以上攻擊流程,我們分析便得出KRACK現有的攻擊方式特徵,並能據此添加對KRACK攻擊進行檢測:
1. 建立同ESSID、BSSID但不同Channel的Rouge AP;
2. 向客戶端發送異常Deauth/Disassociate Frame;
3. 重新發送四次握手中的message3強制重置nonce,相同IV;
4. Sequence Number和Timestamp亂序;
5. Client在建立握手的時候切換Channel;
四.紅藍對抗演示
作為使用WPA2協議設備的用戶來說,官方的解決方案是等待協議漏洞的修復與廠家設備的升級。在企業環境中,能否將無線防護的主動權掌握在自己手中呢。安全專家的建議是企業應合理部署WIPS,但是WIPS能否抵禦這種突如其來的無線安全威脅呢?
在詳細分析了黑客的攻擊過程後,天巡實驗室準備進行一場紅黑對抗,一組扮演黑客模擬相同的攻擊手段進行無線攻擊;另一組實驗人員扮演企業管理員進行無線防護,同時在實驗環境內部署WIPS,測試WIPS的防禦效果。
1. 首先建立testnetwork熱點,企業用戶連接該熱點並通過認證後可訪問企業內網資源;通過WIPS管理員可直觀了解該熱點的設備屬性和安全屬性,包括熱點ESSID、BSSID、熱點廠商、頻道和加密方式等等。
2. 然後黑客偽造與testnetwork相同名稱及配置的熱點,嘗試欺騙用戶連接;此時企業無線網路環境中同時出現了兩個熱點,非專業人員根本無法識別哪個是企業自建熱點,哪個是非法的釣魚熱點。可以看到此時非法熱點已經被WIPS識別出來並阻斷,當前連接終端數為「無」。
3. 與此同時WIPS也第一時間向管理員通報偽造合法熱點攻擊事件的發生及處理情況。WIPS的及時響應為管理員在突發情況發生時爭取了更多的處置時間。
4. 黑客為了使其他終端連接非法熱點簡直無所不用其極,泛洪終端拒絕服務攻擊是成本最低也是最見效的方式。該種攻擊方式可斷開所有終端與合法熱點的連接,在其他場景也可以干擾公共網路終端與熱點的連接,造成網路癱瘓。此時WIPS系統能夠發現此類攻擊,在提供處理建議的同時,還能定位攻擊發生的具體位置,管理員可實地排查是否有可疑人員。
5. 可以說黑客的攻擊行蹤已經完全暴露在WIPS之下,原本看不見摸不著的無線威脅,透過WIPS的映射逐漸變得清晰。還不知道發生了什麼的黑客繼續他的攻擊,黑客通過收集和重放重新發送四次握手中的Message3強制重置nonce,從而成功攻擊加密協議,解密客戶端發送通信數據包,截獲敏感信息。但是此時WIPS系統已經監測到該攻擊,並對實施釣魚的熱點進行了阻斷,使不知情的「用戶」免於威脅。
五.小結
最終「紅方」利用WIPS的監測與阻斷服務,成功阻止了「黑方」利用無線網路入侵與監聽數據的攻擊行為。通過實驗表明,WIPS的確可以有效防範KRACKs攻擊。隨著移動互聯網、BYOD、智慧城市、物聯網等無線網路應用的興起,無線網路正在扮演著越來越重要的角色。而無線網路重應用輕防護的建設理念,將吸引越來越多的黑客征服這片未被保護的領域,KRACKs不是無線網攻擊的結束,是無線安全認知與建設的開始。
安全團隊
天馬安全團隊(PegasusTeam)
天巡實驗室
推薦閱讀:
※python無線網路安全入門案例【翻譯】
※隔壁黑客上線了-記一次WIFI破解實戰
※隔壁不光蹭網,還無恥的把我家的無線設備都拉黑了,怎麼教訓回敬一下?
※為什麼蘋果提示不廣播SSID會暴露個人信息,並建議用戶到路由器上設置為廣播SSID?