無線網路安全技術之分析與偵測分析系統之設計與實現 報告人:戴志坤 高雄師範大學資訊教育所研究生 Email:tai.tomy@gmail.com 指導教授: 楊中皇 博士 高雄師範大學資訊教育所所長 Email:chyang@computer.org 11/3/2006
Outline Introduction The analysis and solution of WLAN security technology WEP ( Wireless Equivalent Protocol ) TKIP ( Temporal Key Integrity Protocol ) CCMP ( Counter-mode/CBC-MAC) 802.1x 802.11i WEP & WPA-PSK cracking Design and implementation Conlusion 11/3/2006
Introduction(1/2) 無線區域網路WLAN(Wireless LAN)的安全技術主要根據IEEE工作小組TGi(Task Group i)所制定的所使用的安全技術WEP(Wireless Equivalent Protocol)為主 WEP缺乏金鑰交換及認證的技術,已被證實有高度的安全問題,於是IEEE及Wi-Fi Alliance制定了 802.1x、WPA、802.11i等技術來解決金鑰交換及認證的問題,但其中還是存在一些安全上的顧慮 11/3/2006
Introduction(2/2) Task Group Standard Components Wi-Fi Alliance WPA WPA-PSK、802.1x、TKIP IEEE Task Group i WEP RC4、ICV 802.11i Pre-RSNA RSNA Entity authentication、WEP 802.1x、TKIP、CCMP 11/3/2006
The analysis of WLAN security technology WEP (Wired Equivalent Private ) 固定(靜態)的WEP Key(40、104-bit) IV值太小(24-bit),IV collision 沒有金鑰管理、交換機制及安全的認證的機制 加密演算法RC4是個不安全的演算法 CRC Checksum訊息完整檢查碼(ICV)是不安全的,容易遭受到第三者的篡改 11/3/2006
The analysis of WLAN security technology TKIP (Temporal Key Integrity Protocol ) (1/2) 使用48bits的IV值(WEP所使用的為24bits) 每個Packet都會產生不同的加密金鑰與WEP不同,WEP會將IV直接與WEP Key經過RC4演算法之後來做加密的RC4 Key,而TKIP只是把IV當作加密的參數,安全性較佳 使用的Key分成兩個部份,128bits的Key用於金鑰混合,另外64bits的Key用於Michael演算法 11/3/2006
The analysis of WLAN security technology TKIP (Temporal Key Integrity Protocol ) (2/2) 訊息完整碼MIC(Message Integrity Code)使用Michael演算法雖然強大,但須配合Sequence Number (IV)的使用尚可達到安全標準 仍然使用有缺陷的RC4加密演算法 與目前硬體相容性較佳 11/3/2006
The analysis of WLAN security technology TKIP的運作流程 11/3/2006
The analysis of WLAN security technology CCMP (Counter-mode/CBC-MAC ) (1/2) 使用48bits的IV值。 使用AES(Advanced Encryption Standard)演算法,但目前尚未經過完整的測試,且相容性低,執行難度高。 不對每個封包加密,而是對所有封包,並使用CTR(Counter)模式,因為沒有對每個封包實施加密的程序,也變成在安全上的一個缺點 11/3/2006
The analysis of WLAN security technology CCMP (Counter-mode/CBC-MAC ) (2/2) 資料完整性的部分使用的CBC-MAC比TKIP所提供的Michael演算法強大,提供8 byte的MIC(Message Integrity Check),而且在加密資料最後不加 ICV(Integrity Check Value),比WEP的CRC的安全性提高很多。 在資料的加密和完整性使用同樣的Key 11/3/2006
The analysis of WLAN security technology CCMP 的運作流程 11/3/2006
The analysis of WLAN security technology WEP TKIP CCMP 加密演算法 RC4 AES 金鑰的長度 40bit 104bit 認證:64bit 加密:128bit 128-bit 初始向量 24-bit 48-bit 48-bit(PN) 每個封包之 加密金鑰 IV+ WEP Key 兩階段金鑰融合 無 金鑰管理 802.1x 資料完整性 CRC Michael CCM 11/3/2006
The analysis of WLAN security technology 802.1x IETF於2001年制定了802.1x RADIUS Usage Guide Line身份認證及密鑰管理協定,802.1x主要分成客戶端(Supplicant,SP)、認證系統(Authenticator,AP)及認證伺服器(Authentication Server,AS),而802.1x機制仍有安全顧慮 11/3/2006
The analysis of WLAN security technology 802.1x 的運作方式 11/3/2006
The analysis of WLAN security technology 802.1x’s threat (1/3) 中間人攻擊(Man-in-Middle-Attack) 在802.1x的驗證系統(Authenticator system)中只能單純的接收客戶端(SP)的EAP信息或向客戶端提出EAP的請求,無法做到雙向的認證,有可能會遭受的中間人的攻擊,這也是802.1x設計最大的缺陷,Attacker可先假冒AP發出一個EAP succeed 訊息給SP,因為SP沒有對AP認證的機制,所以會把Attacker當作合法的AP開始傳送資料,Attack就可以開始中間人攻擊。 11/3/2006
The analysis of WLAN security technology 802.1x’s threat (2/3) 會話劫持(Session Hijacking) Attacker在客戶端與認證系統完成認證後,對客戶端發動攻擊,使其無法工作,但此時認證系統對客戶端仍處與認證完成的階段,Attacker可以利用客戶端的MAC取得認證系統的服務,達到攻擊的目的。 11/3/2006
The analysis of WLAN security technology 802.1x’s threat (3/3) 阻斷攻擊(Denial-of-Service,DoS) 802.1x的協定中的 DoS攻擊可分為兩階段,第一階段:當客戶端未完成驗證時,驗證系統發送一個EAP-Failure的封包給客戶端,然後客戶端保持HELD的狀態,此時Attacker可以冒充驗證系統,對客戶端每60秒送出一個EAP-Failure的封包,欺騙客戶端使用者,達到阻斷目的。第二階段:驗證如已完成,Attacker會冒充客戶端送出中止服務的EAP-logoff的封包,欺騙驗證系統,阻斷服務 11/3/2006
The analysis of WLAN security technology The solution of 802.1x threats 目前實現802.1x的身份認證技術各家不同,如EAP-TLS、EAP-TTLS、LEAP等都具有雙向認證的技術,可預防中間人攻擊 Radius / Diameter Server AAA Technology 11/3/2006
The analysis of WLAN security technology Pre-RSNA:802.11實體的認證和WEP RSNA:主要分成802.1x和金鑰的管理、TKIP、CCMP,由Supplicant(SP)、Authenticator (AP)、Authentication Server(AS)三個實體及六大步驟 11/3/2006
The analysis of WLAN security technology 802.11i-RSNA的六大步驟 網路及安全能力檢測 認證(Authentication)與連結(Association) EAP、802.1x、RADIUS認證 四向交握(4-Way Handshake) Group Key 的交握 加密資料的傳輸(AES algorithm) 11/3/2006
The analysis of WLAN security technology Supplicant 狀態:Unauthentication Unassociation Authenticator Beacon+RSN IE Probe Request Probe Response 1 網路及安全能力檢測 Supplicant 狀態: Unauthentication→Authentica-tion Unassociation→Association Authenticator Unauthentication→Authenti-cation Authenticate Request Authenticate Response Associate Request Associate Response 2 認證與連結 11/3/2006
The analysis of WLAN security technology Supplicant 狀態: Authentication Association Authenticator Authentication Server EAPOL-Start EAPOL-Request EAPOL-Response RADIUS Request Mutual Authentication RADIUS Accept EAPOL-Success 3 EAP、802.1x、RADIUS認證 11/3/2006
The analysis of WLAN security technology Supplicant MSK→PMK PMK→PTK 802.1x unblocked Authenticator PTK→GTK Authentication Server MSK 4 四向交握 11/3/2006
The analysis of WLAN security technology RSNA’s threat(1/3) 回滾攻擊(Rollback Attack) 在一般情形下,雖然802.11i不允許Pre-RSNA和RSNA同時執行,但802.11i所規範的TSN(Transient Security Network)同時支援Pre-RSNA和RSNA,會在一般使用的情況下發生 當Pre-RSNA和RSNA同時執行時,會遭受到此攻擊,在執行Pre-RSNA的情況下,Attacker此時可扮演類似中間人的角色,交替扮演,會冒充AP發出一個偽造的Beacon或探測回應封包(Probe-Response frames),也會冒充SP來發出偽造的連線請求(Association Request),達到竊取金鑰的目的 11/3/2006
The analysis of WLAN security technology 回滾攻擊( Rollback Attack ) - solution SP和AP均使用RSNA,但會缺乏彈性和相容性 能提供一個Pre-RSNA與RSNA兼具並有安全選擇機制的TSN(Transient Securty Network),提供使用者選擇其所需要的安全層級,需要安全性較高的資料可選擇RSNA 11/3/2006
The analysis of WLAN security technology RSNA’s threat(2/3) 反射攻擊(Reflection Attack) 在一般的無線網路基礎建設中,一台主機不可能同時扮演SP和AP,但在支援802.11i協定的IBSS網路中,這種情形是有可能的 IBSS是一種ad hoc LAN的應用,所以每台主機都有可能扮演AP和SP。如果AP和SP使用同樣的PMK,合法的AP開始RSNA之四向交握(4-Way Handshake)時,Attacker會使用同樣參數發出另一個四向交握給受害SP,受騙的SP會將合法交握訊息傳回給Attacker,最後Attacker利用合法SP交握資料完成四向交握 雖然反射攻擊並不能在這個攻擊行動中獲得之後合法的加密金鑰,但仍破壞原有的交握機制 11/3/2006
The analysis of WLAN security technology 反射攻擊( Reflection Attack ) - solution 要能避免此狀況發生,一台主機所扮演的角色要單一化,也是就在ad hoc網路下,固定主機擔任類似像AP功能 如果在同一台主機上扮演兩種角色,可使用不同的PMK,不過此方法會增加交握的複雜度 11/3/2006
The analysis of WLAN security technology RSNA’s threat(3/3) 阻斷攻擊(Denial of Server, DoS) 由於802.11i所定義的部份是在資料鏈結層,在認證層級部份並沒有規定,且各家使用標準不同,因此這個部份,如果未選用具有雙向認證及動態金鑰加密的話,可能會遭受多種阻斷式攻擊,雖然 DoS很難避免,但可將傷害減到最低。 11/3/2006
WEP cracking WEP所使用的加密技術為RC4,是一種同步的串流加密法,利用XOR的邏輯運算結合金鑰串流產生器和明文產生最後輸出的密文,而RC4之所以被稱為串流加密法的原因在於他會隨機產生一個初始向量來產生唯一的金鑰,但這也是其被破解的主要因素。 11/3/2006
WEP cracking RC4最主要分成兩個部份 金鑰排程法 (Key Scheduling Algorithm,KSA) 虛擬隨機金鑰產生法(Pseudo Random Generation Algorithm,PRGA) 11/3/2006
WEP cracking 金鑰排程法 (Key Scheduling Algorithm,KSA): 最主要是初始化一個陣列值來作為串流金鑰產生,其過程先排定一個陣列,然後打散其順序。 11/3/2006
WEP cracking KSA演算法 K[] =私鑰陣列 初始化: For i = 0 to N-1 S[i]=i j = 0 打散: j =j + S[i] + K[ i mod L ] Swap ( S[i] , S[j] ) KSA演算法 11/3/2006
WEP cracking 虛擬隨機金鑰產生法(Pseudo Random Generation Algorithm,PRGA): 首先將兩個變數初始化為 0,然後丟入迴圈做為每個封包建立金鑰串流 11/3/2006
WEP cracking 初始化: 產生迴圈: i = 0 i = i + 1 輸出串流金鑰 j = 0 j = j + S[i] Swap( S[i],S[j] ) 輸出串流金鑰 S[ S[i]+S[j] ] PRGA 演算法 11/3/2006
WEP cracking WEP破解的因素(1/2) IV collision 利用IV value相同的封包做XOR運算 明文 11/3/2006
WEP cracking WEP破解的因素(2/2) 所使用的IV長度為3byte(24-bit),其所能提供的金鑰產生可能為,但事實上在隨機的選取下可能在傳輸了5000個封包後產生重複的現象,增加了破解的可預測性 根據IV的缺陷所產生的弱密鑰(Weak Key),也就是密鑰最後仍會出現在串流的位元組裡的情形,只要蒐集足夠的弱密鑰,就可以反推出金鑰 幾乎所有的無線封包傳送時都會以SNAP檔頭做為第一個位元組,這個檔頭的值OxAA是由明文的第一個位元和PRGA做XOR邏輯運算後的第一個位元組,這也是WEP的一個重大的缺失 11/3/2006
WEP cracking WEP破解的流程 破解方式(FMS 攻擊): 假設IV封包格式:B+3、N-1、X(弱密鑰格式) B:是欲猜測的密碼位元組,但由於密鑰是由IV+共享密鑰,而前三個byte的為明碼,所以在這裡我們設為 0 N:在WEP中均為256 X:可用ASCII、十進位或十六進位來表示從0-255的值,在這裡設定為7 11/3/2006
WEP cracking 密鑰格式(IV+共享密鑰 ) 利用四次的KSA迴圈、PRGA演算法加上SNAP標 3 255 7 ? 密鑰格式(IV+共享密鑰 ) 利用四次的KSA迴圈、PRGA演算法加上SNAP標 頭檔位元組OxAA即可反推得第一個金鑰位元。 11/3/2006
WEP cracking 初始狀態:i=0 j=0 ,S[0]=0 ,S[1]=1, S[2]=2,….S[255] = 255,L = 8 破解流程 KSA third loop3 i=2,j=3 j=j+S[i]+K[i mod L] = 3+S[2]+K [2] = 3+2+7=12 S[2]=2,S[12]=12 Swap(S[2],S[12]) =>S[2]=12,S[12]=2 PRGA i=0,j=0 ,i=i+1=0+1=1,j=j+S[1]=0+0=0 Swap( S[1],S[0] )=>S[1]=3,S[0]=0 輸出串流金鑰S[S[1]+S[0]]=S[3]=? KSA first loop1 j=j+S[i]+K[imodL] =0+S[0]+K[0]=3 S[0]=0,S[3]=3 Swap(S[0],S[3]) =>S[0]=3,S[3]=0 KSA fourth loop4 i= 3,j=12 j=j +S[i]+K[i mod L] =12+S[3]+K [3] =12+1+K[3]=? S[3]=1,S[?]=? Swap(S[3],S[?]) =>S[3] =?,S[?]=1 KSA second loop2 i=1,j=3 = 3+S[1]+K[1] = 3+1+255 = 259mod256=3 S[1]=1,S[3]=0 Swap(S[1],S[3]) =>S[1]=0,S[3]=1 SNAP的第一個位元組為OxAA與利用嗅探軟體所抓取的密文位元組做XOR的邏輯運算 Z = OxAA ⊕CiperText = 170⊕165 =15,可得 S[3] = 15 反推 S[15] = 1 得到 K[3] =15-12-1= 2 破解成功 11/3/2006
WPA-PSK cracking WPA-PSK是WPA的ㄧ種 沒有支援802.1x的認證方式 理論上提供每個使用者都可分配到不同的Key,但實際上常常一台AP提供給整各網路的Key均相同,這也暴露了極大的風險 管理者設定密碼的難易度也控制的被破解的可能 利用暴力攻擊的方式配合字典檔 11/3/2006
WEP&WPA-PSK cracking 目前可利用的軟體有:Aircrack 、Airsnorf、WepLab、WepCrack、coWPAtty WEP破解所需的檔案量(本研究實測) 40bits:20萬-30萬 104bits :80萬-100萬 WPA-PSK:取決於字典檔的豐富性及管理者設定的方式 11/3/2006
Design and implementation 利用Windump、Aircrack、Nmap、WepLab等破解、擷取、分析封包的開放原始碼軟體來實做,這些軟體原都以大部分都是以文字介面來執行,本系統以Microsoft Windows XP為平台、結合Microsoft Visual C++ 6.0與Borland C++ Builder 6.0,以視窗化的介面來呈現,方便使用者運用 11/3/2006
研究環境及設定 筆記型電腦一台 作業系統:Windows XP 系統設計軟體: Microsoft Visual C++ 6.0、 Borland C++ Builder 6.0 無線網卡:支援的晶片 Aironet (Cisco) 、Atheros、Broadcom 、Hermes l、 Orinoco 、RTL8180 (Realtek) Prism 2/3/GT 安裝合適的網卡驅動程式 http://www.wildpackets.com/support/product_support/airopeek/hardware 11/3/2006
Design and implementation WSCT 封包擷取 AP探測 加密分析 加密破解 封包解密 封包分析 安全分析 軟體移植 VC BCB Windump Aircrack airodump WepLab Nmap Ethereal 開放原始碼 11/3/2006
Design and implementation AP探測 加密探測 加密破解 封包解密 安全分析 流量分析 視窗介面 系統功能 11/3/2006
Design and implementation 功能 系統 名稱 作業平台 圖形化 中文化 AP 探測 加密 分析 解密 封包 流量 WSCT本研究實做 Windows ○ AirSnort Linux X Snort-Wireless NetStumbler WIDZ WifiScanner Weplab MacOSX Kismet Nessus 11/3/2006
Design and implementation 主系統 Airodump WepLab, etc 安全分析1 流量分析 封包擷取 AP探測 IV 完整封包 加密分析 轉換或合併 加密破解 Ethereal Windump, etc WEP WPA 封包解密 封包分析 安全分析2 11/3/2006 運作架構及流程
Design and implementation 系統程式主畫面 狀態列 基本操作列 主功能列 11/3/2006
Design and implementation 封包分析(1/2) (1)AP通訊協定、 IP、MAC位 址、UDP、封 包長度等資訊 (2)封包編碼及明 文資料 11/3/2006
Design and implementation 封包分析(2/2) 11/3/2006
Design and implementation 加密分析 11/3/2006
Design and implementation 一般嗅探軟體所擷取的封 包資料並法使用在破解的工具上,因其在擷取時忽略掉802.11的標頭檔,如Ethereal,必須使用像Airodump、Airopeek或本系統尚可擷取到可作為破解的封包。 本系統擷取封包時可分成兩種格式: IV封包(*.ivs):僅IV資料,檔案較小,破解速度較快,但無法進行進一步的資料分析。 802.11完整封包格式(*.cap或*pcap):檔案較大,可做為進一步封包分析的資料。 無線AP偵測及封包蒐集 11/3/2006
Design and implementation WEP 破解分析 (1)加密金鑰 (2)IV封包量 (3)AP的SSID和 MAC address (4)破解時間 (5)加密型態 11/3/2006
Design and implementation WEP 破解分析 (多台AP) 11/3/2006
Design and implementation WPA 破解分析 11/3/2006
Design and implementation 檔案的轉換與合併 11/3/2006
Design and implementation WEP&WPA加密檔解密 11/3/2006
Design and implementation 安全分析 11/3/2006
Conclusion 無線網路的普及提供給人們使用網路上一個更方便的選擇,由於它的機動性(Mobility)高,不需佈線的優點,使得普及率越來越高,但也因傳播的介質是空氣,遭到攻擊的機會也變高 本系統整合開放原始碼工具,實做便利使用的視窗介面功能,提供封包分析、安全分析及封包破解的功能,可提供管理者在無線區網的安全管理上一些建議與幫助 11/3/2006
謝謝各位的聆聽 11/3/2006