有關無線區域網應用中的安全知識

  University of California at Berkeley***美國加州柏克萊大學***的三名研?a href='//' target='_blank'>咳嗽保琋ikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發現WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點,而RC4正是WEP的基礎。就在幾天後,2001年8月底,Rice University***美國萊斯大學***的學生與兩名AT&T***美國電報電話公司***實驗室的員工***Adam Stubblefield與John Joannidis、Aviel D. Rubin***,將這兩篇論文的內容化為實際的程式程式碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺可以連上無線網路的個人計算機,從網路上下載更新過的驅動程式,接下來就可以開始記錄網路上來往的所有封包,再加以譯碼即可。

  即使無線區域網絡的系統管理者使用了內建的安全通訊協議:WEP***Wired Equivalent Privacy***,無線區域網的安全防護仍然不夠。在倫敦一項長達7個月的調查顯示,94%的無線區域網都沒有正確設定,無法遏止黑客的入侵。隸屬於國際商會***International Chamber of Commerce***的網路犯罪部門***Cybercrime Unit***就發現,即使無線網路很安全,也會因為種種原因而大打折扣。現在非常盛行「路過式的入侵***drive-by hacking***」,黑客開車進入商業辦公區,在訊號所及的地方,直接在車裡滲透企業的無線區域網。

  University of California at Berkeley***美國加州柏克萊大學***的三名研究人員,Nikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發現WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點,而RC4正是WEP的基礎。就在幾天後,2001年8月底,Rice University***美國萊斯大學***的學生與兩名AT&T***美國電報電話公司***實驗室的員工***Adam Stubblefield與John Joannidis、Aviel D. Rubin***,將這兩篇論文的內容化為實際的程式程式碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺可以連上無線網路的個人計算機,從網路上下載更新過的驅動程式,接下來就可以開始記錄網路上來往的所有封包,再加以譯碼即可。

  WEP的運作方式

  在許多無線區域網中,WEP鍵值***key***被描述成一個字或位串,用來給整個網路做認證。

  目前WEP使用2種編碼大小,分別是64與128位,其中包含了24位的初始向量***IV,Initialization Vector***與實際的祕密鍵值***40與104位***。大家耳熟能詳的40位編碼模式,其實相當於64位編碼。這標準中完全沒有考慮到鍵值的管理問題;唯一的要求是,無線網絡卡與基地臺必須使用同樣的演算法則。通常區域網的每一個使用者都會使用同樣的加密鍵值;然而,區域網使用者會使用不同的IV,以避免封包總是使用同樣WEP鍵值所「隨機」產生的RC4內容。

  在封包送出之前,會經過一個「忠誠檢查***IC,Integrity Check***」,併產生一個驗證碼,其作用是避免資料在傳輸過程中,遭到黑客竄改。RC4接下來會從祕密鍵值與IV處,產生一個keystream,再用這個keystream對資料與IC做互斥運算***XOR,Exclusive-Or***。首先IV會以一般文字方式傳送出去,然後才是加密後的資料。只要將IV、已知的鍵值、以及RC4的keystream再做一次互斥運算,我們就可以將資料還原。

  弱點:初始向量***IV,Initialization Vector***

  40或64位編碼可以填入4組鍵值;然而我們只使用了第一組。

  WEP編碼的弱點在於IV實作的基礎過於薄弱。例如說,如果黑客將兩個使用同樣IV的封包記錄起來,再施以互斥運算,就可以得到IV的值,然後算出RC4的值,最後得到整組資料。

  如果我們使用的初始向量為24位,那我們就可以在繁忙的網路點上***例如以11Mbps的頻寬,不斷傳送1500位元組的封包***,以不到5小時的時間算出結果。以這樣的例子來說,總資料量為24GB。因此,要在幾小時的時間內,記錄所有傳輸的封包,並以筆記本計算機算出其結果,是絕對可行的事情。

  由於該標準並沒有規定IV所產生的相關事宜,所以並不是每家廠商都用到IV的24個位,並在短時間內就重複用到相同的IV,好讓整個程式快一點。所以黑客所要記錄的封包就更少了。以Lucent***朗訊***的無線網絡卡來說,每次啟用時它就會將IV的初始值設為0,然後再往上遞增。黑客只要記錄無線網路上幾個使用者的資料內容,馬上就可以找到使用同樣IV的封包。

  Fluhrer、Martin、Shamir三人也發現,設計不良的IV有可能會洩漏鍵值的內容***信心水準為5%***,所以說只要記錄400~600萬個封包***頂多8.5 GB的資料量***,就有可能以IV來算出所有的WEP鍵值。

  更進一步探討,如果WEP鍵值的組合不是從16進位表,而是從ASCII表而來,那麼因為可用的字元數變少,組合也會變少。那麼被黑客猜中的機率就會大增,只要一兩百萬個封包,就可以決定WEP的值。

  網路上可找到的入侵工具

  Adam Stubblefield在其論文中詳盡的描述了整個過程,卻僅限於理論;但現在網路上四處可見這些免費的入侵工具程式。與Stubblefield所提的類似,所有程式支援的幾乎清一色是Prism-2晶片。使用這晶片的包括了Compaq***康柏***WL100、友訊***D-Link***DWL-650、Linksys WPC11、以及SMC 2632W等,都是市面上常見的產品。會選用這晶片的原因是因為其Linux驅動程式***WLAN-NG***不需要登入網路,即可監聽封包。這程式會先搜尋設計不良、有漏洞的IV,然後記錄500~1,000萬不等的封包,最後在剎那間將WEP鍵值算出來。

  黑客可以採取主動式攻擊

  由於以上所說的被動式攻擊***單純的紀錄封包***十分可靠、有效,所以主動式攻擊反而失去了其重要性。不過毫無疑問的,黑客也可以主動的侵入網路,竊取資料。我們假設黑客知道了原始資料及加密後的資料,收訊方會將這些資訊視為正確無誤。接下來黑客就可以在不需要知道鍵值的情形下,將資料偷天換日,而收訊方仍然會將這些資料當成正確的結果

  有效的解決方法

  RSA Security***RC4編碼的發明機構***與Hifn***位於加州,專精於網路

  安全的公司,***正努力加強WEP的安全,並發展新的運演算法則。兩家機構為RC4發展的解決方案為「快速封包加密***Fast Packet Keying***」,每個封包送出時,都會快速的產生不同的RC4鍵值。傳送與接收雙方都使用了128位的RC4鍵值,稱為暫時鍵值***TK,Temporal Key***。當雙方利用TK連結時,會使用不同的keystream,其中會加入16位的IV,再一次的產生128位的RC4鍵值。使用者可以通過軟硬體與驅動程式更新,在現有無線區域網中使用RC4快速封包加密。