付三麗 黃恒一 王英輝 姚婧 高媛



摘 要:隨著各種可移動設備在人們生活中的廣泛應用,移動磁盤病毒的泛濫及危害也給局域網環境下人們的生活、工作帶來了巨大的破壞和潛在的威脅。該文從簡易VBS病毒運行機理、社會工程學在病毒上的應用、病毒的加殼行為、VBS病毒的防御與解除、病毒感染后資料挽救角度,以及常見U盤病毒的運行原理、病毒防御的角度進行深入的剖析,對人們了解計算機病毒自繁殖和自進化生命形態具有很大的幫助。因此,只有對計算機移動磁盤病毒進行系統的了解,深刻分析其工作機理,才能促使科研人員研究更高效的病毒防治措施。
關鍵詞:移動磁盤病毒;社會工程學;自繁殖;局域網;VBS病毒;加殼行為
中圖分類號:TP273 文獻標識碼:A 文章編號:2095-1302(2019)06-00-05
0 引 言
對于絕大多數了解計算機的人來說,計算機病毒幾乎和計算機本身一樣著名。凡是受過計算機病毒侵害的人無不對它既痛恨又恐懼,但對于那些新手來說,他們中的一些人覺得計算機病毒是一種深不可測、無法捉摸的“程序代碼”,從而談“毒”色變。本文對簡易VBS病毒、社會工程學在病毒上的應用、病毒的加殼、VBS病毒的預防與解除、受感染資料的恢復、局域網常見U盤病毒的運行原理,以及網絡上存在的一些典型病毒案例涉及的病毒防御的技術措施深入剖析,并對網絡安全中涉及病毒的一些專業術語進行探討。綜上分析,對人們了解計算機病毒,進而提高對計算機病毒防范,有效維護網絡的正常運行具有深遠的意義[1]。
1 原 理
計算機病毒的概念其實源起相當早。對早期的科研人員及大多數人來說,計算機病毒這個詞只是建立于聽的表面上,但具體上還是不太明白。有些人認為電腦系統后門就是病毒,有些人認為木馬就是病毒,有些人認為惡意代碼就是病毒,還有一些電腦專家認為具有自我繁殖的程序就稱為病毒。那么究竟什么是計算機病毒呢?計算機病毒和生物病毒是否具有一些類似的特性呢?本文從攻防的兩個角度,以VBS病毒和局域網環境中常見的U盤病毒為例,從病毒的編程、觸發、運行、后果危害幾個角度解析病毒的運行機理[2]。
當下人們生活中接觸的大部分計算機病毒主要為移動磁盤病毒,一旦移動硬盤或者電腦被侵入病毒,不僅會損壞設備,還可能會損失文件,對用戶來說,損失巨大。為了讓廣大的讀者更好地熟悉移動磁盤病毒,本文選取了幾款簡易的計算機病毒,從其病毒的發作、病毒危害程度等方面進行剖析,并針對局域網中常見的移動病毒提出一些防御措施,讓大家對移動磁盤病毒不再畏懼,從而更好地提高網絡安全意識,最大程度地減少移動磁盤病毒對自己在生活中所造成的不必要的損失[3]。
2 病毒的分類及機理
2.1 危害度低的計算機病毒
人們對計算機病毒定義為一段程序,能對計算機的信息資源和正常運行造成危害,能自我復制、人為制造。當一段程序代碼可以正常解析運行,但是對用戶的電腦并不造成一定的危害,可能是一段惡作劇而已,此類型病毒編撰并不需要高深的專業知識,或許一個剛接觸編程知識的人員即可編撰出來。因此此類型的程序嚴格意義上并不能稱為病毒[4]。
2.1.1 VBS病毒
VBS病毒為通過VB腳本語言編寫的程序代碼。VBS病毒是解釋執行的,不需要編譯,程序編寫環境簡單,一個電腦自帶的筆記本即可開發該類程序,可以直接通過自我復制的方式感染其他文件。VBS病毒編寫簡單,傳播迅速,網絡上曾經存在的新歡樂時光病毒就是VBS病毒通過感染網頁文件間接造成大規模傳播。圖1為自我復制VBS病毒源碼。
2.1.2 VBS病毒工作原理
由于VBS病毒是解釋執行,此類病毒就很容易被觸發,當VBS病毒被用戶一點擊即觸發。圖2為D,E,F盤病毒交叉/感染效果。
由圖2可知,VBS母病毒用Fso對象來新建一個Test.vbs病毒,并寫入代碼shutdown\r,當VBS母病毒代碼被點擊后,首先自身釋放子病毒代碼test.vbs,并且會將其自身復制到D盤,交叉感染到F盤。文中的第一個簡易病毒代碼f.vbs基本具備了病毒的自繁殖、變異的特征,此類病毒制作者目的無非是自我表現一下。這種病毒對用戶電腦的危害程度不是很大[5]。
2.2 危害性的VBS病毒
當下能對人們工作生活造成一定危害性的病毒是大量具備潛伏性的,長期隱藏在用戶電腦中,只有在滿足特定條件時,才啟動其破壞文件,產生危害。文中涉及的第二類VBS病毒會搜索整個電腦硬盤的文件,當目標類型文件存在時,就會觸發VBS病毒對特定文件強制性清空,對用戶的重要文件造成毀滅性的損失。此外病毒運行完畢后還會自我刪除,增加了網絡維護人員取證母病毒源碼的難度[6]。圖3為強制性覆蓋VBS病毒,圖4為覆蓋VBS病毒發作效果圖。
由圖3和圖4可知,文中強制性覆蓋病毒m.vbs已經具備一定的危害性,當病毒被觸發之后,所有的TXT類型的文件將會被強制清空,當病毒運行完畢后,會進行自我刪除。其對應的代碼為:set a=createobject("wscript.shell"),a.run "cmd /c del /q m.vbs",0。
2.3 社會工程學在病毒上的應用
目前人們對于網絡安全的意識逐步提高,很多企業在其信息安全維護上投入大量的資金,但是網絡安全泄露的事件仍頻頻發生。深刻分析其原因,往往發生在人們本身。很多黑客利用社會工程學中人性的弱點這等非技術滲透手段,實施對計算機硬盤的危害,且效率極高。
2.3.1 社會工程學在VBS病毒傳播上的應用
由于人們網絡安全意識的提高,當電腦硬盤上突然間存在一段陌生的程序代碼,稍有一些戒心的人都不會輕易點擊,因此一些黑客就會在病毒的傳播渠道上發力,對病毒進行一定的偽裝。圖5為f.vbs病毒的快捷方式,圖6為f.vbs病毒偽裝后的快捷方式。
從圖5和圖6可知,黑客基于人們對于電腦上陌生程序的防范心理,將f.vbs病毒的快捷方式偽裝成人們熟悉的電腦桌面圖標,并將病毒的源代碼屬性設置為隱藏,進一步提高病毒被點擊的概率。
2.3.2 病毒生成器在VBS病毒傳播上的應用
危害程度較大的病毒程序一般只有專業的人員才可以做到,但目前網絡上存在大量病毒生成器,可以直接組合成各種復合型病毒;更為擔憂的是這種病毒生成器的普及,造成不具備專業知識的人員可在短時間之內制造出病毒[7]。圖7為VBS病毒制造機病毒,圖8為VBS隱藏盤符病毒效果。
由圖7和圖8可知,當用戶通過病毒制造機選擇病毒相應的功能后,病毒制造機就會將病毒的相應模塊進行組合、優化,產生相應功能的病毒。病毒制造機的存在簡化了病毒制作的難度,給病毒的傳播帶來了便捷,也給網絡的正常運行帶來了一定的危害。
2.4 病毒的外殼
目前常用的病毒查殺方法是特征碼法。殺毒軟件對疑似病毒的源代碼進行提取并和病毒庫中的病毒特征碼進行比對,如果病毒產生變種,殺毒軟件結合一些附加的病毒跟蹤、分析、反匯編技術對變種病毒進行特征值比對。作為病毒的制作者,一旦一個新的病毒制作出來后,就會被殺毒軟件攔截,此病毒對應的源碼就會被殺毒公司的病毒特征庫記錄;然而一旦病毒再次更新特征碼,即經病毒源碼加殼、加花、封裝等復雜的技術,那么此病毒特征碼再次消滅病毒庫的特征碼記錄數據,新的變種病毒會再次逃脫殺毒軟件的攔截。反病毒衍生使殺毒公司的工作量加大,想查殺多重加密的病毒,需付出更多的資源。網絡上曾經流行并造成大規模危害的熊貓燒香病毒的源碼,在一天之內就數次產生更新,致使殺毒軟件的病毒庫曾一天之內數次升級。病毒的多次變種,對網絡正常運行造成的危害巨大,熊貓燒香病毒也因此成為科研人員及網絡安全公司研究的范例[8]。
2.4.1 病毒源碼的加密
病毒加密的技術手段很多,但是病毒加密后還必須使源碼能夠正常被解析,這是病毒加密的理論基礎。目前針對VBS病毒加殼的方式很多,專業的黑客可以利用計算機專業編程的知識,一些技術水平較低的人員可以隨意利用網絡上的VBS病毒加密腳本或者VBS腳本加密工具,即可加密自己制作的病毒源碼。圖9為加殼后密文VBS病毒源碼,
由圖9可知,VBS病毒加殼的方式是通過VBS腳本加密實現的。VBS腳本加密后產生一個VBE的VBS腳本代碼。VBE跟VBS差不多,都是VB腳本代碼文件,但它們也有不同,VBS是明文代碼,而VBE則是編譯后的密文VBS代碼,兩者皆可被電腦的腳本宿主程序解析運行。由圖10可知,VBE產生了與VBS同樣的病毒危害效果。如果類似的VBS腳本病毒經過加密后以密文的形式被殺毒公司的人員截獲,病毒的源碼不是明文,甚至病毒源碼的加密方式不限于一重加密,那么加殼后的病毒在一定程度上加大了被破譯的難度[9]。
2.4.2 病毒的加花
程序的加花指令是由設計者特別構思,希望破解者無法正確地解析程序的內容。那么病毒加花是指什么呢?病毒的加花和前文所描述的病毒的加殼行為有什么區別呢?病毒源碼的加花是在源碼中加一些無意義且不影響源程序的代碼,如有個程序里的數據值為“5(空格)C”,可以改為“5+1-1%20C”,雖然值沒有改變,但程序本身改變了,檢驗碼也改變了,對于病毒程序而言就不一定能逃過殺毒軟件的攔截。圖11為 VBS病毒加花指令源碼。
由圖11可知,VBS病毒添加了陰影的加花指令,程序產生的實際效果并沒有改變,但是程序源碼的本身發生了改變,即病毒的特征碼值發生了改變[10]。
2.4.3 病毒的封裝
從病毒程序攻擊的角度來說,一個病毒制作完成后,病毒的生存周期對其而言就非常重要了。脆弱性的病毒一旦制作完畢,很快就會被殺毒軟件攔截,惡性病毒往往采用多種變種技術,用于對抗殺毒軟件的查殺,除去前文敘述的加殼、加花還有類似的封裝技術。圖12為VBS病毒的封裝,圖13為 VBS病毒至EXE格式文件的封裝。
圖12和圖13展示了VBS病毒文件至EXE文件的封裝,病毒封裝成EXE格式文件后,產生了同樣的效果,從病毒攻擊的角度而言,病毒的封裝用以逃避殺毒軟件的記錄、攔截和欺騙用戶的點擊。
2.5 病毒的繁殖性病毒自我復制的特性會對計算機系統產生一定的破壞,這個特性也是病毒和木馬程序的本質區別,木馬的特性主要是駐留在目標電腦中,對目標電腦的資源進行竊取。圖14為繁殖類VBS病毒源碼,圖15為繁殖類VBS病毒觸發效果圖。
由圖14可知,繁殖類病毒觸發后會在電腦硬盤中產生大量同類型的病毒,會占用電腦的資源,影響電腦正常運行的速度。繁殖類病毒如果釋放出更加復雜的變種病毒且結合加殼、加花、社會工程學等技術,那么此類的病毒的破壞性會更大。
2.6 VBS病毒的預防和解除
只有對計算機移動磁盤病毒進行系統的了解,才能促使殺毒公司的技術人員總結出高效率的病毒防治措施。從病毒防御的角度而言,用戶養成使用計算機的良好習慣,樹立安全意識,掌握必要的安全技術才是病毒防御的根本。
2.6.1 VBS病毒的預防
前文從VBS病毒運行機理進行分析,讓讀者了解到VBS病毒運行、觸發及傳播過程中需要的一些條件。針對VBS腳本病毒預防的技術措施主要是破壞該病毒運行所需要的環境,如禁用文件系統對象,卸載Windows Script Host,對于依賴網絡傳播的VBS蠕蟲病毒,應提高瀏覽器的安全級別,限制ActiveX控件及插件的使用,當然最重要的還是用戶的電腦安裝相應的殺毒軟件。
2.6.2 VBS病毒的解除
當電腦中不幸觸發了危害度較低的病毒,用戶可以打開任務管理器,關閉掉wscript.exe任務進程,啟動殺毒軟件,針對VBS病毒的弱點,卸載系統內VBS病毒運行需要的Windows Scripting Host組件。如果遇到危害性較大,促使任務管理器及殺毒軟件都關閉,打不開的VBS病毒時,此時只能面臨系統的重裝被動挽救措施了。因此針對計算機病毒程序而言,還是建議預防為主,查殺為輔的原則,用戶需要提高認識,養成使用電腦和上網的良好習慣。
2.6.3 硬盤文件的恢復
本文主要以VBS病毒為例,闡述病毒的預防和常規解除的方法及措施。事實上很多用戶在電腦硬盤感染病毒后,會造成文件的損失及丟失,在此處結合網絡上常見的一些技術措施舉出兩種文件恢復的方法。圖16為文件恢復軟件,圖17為 winhex文件恢復軟件。
由圖16和圖17可知,當用戶的電腦遭遇到電腦病毒導致文件丟失時,可以嘗試用一些免費的恢復軟件進行丟失文件的數據恢復,這樣可以進一步減少自己的損失。
2.7 U盤病毒
前文主要選取VBS病毒為例,從攻防兩個角度來闡述病毒的編寫、運行、觸發及防御的措施。通過前文的闡述,很多病毒依賴網絡進行傳播,如網絡蠕蟲病毒。由于殺毒軟件的攔截及人們網絡安全意識的提高,一段陌生的程序代碼可能會引起人們的戒心,但是在一些沒有網絡的環境中,也存在大量依賴移動設備進行傳播的病毒。
由于電子信息時代的到來,人們工作生活中所需要的電子資料很多時候是通過移動存儲設備來復制和傳遞的,也正是U盤傳遞信息的便捷性使得U盤成為很多病毒制造者相中的病毒渠道研究對象,如果放松對U盤病毒的戒心很可能會給自己造成致命的損失。美國曾經針對伊朗核設施的網絡病毒戰爭就是基于對方防范疏漏,通過第三方在伊朗核設施需要的打印機中植入了震網病毒導致的。因此研究U盤病毒的運行機理目的也是讓大家更好地了解U盤病毒,進而減少U盤病毒給自己帶來的不必要麻煩。
2.7.1 U盤病毒的簡介
U盤病毒傳播媒介主要通過U盤、移動硬盤傳播,也稱為“AutoRun”病毒,依賴AutoRun.inf文件進行傳播,并且可以向U盤中的AutoRun.inf文件寫入黑客自己定義的源碼,因此準確的說,凡是依賴AutoRun.inf文件進行傳播的各種移動病毒,都可以稱為U盤病毒。由于U盤在人們工作生活中的重要性,因此深入研究U盤病毒,了解U盤病毒的運行機理對于用戶提高安全意識,保護好自己的數據安全就很必要了。
2.7.2 Autorun.inf分析
Autorun.inf這個文件是很早就存在的,需要讓光盤、U盤插入到機器自動運行的話,就要靠Autorun.inf。這個文件是保存在驅動器的根目錄下的,它保存著一些簡單的命令,告訴系統這個新插入的光盤或硬件應該自動啟動什么程序。病毒作者正是利用Autorun.inf文件的這一特點,讓移動設備在用戶系統完全不知情的情況下,“自動”執行任何命令或應用程序。
2.7.3 U盤病毒感染后狀況
U盤是當下人們學習工作之中重要的電子存儲設備,受感染的U盤中會莫名的多一些隱藏的文件,有的甚至將U盤中文件全部替換成快捷方式,有的替換成別的圖標。危害程度較大的惡性U盤病毒會導致用戶的U盤數據丟失,無法寫入文件、讀取文件,U盤格式化后,病毒仍然存在的尷尬狀況,面對惡性的U盤病毒只有借鑒一些專業的U盤殺毒工具。
2.7.4 U盤病毒運行機理
前文敘述了病毒的特征,其為具備復制性、感染性、觸發性、傳播性及危害性的惡意代碼。U盤病毒也是屬于病毒中的一種,也具備病毒的相應特征,最典型的特征就是具備傳染性,大部分U盤病毒一旦發作,就會不定期地感染新插入電腦的U盤,從而實現病毒的傳播,也間接導致一個新的帶病毒的U盤現。
2.7.5 簡易U盤病毒
Autorun.inf本身是正常的文件,但易被利用作其他惡意的操作,任何用戶都可通過Autorun.inf放置不同的病毒,因此無法簡單說是什么病毒,可以是一切病毒、木馬、黑客程序等。一般情況下,U盤不應該有Autorun.inf文件;如果發現U盤有Autorun.inf,且不是你自己創建生成的,請刪除它,并且盡快查毒。圖18為C++ U盤病毒文件,圖19為系統根目錄復制的U盤病毒,圖20為感染所有新插入電腦的U盤。
由圖18和圖19可知,文中選取的這款U盤病毒利用Autorun.inf文件和C++編寫的病毒文件傳播,當有新的U盤插入電腦后,均會被感染。文中的U盤病毒僅僅是用來演示,目的是讓讀者了解U盤病毒的運行機理。但現實的生活中,很多U盤病毒結合了前文闡述的多種技術,具備一定的危害,如果用戶沒有一定的防范意識,那么對自己的生活工作就可能造成一定的影響。
2.7.6 U盤病毒的預防
U盤和移動硬盤是使用最廣泛、移動最頻繁的存儲介質,是局域網內病毒傳播的重要渠道,也是人們日常工作生活中針對病毒最容易疏于防范的對象。本文提出一些針對U盤病毒的預防措施:一般不要雙擊U盤;提高安全意識,會使用常見的U盤病毒查殺工具。針對U盤病毒的防御及查殺技術是多樣的,但是當下網絡的普及導致病毒代碼隨處可見,因此針對U盤病毒程序也需要以預防為主,最重要的還是需要用戶提高認識,養成良好的使用電腦及上網的習慣。
3 總 結
本文圍繞局域網中常見的VBS腳本病毒和U盤病毒,從病毒攻擊的編寫、運行、觸發、危害及病毒的防守技術措施等方面進行研究。研究的內容對人們了解局域網內病毒的運行機理,對常見病毒的預防知識的掌握有一定的指導借鑒價值,同時也符合我國打好網絡安全攻堅戰的網絡信息戰略需求。
參 考 文 獻
[1]亓俊紅,蘇波.基于蠕蟲傳播機理的主動防御策略[J].山東理工大學學報(自然科學版),2006(6):62-65.
[2]何申,張四海,王煦法,等.網絡腳本病毒的統計分析方法[J].計算機學報,2006(6):969-975.
[3]王德正.基于VBS腳本病毒分析[J].大眾科技,2005(3):40-41.
[4]萬春,劉麗莉.緩沖區溢出攻擊手段及防范策略分析[J].集美大學學報(自然科學版),2003(3):237-242.
[5]張曉磊,張曉明.基于堆棧的緩沖區溢出攻擊原理[J].廣州大學學報(自然科學版),2004(4):329-332.
[6]唐曉東,何連躍,羅軍.一種惡意代碼防護方法及其實現[J].計算機工程,2005(12):143-145.
[7]李恒.VBS腳本病毒原理及其防治[J].當代圖書館,2007(3):43-47.
[8]范秋生.淺談VBS腳本病毒入侵計算機的途徑與防治[J].硅谷,2009(21):97.
[9]羅婷婷,鄒航菲.專用網絡腳本病毒有效優化隔離仿真研究[J].計算機仿真,2018,35(1):275-278.
[10]白白.電腦防止腳本病毒執行的通用方法[J].網絡與信息,2005(8):61.