電腦病毒是怎樣工作(2)
電腦病毒是怎樣工作
2、程序型電腦病毒是怎么傳播的。
電腦病毒傳播最主要的途徑是網絡,還有軟盤和光盤。比如,我正在工作時,朋友拿來一個帶電腦病毒的軟盤,比如,該電腦病毒感染了磁盤里的A文件,我運行了一下這個A文件,電腦病毒就被讀如內存,如果你不運行染毒文件,程序型電腦病毒是不會感染你的機器的(不要罵,我這里說的是程序型電腦病毒,后面我會說引導型電腦病毒,他只要打開軟盤就會感染)當染毒文件被運行,電腦病毒就進入內存,并獲取了內存控制權,開始感染所有之后運行的文件。比如我運行了WORD。EXE ,則該文件被感染,電腦病毒把自己復制一份,加在WORD.EXE文件的后面,會使該文件長度增加1到幾個K。(不是所有電腦病毒都這樣,我舉這個離子只是想介紹電腦病毒感染過程)
好,接下來,比如說我關機了,則內存中的電腦病毒被清除,我機子中所有的染毒文件只有WORD.exe。第二天,我又開機時,內存是干凈的。比如我需要用WORD,于是,該染毒文件中的電腦病毒被讀如內存,繼續(xù)感染下面運行的程序,周而復始,時間越長,染毒文件越多。
到了一定時間,電腦病毒開始發(fā)作(根據電腦病毒作者定義的條件,有的是時間,比如CIH,有的是感染規(guī)模等等)執(zhí)行電腦病毒作者定義的操作,比如無限復制,占用系統資源、刪除文件、將自己向網絡傳播甚至格式化磁盤等等。
但是,無論如何,電腦病毒只不過是一段代碼,他不可能破壞硬件(歡迎和我討論),就算是CIH也不是破壞硬件,他只是改寫了BIOS中的數據,實際上還是軟破壞。什么叫破壞硬件?就是電腦病毒發(fā)作時,你的硬盤啪的一下裂成兩半,可能嗎?
所以,完全不必懼怕電腦病毒,他不會讓我門受到太大的經濟損失,如果我們養(yǎng)成良好的工作習慣的話(比如自己的文檔不要保存在C盤等,后面我會細說)
3、引導型電腦病毒的工作原理
看了前面的電腦病毒傳染過程,大家很容易想到,只要我啟動計算機后不運行染毒程序,直接刪除不就可以了。實際上,現在的電腦病毒沒有那么弱智的,下面我門來看看其他的幾種傳染機制,首先看看引導型電腦病毒。剛才說了,電腦病毒必須進入內存才可以繼續(xù)感染,只有被運行他才可以進入內存,那么與等用戶來運行,如果用戶長期不用這個染度文件,豈不是等的花而也謝了。引導型電腦病毒感染的不是文件,而是磁盤引導區(qū),他把自己寫入引導區(qū),這樣,只要磁盤被讀寫,電腦病毒就首先被讀取入內存。這就是為什么殺毒要用干凈的啟動盤啟動,為的就是防止引導型電腦病毒。下面我詳細的談一下磁盤引導區(qū),看不懂的可以跳過去。
4、引導型電腦病毒是如何傳播的
在計算機啟動時,必須讀取硬盤主引導區(qū)獲得分區(qū)信息,再讀取C:盤引導區(qū)獲取操作系統信息,這時候任何殺毒軟件都無法控制,這樣我先介紹一下計算機的啟動順序,大家只要記住一點就是:任何程序都要被讀入內存才會起作用。
計算機加電后,內存是空的,首先從BIOS中讀取一些啟動參數到內存中,這些命令控制計算機去做下一步工作就是自檢。(BIOS就是在ROM中的基本輸入輸出系統的意思,ROM是只讀存儲器,因為計算機是一個機電設備,他不會自己干什么事情,必須由軟件,也就是人事先寫好的程序來控制他工作,而這些程序必須被讀入內存才可以控制計算機,哈哈越扯越遠了,不說了,在將就變成計算機基礎講座了,哈哈)
接下來,計算機自檢,發(fā)現硬盤,讀取硬盤主引導程序到內存中,再讀取C盤的引導程序到內存中,再讀取操作系統文件到內存中,然后開始由操作系統文件控制計算機開始啟動。啟動完畢后,讀入各種自動運行的文件,比如天網放火墻、QQ、電腦病毒監(jiān)測軟件、等等,
前面說過,誰先進入內存,誰先占據系統控制權,從上面的啟動順序可以發(fā)現,如果電腦病毒在引導區(qū),那么,他被讀入內存的時候,殺毒軟件還不知道在那里呢。
舉個離子:比如我拿了一張染有引導型電腦病毒的軟盤用,當我雙擊A盤圖標后,計算機開始讀軟盤,首先讀入軟盤引導區(qū),電腦病毒隨之進入內存,并立即把自己寫入硬盤引導區(qū)(如果開了電腦病毒檢測,則時可以檢測到并殺之)。如果沒有裝殺毒軟件,檢測布道,則下次開機時,計算機自檢之后,讀硬盤引導區(qū)時就會同時讀入電腦病毒,接下來,電腦病毒獲得系統控制權,改寫操作系統文件,隱藏自己,然后計算機繼續(xù)啟動進入WIN200桌面,然后電腦病毒檢測才開始運行,電腦病毒完全可能已經把自己偽裝起來,讓殺毒軟件找不到。
所以這中電腦病毒一定要用啟動盤啟動后,再殺,就是為了跳過讀硬盤引導區(qū)那一段。在后面我會纖細介紹。
5、電腦病毒如何自動把自身裝入內存。
剛才介紹了現在的電腦病毒不會等待用戶去運行染毒文件才進駐內存,他們都有自己的辦法運行自己,進駐內存,但是有一個共同的特征就是,他必須把自己放在合適的位置,讓系統在啟動的某個階段自動去調用他。因為計算機剛剛加電的時候,系統控制權是在BIOS手里的(因為他最早裝入內存),而BIOS是保存在只讀的ROM中的,所以這時,系統是無毒的,所以引導型電腦病毒要做的就是在BIOS向操作系統交權之前也就是讀取啟動盤時截取之。
那么程序型電腦病毒怎么把自身裝如內存呢?他沒有截取控制權的這個能力,BIOS會順利的把控制權交給操作系統,這時,用戶看到的就是開始啟動WIN200,由于操作系統在啟動時會讀取大量的動態(tài)聯結庫文件,電腦病毒就可以把自己放在一個合適的位置上,然后告訴WIN2000啟動時把自己讀如內存,這一步很好實現,比如大家都知道,QQ啟動時會被自動運行,實際上,程序型電腦病毒自動運行自己的辦法和QQ從本質上是相同的。就是讓系統在啟動的某個階段自動去調用而已。