摘要:該文從理論角度分析了網頁惡意代碼的特征、傳播手法,詳細列舉了網頁惡意代碼的種種表現形式及應對措施,同時針對目前網絡安全現狀提出了一些防范網頁惡意代碼的建議。
關鍵詞:網頁惡意代碼;注冊表;IE
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)05-1063-04
Web Page Malware Attack and Defense
HU Juan
(Zhenjiang Vocational College of Mechanical Electrical Technology,Zhenjiang 212016,China)
Abstract: This paper analyzes the character and spreading methods of web page malware from the point of view of theory,and it lists various expressions of malware and measures to deal with it.Meanwhile,the paper offers some suggestions to defend malware attack towards the current situation of network safety.
Key words: web page malware; registry; IE
如果要問上網者最討厭和最害怕的是什么,莫過于所謂的惡意代碼(又叫網頁病毒)了。遇到過這種情況嗎?稍不留神逛到一個惡意網站上,打開一個網頁過后,就會發現自己的IE標題欄換成了其他網站的名字、默認主頁成了別人家的自留地、系統被改得亂七八糟、注冊表被禁用……更恐怖的還有讓你的系統禁止使用、格式化硬盤、在你不知不覺的情況下下載木馬、蠕蟲等病毒。這就是惡意代碼惹的禍,當然惡意代碼的危害遠遠不止這些,還有可能對你的機器造成更大的危害。 但是網頁惡意代碼并不可怕,通過一些簡單的方法就可以輕松查殺網頁惡意代碼。目前網上流傳很多查殺惡意代碼的工具(如360安全衛士等),因此本文只教你手工刪除惡意代碼。主要的目的是便于大家掌握其本質,從知其然到知其所以然。
1 惡意代碼的特征及傳播手法
從理論上講,惡意代碼是一種程序,它主要是利用軟件或系統操作平臺的安全漏洞,通過執行嵌入在網頁超文本標記語言(HTML)內的Java Applet小應用程序、JavaScript腳本語言程序、ActiveX軟件部件網絡交互技術支持可自動執行的代碼程序,從而達到破壞被感染電腦數據、運行具有入侵性或破壞性的程序、破壞被感染電腦數據的安全性和完整性的目的。它可以強行修改用戶操作系統的注冊表設置及系統實用配置程序、非法控制系統資源、盜取用戶文件、惡意刪除硬盤文件、格式化硬盤等。按其傳播方式,惡意代碼可以分成五類:病毒,木馬,蠕蟲,移動代碼和復合型病毒。
惡意代碼編寫者一般利用三類手段來傳播惡意代碼:軟件漏洞、用戶本身或者兩者的混合。有些惡意代碼是自啟動的蠕蟲和嵌入腳本,本身就是軟件,這類惡意代碼對人的活動沒有要求。一些像特洛伊木馬、電子郵件蠕蟲等惡意代碼,利用受害者的心理操縱他們執行不安全的代碼;還有一些是哄騙用戶關閉保護措施來安裝惡意代碼。
利用商業軟件缺陷的惡意代碼有BubbleBoy(VBS/BubbleBoy蠕蟲應該說是這類病毒的起源鼻祖)。它完全依賴商業軟件產品的缺陷和弱點,比如溢出漏洞和可以在不適當的環境中執行任意代碼。像沒有打補丁的IIS軟件就有輸入緩沖區溢出方面的缺陷。利用Web 服務缺陷的攻擊代碼有Code Red(“紅色代碼”是利用微軟已知的溢出漏洞,通過80端口來傳播到其它計算機的WEB頁服務器上。由于該病毒可以獲得受感染WEB服務器的超級用戶的安全權限,為黑客入侵敞開了大門,它可以在某一時間點發作,接受黑客命令攻擊特定目標。)、Nimda(當我們瀏覽含有病毒郵件時,病毒利用病毒體內VBScript代碼在本地的可執行性,通過WSH進行,對當前計算機進行感染和破壞。即,一旦我們將鼠標箭頭移到帶有病毒體的郵件名上時,就能受到該網絡蠕蟲的感染,它利用的是Outlook的漏洞。)。Linux 和Solaris上的蠕蟲也利用了遠程計算機的缺陷。
惡意代碼編寫者的一種典型手法是把惡意代碼郵件偽裝成其他惡意代碼受害者的感染報警郵件,惡意代碼受害者往往是Outlook地址簿中的用戶或者是緩沖區中WEB頁的用戶,這樣做可以最大可能的吸引受害者的注意力。一些惡意代碼的作者還表現了高度的心理操縱能力,Love Letter 就是一個突出的例子。一般用戶對來自陌生人的郵件附件越來越警惕,而惡意代碼的作者也設計一些誘餌吸引受害者的興趣。附件的使用正在和必將受到網關過濾程序的限制和阻斷,惡意代碼的編寫者也會設法繞過網關過濾程序的檢查。使用的手法可能包括采用模糊的文件類型,將公共的執行文件類型壓縮成zip文件等等。
對聊天室IRC(Internet Relay Chat)和即時消息IM(Instant Messaging)系統的攻擊案例不斷增加,其手法多為欺騙用戶下載和執行自動的Agent軟件,讓遠程系統用作為分布式拒絕服務(DDoS)的攻擊平臺,或者使用后門程序和特洛伊木馬程序來控制這些遠程系統。
2 網頁惡意代碼的類型及其防范方法
1)禁止使用電腦
現象描述:盡管網絡流氓們用這一招的不多,但是一旦你中招了,后果真是不堪設想!瀏覽了含有這種惡意代碼的網頁其后果是:關閉系統、運行、注銷、注冊表編輯器、DOS程序、運行任何程序被禁止,系統無法進入“實模式”、驅動器被隱藏。
解決辦法:一般來說上述八大現象你都遇上了的話,基本上系統就給廢了,建議重裝。如果只是遇到其中某些情形,可以用以下方法來恢復。用記事本編輯一個任意名字的*.reg文件,比如recover.reg,內容如下:
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\ Policies\\Explorer
“NoDriveTypeAutoRun”=dword:00000091
“Noclose”=dword:00000000
“NoRun”= dword:00000000
“NoLogOff”= dword:00000000
“NoDrives”=dword:00000000
“RestrictRun”=dword:00000000
“NoSetFolders”=dword:00000000
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\ Policies\\WinOldApp
“Disabled”=dword:00000000
“NoRealMode”=dword:00000000
2)格式化硬盤
現象描述:這類惡意代碼的特征就是利用IE執行ActiveX的功能,讓你無意中格式化自己的硬盤。只要你瀏覽了含有它的網頁,瀏覽器就會彈出一個警告說“當前的頁面含有不安全的ActiveX,可能會對你造成危害”,問你是否執行。如果你選擇“是”的話,硬盤就會被快速格式化,因為格式化時窗口是最小化的,你可能根本就沒注意,等發現時已悔之晚矣。
解決辦法:除非你知道自己是在做什么,否則不要隨便回答“是”。該提示信息還可以被修改,如改成“Windows正在刪除本機的臨時文件,是否繼續”,所以千萬要注意!此外,將計算機上Format.com、Fdisk.exe、Del.exe、Deltree.exe等命令改名也是一個辦法。
3)下載運行木馬程序
現象描述:在網頁上瀏覽也會中木馬?當然,由于IE5.0本身的漏洞,使這樣的新式入侵手法成為可能,方法就是利用了微軟的可以嵌入exe文件的eml文件的漏洞,將木馬放在eml文件里,然后用一段惡意代碼指向它。上網者瀏覽到該惡意網頁,就會在不知不覺中下載了木馬并執行,其間居然沒有任何提示和警告!
解決辦法:第一個辦法是升級您的IE5.0,IE5.0以上版本沒這毛病;此外,安裝金山毒霸、Norton等病毒防火墻,它會把網頁木馬當作病毒迅速查截并清除。
4)注冊表的鎖定
現象描述:有時瀏覽了惡意網頁后系統被修改,想要用Regedit更改時,卻發現系統提示你沒有權限運行該程序,然后讓你聯系管理員。
解決辦法:
①能夠修改注冊表的又不止Regedit一個,找一個注冊表編輯器,例如:Reghance。將注冊表中的HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System下的DWORD值“DisableRegistryTools”鍵值恢復為“0”,即可恢復注冊表。
②可以自己動手制作一個解除注冊表鎖定的工具,就是用記事本編輯一個任意名字的*.reg文件,比如recover.reg,內容如下:
要特別注意的是:如果你用這個方法制作解除注冊表鎖定的工具,一定要嚴格按照上面的書寫格式進行,不能遺漏更不能修改;完成上述工作后,點擊記事本的文件菜單中的“另存為”,文件名可以隨意,但文件擴展名必須為.reg(切記),然后點擊“保存”。這樣一個注冊表解鎖工具就制作完成了,之后你只須雙擊生成的文件,其會提示你是否將這個信息添加進注冊表,你要點擊“是”,隨后系統提示信息已成功輸入注冊表,再點擊“確定”即可將注冊表解鎖了。
注:打開注冊表編輯器方法是:點擊“開始”菜單,之后點擊“運行”,在運行框中輸入regedit,回車或點擊“確定”,進入注冊表編輯器。
5)默認主頁修改
現象描述:一些網站為了提高自己的訪問量和做廣告宣傳,利用IE的漏洞,將訪問者的IE不由分說地進行修改。一般改掉你的起始頁和默認主頁,為了不讓你改回去,甚至將IE選項中的默認主頁按鈕變為失效的灰色。
解決辦法:
①起始頁的修改。展開注冊表到HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\Main,在右半部分窗口中將“Start Page”的鍵值改為“about:blank”即可。同理,展開注冊表到HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main,在右半部分窗口中將“Start Page”的鍵值改為“about:blank”即可。
注意:有時進行了以上步驟后仍然沒有生效,估計是有程序加載到了啟動項的緣故,就算修改了,下次啟動時也會自動運行程序,將上述設置改回來,解決方法如下:
運行注冊表編輯器Regedit.exe,然后依次展開HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run主鍵,然后將下面的“registry.exe”子鍵(名字不固定)刪除,最后刪除硬盤里的同名可執行程序。退出注冊編輯器,重新啟動計算機,問題就解決了。
②默認主頁的修改。運行注冊表編輯器,展開HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\Main,將“Default Page URL”子鍵的鍵值中的那些惡意網站的網址改正,或者設置為IE的默認值。
對于WINXP專業版的用戶,還可以用以下方法:
在“開始-運行-gpedit.msc”(注:即運行組策略)
選“使用者設定”——“Internet Explorer 維護”——“URLs”——打開“重要URL”
在“首頁URL”——選“自訂首頁URL”——在以下空白列上填上網址
③IE選項按鈕失效,運行注冊表編輯器,展開
HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel
“Settings”=dword:1
HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel
“Links”=dword:1
HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel
“SecAddSites”=dword:1
HKEY_USERS_DEFAULT\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel
“homepage”= dword:1
將上面這些DWORD值改為“0”即可恢復功能。
6)篡改IE標題欄
現象描述:在系統默認狀態下,由應用程序本身來提供標題欄的信息。但是,有些網絡流氓為了達到廣告宣傳的目的,將串值“Windows Title”下的鍵值改為其網站名或更多的廣告信息,從而達到改變IE標題欄的目的。
解決辦法:展開注冊表到HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\Main下,在右半部分窗口找到串值“Windows Title”,將該串值刪除。重新啟動計算機。
7)篡改默認搜索引擎
現象描述:在IE瀏覽器的工具欄中有一個搜索引擎的工具按鈕,可以實現網絡搜索,被篡改后只要點擊那個搜索工具按鈕就會鏈接到網絡流氓想要你去的網站。
解決辦法:運行注冊表編輯器,依次展開HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\Search\\Customize\\Search和HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\Search\\SearchAssistant,將“CustomizeSearch”及“SearchAssistant”的鍵值改為某個搜索引擎的網址即可。
8)靈活應對WSH
近幾年來,利用 VBScript和 JScript (Visual Basic腳本語言和Java腳本語言)編制的各種病毒、尤其是蠕蟲病毒可以說是層出不窮,“I LOVE YOU”和“Newlove”,均是屬于這種類型的電腦殺手。這類病毒的一個共同點,就是在通過郵件傳播時,都包含了一個以 .vbs為后綴名的附件,用戶收到該郵件后,只要雙擊執行該附件,也就感染了病毒。這些病毒的廣泛傳播,給廣大的計算機用戶帶來了巨大的損失。而那些用心叵測的電腦病毒制造者們,之所以鐘情于用 VBScript 編制病毒,就在于他們看中了微軟在 Windows 中內嵌的 Windows Scripting Host (WSH),WSH 為 Visual Basic 腳本語言的自動運行提供了方便。WSH(Windows Script Host)是微軟提供的一種基于32位Windows平臺的、與語言無關的腳本解釋機制,它使得腳本。能夠直接在Windows桌面或命令提示符下運行。利用WSH,用戶能夠操縱WSH對象、Active對象、注冊表和文件系統。在帶給人們便利的同時,WSH也為病毒的傳播留下可乘之機。對于已安裝的WSH服務,我們有如下防護措施:
A:刪除腳本文件。對于WindowsXP,點擊“開始”—“程序”—“Windows資源管理器”—“工具”—“文件夾選項”—“文件類型”,把滾動條下移找到VBScript和JScript腳本文件,將其刪除。
B:禁用WSHShell對象。禁用WSHShell對象,阻止運行程序。刪除或更名系統文件夾中的wshom.ocx文件或刪除注冊表項:HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}即可。
C:升級WSH。IE瀏覽器可以被惡意腳本修改,原因就是IE 5.5以及以前版本中的WSH允許攻擊者利用JavaScript中的Getobject函數以及htmlfilr Activex對象讀取瀏覽者的注冊表。微軟最新的Microsoft Windows Script 5.6已經修正了這個問題。
D:禁用WSH。實在不放心的話,就禁用WSH吧。具體方法是:打開“控制面板”,再打開“添加/刪除程序”,點選“Windows安裝程序”,用鼠標雙擊其中的“附件”一項,然后在打開的窗口中將“Windows Scripting Host”一項的“√”去掉,連點兩次“確定”,就可以將Windows Scripting Host卸載了。
WSH 一旦被禁用,那隱藏在 VB 腳本文件(.vbs 文件)中的病毒就無法被激活,我們的計算機自然就會更加安全。對于要不要禁用 WSH 這個問題,也不能一概而論,需要用戶根據自己的實際情況權衡。盡管禁用WSH并不會對Microsoft Office和 Internet Explorer及其它大多數程序正常使用產生影響,但是也有極少數程序要使用WSH,當它找不到WSH時,就會顯示出錯信息,遺憾的是大多數情況下我們并不能判斷錯誤是否由于刪除WSH所致,并且,事先也沒有簡單的方法判斷一個程序是否須要WSH。同時,刪掉WSH并不能保證你的電腦安全,畢竟,還有許許多多病毒不須要借助WSH。
9)IE右鍵修改
現象描述:有的網絡流氓為了宣傳的目的,將你的右鍵彈出的功能菜單進行了修改,并且加入了一些亂七八糟的東西,甚至為了禁止你下載,將IE窗口中單擊右鍵的功能都屏蔽掉。
解決辦法:
①右鍵菜單被修改。打開注冊表編輯器,找到HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt,刪除相關的廣告條文。
②右鍵功能失效。打開注冊表編輯器,展開到HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions,將其DWORD值“NoBrowserContextMenu”的值改為0。
10)篡改地址欄文字
現象描述:中招者的IE地址欄下方出現一些莫名其妙的文字和圖標,地址欄里的下拉框里也有大量的地址,并不是你以前訪問過的。
解決辦法:
①地址欄下的文字:在HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\ToolBar下找到鍵值“LinksFolderName”,將其中的內容刪去即可。
②地址欄中無用的地址:在HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\TypedURLs中刪除無用的鍵值即可。
10.啟動時彈出對話框
現象描述:
①系統啟動時彈出對話框,通常是一些廣告信息,例如歡迎訪問某某網站等等。
②開機彈出網頁,通常會彈出很多窗口,讓你措手不及,惡毒一點的,可以重復彈出窗口直到死機。
解決辦法:
①彈出對話框:打開注冊表編輯器,找到HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon主鍵,然后在右邊窗口中找到“LegalNoticeCaption”和“LegalNoticeText”這兩個字符串,刪除這兩個字符串就可以解決在啟動時出現提示框的現象了。
②彈出網頁:其實清除每次開機時自動彈出的網頁方法并不難,只要你記住地址欄里出現的網址,然后打開注冊表編輯器,分別定位到:HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run和HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Runonce下,看看在該子項下是否有一個以這個網址為值的值項,如果有的話,就將其刪除,之后重新啟動計算機。這樣在下一次開機的時候就不再會有網頁彈出來了。不過網頁惡意代碼的編寫者有時也是非常的狡猾,他會在注冊表的不同鍵值中多處設有這個值項,這樣上面提的方法也未必能完全解決問題。遇到這種情況,你可以在注冊表編輯器的選項菜單里選擇“編輯”—“查找”,在“查找”對話框內輸入開機時自動打開的網址,然后點擊“查找下一個”,將查找到的值項刪除。另外可以點擊“開始-運行-msconfig”,選擇“啟動”,檢查其中是否有可疑的啟動項,如果有的話請將其禁用。
11)IE窗口定時彈出
現象描述:中招者的機器每隔一段時間就彈出IE窗口,地址指向網絡流氓的個人主頁。
解決辦法:點擊“開始-運行-msconfig”,選擇“啟動”,把里面后綴為hta的都勾掉,重啟。
12)IE 工具欄上其它按鈕或工具菜單中其它添加項:
現象描述:IE工具菜單下被添加了非法菜單項或工具欄上其它非法按鈕(如:FlashGet 、QQ、超級解霸、手機短信、Yahoo 1G郵等)。
解決辦法:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Extensions檢查各數字文件夾的內容將不需要的整個文件夾刪除便可。
13)IE工具欄上其它工具欄
現象描述:IE工具欄被添加了非法工具條(如3721上網助手、金山詞霸等)。
解決辦法:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Toolbar檢查各項內容將不需要的項目刪除便可。
14)IE菜單“查看”下的“源文件”項被禁用
現象描述:通過修改注冊表,將IE菜單“查看”下的“源文件”項鎖定變為灰色,“源文件”項不可用。
解決辦法:將
HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions
“NoViewSource”=dword:00000000
HKEY_USERS_DEFAULT\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions
“NoViewSource”=dword:00000000
HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Internet Explorer\\Restrictions
“NoViewSource”=dword:00000000
3 網頁惡意代碼的防范方法
1)留意微軟和各大安全網站發布的安全公告,及時了解最新安全動態,封堵住漏洞,如果沒有條件隨時關注這些,至少要及時更新你的瀏覽器,使用最新的、打過各種安全補丁的瀏覽器;
2)安裝防火墻和殺毒軟件,并及時更新。
3)事先備份注冊表,如果發現注冊表被修改則導回就能恢復;
4)將本機的FORMAT、DEL、DELTREE等危險命令改名,如將format.com改為format.old,自己需要使用時再改回來。也可以某些外部命令轉移到其他目錄下;
5)牢記不要瀏覽那些并不了解的網站,也不要在聊天室里點擊其他網友貼出的超級鏈接,這樣可以避免遭到惡作劇者的攻擊;
6)增強IE“免疫”能力
將系統的網絡連接的安全級別設置為“高”,它可以在一定程度上預防某些有害的JAVA程序或者某些ActiveX組件對計算機的侵害。在IE屬性里面,對其“高級”選項進行配置,取消在瀏覽網頁時的Java功能選項,具體方法是:點擊IE的“工具”菜單下的“Internet 選項”,再點擊“安全”選項卡里的“自定義級別”按扭,把“ActiveX控件及插件”和Java相關選項都設為禁用,這樣就不怕了。不過,要說明的是這樣做在瀏覽某些網頁時會無法正常瀏覽,如何取舍就看你自己的了。
7)簡單修改系統。打開注冊表編輯器,展開到注冊表HKEY_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\ActiveX Compatibility\\Active Setup controls下,創建一個基于CLSID的新健值{6E449683_C509_11CF_AAFA_00AA00B6015C},然后在該健值下創建一個類型為REG_DWORD名為“Compatibility”的鍵,值為“0X00000400”即可,關閉注冊表編輯器。用戶可以將在C:\\WINDOWS\\JAVA\\Packages目錄下搜索到的“ActiveXComponent.class”,刪掉刪除這個組件不會影響到正常瀏覽網頁。
8)預防網頁惡意代碼
許多惡意網頁為防止有人查看其代碼內容,采取了各種各樣的方法求防止我們查看其源代碼。然而,他們的一切努力也許都是白費心機。因為用如下的方法可以輕易地查看其源代碼。只要在IE地址欄中輸入View-Source:URL即可。舉個例子,你想查看http://www.****.com的源代碼,只要在IE地址欄中輸入:View-Source:http://www.****.com,稍等一下就會彈出一個窗口,里面就是你想看到的網頁源代碼。趕快仔細看看,里面是否有更改注冊表或暗中下載文件的惡意代碼,如果有那就別進該網頁了,很簡單吧?這樣做不僅可以學到別人的網頁制作技術,更可以事先預防惡意代碼,一舉兩得!
9)防范再次瀏覽惡意網頁
在IE中做一些設置以便不再進入受過攻擊的惡意站點。打開IE,點擊“工具”—“Internet選項”—“內容”—“分級審查”,點“啟用”按鈕,會調出“分級審查”對話框,然后點擊“許可站點”標簽,輸入不想去的網站網址,按“從不”按鈕,再點擊“確定”即可!
參考文獻:
[1] 張仕斌,譚三,易勇,等.網絡安全技術[M].北京:清華大學出版社,2004.
[2] 郝強,趙中華.Windows 98/ 2000/Me/XP注冊表大全[M].北京:電子工業出版社,2002.
[3] 杜曄,張大偉,范艷芳.網絡攻防技術教程:從原理到實踐[M].武漢:武漢大學出版社,2008.
[4] 韓筱卿,王建鋒,鐘瑋.計算機病毒分析與防范大全[M].電子工業出版社,2008.