究竟什麼是計算機病毒

  隨著電腦不斷地影響我們的生活,電腦病毒也隨著各種網路,磁碟等等日新月異的方式企圖入侵我們的家用電腦、公司電腦,嚴重影響了我們使用計算機與網路。下面是小編跟大家分享的是,歡迎大家來閱讀學習~

  

  病毒歷史

  自從1946年第一臺馮-諾依曼型計算機ENIAC出世以來,計算機已被應用到人類社會的各個領域。然而,1988年發生在美國的“蠕蟲病毒”事件,給計算機技術的發展罩上了一層陰影。蠕蟲病毒是由美國CORNELL大學研究生莫里斯編寫。雖然並無惡意,但在當時,“蠕蟲”在INTERNET上大肆傳染,使得數千臺連網的計算機停止執行,並造成鉅額損失,成為一時的輿論焦點。

  在國內,最初引起人們注意的病毒是80年代末出現的“黑色星期五”,“米氏病毒”,“小球病毒”等。因當時軟體種類不多,使用者之間的軟體交流較為頻繁且反病毒軟體並不普及,造成病毒的廣泛流行。後來出現的word巨集病毒及win95下的CIH病毒,使人們對病毒的認識更加深了一步。

  最初對病毒理論的構思可追溯到科幻小說。在70年代美國作家雷恩出版的《P1的青春》一書中構思了一種能夠自我複製,利用通訊進行傳播的計算機程式,並稱之為計算機病毒。

  病毒定義

  “計算機病毒”為什麼叫做病毒。首先,與醫學上的“病毒”不同,它不是天然存在的,是某些人利用計算機軟、硬體所固有的脆弱性,編制具有特殊功能的程式。由於它與生物醫學上的“病毒”同樣有傳染和破壞的特性,因此這一名詞是由生物醫學上的“病毒”概念引申而來。

  從廣義上定義,凡能夠引起計算機故障,破壞計算機資料的程式統稱為計算機病毒。依據此定義,諸如邏輯炸彈,蠕蟲等均可稱為計算機病毒。在國內,專家和研究者對計算機病毒也做過不盡相同的定義,但一直沒有公認的明確定義。

  直至1994年2月18日,我國正式頒佈實施了《中華人民共和國計算機資訊系統安全保護條例》,在《條例》第二十八條中明確指出:“計算機病毒,是指編制或者在計算機程式中插入的破壞計算機功能或者毀壞資料,影響計算機使用,並能自我複製的一組計算機指令或者程式程式碼。”此定義具有法律性、權威性。***此節內容摘自《電腦保安管理與實用技術》一書***

  病毒的產生

  那麼究竟它是如何產生的呢?其過程可分為:程式設計--傳播--潛伏--觸發、執行--實行攻擊。究其產生的原因不外乎以下幾種:

  開個玩笑,一個惡作劇。某些愛好計算機並對計算機技術精通的人士為了炫耀自己的高超技術和智慧,憑藉對軟硬體的深入瞭解,編制這些特殊的程式。這些程式通過載體傳播出去後,在一定條件下被觸發。如顯示一些動畫,播放一段音樂,或提一些智力問答題目等,其目的無非是自我表現一下。這類病毒一般都是良性的,不會有破壞操作。

  產生於個別人的報復心理。每個人都處於社會環境中,但總有人對社會不滿或受到不公證的待遇。如果這種情況發生在一個程式設計高手身上,那麼他有可能會編制一些危險的程式。在國外有這樣的事例:某公司職員在職期間編制了一段程式碼隱藏在其公司的系統中,一旦檢測到他的名字在工資報表中刪除,該程式立即發作,破壞整個系統。類似案例在國內亦出現過。

  用於版權保護。計算機發展初期,由於在法律上對於軟體版權保護還沒有象今天這樣完善。很多商業軟體被非法複製,有些開發商為了保護自己的利益製作了一些特殊程式,附在產品中。如:巴基斯坦病毒,其製作者是為了追蹤那些非法拷貝他們產品的使用者。用於這種目的的病毒目前已不多見。

 
 

  用於特殊目的。某組織或個人為達到特殊目的,對政府機構、單位的特殊系統進行宣傳或破壞。或用於軍事目的。

  病毒特徵

  這種特殊程式有以下幾種特徵:

  傳染性是病毒的基本特徵。在生物界,通過傳染病毒從一個生物體擴散到另一個生物體。在適當的條件下,它可得到大量繁殖,並使被感染的生物體表現出病症甚至死亡。同樣,計算機病毒也會通過各種渠道從已被感染的計算機擴散到未被感染的計算機,在某些情況下造成被感染的計算機工作失常甚至癱瘓。與生物病毒不同的是,計算機病毒是一段人為編制的計算機程式程式碼,這段程式程式碼一旦進入計算機並得以執行,它會搜尋其他符合其傳染條件的程式或儲存介質,確定目標後再將自身程式碼插入其中,達到自我繁殖的目的。只要一臺計算機染毒,如不及時處理,那麼病毒會在這臺機子上迅速擴散,其中的大量檔案***一般是可執行檔案***會被感染。而被感染的檔案又成了新的傳染源,再與其他機器進行資料交換或通過網路接觸,病毒會繼續進行傳染。

  正常的計算機程式一般是不會將自身的程式碼強行連線到其它程式之上的。而病毒卻能使自身的程式碼強行傳染到一切符合其傳染條件的未受到傳染的程式之上。計算機病毒可通過各種可能的渠道,如軟盤、計算機網路去傳染其它的計算機。當你在一臺機器上發現了病毒時,往往曾在這臺計算機上用過的軟盤已感染上了病毒,而與這臺機器相聯網的其它計算機也許也被該病毒侵染上了。是否具有傳染性是判別一個程式是否為計算機病毒的最重要條件。

  未經授權而執行。一般正常的程式是由使用者呼叫,再由系統分配資源,完成使用者交給的任務。其目的對使用者是可見的、透明的。而病毒具有正常程式的一切特性,它隱藏再正常程式中,當用戶呼叫正常程式時竊取到系統的控制權,先於正常程式執行,病毒的動作、目的對使用者時未知的,是未經使用者允許的。

  隱蔽性。病毒一般是具有很高程式設計技巧、短小精悍的程式。通常附在正常程式中或磁碟較隱蔽的地方,也有個別的以隱含檔案形式出現。目的是不讓使用者發現它的存在。如果不經過程式碼分析,病毒程式與正常程式是不容易區別開來的。一般在沒有防護措施的情況下,計算機病毒程式取得系統控制權後,可以在很短的時間裡傳染大量程式。而且受到傳染後,計算機系統通常仍能正常執行,使使用者不會感到任何異常。試想,如果病毒在傳染到計算機上之後,機器馬上無法正常執行,那麼它本身便無法繼續進行傳染了。正是由於隱蔽性,計算機病毒得以在使用者沒有察覺的情況下擴散到上百萬臺計算機中。

  大部分的病毒的程式碼之所以設計得非常短小,也是為了隱藏。病毒一般只有幾百或1k位元組,而PC機對DOS檔案的存取速度可達每秒幾百KB以上,所以病毒轉瞬之間便可將這短短的幾百位元組附著到正常程式之中,使人非常不易被察覺。

  潛伏性。大部分的病毒感染系統之後一般不會馬上發作,它可長期隱藏在系統中,只有在滿足其特定條件時才啟動其表現***破壞***模組。只有這樣它才可進行廣泛地傳播。如“PETER-2”在每年2月27日會提三個問題,答錯後會將硬碟加密。著名的“黑色星期五”在逢13號的星期五發作。國內的“上海一號”會在每年三、六、九月的13日發作。當然,最令人難忘的便是26日發作的CIH。這些病毒在平時會隱藏得很好,只有在發作日才會露出本來面目。

  破壞性。任何病毒只要侵入系統,都會對系統及應用程式產生程度不同的影響。輕者會降低計算機工作效率,佔用系統資源,重者可導致系統崩潰。由此特性可將病毒分為良性病毒與惡性病毒。良性病度可能只顯示些畫面或出點音樂、無聊的語句,或者根本沒有任何破壞動作,但會佔用系統資源。這類病毒較多,如:GENP、小球、W-BOOT等。惡性病毒則有明確得目的,或破壞資料、刪除檔案或加密磁碟、格式化磁碟,有的對資料造成不可挽回的破壞。這也反映出病毒編制者的險惡用心。

  從對病毒的檢測方面來看,病毒還有不可預見性。不同種類的病毒,它們的程式碼千差萬別,但有些操作是共有的***如駐記憶體,改中斷***。有些人利用病毒的這種共性,製作了聲稱可查所有病毒的程式。這種程式的確可查出一些新病毒,但由於目前的軟體種類極其豐富,且某些正常程式也使用了類似病毒的操作甚至借鑑了某些病毒的技術。使用這種方法對病毒進行檢測勢必會造成較多的誤報情況。而且病毒的製作技術也在不斷的提高,病毒對反病毒軟體永遠是超前的。

  病毒分類

  從第一個病毒出世以來,究竟世界上有多少種病毒,說法不一。無論多少種,病毒的數量仍在不斷增加。據國外統計,計算機病毒以10種/周的速度遞增,另據我國公安部統計,國內以4種/月的速度遞增。如此多的種類,做一下分類可更好地瞭解它們。

  按傳染方式分為:引導型病毒、檔案型病毒和混合型病毒。

  檔案型病毒一般只傳染磁碟上的可執行檔案***COM,EXE***。在使用者呼叫染毒的可執行檔案時,病毒首先被執行,然後病毒駐留記憶體伺機傳染其他檔案或直接傳染其他檔案。其特點是附著於正常程式檔案,成為程式檔案的一個外殼或部件。這是較為常見的傳染方式。

  混合型病毒兼有以上兩種病毒的特點,既染引導區又染檔案,因此擴大了這種病毒的傳染途徑***如97年國內流行較廣的“TPVO-3783***SPY***”***。

  按連線方式分為:原始碼型病毒、入侵型病毒、作業系統型病毒、外殼型病毒。

  原始碼病毒較為少見,亦難以編寫。因為它要攻擊高階語言編寫的源程式,在源程式編譯之前插入其中,並隨源程式一起編譯、連線成可執行檔案。此時剛剛生成的可執行檔案便已經帶毒了。

  入侵型病毒可用自身代替正常程式種的部分模組或堆疊區。因此這類病毒只攻擊某些特定程式,針對性強。一般情況下也難以被發現,清除起來也較困難。

  作業系統病毒可用其自身部分加入或替代作業系統的部分功能。因其直接感染作業系統,這類病毒的危害性也較大。

  外殼病毒將自身附在正常程式的開頭或結尾,相當於給正常程式加了個外殼。大部份的檔案型病毒都屬於這一類。

  按破壞性可分為:良性病毒,惡性病毒。前面已介紹過。

  新興一族:巨集病毒。巨集病毒是近兩年才出現的,如分類它可算做檔案型。在此對其專門介紹。

  病毒命名

  對病毒命名,各個反毒軟體亦不盡相同,有時對一種病毒不同的軟體會報出不同的名稱。如“SPY”病毒,KILL起名為SPY,KV300則叫“TPVO-3783”。給病毒起名的方法不外乎以下幾種:

  按病毒出現的地點,如“ZHENJIANG_JES”其樣本最先來自鎮江某使用者。按病毒中出現的人名或特徵字元,如“ZHANGFANG—1535”,“DISK

  KILLER”,“上海一號”。按病毒發作時的症狀命名,如“火炬”,“蠕蟲”。按病毒發作的時間,如“NOVEMBER

  9TH”在11月9日發作。有些名稱包含病毒程式碼的長度,如“PIXEL.xxx”系列,“KO.xxx”等。

  病毒初步分析

  計算機病毒的種類雖多,但對病毒程式碼進行分析、比較可看出,它們的主要結構是類似的,有其共同特點。整個病毒程式碼雖短小但也包含三部分:引導部分,傳染部分,表現部分。

  引導部分的作用是將病毒主體載入到記憶體,為傳染部分做準備***如駐留記憶體,修改中斷,修改高階記憶體,儲存原中斷向量等操作***。

  傳染部分的作用是將病毒程式碼複製到傳染目標上去。不同型別的病毒在傳染方式,傳染條件上各有不同。

  表現部分是病毒間差異最大的部分,前兩個部分也是為這部分服務的。大部分的病毒都是有一定條件才會觸發其表現部分的。如:以時鐘、計數器作為觸發條件的或用鍵盤輸入特定字元來觸發的。這一部分也是最為靈活的部分,這部分根據編制者的不同目的而千差萬別,或者根本沒有這部分。

  病毒的初步識別與預防

  想要知道自己的計算機中是否染有病毒,最簡單的方法是實用較新的反病毒軟體對磁碟進行全面的檢測。但反病毒軟體對於病毒來說總是致後的。如何及早地發現新病毒呢?使用者可做以下簡單判斷:無論如何高明的病毒,在其侵入系統後總會留下一些“蛛絲馬跡”。

  首先應注意記憶體情況,絕大部分的病毒是要駐留記憶體的。對於DOS使用者可用C盤啟動機器,然後用“MEM”命令檢視全部基本記憶體是否為640K***因為大多數引導型病毒駐留記憶體時會更改此數***。如果有病毒可能會被改為638K,637K,有些機器在正常情況下639K亦是正常的***如某些COMPAQ機***。還應注意被佔用的記憶體數是否無故減少。

  其次應注意常用的可執行檔案***如COMMAND.COM***的位元組數。絕大多數的病毒在對檔案進行傳染後會使檔案的長度增加。在檢視檔案位元組數時應首先用乾淨系統盤啟動。

  對於軟盤,則應注意是否無故出現壞塊***有些病毒會在盤上做壞簇標記,以便將其自身部分隱藏其中***。其他如出現軟體執行速度變慢***磁碟讀盤速度影響除外***,輸出埠異常等現象都有可能是病毒造成的。最準確的方法是檢視中斷向量及引導扇區是否被無故改變,當然這需要對系統及磁碟格式有一定的瞭解。