網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 前言本文描述Internet上的一種安全攻擊,它可能侵害到WWW用戶的隱私和數(shù)據(jù)完整性。這種攻擊可以在現(xiàn)有的系統(tǒng)上實(shí)現(xiàn),危害最普通的Web瀏覽器用戶,包括Netscape Navigator和Microsoft Internet Explorer用戶。 允許攻擊者創(chuàng)造整個(gè)WWW世界的影像拷貝。影像Web的入口進(jìn)入到攻擊者的Web服務(wù)器,經(jīng)過(guò)攻擊者機(jī)器的過(guò)濾作用,允許攻擊者監(jiān)控受攻擊者的任何活動(dòng),包括帳戶和口令。攻擊者也能以受攻擊者的名義將錯(cuò)誤或者易于誤解的數(shù)據(jù)發(fā)送到真正的Web服務(wù)器,以及以任何Web服務(wù)器的名義發(fā)送數(shù)據(jù)給受攻擊者。簡(jiǎn)而言之,攻擊者觀察和控制著受攻擊者在Web上做的每一件事。 欺騙攻擊 在一次欺騙攻擊中,攻擊者創(chuàng)造一個(gè)易于誤解的上下文環(huán)境,以誘使受攻擊者進(jìn)入并且做出缺乏安全考慮的決策。欺騙攻擊就像是一場(chǎng)虛擬游戲:攻擊者在受攻擊者的周圍建立起一個(gè)錯(cuò)誤但是令人信服的世界。如果該虛擬世界是真實(shí)的話,那么受攻擊者所做的一切都是無(wú)可厚非的。但遺憾的是,在錯(cuò)誤的世界中似乎是合理的活動(dòng)可能會(huì)在現(xiàn)實(shí)的世界中導(dǎo)致災(zāi)難性的后果。 欺騙攻擊在現(xiàn)實(shí)的電子交易中也是常見(jiàn)的現(xiàn)象。例如,我們?cè)?jīng)聽(tīng)說(shuō)過(guò)這樣的事情:一些西方罪犯分子在公共場(chǎng)合建立起虛假的ATM取款機(jī),該種機(jī)器可以接受ATM卡,并且會(huì)詢問(wèn)用戶的PIN密碼。一旦該種機(jī)器獲得受攻擊者的PIN密碼,它會(huì)要么“吃卡”,要么反饋“故障”,并返回ATM卡。不論哪一種情況,罪犯都會(huì)獲得足夠的信息,以復(fù)制出一個(gè)完全一樣的ATM卡。后面的事情大家可想而知了。在這些攻擊中,人們往往被所看到的事物所愚弄:ATM取款機(jī)所處的位置,它們的外形和裝飾,以及電子顯示屏的內(nèi)容等等。 人們利用計(jì)算機(jī)系統(tǒng)完成具有安全要求的決策時(shí)往往也是基于其所見(jiàn)。例如,在訪問(wèn)網(wǎng)上銀行時(shí),你可能根據(jù)你所見(jiàn)的銀行Web頁(yè)面,從該行的帳戶中提取或存入一定數(shù)量的存款。因?yàn)槟阆嘈拍闼L問(wèn)的Web頁(yè)面就是你所需要的銀行的Web頁(yè)面。無(wú)論是頁(yè)面的外觀、URL地址,還是其他一些相關(guān)內(nèi)容,都讓你感到非常熟悉,沒(méi)有理由不相信。但是,你很可能是在被愚弄。 [page_break]Web欺騙的兩個(gè)組成部分 為了分析可能出現(xiàn)欺騙攻擊的范圍和嚴(yán)重性,我們需要深入研究關(guān)于Web欺騙的兩個(gè)部分:安全決策和暗示。 安全決策 安全決策,這里指的是會(huì)導(dǎo)致安全問(wèn)題的一類決策。這類決策往往都含有較為敏感的數(shù)據(jù),也就是意味著一個(gè)人在做出決策時(shí),可能會(huì)因?yàn)殛P(guān)鍵數(shù)據(jù)的泄露,導(dǎo)致不受歡迎的結(jié)果。很可能發(fā)生這樣的事情:第三方利用各類決策數(shù)據(jù)攻破某種秘密,進(jìn)行破壞活動(dòng),或者導(dǎo)致不安全的后果。例如,在某種場(chǎng)合輸入帳戶和密碼,就是我們?cè)诖苏劦降陌踩珱Q策問(wèn)題。因?yàn)閹艉兔艽a的泄露會(huì)產(chǎn)生我們不希望發(fā)生的問(wèn)題。此外,從Internet上下載文件也是一類安全決策問(wèn)題。不能否認(rèn),在下載的文件當(dāng)中可能會(huì)包含有惡意破壞的成分,盡管這樣的事情不會(huì)經(jīng)常發(fā)生。 安全決策問(wèn)題無(wú)處不在,甚至在我們通過(guò)閱讀顯示信息做出決策時(shí),也存在一個(gè)關(guān)于信息準(zhǔn)確性的安全決策問(wèn)題。例如,如果你決定根據(jù)網(wǎng)上證券站點(diǎn)所提供的證券價(jià)格購(gòu)買某類證券時(shí),那么你必須確保所接收信息的準(zhǔn)確性。如果有人故意提供不正確的證券價(jià)格,那么不可避免地會(huì)有人浪費(fèi)自己的財(cái)富。 暗示 WWW站點(diǎn)提供給用戶的是豐富多彩的各類信息,人們通過(guò)瀏覽器任意翻閱網(wǎng)頁(yè),根據(jù)得到的上下文環(huán)境來(lái)做出相應(yīng)的決定。Web頁(yè)面上的文字、圖畫與聲音可以給人以深刻的印象,也正是在這種背景下,人們往往能夠判斷出該網(wǎng)頁(yè)的地址。例如,一個(gè)特殊標(biāo)識(shí)的存在一般意味著處于某個(gè)公司的Web站點(diǎn)。 我們都知道目標(biāo)的出現(xiàn)往往傳遞著某種暗示。在計(jì)算機(jī)世界中,我們往往都習(xí)慣于各類圖標(biāo)、圖形,它們分別代表著各類不同的含義。富有經(jīng)驗(yàn)的瀏覽器用戶對(duì)某些信息的反應(yīng)就如同富有經(jīng)驗(yàn)的駕駛員對(duì)交通信號(hào)和標(biāo)志做出的反應(yīng)一樣。 目標(biāo)的名字能傳達(dá)更為充分的信息。人們經(jīng)常根據(jù)一個(gè)文件的名稱來(lái)推斷它是關(guān)于什么的。manual.doc是用戶手冊(cè)的正文嗎?它完全可以是另外一個(gè)文件種類,而不是用戶手冊(cè)一類的文檔。一個(gè)microsoft.com的鏈接難道就一定指向我們大家都知道的微軟公司的URL地址嗎?顯然可以偷梁換柱,改向其他地址。 人們往往還會(huì)在時(shí)間的先后順序中得到某種暗示。如果兩個(gè)事件同時(shí)發(fā)生,你自然地會(huì)認(rèn)為它們是有關(guān)聯(lián)的。如果在點(diǎn)擊銀行的網(wǎng)頁(yè)時(shí),username對(duì)話框同時(shí)出現(xiàn)了,你自然地會(huì)認(rèn)為你應(yīng)該輸入你在該銀行的帳戶與口令。如果你在點(diǎn)擊了一個(gè)文檔鏈接后,立即就開(kāi)始了下載,那么你很自然地會(huì)認(rèn)為該文件正從該站點(diǎn)下載。然而,以上的想法不一定都是正確的。 如果你僅僅看到一個(gè)彈出窗口,那么你會(huì)和一個(gè)可視的事件聯(lián)系起來(lái),而不會(huì)認(rèn)識(shí)到一個(gè)隱藏在窗口背后的不可視的事件。 現(xiàn)代的用戶接口程序設(shè)計(jì)者花費(fèi)很大的精力來(lái)設(shè)計(jì)簡(jiǎn)單易懂的界面,人們感受到了方便,但潛在的問(wèn)題是人們可能習(xí)慣于此,不可避免地被該種暗示所欺騙。 [page_break]Web欺騙的欺騙手段 TCP和DNS欺騙 除了我們將要討論的欺騙手段外,還有一些其他手段,在這里我們將不做討論。這種攻擊的例子包括TCP欺騙(在TCP包中使用偽造的IP地址)以及DNS欺騙(攻擊者偽造關(guān)于機(jī)器名稱和網(wǎng)絡(luò)信息)。讀者有興趣可以閱讀有關(guān)資料。 Web欺騙 Web欺騙是一種電子信息欺騙,攻擊者在其中創(chuàng)造了整個(gè)Web世界的一個(gè)令人信服但是完全錯(cuò)誤的拷貝。錯(cuò)誤的Web看起來(lái)十分逼真,它擁有相同的網(wǎng)頁(yè)和鏈接。然而,攻擊者控制著錯(cuò)誤的Web站點(diǎn),這樣受攻擊者瀏覽器和Web之間的所有網(wǎng)絡(luò)信息完全被攻擊者所截獲,其工作原理就好像是一個(gè)過(guò)濾器。 后果 由于攻擊者可以觀察或者修改任何從受攻擊者到Web服務(wù)器的信息;同樣地,也控制著從Web服務(wù)器至受攻擊者的返回?cái)?shù)據(jù),這樣攻擊者就有許多發(fā)起攻擊的可能性,包括監(jiān)視和破壞。 攻擊者能夠監(jiān)視受攻擊者的網(wǎng)絡(luò)信息,記錄他們?cè)L問(wèn)的網(wǎng)頁(yè)和內(nèi)容。當(dāng)受攻擊者填寫完一個(gè)表單并發(fā)送后,這些數(shù)據(jù)將被傳送到Web服務(wù)器,Web服務(wù)器將返回必要的信息,但不幸的是,攻擊者完全可以截獲并加以使用。大家都知道絕大部分在線公司都是使用表單來(lái)完成業(yè)務(wù)的,這意味著攻擊者可以獲得用戶的帳戶和密碼。下面我們將看到,即使受攻擊者有一個(gè)“安全”連接(通常是通過(guò)Secure Sockets Layer來(lái)實(shí)現(xiàn)的,用戶的瀏覽器會(huì)顯示一把鎖或鑰匙來(lái)表示處于安全連接),也無(wú)法逃脫被監(jiān)視的命運(yùn)。 [page_break]Web欺騙的工作原理 欺騙能夠成功的關(guān)鍵是在受攻擊者和其他Web服務(wù)器之間設(shè)立起攻擊者的Web服務(wù)器,這種攻擊種類在安全問(wèn)題中稱為“來(lái)自中間的攻擊”。為了建立起這樣的中間Web服務(wù)器,黑客往往進(jìn)行以下工作。 改寫URL 首先,攻擊者改寫Web頁(yè)中的所有URL地址,這樣它們指向了攻擊者的Web服務(wù)器而不是真正的Web服務(wù)器。假設(shè)攻擊者所處的Web服務(wù)器是 www.org ,攻擊者通過(guò)在所有鏈接前增加 http://www.www.org 來(lái)改寫URL。例如, http://home.xxx1.com 將變?yōu)?http://www.www.org/http://home.xxx1.com. 當(dāng)用戶點(diǎn)擊改寫過(guò)的 http://home.xxx1.com (可能它仍然顯示的是 http://home.xxx1 ),將進(jìn)入的是 http://www.www.org ,然后由 http://www.www.org 向 http://home.xxx1.com 發(fā)出請(qǐng)求并獲得真正的文檔,然后改寫文檔中的所有鏈接,最后經(jīng)過(guò) http://www.www.org 返回給用戶的瀏覽器。工作流程如下所示: 1.用戶點(diǎn)擊經(jīng)過(guò)改寫后的 http://www.www.org/http://home.xxx1.com ; 2. http://www.www.org向http://home.xxx1.com 請(qǐng)求文檔; 3. http://home.xxx1.com向http://www.www.org 返回文檔; 4. http://www.www.org 改寫文檔中的所有URL; 5. http://www.www.org 向用戶返回改寫后的文檔。 很顯然,修改過(guò)的文檔中的所有URL都指向了 www.org ,當(dāng)用戶點(diǎn)擊任何一個(gè)鏈接都會(huì)直接進(jìn)入 www.org ,而不會(huì)直接進(jìn)入真正的URL。如果用戶由此依次進(jìn)入其他網(wǎng)頁(yè),那么他們是永遠(yuǎn)不會(huì)擺脫掉受攻擊的可能。 關(guān)于表單 如果受攻擊者填寫了一個(gè)錯(cuò)誤Web上的表單,那么結(jié)果看來(lái)似乎會(huì)很正常,因?yàn)橹灰裱瓨?biāo)準(zhǔn)的Web協(xié)議,表單欺騙很自然地不會(huì)被察覺(jué):表單的確定信息被編碼到URL中,內(nèi)容會(huì)以HTML形式來(lái)返回。既然前面的URL都已經(jīng)得到了改寫,那么表單欺騙將是很自然的事情。 當(dāng)受攻擊者提交表單后,所提交的數(shù)據(jù)進(jìn)入了攻擊者的服務(wù)器。攻擊者的服務(wù)器能夠觀察,甚至是修改所提交的數(shù)據(jù)。同樣地,在得到真正的服務(wù)器返回信息后,攻擊者在將其向受攻擊者返回以前也可以為所欲為。 關(guān)于“安全連接” 我們都知道為了提高Web應(yīng)用的安全性,有人提出了一種叫做安全連接的概念。它是在用戶瀏覽器和Web服務(wù)器之間建立一種基于SSL的安全連接。可是讓人感到遺憾的是,它在Web欺騙中基本上無(wú)所作為。受攻擊者可以和Web欺騙中所提供的錯(cuò)誤網(wǎng)頁(yè)建立起一個(gè)看似正常的“安全連接”:網(wǎng)頁(yè)的文檔可以正常地傳輸而且作為安全連接標(biāo)志的圖形(通常是關(guān)閉的一把鑰匙或者鎖)依然工作正常。換句話說(shuō),也就是瀏覽器提供給用戶的感覺(jué)是一種安全可靠的連接。但正像我們前面所提到的那樣,此時(shí)的安全連接是建立在 www.org 而非用戶所希望的站點(diǎn)。 攻擊的導(dǎo)火索 為了開(kāi)始攻擊,攻擊者必須以某種方式引誘受攻擊者進(jìn)入攻擊者所創(chuàng)造的錯(cuò)誤的Web。黑客往往使用下面若干種方法。 1把錯(cuò)誤的Web鏈接放到一個(gè)熱門Web站點(diǎn)上; 2如果受攻擊者使用基于Web的郵件,那么可以將它指向錯(cuò)誤的Web; 3創(chuàng)建錯(cuò)誤的Web索引,指示給搜索引擎。 [page_break]Web欺騙的細(xì)節(jié)完善 前面描述的攻擊相當(dāng)有效,但是它還不是十分完美的。黑客往往還要?jiǎng)?chuàng)造一個(gè)可信的環(huán)境,包括各類圖標(biāo)、文字、鏈接等,提供給受攻擊者各種各樣的十分可信的暗示。總之就是隱藏一切尾巴。此時(shí),如果錯(cuò)誤的Web是富有敵意的,那么無(wú)辜的用戶將處于十分危險(xiǎn)的境地。 另外,黑客還會(huì)注意以下方面。 1. 狀態(tài)線路 連接狀態(tài)是位于瀏覽器底部的提示信息,它提示當(dāng)前連接的各類信息。Web欺騙中涉及兩類信息。首先,當(dāng)鼠標(biāo)放置在Web鏈接上時(shí),連接狀態(tài)顯示鏈接所指的URL地址,這樣,受攻擊者可能會(huì)注意到重寫的URL地址。第二,當(dāng)Web連接成功時(shí),連接狀態(tài)將顯示所連接的服務(wù)器名稱。這樣,受攻擊者可以注意到顯示 www.org ,而非自己所希望的站點(diǎn)。 攻擊者能夠通過(guò)JavaScript編程來(lái)彌補(bǔ)這兩項(xiàng)不足。由于JavaScript能夠?qū)B接狀態(tài)進(jìn)行寫操作,而且可以將JavaScript操作與特定事件綁定在一起,所以,攻擊者完全可以將改寫的URL狀態(tài)恢復(fù)為改寫前的狀態(tài)。這樣Web欺騙將更為可信。 2. 位置狀態(tài)行 瀏覽器的位置狀態(tài)行顯示當(dāng)前所處的URL位置,用戶也可以在其中鍵入新的URL地址進(jìn)入到另外的URL,如果不進(jìn)行必要的更改,此時(shí)URL會(huì)暴露出改寫后的URL。同樣地,利用JavaScript可以隱藏掉改寫后的URL。JavaScript能用不真實(shí)的URL掩蓋真實(shí)的URL,也能夠接受用戶的鍵盤輸入,并將之改寫,進(jìn)入不正確的URL。 Web欺騙的弱點(diǎn) 盡管黑客在進(jìn)行Web欺騙時(shí)已絞盡腦汁,但是還是留有一些不足。 文檔信息 攻擊者并不是不留絲毫痕跡,HTML源文件就是開(kāi)啟欺騙迷宮的鑰匙。攻擊者對(duì)其無(wú)能為力。通過(guò)使用瀏覽器中“viewsource”命令,用戶能夠閱讀當(dāng)前的HTML源文件。通過(guò)閱讀HTML源文件,可以發(fā)現(xiàn)被改寫的URL,因此可以覺(jué)察到攻擊。遺憾的是,對(duì)于初學(xué)者而言,HTML源文件實(shí)在是有些難懂。 通過(guò)使用瀏覽器中“view document information”命令,用戶能夠閱讀當(dāng)前URL地址的一些信息。可喜的是這里提供的是真實(shí)的URL地址,因此用戶能夠很容易判斷出Web欺騙。不過(guò),絕大多數(shù)用戶都很少注意以上一些屬性,可以說(shuō)潛在的危險(xiǎn)還是存在的。 [page_break]Web欺騙的預(yù)防解決 逃離災(zāi)難 受攻擊者可以自覺(jué)與不自覺(jué)地離開(kāi)攻擊者的錯(cuò)誤Web頁(yè)面。這里有若干種方法。訪問(wèn)Bookmark或使用瀏覽器中提供的“Open location”進(jìn)入其他Web頁(yè)面,離開(kāi)攻擊者所設(shè)下的陷阱。不過(guò),如果用戶使用“Back”按鍵,則會(huì)重新進(jìn)入原先的錯(cuò)誤Web頁(yè)面。當(dāng)然,如果用戶將所訪問(wèn)的錯(cuò)誤Web存入Bookmark,那么下次可能會(huì)直接進(jìn)入攻擊者所設(shè)下的陷阱。 關(guān)于追蹤攻擊者 有人建議應(yīng)當(dāng)通過(guò)跟蹤來(lái)發(fā)現(xiàn)并處罰攻擊者。確實(shí)如此,攻擊者如果想進(jìn)行Web欺騙的話,那么離不開(kāi)Web服務(wù)器的幫助。但是,他們利用的Web服務(wù)器很可能是被攻擊后的產(chǎn)物,就象罪犯駕駛著盜竊來(lái)的汽車去作案一樣。 預(yù)防辦法 Web欺騙是當(dāng)今Internet上具有相當(dāng)危險(xiǎn)性而不易被察覺(jué)的欺騙手法。幸運(yùn)的是,我們可以采取的一些保護(hù)辦法。 短期的解決方案 為了取得短期的效果,最好從下面三方面來(lái)預(yù)防: 1.禁止瀏覽器中的JavaScript功能,那么各類改寫信息將原形畢露; 2.確保瀏覽器的連接狀態(tài)是可見(jiàn)的,它將給你提供當(dāng)前位置的各類信息; 3.時(shí)刻注意你所點(diǎn)擊的URL鏈接會(huì)在位置狀態(tài)行中得到正確的顯示。 現(xiàn)在,JavaScript、ActiveX以及Java提供越來(lái)越豐富和強(qiáng)大的功能,而且越來(lái)越為黑客們進(jìn)行攻擊活動(dòng)提供了強(qiáng)大的手段。為了保證安全,建議用戶考慮禁止這些功能。 這樣做,用戶將損失一些功能,但是與可能帶來(lái)的后果比較起來(lái),每個(gè)人會(huì)得出自己的結(jié)論。 長(zhǎng)期的解決方案 1.改變?yōu)g覽器,使之具有反映真實(shí)URL信息的功能,而不會(huì)被蒙蔽; 2.對(duì)于通過(guò)安全連接建立的Web——瀏覽器對(duì)話,瀏覽器還應(yīng)該告訴用戶誰(shuí)在另一端,而不只是表明一種安全連接的狀態(tài)。比如:在建立了安全連接后,給出一個(gè)提示信息“NetscapeInc.”等等。 所有的解決方案,可以根據(jù)用戶的安全要求和實(shí)際條件來(lái)加以選擇。 網(wǎng)絡(luò)的神奇作用吸引著越來(lái)越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來(lái)越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!