究竟什么是計算機(jī)病毒呢?
隨著電腦不斷地影響我們的生活,電腦病毒也隨著各種網(wǎng)絡(luò),磁盤等等日新月異的方式企圖入侵我們的家用電腦、公司電腦,嚴(yán)重影響了我們使用計算機(jī)與網(wǎng)絡(luò)。那么對于如此猖狂的電腦病毒,我們應(yīng)該如何預(yù)防呢?以下是學(xué)習(xí)啦網(wǎng)小編為大家整理的關(guān)于什么是計算機(jī)病毒的相關(guān)知識,希望對大家有所幫助!
病毒歷史
自從1946年第一臺馮-諾依曼型計算機(jī)ENIAC出世以來,計算機(jī)已被應(yīng)用到人類社會的各個領(lǐng)域。然而,1988年發(fā)生在美國的“蠕蟲病毒”事件,給計算機(jī)技術(shù)的發(fā)展罩上了一層陰影。蠕蟲病毒是由美國CORNELL大學(xué)研究生莫里斯編寫。雖然并無惡意,但在當(dāng)時,“蠕蟲”在INTERNET上大肆傳染,使得數(shù)千臺連網(wǎng)的計算機(jī)停止運(yùn)行,并造成巨額損失,成為一時的輿論焦點(diǎn)。
在國內(nèi),最初引起人們注意的病毒是80年代末出現(xiàn)的“黑色星期五”,“米氏病毒”,“小球病毒”等。因當(dāng)時軟件種類不多,用戶之間的軟件交流較為頻繁且反病毒軟件并不普及,造成病毒的廣泛流行。后來出現(xiàn)的word宏病毒及win95下的CIH病毒,使人們對病毒的認(rèn)識更加深了一步。
最初對病毒理論的構(gòu)思可追溯到科幻小說。在70年代美國作家雷恩出版的《P1的青春》一書中構(gòu)思了一種能夠自我復(fù)制,利用通信進(jìn)行傳播的計算機(jī)程序,并稱之為計算機(jī)病毒。
病毒定義
“計算機(jī)病毒”為什么叫做病毒。首先,與醫(yī)學(xué)上的“病毒”不同,它不是天然存在的,是某些人利用計算機(jī)軟、硬件所固有的脆弱性,編制具有特殊功能的程序。由于它與生物醫(yī)學(xué)上的“病毒”同樣有傳染和破壞的特性,因此這一名詞是由生物醫(yī)學(xué)上的“病毒”概念引申而來。
從廣義上定義,凡能夠引起計算機(jī)故障,破壞計算機(jī)數(shù)據(jù)的程序統(tǒng)稱為計算機(jī)病毒。依據(jù)此定義,諸如邏輯炸彈,蠕蟲等均可稱為計算機(jī)病毒。在國內(nèi),專家和研究者對計算機(jī)病毒也做過不盡相同的定義,但一直沒有公認(rèn)的明確定義。
直至1994年2月18日,我國正式頒布實(shí)施了《中華人民共和國計算機(jī)信息系統(tǒng)安全保護(hù)條例》,在《條例》第二十八條中明確指出:“計算機(jī)病毒,是指編制或者在計算機(jī)程序中插入的破壞計算機(jī)功能或者毀壞數(shù)據(jù),影響計算機(jī)使用,并能自我復(fù)制的一組計算機(jī)指令或者程序代碼。”此定義具有法律性、權(quán)威性。(此節(jié)內(nèi)容摘自《計算機(jī)安全管理與實(shí)用技術(shù)》一書)
病毒的產(chǎn)生
那么究竟它是如何產(chǎn)生的呢?其過程可分為:程序設(shè)計--傳播--潛伏--觸發(fā)、運(yùn)行--實(shí)行攻擊。究其產(chǎn)生的原因不外乎以下幾種:
開個玩笑,一個惡作劇。某些愛好計算機(jī)并對計算機(jī)技術(shù)精通的人士為了炫耀自己的高超技術(shù)和智慧,憑借對軟硬件的深入了解,編制這些特殊的程序。這些程序通過載體傳播出去后,在一定條件下被觸發(fā)。如顯示一些動畫,播放一段音樂,或提一些智力問答題目等,其目的無非是自我表現(xiàn)一下。這類病毒一般都是良性的,不會有破壞操作。
產(chǎn)生于個別人的報復(fù)心理。每個人都處于社會環(huán)境中,但總有人對社會不滿或受到不公證的待遇。如果這種情況發(fā)生在一個編程高手身上,那么他有可能會編制一些危險的程序。在國外有這樣的事例:某公司職員在職期間編制了一段代碼隱藏在其公司的系統(tǒng)中,一旦檢測到他的名字在工資報表中刪除,該程序立即發(fā)作,破壞整個系統(tǒng)。類似案例在國內(nèi)亦出現(xiàn)過。
用于版權(quán)保護(hù)。計算機(jī)發(fā)展初期,由于在法律上對于軟件版權(quán)保護(hù)還沒有象今天這樣完善。很多商業(yè)軟件被非法復(fù)制,有些開發(fā)商為了保護(hù)自己的利益制作了一些特殊程序,附在產(chǎn)品中。如:巴基斯坦病毒,其制作者是為了追蹤那些非法拷貝他們產(chǎn)品的用戶。用于這種目的的病毒目前已不多見。
用于特殊目的。某組織或個人為達(dá)到特殊目的,對政府機(jī)構(gòu)、單位的特殊系統(tǒng)進(jìn)行宣傳或破壞。或用于軍事目的。
病毒特征
這種特殊程序有以下幾種特征:
傳染性是病毒的基本特征。在生物界,通過傳染病毒從一個生物體擴(kuò)散到另一個生物體。在適當(dāng)?shù)臈l件下,它可得到大量繁殖,并使被感染的生物體表現(xiàn)出病癥甚至死亡。同樣,計算機(jī)病毒也會通過各種渠道從已被感染的計算機(jī)擴(kuò)散到未被感染的計算機(jī),在某些情況下造成被感染的計算機(jī)工作失常甚至癱瘓。與生物病毒不同的是,計算機(jī)病毒是一段人為編制的計算機(jī)程序代碼,這段程序代碼一旦進(jìn)入計算機(jī)并得以執(zhí)行,它會搜尋其他符合其傳染條件的程序或存儲介質(zhì),確定目標(biāo)后再將自身代碼插入其中,達(dá)到自我繁殖的目的。只要一臺計算機(jī)染毒,如不及時處理,那么病毒會在這臺機(jī)子上迅速擴(kuò)散,其中的大量文件(一般是可執(zhí)行文件)會被感染。而被感染的文件又成了新的傳染源,再與其他機(jī)器進(jìn)行數(shù)據(jù)交換或通過網(wǎng)絡(luò)接觸,病毒會繼續(xù)進(jìn)行傳染。
正常的計算機(jī)程序一般是不會將自身的代碼強(qiáng)行連接到其它程序之上的。而病毒卻能使自身的代碼強(qiáng)行傳染到一切符合其傳染條件的未受到傳染的程序之上。計算機(jī)病毒可通過各種可能的渠道,如軟盤、計算機(jī)網(wǎng)絡(luò)去傳染其它的計算機(jī)。當(dāng)你在一臺機(jī)器上發(fā)現(xiàn)了病毒時,往往曾在這臺計算機(jī)上用過的軟盤已感染上了病毒,而與這臺機(jī)器相聯(lián)網(wǎng)的其它計算機(jī)也許也被該病毒侵染上了。是否具有傳染性是判別一個程序是否為計算機(jī)病毒的最重要條件。
未經(jīng)授權(quán)而執(zhí)行。一般正常的程序是由用戶調(diào)用,再由系統(tǒng)分配資源,完成用戶交給的任務(wù)。其目的對用戶是可見的、透明的。而病毒具有正常程序的一切特性,它隱藏再正常程序中,當(dāng)用戶調(diào)用正常程序時竊取到系統(tǒng)的控制權(quán),先于正常程序執(zhí)行,病毒的動作、目的對用戶時未知的,是未經(jīng)用戶允許的。
隱蔽性。病毒一般是具有很高編程技巧、短小精悍的程序。通常附在正常程序中或磁盤較隱蔽的地方,也有個別的以隱含文件形式出現(xiàn)。目的是不讓用戶發(fā)現(xiàn)它的存在。如果不經(jīng)過代碼分析,病毒程序與正常程序是不容易區(qū)別開來的。一般在沒有防護(hù)措施的情況下,計算機(jī)病毒程序取得系統(tǒng)控制權(quán)后,可以在很短的時間里傳染大量程序。而且受到傳染后,計算機(jī)系統(tǒng)通常仍能正常運(yùn)行,使用戶不會感到任何異常。試想,如果病毒在傳染到計算機(jī)上之后,機(jī)器馬上無法正常運(yùn)行,那么它本身便無法繼續(xù)進(jìn)行傳染了。正是由于隱蔽性,計算機(jī)病毒得以在用戶沒有察覺的情況下擴(kuò)散到上百萬臺計算機(jī)中。
大部分的病毒的代碼之所以設(shè)計得非常短小,也是為了隱藏。病毒一般只有幾百或1k字節(jié),而PC機(jī)對DOS文件的存取速度可達(dá)每秒幾百KB以上,所以病毒轉(zhuǎn)瞬之間便可將這短短的幾百字節(jié)附著到正常程序之中,使人非常不易被察覺。
潛伏性。大部分的病毒感染系統(tǒng)之后一般不會馬上發(fā)作,它可長期隱藏在系統(tǒng)中,只有在滿足其特定條件時才啟動其表現(xiàn)(破壞)模塊。只有這樣它才可進(jìn)行廣泛地傳播。如“PETER-2”在每年2月27日會提三個問題,答錯后會將硬盤加密。著名的“黑色星期五”在逢13號的星期五發(fā)作。國內(nèi)的“上海一號”會在每年三、六、九月的13日發(fā)作。當(dāng)然,最令人難忘的便是26日發(fā)作的CIH。這些病毒在平時會隱藏得很好,只有在發(fā)作日才會露出本來面目。
破壞性。任何病毒只要侵入系統(tǒng),都會對系統(tǒng)及應(yīng)用程序產(chǎn)生程度不同的影響。輕者會降低計算機(jī)工作效率,占用系統(tǒng)資源,重者可導(dǎo)致系統(tǒng)崩潰。由此特性可將病毒分為良性病毒與惡性病毒。良性病度可能只顯示些畫面或出點(diǎn)音樂、無聊的語句,或者根本沒有任何破壞動作,但會占用系統(tǒng)資源。這類病毒較多,如:GENP、小球、W-BOOT等。惡性病毒則有明確得目的,或破壞數(shù)據(jù)、刪除文件或加密磁盤、格式化磁盤,有的對數(shù)據(jù)造成不可挽回的破壞。這也反映出病毒編制者的險惡用心。
從對病毒的檢測方面來看,病毒還有不可預(yù)見性。不同種類的病毒,它們的代碼千差萬別,但有些操作是共有的(如駐內(nèi)存,改中斷)。有些人利用病毒的這種共性,制作了聲稱可查所有病毒的程序。這種程序的確可查出一些新病毒,但由于目前的軟件種類極其豐富,且某些正常程序也使用了類似病毒的操作甚至借鑒了某些病毒的技術(shù)。使用這種方法對病毒進(jìn)行檢測勢必會造成較多的誤報情況。而且病毒的制作技術(shù)也在不斷的提高,病毒對反病毒軟件永遠(yuǎn)是超前的。
病毒分類
從第一個病毒出世以來,究竟世界上有多少種病毒,說法不一。無論多少種,病毒的數(shù)量仍在不斷增加。據(jù)國外統(tǒng)計,計算機(jī)病毒以10種/周的速度遞增,另據(jù)我國公安部統(tǒng)計,國內(nèi)以4種/月的速度遞增。如此多的種類,做一下分類可更好地了解它們。
按傳染方式分為:引導(dǎo)型病毒、文件型病毒和混合型病毒。
文件型病毒一般只傳染磁盤上的可執(zhí)行文件(COM,EXE)。在用戶調(diào)用染毒的可執(zhí)行文件時,病毒首先被運(yùn)行,然后病毒駐留內(nèi)存伺機(jī)傳染其他文件或直接傳染其他文件。其特點(diǎn)是附著于正常程序文件,成為程序文件的一個外殼或部件。這是較為常見的傳染方式。
混合型病毒兼有以上兩種病毒的特點(diǎn),既染引導(dǎo)區(qū)又染文件,因此擴(kuò)大了這種病毒的傳染途徑(如97年國內(nèi)流行較廣的“TPVO-3783(SPY)”)。
按連接方式分為:源碼型病毒、入侵型病毒、操作系統(tǒng)型病毒、外殼型病毒。
源碼病毒較為少見,亦難以編寫。因?yàn)樗舾呒壵Z言編寫的源程序,在源程序編譯之前插入其中,并隨源程序一起編譯、連接成可執(zhí)行文件。此時剛剛生成的可執(zhí)行文件便已經(jīng)帶毒了。
入侵型病毒可用自身代替正常程序種的部分模塊或堆棧區(qū)。因此這類病毒只攻擊某些特定程序,針對性強(qiáng)。一般情況下也難以被發(fā)現(xiàn),清除起來也較困難。
操作系統(tǒng)病毒可用其自身部分加入或替代操作系統(tǒng)的部分功能。因其直接感染操作系統(tǒng),這類病毒的危害性也較大。
外殼病毒將自身附在正常程序的開頭或結(jié)尾,相當(dāng)于給正常程序加了個外殼。大部份的文件型病毒都屬于這一類。
按破壞性可分為:良性病毒,惡性病毒。前面已介紹過。
新興一族:宏病毒。宏病毒是近兩年才出現(xiàn)的,如分類它可算做文件型。在此對其專門介紹。
病毒命名
對病毒命名,各個反毒軟件亦不盡相同,有時對一種病毒不同的軟件會報出不同的名稱。如“SPY”病毒,KILL起名為SPY,KV300則叫“TPVO-3783”。給病毒起名的方法不外乎以下幾種:
按病毒出現(xiàn)的地點(diǎn),如“ZHENJIANG_JES”其樣本最先來自鎮(zhèn)江某用戶。按病毒中出現(xiàn)的人名或特征字符,如“ZHANGFANG—1535”,“DISK
KILLER”,“上海一號”。按病毒發(fā)作時的癥狀命名,如“火炬”,“蠕蟲”。按病毒發(fā)作的時間,如“NOVEMBER
9TH”在11月9日發(fā)作。有些名稱包含病毒代碼的長度,如“PIXEL.xxx”系列,“KO.xxx”等。
病毒初步分析
計算機(jī)病毒的種類雖多,但對病毒代碼進(jìn)行分析、比較可看出,它們的主要結(jié)構(gòu)是類似的,有其共同特點(diǎn)。整個病毒代碼雖短小但也包含三部分:引導(dǎo)部分,傳染部分,表現(xiàn)部分。
引導(dǎo)部分的作用是將病毒主體加載到內(nèi)存,為傳染部分做準(zhǔn)備(如駐留內(nèi)存,修改中斷,修改高端內(nèi)存,保存原中斷向量等操作)。
傳染部分的作用是將病毒代碼復(fù)制到傳染目標(biāo)上去。不同類型的病毒在傳染方式,傳染條件上各有不同。
表現(xiàn)部分是病毒間差異最大的部分,前兩個部分也是為這部分服務(wù)的。大部分的病毒都是有一定條件才會觸發(fā)其表現(xiàn)部分的。如:以時鐘、計數(shù)器作為觸發(fā)條件的或用鍵盤輸入特定字符來觸發(fā)的。這一部分也是最為靈活的部分,這部分根據(jù)編制者的不同目的而千差萬別,或者根本沒有這部分。
病毒的初步識別與預(yù)防
想要知道自己的計算機(jī)中是否染有病毒,最簡單的方法是實(shí)用較新的反病毒軟件對磁盤進(jìn)行全面的檢測。但反病毒軟件對于病毒來說總是致后的。如何及早地發(fā)現(xiàn)新病毒呢?用戶可做以下簡單判斷:無論如何高明的病毒,在其侵入系統(tǒng)后總會留下一些“蛛絲馬跡”。
首先應(yīng)注意內(nèi)存情況,絕大部分的病毒是要駐留內(nèi)存的。對于DOS用戶可用C盤啟動機(jī)器,然后用“MEM”命令查看全部基本內(nèi)存是否為640K(因?yàn)榇蠖鄶?shù)引導(dǎo)型病毒駐留內(nèi)存時會更改此數(shù))。如果有病毒可能會被改為638K,637K,有些機(jī)器在正常情況下639K亦是正常的(如某些COMPAQ機(jī))。還應(yīng)注意被占用的內(nèi)存數(shù)是否無故減少。
其次應(yīng)注意常用的可執(zhí)行文件(如COMMAND.COM)的字節(jié)數(shù)。絕大多數(shù)的病毒在對文件進(jìn)行傳染后會使文件的長度增加。在查看文件字節(jié)數(shù)時應(yīng)首先用干凈系統(tǒng)盤啟動。
對于軟盤,則應(yīng)注意是否無故出現(xiàn)壞塊(有些病毒會在盤上做壞簇標(biāo)記,以便將其自身部分隱藏其中)。其他如出現(xiàn)軟件運(yùn)行速度變慢(磁盤讀盤速度影響除外),輸出端口異常等現(xiàn)象都有可能是病毒造成的。最準(zhǔn)確的方法是查看中斷向量及引導(dǎo)扇區(qū)是否被無故改變,當(dāng)然這需要對系統(tǒng)及磁盤格式有一定的了解。