摘 要: 結合當前實際中應用比較廣泛的IEEE 802.11無線網絡技術,從攻與防兩個角度較為全面地分析了無線網絡所面對的安全威脅和相應的安全防護機制,并提出了增強無線網絡安全性的方案。
關鍵詞: IEEE802.11標準 無線LAN? 連線對等保密? 初始化矢量? SSID
?
1 IEEE 802.11標準簡介
隨著個人數據通信技術的發展,功能強大的便攜式數據終端以及多媒體終端的廣泛應用,為了實現任何人在任何時間、任何地點均能進行數據通信,要求傳統的計算機網絡由有線向無線、由固定向移動、由單一業務向多媒體業務發展,這樣就大大推動了無線局域網的發展。于是,眾多標準紛紛出臺。IEEE 802.11標準是其中應用比較廣泛、獲得眾多廠商支持的一種國際標準。
IEEE制定的802.11協議主要工作在ISO協議的物理層和數據鏈路層" title="鏈路層">鏈路層,并在物理層上進行了一些改動,使之具有高速數字傳輸特性,并且提高了連接的穩定性。它描述了無線局域網和無線城域網的介質訪問控制(MAC)和物理層的規范。
1.1 802.11標準工作方式
802.11標準定義了兩種類型的工作方式,一種是無線站,通常由一臺PC機加上一塊無線網絡接口卡構成;另一種稱為無線接入點" title="接入點">接入點(AP),它的作用是提供無線網絡和有線網絡" title="有線網絡">有線網絡之間的連接。無線接入點" title="無線接入點">無線接入點通常由一個無線輸出口和一個有線的網絡接口構成,接入點就像是無線網絡的一個無線基站,將多個無線終端聚合到有線的網絡上。
1.2 802.11標準物理層
802.11標準最初定義的三個物理層包括兩個擴展頻譜技術和一個紅外傳播規范。無線傳輸的頻道定義在2.4GHz的ISM頻段內,可以非注冊使用。這樣,使用802.11標準的客戶端" title="客戶端">客戶端設備就不需要任何無線許可。擴展頻譜技術保證了802.11標準的設備在這個頻段上的可用性和可靠的吞吐量,還可以保證它與使用同一頻段的其他設備不互相影響。802.11無線標準可以使用FHSS(跳變頻率擴譜)和DSSS(直接序列擴譜)兩種技術,但因為FHSS和DSSS在運行機制上是完全不同的,所以采用這兩種技術的設備沒有互操作性。
1.3 802.11標準數字鏈路層
802.11無線局域網協議采用載波偵聽多路訪問(CSMA/CA)避免沖突的發生,只有當客戶端收到網絡上返回的ACK信號后才確認送出的數據已經正確到達目的地。這種顯式的ACK機制雖然對沖突檢測很有效,但卻給網絡增加了額外的負擔,降低了網絡性能。802.11MAC子層還提供了另外兩個強健的功能:CRC校驗和包分片。
802.11 MAC子層負責解決客戶端和無線接入點之間的連接。當一個802.11客戶端進入一個或多個接入點的覆蓋范圍時,會根據信號的強弱以及包錯誤率自動選擇一個接入點進行連接,一旦被一個接入點連接,客戶端就會將發送接收信號的頻道切換到接入點的頻段。
2? IEEE 802.11標準的安全技術
IEEE認為,需要擁有訪問與機密性控制服務和確保傳輸數據完整性有關的一些機制來為無線通信網絡提供與有線網絡中功能等效的安全措施。為了防止出現無線網絡用戶偶然竊聽的情況和為了提供與有線網絡等效的安全措施,IEEE引入了有線對等保密算法,即WEP算法。
WEP算法是一種流加密算法。首先通過把密鑰和一個24bit的初始化矢量(IV)串聯在一起,得到種子(SEED),輸入到偽隨機數發生器(PRNG)里;然后PRNG使用RC4流加密算法,輸出與被發送數據八位組數字等長的偽隨機八位組密鑰序列;為了防止未經授權修改數據,對未加密報文執行完整性檢驗算法,把得到的校驗和與未加密報文串聯在一起,得到完整性檢驗結果(IVC),接著將IVC和PRNG輸出序列進行數學上的按位異或運算,生成密文,整個加密過程到此結束;最后把IV和密文串聯在一起,所得到的報文通過無線鏈接發送出去。
對于WEP算法,授權過程明確分解為如下四步:
(1) 客戶端發送鏈接請求。
(2) 驗證方接收請求,生成一個隨機驗證內容,傳遞給請求方,作為響應。
(3) 客戶端接收傳輸內容,并使用共享密鑰流加密驗證內容,傳送給驗證方。
(4) 驗證方解密內容,并同原始內容比較。如果匹配,則客戶端通過驗證。
WEP算法在傳輸上提供了一些安全性和保密性,能夠阻止有意或無意的瀏覽者看到AP和客戶端之間的傳輸內容。
WEP算法的特點如下:
(1)全部報文都使用完整性校驗與加密,提供了某種程度上的抵御篡改的能力。
(2)通過加密維護一定的保密性。如果沒有密鑰,就不能解密報文。
(3)為WLAN應用程序提供了非常基本的保護。可以由用戶定義WEP密鑰,而且沒有限制。不必使用預先定義的密鑰,而且用戶可以經常改變它們。
WEP算法存在的問題:
(1)RC4加密算法是公開的流加密算法。為了加密,它使用數量極其有限的密鑰來試圖生成無限的偽隨機密鑰。
(2)密鑰一旦修改了,必須通知每個用戶。
(3)必須在每個客戶端和每個AP都實現WEP,才能生效。
3 攻擊手段
在此討論八種具有廣泛代表性的攻擊策略,以此來衡量用以加強無線LAN防護的安全技術,評估安全防護系統的有效性。
3.1? 流量分析
流量分析是一種簡單的技術手段,攻擊者根據通信媒介所傳輸的數據包的數量和數據報文的大小來確定網絡負載。有一塊工作在混雜模式的無線網卡以及可以對傳輸的數據包的數量和大小進行計數的軟件即可實現流量分析。使用適當的天線更是增加了攻擊者可以探測的范圍,大大降低了攻擊者由于距離攻擊目標太近而被發現的可能性。
3.2 被動竊聽
這種攻擊需要具備的惟一條件是攻擊者要能夠對網絡進行偵聽。通過在無線網絡的通信范圍內使用有向天線可以很容易地得到滿足。
如果無線網絡沒有采取任何加密措施,攻擊者就可以很容易地讀取會話雙方傳輸的明文數據,并且通過檢查傳送的數據包間接地獲取有關數據的來源、目的、大小、序列號以及傳輸時間等信息。這種類型的攻擊所獲得的不僅僅是泄漏的信息,更重要的是,通過對數據包的分析獲得了進一步實施更具威脅的攻擊所需要的部分先決條件。
如果會話在數據鏈路層或者更高的協議層上使用一定的加密算法,如WEP算法、高級加密標準算法(AES)進行了加密,則為了讀取數據,攻擊者必須設法對算法進行攻擊以解密數據。
3.3 部分明文已知的主動竊聽
這種攻擊手段不同于被動竊聽攻擊手段的是在竊聽過程中,攻擊者不僅偵聽網絡上的數據,而且向通信媒介主動地插入特定消息以幫助它們獲取這些消息的內容。這種攻擊所需要具備的條件是攻擊者能夠訪問網絡并且掌握了一些諸如目標IP地址等的有用信息。
明文已知的主動竊聽的例子是IP欺騙。攻擊者將數據包中的目標IP地址替換為在他控制下的主機的IP地址。該數據包被接入點(AP)接收并解密,通過網絡發送到由攻擊者控制下的主機。如果保密信道中止于一個網關,比如VPN集線器,則這種攻擊能夠成功地穿過加密信道并在網關處被解密,然后以明文形式送到攻擊者指定的機器。如果IP頭被加密,攻擊者也只需修改IP頭并保證校驗和的有效性。
3.4 明文已知的主動竊聽
利用前面分析的WEP算法的脆弱性,攻擊者可以向網絡中插入特定的數據包,用它們刺探網絡的情況以便收集信息對未來的數據包進行解密。比如,攻擊者使用他在無線LAN上的機器發送一個消息,與此消息相關的初始化矢量(IV)就可以被攻擊者用來在以后攻擊使用同樣IV進行加密的數據包。從數學的角度來說,當使用同樣的初始化矢量時,C1⊕C2=P1⊕P2,如果知道了P1,并且通過竊聽知道了C1和C2,則很容易得到P2。攻擊者可以很容易地建立起一個(IV,P1)的數據庫,這樣就可以解密曾使用WEP算法在數據鏈路層進行加密的任何數據。
3.5 非授權訪問
非授權訪問不同于前面討論的任何攻擊方式,它針對的不是特定的用戶或用戶集,而是整個網絡。一旦攻擊者具有了對網絡的訪問權限,他就可以對網絡發動進一步的攻擊,或者僅僅是免費使用網絡。盡管免費使用對大部分網絡來說也許不是很嚴重的威脅,但網絡訪問權的獲得對后面將要講到的ARP襲擊是一個關鍵的步驟。
3.6? 中間人攻擊
攻擊者首先阻止客戶端和接入點之間的連接,然后攻擊者扮演一個中間人的角色。也就是說,對于客戶端來說,攻擊者相當于一個接入點,客戶端同它建立連接并且獲得認證;而對真正的接入點來說,攻擊者扮演類似于客戶端的角色,并同它建立一個有效的連接。這樣一來,在客戶端看來,攻擊者就是接入點。中間人攻擊可以從會話中讀取秘密數據或者修改數據包,從而破壞會話的完整性。這是一種實時攻擊,就是說攻擊發生在目標機器通話的過程中。
3.7 會話接管
會話接管的攻擊目標是會話的完整性。客戶端同無線接入點建立了有效的連接以后,攻擊者從客戶端和接入點的會話中收集到足夠多的信息,開始阻塞客戶端同接入點的連接,而它自己則偽裝成客戶端同接入點進行會話。
3.8 應答攻擊
應答攻擊同樣是針對信息的完整性。它使用非法獲得的目標機的認證權限訪問網絡,但不影響目標機的正常會話。這不是一種實時攻擊,在最初的會話結束后的時間里,攻擊者可以用目標機的訪問權限與AP建立起信任關系,因為它使用的是合法用戶的賬號,所以AP會認為它就是合法的用戶。
4 常用的安全機制與安全技術
無線安全技術可以劃分為三種安全策略。多數安全產品提供商在配置安全系統時會采用這三種安全策略的組合。第一種策略是認證,這種策略包括判斷客戶端是否是授權的無線LAN用戶以及確定該用戶有什么權限,同時它也包括阻止非授權用戶使用無線LAN的機制。第二種策略是在用戶得到認證并接入無線LAN后維護會話的保密性機制。一般來說,保密性通過使用加密技術得以實現。最后一種策略是校驗信息的完整性。
4.1 認證
802.11標準提供了一組可選的認證方案。最基本的認證機制是使用服務集標識符(SSID)認證。無線客戶端必需出示正確的SSID才能訪問無線接入點,利用SSID可以很好地進行用戶群體分組,避免任何漫游帶來的安全性能和訪問性能的問題,因此可以認為SSID是一個簡單的口令,從而為無線局域網提供一定的安全性。然而由于無線接入點AP向外廣播它的SSID,使安全程度下降。另外,一般情況下,用戶自己配置客戶端系統,所以很多人都知道它的SSID,很容易共享給非法用戶。況且有的廠家支持“任何”SSID方式,只要無線客戶端處在AP范圍內,它都會自動連接到AP,這將繞過SSID的安全功能。
另一種認證技術是物理地址(MAC)過濾。每個無線客戶端網卡都有惟一的物理地址標識,因此可以在AP中手工維護一組允許訪問的MAC地址列表,實現物理地址過濾。物理地址過濾屬于硬件認證,而不是用戶認證。這種方式要求AP中的MAC地址列表必須隨時更新,目前都是手工操作。如果用戶增加,則擴展能力很差,因此只適合于小型網絡規模。另外,非法用戶利用網絡偵聽手段很容易竊取合法的MAC地址,而且MAC地址并不難修改,因此非法用戶完全可以盜用合法的MAC地址進行非法接入。
還有一種擴展認證協議(EAP),它支持雙向認證和動態密鑰。雙向認證使用兩個互不相關的認證過程。客戶端向接入點證實自己的身份,而接入點則要向服務器證實自己的身份,更進一步,還可以要求無線接入點在一個合理的限定時間內向客戶端證實自己的合法身份。雙向認證可以有效地阻止中間人攻擊,攻擊者無法欺騙客戶端說它是無線接入點,這就使得檢測和隔離虛假訪問點與非法客戶端成為可能,至少增加了攻擊難度,從而提高了網絡的安全性。其他比較常見的認證方式還有802.1x認證(端口訪問控制技術)、隧道傳輸層安全(TTLS)、增強型可擴展認證協議(PEAP)、無線傳輸層安全(WTLS),包認證等。
4.2 加密
使用加密算法可以保證數據包的隱秘性。加密系統的設計相當于為數據傳輸提供了一個虛擬通道,數據通過這個通道就如同通過受到保護的網絡一樣。如果加密系統設計得適當并能正確地實現,則對任何沒有密鑰的人來說數據是不可讀的,并且任何改變加密數據的試圖都不能得逞。這就要求有加密完整性檢查或者說校驗。加密系統的兩個關鍵設計參數是對哪個網絡層進行加密以及對數據進行解密的節點的位置放在哪里。
加密可以在各個協議層進行。加密所在的協議層越低,加密信道的安全性就越高。對于IP欺騙攻擊,在第三層加密容易實施,但在第二層加密就有了難度,因為第三層加密IP地址是以明文方式傳送的;而第二層加密雖然可以降低IP欺騙攻擊的威脅但不能阻止ARP欺騙的攻擊,因為MAC地址仍然是以明文傳輸的。從孤立的觀點來看,只要控制了底層,所有的高層就安全了。實際上并非如此,因此要對所有的協議層都進行加密才能解決這個問題。
加密信道可以有三種可能的終止節點。第一個可能的終止節點是無線接入點AP,第二個可能的終止節點是無線網絡與有線網絡的接口點,第三個可能的終止節點是有線網絡中的服務器,加密消息到了最終目的以后才被解密。所有這三種可能都可以被使用以形成深度防御。4.3 完整性檢查
IEEE 802.11標準把WEP校驗和定義為“一個以報文為自變量的線性函數”。這樣做的結果是:有可能在不破壞校驗和的前提下對密文進行有控制的修改。同樣,RC4本身也是一個線性函數,構成CRC和RC4條件的實體可以在不破壞計算結果的前提下重新排序。在只允許對分組內容的部分信息進行修改的前提下,要計算出預期的結果,攻擊者只需知道原始密文和想得到的明文之間的區別就可以辦到。
安全哈希算法(SHA-1)根據明文消息計算出一個160bit的值。對這種算法來說,兩個不同的消息得出同樣的SHA-1結果幾乎是不可能的。因此,對消息的任何改變都可以被發現,可見采用該算法可以很好地保證數據的完整性。
安全不是一種靜止的狀態,而是對付潛在威脅的一個過程。為了組建、運行、維護一個安全的網絡,管理者必須充分了解所要保護的信息的價值和威脅的來源,并且考慮自己的需要和所擁有的安全手段。然后使用各種有助于緩解威脅的策略比如技術手段、管理政策、用戶培訓等手段來降低威脅。
為了保證無線網絡的安全,建議使用以下安全策略:雙向認證;在鏈路層對信道進行加密;數據完整性檢查。
參考文獻
[1]?BARNES C. 無線網絡安全防護[M]. 劉堃,譯. 北京:機械工業出版社,2003.
[2]?ANSI/IEEE Std 802.11[S]. 1999 Edition.
[3] ?WELCH C D J. A survey of 802.11a wireless security threats and security mechanisms[R],2003
