摘 要: IE安全是信息安全領(lǐng)域一個(gè)非常重要的方面,隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,安全的重要性也日漸突出,薄弱的認(rèn)證環(huán)節(jié),系統(tǒng)的易被監(jiān)視性、易欺騙性等這些因素在一定程度上來(lái)說(shuō)直接危害到一個(gè)網(wǎng)站的安全。但一直以來(lái)有很多網(wǎng)站在設(shè)計(jì)的時(shí)候?qū)Π踩S護(hù)并沒(méi)有一個(gè)正確的理解,因而也不可能認(rèn)識(shí)到安全維護(hù)對(duì)于網(wǎng)站的重要性。目前,在信息通信的發(fā)展過(guò)程當(dāng)中,IE安全漏洞始終是一個(gè)引起各方面高度關(guān)注的問(wèn)題,為了讓大家上網(wǎng)更加安全快速,本文作者總結(jié)整理了IE的安全漏洞和防范措施,以及對(duì)抗常見(jiàn)黑客攻擊手段。
關(guān)鍵詞: IE漏洞 黑客攻擊 防火墻技術(shù)
1.引言
IE漏洞一般是程序員編程時(shí)的疏忽或者考慮不周導(dǎo)致的,還有就是該功能有一定用處(對(duì)部分使用者很有用),但是卻被黑客利用,也算是漏洞。漏洞的形成有兩方面,一方面因?yàn)檐浖⑾到y(tǒng)分成若干板塊,分工編寫(xiě)。問(wèn)題就出在分工編寫(xiě)這個(gè)環(huán)節(jié):世界上沒(méi)有思維一樣的人,所以難免會(huì)出現(xiàn)種種問(wèn)題,且不說(shuō)“幾不管”的中間地帶,就是在軟件匯總時(shí),為了測(cè)試方便,程序員總會(huì)留有后門(mén),在測(cè)試以后再進(jìn)行修補(bǔ),這些后門(mén),如果一旦疏忽(或是為某種目的故意留下),或是沒(méi)有被發(fā)現(xiàn),軟件發(fā)布后自然而然就成了漏洞。另一方面就是網(wǎng)絡(luò)協(xié)議。網(wǎng)絡(luò)協(xié)議有TCP、UDP、ICMP、IGMP等。其實(shí),它們本來(lái)的用途是好的,但卻被一些人用于不法的活動(dòng)。例如,ICMP本來(lái)是用于尋找網(wǎng)絡(luò)相關(guān)信息,后來(lái)卻被用于網(wǎng)絡(luò)嗅探和攻擊;TCP本來(lái)是用于網(wǎng)絡(luò)傳輸,后來(lái)卻被用于泄漏用戶(hù)信息。對(duì)于漏洞的補(bǔ)救方法包括本身補(bǔ)救和借助補(bǔ)救兩種方法。
2.IE經(jīng)典漏洞故障分析與實(shí)戰(zhàn)解決方案
2.1 發(fā)送錯(cuò)誤報(bào)告IE關(guān)閉。
針對(duì)不同情況,可分別用以下方法關(guān)閉IE發(fā)送錯(cuò)誤報(bào)告功能。
2.1.1對(duì)IE5.x用戶(hù),執(zhí)行“控制面板→添加或刪除程序”,在列表中選擇“Internet Explorer Error Reporting”選項(xiàng),然后單擊“更改/刪除”按鈕,將其從系統(tǒng)中刪除。
2.1.2對(duì)Windows 9x/Me/NT/2000下的IE6.0用戶(hù),則可打開(kāi)“注冊(cè)表編輯器”,找到[HKEY_ LOCAL_MACHINE\Software\ Microsoft\ Internet Explorer\Main],在右側(cè)窗格創(chuàng)建名為IEWatsonEnabled的DWORD雙字節(jié)值,并將其賦值為0。
2.1.3對(duì)Windows XP的IE6.0用戶(hù),執(zhí)行“控制面板→系統(tǒng)”,切換到“高級(jí)”選項(xiàng)卡,單擊“錯(cuò)誤報(bào)告”按鈕,選中“禁用錯(cuò)誤報(bào)告”選項(xiàng),并選中“但在發(fā)生嚴(yán)重錯(cuò)誤時(shí)通知我”,最后單擊“確定”按鈕。
2.2 IE發(fā)生內(nèi)部錯(cuò)誤,窗口被關(guān)閉。
2.2.1關(guān)閉過(guò)多的IE窗口。如果在運(yùn)行需占大量?jī)?nèi)存的程序,建議IE窗口打開(kāi)數(shù)不要超過(guò)5個(gè)。
2.2.2降低IE安全級(jí)別。執(zhí)行“工具→Internet選項(xiàng)”菜單,選擇“安全”選項(xiàng)卡,單擊“默認(rèn)級(jí)別”按鈕,拖動(dòng)滑塊降低默認(rèn)的安全級(jí)別。
2.2.3將IE升級(jí)到最新版本。IE6.0 SP1可使用以IE為核心的瀏覽器,如MyIE2。它占用系統(tǒng)資源相對(duì)要少,而且當(dāng)瀏覽器發(fā)生故障關(guān)閉時(shí),下次啟動(dòng)它,會(huì)有“是否打開(kāi)上次發(fā)生錯(cuò)誤時(shí)的頁(yè)面”的提示,盡可能地幫你挽回?fù)p失。
2.3 出現(xiàn)運(yùn)行錯(cuò)誤。
2.3.1啟動(dòng)IE,執(zhí)行“工具→Internet選項(xiàng)”菜單,選擇“高級(jí)”選項(xiàng)卡,選中“禁止腳本調(diào)試”復(fù)選框,最后單擊“確定”按鈕即可。
2.3.2將IE瀏覽器升級(jí)到最新版本。
2.4 IE窗口始終最小化的問(wèn)題。
2.4.1打開(kāi)“注冊(cè)表編輯器”,找到[HKEY_CURRENT_USER\ Software\Microsoft\Internet Explorer\Desktop\Old WorkAreas],然后選中窗口右側(cè)的“OldWorkAreaRects”,將其刪除。
2.4.2同樣在“注冊(cè)表編輯器”中找到[HKEY_ CURRENT_ USER\Software\Microsoft\Internet Explorer\Main],選擇窗口右側(cè)的“Window_Placement”,將其刪除。
2.4.3退出“注冊(cè)表編輯器”,重啟電腦,然后打開(kāi)IE,將其窗口最大化,并單擊“往下還原”按鈕將窗口還原,接著再次單擊“最大化”按鈕,最后關(guān)閉IE窗口。以后重新打開(kāi)IE時(shí),窗口就正常了。
3.黑客攻擊主要方法
3.1 IP偽裝技術(shù)。
保留IP地址不能在Internet上路由,因此使用保留IP地址的系統(tǒng)無(wú)法到達(dá)Internet。但通過(guò)建立一個(gè)IP偽裝服務(wù)器(一臺(tái)Linux服務(wù)器)可解決這一問(wèn)題。具有IP偽裝功能時(shí),當(dāng)數(shù)據(jù)包離開(kāi)用戶(hù)計(jì)算機(jī)時(shí),包含有它自身的IP地址作為“源地址”,在數(shù)據(jù)包經(jīng)過(guò)Linux服務(wù)器發(fā)送到外部世界時(shí),會(huì)經(jīng)過(guò)一個(gè)轉(zhuǎn)換。數(shù)據(jù)包的源地址改變成服務(wù)器的IP地址,而經(jīng)過(guò)轉(zhuǎn)換的數(shù)據(jù)包可以在Internet中完整路由。服務(wù)器同時(shí)記錄哪個(gè)源地址的數(shù)據(jù)包發(fā)送到Internet上的哪個(gè)目標(biāo)IP地址。當(dāng)數(shù)據(jù)包發(fā)送到Internet上之后,它能夠到達(dá)其目標(biāo)地址并獲得其響應(yīng)。從用戶(hù)角度看,他有一個(gè)能夠完整路由的Internet連接。安全性由轉(zhuǎn)換表來(lái)保證,服務(wù)器保存有哪個(gè)用戶(hù)計(jì)算機(jī)與哪個(gè)外部Internet主機(jī)通訊的記錄。如果某個(gè)黑客希望獲得對(duì)用戶(hù)計(jì)算機(jī)的訪問(wèn),幾乎是不可能的。外部世界看到的惟一的IP地址是服務(wù)器的地址,其它所有的地址都被隱藏。即使有黑客向服務(wù)器發(fā)送數(shù)據(jù)包,服務(wù)器也無(wú)法知道應(yīng)該將這個(gè)數(shù)據(jù)包發(fā)送到哪個(gè)用戶(hù)計(jì)算機(jī)。為了將內(nèi)部網(wǎng)絡(luò)連接到外部世界,需要在IP偽裝服務(wù)器上有兩個(gè)網(wǎng)絡(luò)接口。一個(gè)接口用于連接到內(nèi)部網(wǎng)絡(luò),而另一個(gè)接口用來(lái)將服務(wù)器(并通過(guò)IP偽裝將內(nèi)部網(wǎng)絡(luò))連接到外部世界。因?yàn)檫@種服務(wù)器具有多個(gè)接口,所以經(jīng)常被稱(chēng)為“多宿主”服務(wù)器。可以為連接到內(nèi)部網(wǎng)絡(luò)的網(wǎng)卡賦予一個(gè)保留IP地址。例如:#/sbin/ifconfig eth1 inet 192.168.1.1 netmask 255.255.255.0,這里,假定連接內(nèi)部網(wǎng)絡(luò)的網(wǎng)絡(luò)接口為eth1,并且內(nèi)部網(wǎng)絡(luò)中的用戶(hù)計(jì)算機(jī)數(shù)小于253。如果需要超過(guò)253個(gè)用戶(hù)計(jì)算機(jī),則可以增加網(wǎng)絡(luò)掩碼位數(shù),還可建立第二臺(tái)IP偽裝計(jì)算機(jī),并將內(nèi)部網(wǎng)絡(luò)劃分為兩個(gè)子網(wǎng)。
將用戶(hù)計(jì)算機(jī)的IP地址配置為192.168.1.2到192.168.1.254,并將所有用戶(hù)計(jì)算機(jī)的網(wǎng)關(guān)設(shè)置為192.168.1.1、網(wǎng)絡(luò)掩碼為255.255.255.0,就可以從每臺(tái)用戶(hù)計(jì)算機(jī)ping內(nèi)部網(wǎng)關(guān)了(192.168.1.1)。這時(shí),所有的用戶(hù)計(jì)算機(jī)能夠互相通信,并能夠與IP轉(zhuǎn)換服務(wù)器通信,但目前還不能從客戶(hù)計(jì)算機(jī)上到達(dá)外部世界,這需要在IP轉(zhuǎn)換服務(wù)器上定義一個(gè)過(guò)濾規(guī)則。鍵入如下命令即可。/sbin/ipchains -A forward-j MASQ-s 192.168.1.0/24-d 0.0.0.0/0/sbin/ipchains-P forward DENY第一條命令對(duì)其目標(biāo)地址不是192.168.1.0網(wǎng)絡(luò)的IP數(shù)據(jù)包打開(kāi)了IP偽裝服務(wù)。它將轉(zhuǎn)發(fā)最初來(lái)自192.168.1.0網(wǎng)絡(luò)的、經(jīng)過(guò)偽裝的IP數(shù)據(jù)包,并轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)接口所連接的網(wǎng)絡(luò)的默認(rèn)路由器。第二條命令將默認(rèn)的轉(zhuǎn)發(fā)策略設(shè)置為拒絕所有非內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包。這時(shí),用戶(hù)就可以從內(nèi)部網(wǎng)計(jì)算機(jī)上瀏覽并與Internet通訊,就像直接連接到Internet一樣可將上述命令放在/etc/rc.d/rc.local文件中,這樣,在服務(wù)器開(kāi)機(jī)時(shí),就能自動(dòng)啟動(dòng)IP偽裝功能。
3.2利用IP地址欺騙突破防火墻。
黑客或入侵者利用偽造的IP發(fā)送地址產(chǎn)生虛假的數(shù)據(jù)分組,喬裝成來(lái)自?xún)?nèi)部站的分組過(guò)濾器,這種類(lèi)型的攻擊是非常危險(xiǎn)的。關(guān)于涉及到的分組真正是內(nèi)部的還是外部的分組被包裝得看起來(lái)像內(nèi)部的種種跡象都已喪失殆盡。只要系統(tǒng)發(fā)現(xiàn)發(fā)送地址在其自己的范圍之內(nèi),則它就把該分組按內(nèi)部通信對(duì)待并讓其通過(guò)。
通常主機(jī)A與主機(jī)B的TCP連接(中間有或無(wú)防火墻)是通過(guò)主機(jī)A向主機(jī)B提出請(qǐng)求建立起來(lái)的,而其間A和B的確認(rèn)僅僅根據(jù)由主機(jī)A產(chǎn)生并經(jīng)主機(jī)B驗(yàn)證的初始序列號(hào)ISN具體分三個(gè)步驟。
主機(jī)A產(chǎn)生它的ISN,傳送給主機(jī)B,請(qǐng)求建立連接;B接收到來(lái)自A的帶有SYN標(biāo)志的ISN后,將自己本身的ISN連同應(yīng)答信息ACK一同返回給A;A再將B傳送來(lái)ISN及應(yīng)答信息ACK返回給B。至此,正常情況,主機(jī)A與B的TCP連接就建立起來(lái)了。
B——SYN→A
B←SYN+ACK——A
B——ACK→A
假設(shè)C企圖攻擊A,因?yàn)锳和B是相互信任的,如果C已經(jīng)知道了被A信任的B,那么就要相辦法使得B的網(wǎng)絡(luò)功能癱瘓,防止別的東西干擾自己的攻擊。在這里普遍使用的是SYN flood,攻擊者向被攻擊主機(jī)發(fā)送許多TCP—SYN包。當(dāng)B的網(wǎng)絡(luò)功能暫時(shí)癱瘓,現(xiàn)在C必須想方設(shè)法確定A當(dāng)前的ISN。首先連向25端口,因?yàn)镾MTP是沒(méi)有安全校驗(yàn)機(jī)制的,與前面類(lèi)似,不過(guò)這次需要記錄A的ISN,以及C到A的大致的RTT(round trip time)。這個(gè)步驟要重復(fù)多次以便求出RTT的平均值,C向A發(fā)送帶有SYN標(biāo)志的數(shù)據(jù)段請(qǐng)求連接,只是信源IP改成了B。A向B回送SYN+ACK數(shù)據(jù)段,B已經(jīng)無(wú)法響應(yīng),B的TCP層只是簡(jiǎn)單地丟棄A的回送數(shù)據(jù)段。這個(gè)時(shí)候C需要暫停一小會(huì)兒,讓A有足夠時(shí)間發(fā)送SYN+ACK,因?yàn)镃看不到這個(gè)包。然后C再次偽裝成B向A發(fā)送ACK,此時(shí)發(fā)送的數(shù)據(jù)段帶有Z預(yù)測(cè)的A的ISN+1。如果預(yù)測(cè)準(zhǔn)確,連接建立,數(shù)據(jù)傳送開(kāi)始。問(wèn)題在于即使連接建立,A仍然會(huì)向B發(fā)送數(shù)據(jù),而不是C,C仍然無(wú)法看到A發(fā)往B的數(shù)據(jù)段,C必須蒙著頭按照協(xié)議標(biāo)準(zhǔn)假冒B向A發(fā)送命令,于是攻擊完成。如果預(yù)測(cè)不準(zhǔn)確,A將發(fā)送一個(gè)帶有RST標(biāo)志的數(shù)據(jù)段異常終止連接,C只有從頭再來(lái)。隨著不斷地糾正預(yù)測(cè)的ISN,攻擊者最終會(huì)與目標(biāo)主機(jī)建立一個(gè)會(huì)晤。通過(guò)這種方式,攻擊者以合法用戶(hù)的身份登錄到目標(biāo)主機(jī)而不需進(jìn)一步的確認(rèn)。如果反復(fù)試驗(yàn)使得目標(biāo)主機(jī)能夠接收對(duì)網(wǎng)絡(luò)的ROOT登錄,那么就可以完全控制整個(gè)網(wǎng)絡(luò)。
C(B)——SYN→A
B←SYN+ACK——A
C(B)——ACK→A
C(B)——PSH→A
IP欺騙攻擊利用了RPC服務(wù)器僅僅依賴(lài)于信源IP地址進(jìn)行安全校驗(yàn)的特性,攻擊最困難的地方在于預(yù)測(cè)A的ISN。攻擊難度比較大,但成功的可能性也很大。C必須精確地預(yù)見(jiàn)可能從A發(fā)往B的信息,以及A期待來(lái)自B的什么應(yīng)答信息,這要求攻擊者對(duì)協(xié)議本身相當(dāng)熟悉。同時(shí)需要明白,這種攻擊根本不可能在交互狀態(tài)下完成,必須通過(guò)寫(xiě)程序完成。當(dāng)然在準(zhǔn)備階段可以用netxray之類(lèi)的工具進(jìn)行協(xié)議分析。
3.3 防范偽裝成可信IP地址的攻擊。
攻擊者通過(guò)改變自己的IP地址來(lái)偽裝成內(nèi)部網(wǎng)用戶(hù)或可信的外部網(wǎng)用戶(hù),以合法用戶(hù)身份登錄那些只以IP地址作為驗(yàn)證的主機(jī);或者發(fā)送特定的報(bào)文以干擾正常的網(wǎng)絡(luò)數(shù)據(jù)傳輸;或者偽造可接收的路由報(bào)文(如發(fā)送ICMP報(bào)文)來(lái)更改路由信息,來(lái)非法竊取信息。
防范方法有以下幾種。
3.3.1當(dāng)每一個(gè)連接局域網(wǎng)的網(wǎng)關(guān)或路由器在決定是否允許外部的IP數(shù)據(jù)包進(jìn)入局域網(wǎng)之前,先對(duì)來(lái)自外部的IP數(shù)據(jù)包進(jìn)行檢驗(yàn),如果該IP包的IP源地址是其要進(jìn)入的局域網(wǎng)內(nèi)的IP地址,該IP包就被網(wǎng)關(guān)或路由器拒絕,不允許進(jìn)入該局域網(wǎng)。雖然這種方法能夠很好地解決問(wèn)題,但是考慮到一些以太網(wǎng)卡接收它們自己發(fā)出的數(shù)據(jù)包,并且在實(shí)際應(yīng)用中局域網(wǎng)與局域網(wǎng)之間也常常需要有相互的信任關(guān)系以共享資源,因此這種方案不具備較好的實(shí)際價(jià)值。
3.3.2另外一種防御這種攻擊的較為理想的方法是當(dāng)IP數(shù)據(jù)包出局域網(wǎng)時(shí)檢驗(yàn)其IP源地址。即每一個(gè)連接局域網(wǎng)的網(wǎng)關(guān)或路由器在決定是否允許本局域網(wǎng)內(nèi)部的IP數(shù)據(jù)包發(fā)出局域網(wǎng)之前,先對(duì)來(lái)自該IP數(shù)據(jù)包的IP源地址進(jìn)行檢驗(yàn)。如果該IP包的IP源地址不是其所在局域網(wǎng)內(nèi)部的IP地址,該IP包就被網(wǎng)關(guān)或路由器拒絕,不允許該包離開(kāi)局域網(wǎng)。因此建議每一個(gè)ISP或局域網(wǎng)的網(wǎng)關(guān)路由器都對(duì)出去的IP數(shù)據(jù)包進(jìn)行IP源地址的檢驗(yàn)和過(guò)濾。如果每一個(gè)網(wǎng)關(guān)路由器都做到了這一點(diǎn),IP源地址欺騙將基本上無(wú)法奏效。
4.結(jié)語(yǔ)
本文闡述了IE瀏覽器的漏洞的形成和解決漏洞的辦法,并且介紹了防范黑客對(duì)IE瀏覽器攻擊的技巧。
參考文獻(xiàn):
[1]V.V.PReetham.INTERNET安全與防火墻.清華大學(xué)出版社.
[2]Erik Schetina Ken Green.INTERNET安全權(quán)威指南.中國(guó)電力出版社.
[3]梅珊,王滕宇,馮曉聰.黑客帝國(guó)INTERNET安全防范實(shí)例.中國(guó)電力出版社.
[4]李思齊.文洋.防火之道——INTEERNET安全構(gòu)建與應(yīng)用.北京航天航空大學(xué)出版社.
[5]李明柱.時(shí)憶杰.安全防范技巧與實(shí)例.北京航天航空大學(xué)出版社.
[6]周仲義.網(wǎng)絡(luò)安全與黑客攻擊.貴州科學(xué)技術(shù)出版社.
[7]Sean Convery.網(wǎng)絡(luò)安全體系結(jié)構(gòu).人民郵電出版社.
[8]Charlie Kaufman.Radia Perlman.Mike Speciner.網(wǎng)絡(luò)安全——公眾世界中的通信秘密.電子工業(yè)出版社.
[9]Kevin Kenan.數(shù)據(jù)庫(kù)加密——最后的防線.電子工業(yè)出版社.
[10]趙泉.網(wǎng)絡(luò)安全與電子商務(wù).清華大學(xué)出版社.