有關(guān)無(wú)線局域網(wǎng)應(yīng)用中的安全知識(shí)
University of California at Berkeley(美國(guó)加州柏克萊大學(xué))的三名研究人員,Nikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發(fā)現(xiàn)WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學(xué)家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點(diǎn),而RC4正是WEP的基礎(chǔ)。就在幾天后,2001年8月底,Rice University(美國(guó)萊斯大學(xué))的學(xué)生與兩名AT&T(美國(guó)電報(bào)電話公司)實(shí)驗(yàn)室的員工(Adam Stubblefield與John Joannidis、Aviel D. Rubin),將這兩篇論文的內(nèi)容化為實(shí)際的程序代碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺(tái)可以連上無(wú)線網(wǎng)絡(luò)的個(gè)人計(jì)算機(jī),從網(wǎng)絡(luò)上下載更新過的驅(qū)動(dòng)程序,接下來就可以開始記錄網(wǎng)絡(luò)上來往的所有封包,再加以譯碼即可。
即使無(wú)線局域網(wǎng)絡(luò)的系統(tǒng)管理者使用了內(nèi)置的安全通訊協(xié)議:WEP(Wired Equivalent Privacy),無(wú)線局域網(wǎng)的安全防護(hù)仍然不夠。在倫敦一項(xiàng)長(zhǎng)達(dá)7個(gè)月的調(diào)查顯示,94%的無(wú)線局域網(wǎng)都沒有正確設(shè)定,無(wú)法遏止黑客的入侵。隸屬于國(guó)際商會(huì)(International Chamber of Commerce)的網(wǎng)絡(luò)犯罪部門(Cybercrime Unit)就發(fā)現(xiàn),即使無(wú)線網(wǎng)絡(luò)很安全,也會(huì)因?yàn)榉N種原因而大打折扣?,F(xiàn)在非常盛行「路過式的入侵(drive-by hacking)」,黑客開車進(jìn)入商業(yè)辦公區(qū),在信號(hào)所及的地方,直接在車?yán)餄B透企業(yè)的無(wú)線局域網(wǎng)。
University of California at Berkeley(美國(guó)加州柏克萊大學(xué))的三名研究人員,Nikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發(fā)現(xiàn)WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學(xué)家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點(diǎn),而RC4正是WEP的基礎(chǔ)。就在幾天后,2001年8月底,Rice University(美國(guó)萊斯大學(xué))的學(xué)生與兩名AT&T(美國(guó)電報(bào)電話公司)實(shí)驗(yàn)室的員工(Adam Stubblefield與John Joannidis、Aviel D. Rubin),將這兩篇論文的內(nèi)容化為實(shí)際的程序代碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺(tái)可以連上無(wú)線網(wǎng)絡(luò)的個(gè)人計(jì)算機(jī),從網(wǎng)絡(luò)上下載更新過的驅(qū)動(dòng)程序,接下來就可以開始記錄網(wǎng)絡(luò)上來往的所有封包,再加以譯碼即可。
WEP的運(yùn)作方式
在許多無(wú)線局域網(wǎng)中,WEP鍵值(key)被描述成一個(gè)字或位串,用來給整個(gè)網(wǎng)絡(luò)做認(rèn)證。
目前WEP使用2種編碼大小,分別是64與128位,其中包含了24位的初始向量(IV,Initialization Vector)與實(shí)際的秘密鍵值(40與104位)。大家耳熟能詳?shù)?0位編碼模式,其實(shí)相當(dāng)于64位編碼。這標(biāo)準(zhǔn)中完全沒有考慮到鍵值的管理問題;唯一的要求是,無(wú)線網(wǎng)卡與基地臺(tái)必須使用同樣的算法則。通常局域網(wǎng)的每一個(gè)用戶都會(huì)使用同樣的加密鍵值;然而,局域網(wǎng)用戶會(huì)使用不同的IV,以避免封包總是使用同樣WEP鍵值所「隨機(jī)」產(chǎn)生的RC4內(nèi)容。
在封包送出之前,會(huì)經(jīng)過一個(gè)「忠誠(chéng)檢查(IC,Integrity Check)」,并產(chǎn)生一個(gè)驗(yàn)證碼,其作用是避免數(shù)據(jù)在傳輸過程中,遭到黑客竄改。RC4接下來會(huì)從秘密鍵值與IV處,產(chǎn)生一個(gè)keystream,再用這個(gè)keystream對(duì)數(shù)據(jù)與IC做互斥運(yùn)算(XOR,Exclusive-Or)。首先IV會(huì)以一般文字方式傳送出去,然后才是加密后的數(shù)據(jù)。只要將IV、已知的鍵值、以及RC4的keystream再做一次互斥運(yùn)算,我們就可以將數(shù)據(jù)還原。
弱點(diǎn):初始向量(IV,Initialization Vector)
40或64位編碼可以填入4組鍵值;然而我們只使用了第一組。
WEP編碼的弱點(diǎn)在于IV實(shí)作的基礎(chǔ)過于薄弱。例如說,如果黑客將兩個(gè)使用同樣IV的封包記錄起來,再施以互斥運(yùn)算,就可以得到IV的值,然后算出RC4的值,最后得到整組數(shù)據(jù)。
如果我們使用的初始向量為24位,那我們就可以在繁忙的網(wǎng)絡(luò)點(diǎn)上(例如以11Mbps的頻寬,不斷傳送1500字節(jié)的封包),以不到5小時(shí)的時(shí)間算出結(jié)果。以這樣的例子來說,總數(shù)據(jù)量為24GB。因此,要在幾小時(shí)的時(shí)間內(nèi),記錄所有傳輸?shù)姆獍?,并?a href='http://regraff.com/it/weihubijiben/' target='_blank'>筆記本計(jì)算機(jī)算出其結(jié)果,是絕對(duì)可行的事情。
由于該標(biāo)準(zhǔn)并沒有規(guī)定IV所產(chǎn)生的相關(guān)事宜,所以并不是每家廠商都用到IV的24個(gè)位,并在短時(shí)間內(nèi)就重復(fù)用到相同的IV,好讓整個(gè)程序快一點(diǎn)。所以黑客所要記錄的封包就更少了。以Lucent(朗訊)的無(wú)線網(wǎng)卡來說,每次激活時(shí)它就會(huì)將IV的初始值設(shè)為0,然后再往上遞增。黑客只要記錄無(wú)線網(wǎng)絡(luò)上幾個(gè)用戶的數(shù)據(jù)內(nèi)容,馬上就可以找到使用同樣IV的封包。
Fluhrer、Martin、Shamir三人也發(fā)現(xiàn),設(shè)計(jì)不良的IV有可能會(huì)泄漏鍵值的內(nèi)容(信心水準(zhǔn)為5%),所以說只要記錄400~600萬(wàn)個(gè)封包(頂多8.5 GB的數(shù)據(jù)量),就有可能以IV來算出所有的WEP鍵值。
更進(jìn)一步探討,如果WEP鍵值的組合不是從16進(jìn)位表,而是從ASCII表而來,那么因?yàn)榭捎玫淖址麛?shù)變少,組合也會(huì)變少。那么被黑客猜中的機(jī)率就會(huì)大增,只要一兩百萬(wàn)個(gè)封包,就可以決定WEP的值。
網(wǎng)絡(luò)上可找到的入侵工具
Adam Stubblefield在其論文中詳盡的描述了整個(gè)過程,卻僅限于理論;但現(xiàn)在網(wǎng)絡(luò)上四處可見這些免費(fèi)的入侵工具程序。與Stubblefield所提的類似,所有程序支持的幾乎清一色是Prism-2芯片。使用這芯片的包括了Compaq(康柏)WL100、友訊(D-Link)DWL-650、Linksys WPC11、以及SMC 2632W等,都是市面上常見的產(chǎn)品。會(huì)選用這芯片的原因是因?yàn)槠銵inux驅(qū)動(dòng)程序(WLAN-NG)不需要登入網(wǎng)絡(luò),即可監(jiān)聽封包。這程序會(huì)先搜尋設(shè)計(jì)不良、有漏洞的IV,然后記錄500~1,000萬(wàn)不等的封包,最后在剎那間將WEP鍵值算出來。
黑客可以采取主動(dòng)式攻擊
由于以上所說的被動(dòng)式攻擊(單純的紀(jì)錄封包)十分可靠、有效,所以主動(dòng)式攻擊反而失去了其重要性。不過毫無(wú)疑問的,黑客也可以主動(dòng)的侵入網(wǎng)絡(luò),竊取數(shù)據(jù)。我們假設(shè)黑客知道了原始數(shù)據(jù)及加密后的數(shù)據(jù),收訊方會(huì)將這些信息視為正確無(wú)誤。接下來黑客就可以在不需要知道鍵值的情形下,將數(shù)據(jù)偷天換日,而收訊方仍然會(huì)將這些數(shù)據(jù)當(dāng)成正確的結(jié)果
有效的解決方法
RSA Security(RC4編碼的發(fā)明機(jī)構(gòu))與Hifn(位于加州,專精于網(wǎng)絡(luò)
安全的公司,)正努力加強(qiáng)WEP的安全,并發(fā)展新的運(yùn)算法則。兩家機(jī)構(gòu)為RC4發(fā)展的解決方案為「快速封包加密(Fast Packet Keying)」,每個(gè)封包送出時(shí),都會(huì)快速的產(chǎn)生不同的RC4鍵值。傳送與接收雙方都使用了128位的RC4鍵值,稱為暫時(shí)鍵值(TK,Temporal Key)。當(dāng)雙方利用TK連結(jié)時(shí),會(huì)使用不同的keystream,其中會(huì)加入16位的IV,再一次的產(chǎn)生128位的RC4鍵值。用戶可以通過軟硬件與驅(qū)動(dòng)程序更新,在現(xiàn)有無(wú)線局域網(wǎng)中使用RC4快速封包加密。