計算機病毒(病毒(一種惡意計算機代碼))

計算機病毒(人為製造的,有破壞性,又有傳染性和潛伏性的,對計算機信息或系統起破壞作用的程式)

病毒(一種惡意計算機代碼)一般指本詞條

本詞條是多義詞,共25個義項
更多義項 ▼ 收起列表 ▲

計算機病毒(Computer Virus)是一種由惡意編寫者在電腦程式中插入的代碼。它能夠尋找並依附於宿主程式,通過修改其他程式並將自身代碼插入其中來實現自我複製。這種惡意代碼通常具有傳染性、隱蔽性和破壞性,能夠影響計算機系統的正常運行。計算機病毒的名稱來源於生物病毒,因其類似於生物病毒的感染和傳播機制。

計算機病毒根據其攻擊對象、作業系統及感染方式的不同可以分為多種類型,如攻擊計算機的病毒與攻擊網路的病毒,攻擊WindowsUnixLinux等作業系統的病毒,以及引導型病毒檔案型病毒。由於其對信息和系統安全構成嚴重威脅,了解計算機病毒的工作原理並加強檢測和防範措施是十分必要的。

基本介紹

  • 軟體名稱:計算機病毒
  • 外文名:Computer Virus
  • 誕生年代:20世紀
  • 特點:傳染性、隱蔽性、感染性、潛伏性
  • 別名:電腦病毒
發展歷史,主要特點,基本原理,計算機病毒分類,1.病毒破壞能力,2.病毒破壞情況,3.病毒攻擊的作業系統,4.病毒攻擊的機型,計算機病毒的命名規則,1. 通用命名規則,2. 國際病毒命名慣例,計算機病毒的傳播途徑,1. 通過存儲介質傳播,2. 通過遊戲軟體傳播,3. 通過網路傳播,4. 通過計算機硬體傳播,計算機病毒的破壞機制,1. 蓄意破壞,2. 偶然性破壞,3. 附帶性破壞,4. 心理及社會性破壞,計算機病毒的隱藏方式,1. 病毒的隱蔽性特徵,2. 早期的隱藏技術,3. 執行緒注射技術的興起,4. 鉤子技術(Hook)的套用,5. 隱藏技術的進化,計算機病毒的清除與預防,1.計算機病毒的清除,2. 計算機病毒的預防,

發展歷史

病毒的學術基礎
1949年,馮·諾伊曼在伊利諾伊大學,以"Theory and Organization of Complicated Automata"為題進行了演講,首次描述了一個電腦程式如何複製自身。
1972年,Veith Risak在馮·諾伊曼的程式能夠自我複製的工作基礎上,發表文章"Self-reproducingautomata with minimal information exchange",首次描述了一個以西門子4004/35計算機系統為攻擊目標,以彙編語言編寫,具有完整功能的計算機病毒。
1980年,Jürgen Kraus於多特蒙德大學撰寫他的學位論文"Self-reproduction of programs"。在他的論文中,他假設電腦程式可以表現出如同病毒般的行為。
1984年,Fred Cohen發表論文“Computer Viruses – Theory and Experiments”,這是第一篇明確將可自我複製的程式成為病毒的論文。
1987年,Fred Cohen發表了證明:沒有一種算法可以完美地檢測所有可能的病毒。科幻小說中的病毒
1970年代中期,大衛·傑洛德(David Gerrold)的《When H.A.R.L.I.E. was One》,描述了一個叫“病毒”的程式和與之對戰的叫“抗體”的程式
1975年,約翰·布魯勒爾(John Brunner)的小說《震盪波騎士(ShakewaveRider)》,描述了一個叫做“磁帶蠕蟲”、在網路上刪除數據的程式。病毒程式的雛形
1960年代初,美國麻省理工學院的一些青年研究人員,在做完工作後,利用業餘時間玩一種他們自己創造的計算機遊戲。做法是某個人編制一段小程式,然後輸入到計算機中運行,並銷毀對方的遊戲程式。這也可能就是計算機病毒的雛形。

主要特點

破壞性
計算機病毒對系統具有破壞性,這也是其與普通程式最大的區別。它能夠破壞計算機數據,甚至造成大範圍的計算機癱瘓,對計算機用戶造成較大的安全損失。
潛伏性
計算機病毒在侵入計算機時可能並未引起用戶注意,在攻擊條件具備時再實施破壞,而在這一階段計算機病毒可能已經進行大量的 傳染並做了實施攻擊的準備,比如如1999年破壞№BIOS的CIH病毒就在每年的4月26日爆發。與生物病毒類似,在計算機病毒爆發前,就以最大幅度傳播。
傳染性
計算機病毒在執行中或在傳播中藉助一些機制複製自身到其他 系統或載體中,比如感染中毒用戶計算機上的執行檔,如exebatscrcom格式,通過這種方法達到自我複製,對自己生存保護的目的。
依附性
計算機病毒往往依附於系統中的某個程式、數據檔案或磁碟扇區,在它們被套用時才會被執行。

基本原理

計算機病毒(病毒(一種惡意計算機代碼))
計算機病毒傳播、感染和觸發的原理機制
計算機病毒的生命周期主要包括編制代碼、傳播、感染、觸發、運行等環節[9]
計算機病毒的基本原理主要是指計算機病毒傳播、感染和觸發的機制。
傳播機制
傳播機制是指計算機病毒散布和侵入受害系統的方法,它包括計算機病毒自我複製和傳播的情況,也包括惡意代碼被複製和被傳播的情況等。
檔案流動
檔案流動的主要途徑是移動介質和網路下載,病毒可能在檔案流動中得到傳播。
網頁腳本和外掛程式
動態網頁技術支持在網頁中運行腳本外掛程式,它們需要在客戶端運行,如Windows平台下支持VBScriptJavaScript腳本以及 AxtiveX控制項等。一方面,在瀏覽器訪問需要運行腳本的網頁時,網頁腳本立即被執行,這可能使系統直接感染惡意代碼。另一方面,客戶端瀏覽網頁過程中,如果被網頁內容欺騙並信任網頁外掛程式來源時,可能會選擇主動安裝相應外掛程式,在這一過程中,可能會使得系統遭受感染。
電子郵件
電子郵件支持附屬檔案傳輸功能,它經常被利用於傳播計算機病毒,當用戶誤認為郵件來源可靠時,通常會執行或保存這些附屬檔案,使系統受到感染。
數字內容播放
一些視頻音頻播放器支持顯示網頁或彈出視窗顯示它們,播放器缺乏瀏覽器那樣的安全檢查,更容易遭受通過網頁實施的計算機病毒的攻擊。
感染機制
惡意代碼依附於宿主或隱藏於系統中的方法,實施它的前提是計算機病毒已經進入受害系統。按照不同的感染對象,感染機制可以分為:感染引導系統、感染執行檔案、感染結構化文檔、感染網路服務客戶端等。
以感染結構化文檔為例,WordExcelAccessVisioPowerPoint、WordPro等結構化文檔以及相關的模版檔案包含宏以實現一些自動的文檔處理。製作病毒的人員利用WordBasic編程接口製作的具有病毒性質的宏集合。在打開一個帶病毒的文檔或模板時,激活了病毒,病毒還將自身複製到相關文檔或模板中。由於WordBasic語言提供了許多系統底層調用,因此病毒可能對系統直接構成威脅。
觸發機制
對已經侵入或感染到受害系統中的計算機病毒,使它們得到執行的方法、條件或途徑。一方面,計算機病毒的觸發機制往往取決於感染機制:比如當程式、組件和宏命令等被執行時,其中感染的計算機病毒將獲得執行權。另一方面,為了加強計算機病毒的隱蔽性,一些計算機病毒需要參照時鐘、時間、計數次數等因素決定是否開始執行。

計算機病毒分類

在計算機病毒的研究中,分類的目的是為了更好地描述、分析和理解計算機病毒的特性、危害及其成因,以便制定有效的防護和治療措施。

1.病毒破壞能力

無危害型:這些病毒不會對系統造成破壞,只是減少磁碟空間或外部資源,例如 Elk Cloner 病毒。
無危險型:病毒僅會減少記憶體,顯示圖像或聲音警報,例如鬼病毒。
危險型:這些病毒會導致計算機系統操作中產生嚴重錯誤,例如 Hebrew 病毒。
非常危險型:這類病毒會刪除程式、數據或清除系統內的關鍵信息,例如 CIH 病毒。

2.病毒破壞情況

  1. 良性病毒:這些病毒不會直接對計算機系統產生破壞,只是通過傳播顯示其存在。
  2. 惡性病毒:這些病毒包含惡意代碼,能夠對計算機系統進行直接破壞,並有可能對硬碟內容進行格式化

3.病毒攻擊的作業系統

  1. 攻擊 DOS 系統的病毒:這類病毒主要出計算機病毒發展早期,主要針對 DOS 系統進行攻擊,但隨著 DOS 技術的發展,這類病毒的傳播速度有所減緩。
  2. 攻擊 Windows 系統的病毒:自1995年起,Windows 取代 DOS 成為主流作業系統,病毒開始針對 Windows 系統進行攻擊。
  3. 攻擊 UNIX 系統的病毒:最初,UNIXLinux 系統因其安全性較高而免受病毒攻擊,但近年來病毒開始針對這些系統開發,例如 Bliss 病毒和 Winux 病毒。
  4. 攻擊 OS/2 系統的病毒:OS/2 系統的病毒較少,主要以 AEP 病毒為代表,它能夠感染 OS/2 檔案並傳播。
  5. 攻擊 Macintosh 系統的病毒:這類病毒多以 AppleScript 編寫,能夠通過電子郵件地址傳播病毒,例如 Mac.simmons 病毒。
  6. 其他作業系統上的病毒:如手機病毒PDA 病毒等。這些病毒開始對移動設備產生影響,例如 VBS.Timofonica 病毒。

4.病毒攻擊的機型

  1. 攻擊微型計算機的病毒:這些病毒針對微型計算機進行攻擊,例如 Amiga 病毒和 MacMag 病毒。
  2. 攻擊工作站的病毒:這類病毒針對高性能計算機的工作站,攻擊目標為信息系統
  3. 攻擊小型計算機的病毒:這些病毒的傳播範圍較廣,既可以通過網路節點傳播,也可以通過終端設備進行傳播。

計算機病毒的命名規則

計算機病毒的命名規則包含了一些通用原則和國際慣例。這些命名規則有助於建立病毒的分類學體系,是反病毒技術的重要組成部分。

1. 通用命名規則

1.1 根據病毒出現的時間命名
有些病毒根據其出現或破壞系統的時間進行命名,通常與特定事件或日期相關。例如,13號星期五病毒(Friday the 13th)因在某個星期五的13號激活而得名。另一個例子是米開朗基羅病毒(Michaelangelo),因在3月6日(米開朗基羅的生日)發作而得名。
1.2 根據病毒表現的症狀命名
有些病毒根據其感染系統後的表現症狀命名。例如,桌球病毒(Ping Pong,或稱為“跳動的小球”病毒)是因其感染電腦後螢幕上顯示類似彈跳小球的效果而得名。又如煙花病毒(Firework),是因為在感染的顯示器上展示出類似煙花的視覺效果。
1.3 根據傳播方式命名
病毒的命名有時也會依據其傳播方式。例如,13號星期五病毒會感染多個**.EXE**檔案,導致檔案進一步破壞和系統崩潰。
1.4 根據病毒自我聲明或嵌入標識符命名
某些病毒在其代碼中嵌入了名字或通過顯示的訊息表明其名稱。例如,大麻病毒(Marijuana)因為其代碼中包含“Marijuana”字樣而得名。其他例子包括磁碟殺手病毒(DiskKiller),激活時會顯示相關信息,以及食人魔病毒(Ogre),因其代碼中的標識符得名。
1.5 根據地理來源命名
有些病毒以其最早發現的地理位置命名。例如,13號星期五病毒最早在耶路撒冷被發現,因此也稱為耶路撒冷病毒Jerusalem)。類似地,維也納病毒(Vienna)則是因為最早在維也納發現而命名。
1.6 根據代碼長度命名
一些病毒是根據其代碼長度命名的。例如,13號星期五病毒也被稱為1813病毒,因為其代碼長度為1813位元組。同樣地,幽靈病毒(Ghost)也被稱為3544病毒,因為其代碼長度為3544位元組。

2. 國際病毒命名慣例

在國際上,病毒的命名通常由前綴後綴組成,如“家族名+病毒標識符”。前綴通常表示病毒家族或目標作業系統(如DOS),後綴則提供了病毒變種的具體信息。
例如,WM.Cap.A.A病毒的命名結構如下:
  • WM表示該病毒為感染Word文檔的宏病毒
  • Cap表示病毒家族;
  • A.A表示該病毒的具體變種。
病毒名稱中也可能包含代碼,指示其功能。例如,Trojan.LMir.PSW.60病毒通常是一種帶有竊取密碼功能的木馬病毒

計算機病毒的傳播途徑

1. 通過存儲介質傳播

存儲介質指的是用於保存和傳輸數據的設備,如軟碟隨身碟CD、移動硬碟等。早期,計算機病毒主要依賴這些介質傳播,尤其是在沒有網路連線的情況下,存儲介質成為病毒跨設備傳播的首選渠道。
  • 傳播機制:當用戶將感染病毒的存儲介質插入計算機後,病毒會自動執行或通過用戶的操作進入系統中,感染本地檔案或系統程式。一旦病毒進入計算機,它可能會複製自身並感染其他插入的存儲設備。比如在1986年,第一例通過軟碟傳播的病毒“Brain”出現於全球各地。它通過感染引導扇區(boot sector),使得軟碟成為病毒攜帶者,當插入新電腦時,病毒會迅速擴散。

2. 通過遊戲軟體傳播

遊戲軟體,尤其是非法下載破解的遊戲程式,常常成為計算機病毒的載體之一。這類傳播方式非常隱蔽,因為許多用戶在安裝或運行遊戲時,很少注意到其中可能夾帶的惡意代碼
病毒通常隱藏在破解程式或安裝檔案中,用戶在安裝遊戲時,病毒也隨之進入計算機。病毒可能通過篡改系統檔案、劫持遊戲數據或盜取用戶敏感信息來實現攻擊。比如在一些破解遊戲常常包含惡意軟體木馬程式中,這些病毒可以記錄用戶的遊戲賬號、密碼,甚至植入後門程式遠程控制用戶的電腦。

3. 通過網路傳播

隨著網際網路的普及,網路已成為計算機病毒最主要的傳播途徑。網路傳播病毒的速度極快,影響範圍廣泛,常見的傳播方式包括電子郵件、即時通訊軟體、網站、檔案下載等。
其中在網路傳播中,病毒傳播模型又細分為SISSIR模型。SIS模型(易感-感染-易感):在這個模型中,個體被感染後有可能恢復為易感狀態,即再次受到感染。研究發現,在標度無關網路中,病毒能夠在少數樞紐節點的不斷感染與恢復之間維持穩定的傳播狀態。其中“標度無關網路”是一類特殊的複雜網路結構,它的特點是部分節點(稱為“樞紐”)擁有極高的連線度,而大多數節點的連線較少。這種網路中,節點與其他節點相連的機率遵循冪律分布,也就是說,少數節點擁有大量連線,而多數節點僅與少數其他節點相連。SIR模型(易感-感染-恢復):相比之下,SIR模型中,個體感染後恢復為免疫狀態,不再易感。這種模型更符合現實中的許多計算機病毒情況,例如使用防毒軟體後恢復的電腦不再受到同類病毒的感染。

4. 通過計算機硬體傳播

雖然這種傳播方式較為少見,但計算機病毒也可以通過某些硬體設備傳播,例如嵌入式晶片、外設控制器等。這類病毒的傳播途徑依賴於硬體的操作和使用,常常出現於較為複雜的攻擊場景中。
  • 傳播機制:病毒可能預裝在某些硬體設備中(如隨身碟鍵盤滑鼠等),當用戶將這些硬體連線到電腦時,病毒通過自動執行的方式感染計算機系統。此外,某些高層次攻擊甚至能夠通過硬體驅動程式或固件中的漏洞進行傳播。例如Stuxnet病毒是通過感染工業控制系統的硬體設備傳播的著名例子。該病毒利用USB設備的漏洞,悄無聲息地感染目標系統,並造成嚴重破壞。

計算機病毒的破壞機制

1. 蓄意破壞

計算機病毒的蓄意破壞取決於病毒編寫者的意圖和其技術水平。這類破壞主要表現為對計算機存儲數據的直接損害。引導型病毒會覆蓋硬碟引導區,導致原有的引導區數據永久丟失,系統無法恢復。其他病毒可能在感染後格式化硬碟,刪除檔案或篡改重要數據。

2. 偶然性破壞

病毒編寫中的錯誤或疏忽可能導致偶然性破壞,甚至超出病毒編寫者的初衷。病毒錯誤可能導致系統崩潰、重要數據丟失或不可預測的系統故障。此外,病毒的兼容性差異可能使其在不同系統環境中表現出不同的破壞性。

3. 附帶性破壞

病毒在感染過程中會利用計算機的資源,造成性能下降或其他間接影響。病毒占用磁碟空間網路頻寬,甚至可能導致系統運行速度顯著降低。病毒還會增加硬體的負荷,損害計算機的正常運行。

4. 心理及社會性破壞

病毒的社會性破壞不僅限於技術層面,還包括心理層面的恐慌和社會影響。病毒可能導致商業機密泄露,財務數據被竊取,嚴重損害企業聲譽。發現病毒感染會引起恐慌,進而影響計算機的使用效率,甚至帶來不可估量的社會後果。

計算機病毒的隱藏方式

計算機病毒的隱蔽性,是其能夠持續危害系統的關鍵。在病毒的發展歷程中,隱藏技術逐漸演變,形成了多種隱蔽形式,極大地增加了病毒的檢測難度。而計算機病毒的隱藏技術經歷了從簡單的視窗與進程隱藏、檔案隱藏,逐漸發展到執行緒注射、鉤子技術,以及後來的Rootkit等高級手段。

1. 病毒的隱蔽性特徵

病毒在感染計算機後,為了避免被用戶和反病毒軟體檢測到,通常採用各種技術來隱藏自身。隱蔽性是病毒賴以存活的核心特性,因為病毒的破壞行為往往是在其未被發現的前提下進行的。

2. 早期的隱藏技術

在計算機病毒與木馬後門剛開始流行的早期(Windows 95/Windows98時代),計算機用戶普遍缺乏安全意識。病毒編寫者並不需要複雜的技術便能隱藏病毒,使其在系統中悄無聲息地運行。
2.1 隱藏視窗與進程
Windows系統中,所有運行的程式都擁有至少一個“視窗”,用戶可以通過這個視窗與程式互動。早期病毒常常通過將程式視窗設定為“不可見”來隱藏其運行狀態,從而讓用戶無法察覺。
此外,病毒編寫者利用未公開的API函式RegisterServiceProcess,將病毒註冊為“服務進程”。由於Windows 9x任務管理器不會顯示此類進程,這讓病毒在用戶的系統中能夠悄然存在。
2.2 隱藏檔案
早期的木馬後門程式通常採用簡單的檔案隱藏方式,即將檔案屬性設定為“隱藏”。由於Windows系統默認不顯示隱藏檔案,許多用戶對這些隱藏檔案毫無察覺,病毒因此得以長期潛伏在系統中。

3. 執行緒注射技術的興起

隨著計算機技術的發展,病毒編寫者開始採用更加高級的隱藏手段,其中執行緒注射技術成為了木馬病毒的重要隱藏手段。
3.1 執行緒與進程的區別
在了解執行緒注射之前,首先需要理解進程與執行緒的概念。進程是指一個程式在運行時占用的記憶體空間。一個進程可以產生多個執行緒,每個執行緒執行進程中的一部分代碼,多執行緒技術使得程式可以同時執行多個任務,從而提高運行效率。
3.2 遠程執行緒注射
遠程執行緒注射(Remote Thread Injection)技術允許一個進程將代碼注入到另一個進程的記憶體空間中。注入的執行緒成為目標進程的一部分,從而實現病毒代碼的隱藏執行。此技術通過跨進程記憶體空間的訪問,實現了木馬的隱蔽操作。

4. 鉤子技術(Hook)的套用

鉤子(Hook)是一種訊息截獲機制,允許程式監視特定視窗的訊息。當訊息到達目標視窗之前,鉤子函式先行處理。病毒編寫者利用鉤子技術,可以在用戶毫無察覺的情況下截獲輸入輸出信息,如鍵盤輸入和螢幕內容等,從而實現竊取數據等惡意行為。

5. 隱藏技術的進化

隨著Windows NT體系的普及,許多早期的隱藏技術失效,病毒編寫者不斷探索新的隱藏手段,如核心級隱藏Rootkit技術等。現代病毒更加複雜,其隱藏方式不僅包括執行緒注射,還結合了系統層面的深度隱藏手段,使得傳統的防毒軟體更加難以檢測。
Rootkit是一類高級的隱藏工具,通過修改作業系統核心模組(如核心),使病毒能夠避開系統安全機制的監控。Rootkit可以將病毒進程、檔案、註冊表項等隱藏起來,使其在用戶和反病毒軟體面前“消失”。

計算機病毒的清除與預防

1.計算機病毒的清除

計算機病毒的清除儘量在保全被感染程式功能的情況下移除計算機病毒或使其失效。
手工清除:對引導型計算機病毒,清除存在於主引導記錄或分區引導記錄中的計算機病毒,並根據原引導代碼恢復引導程式,但為了抵禦計算機病毒對原引導代碼的覆蓋,一般需要預先備份它們。常駐記憶體的一些計算機病毒可能受到作業系統的保護,一般要求用乾淨的啟動盤啟動後再實施檢測和清除。
軟體工具清除:早期較為著名的防毒軟體有江民防毒、如今國內的計算機防毒軟體有電腦管家360火絨等。國外防毒軟體比較著名的有卡巴斯基小紅傘等。另外一方面,由於計算系統的不斷完善,系統的穩定性和抗干擾性不斷增強,一般的計算機病毒很難以穿過當前計算機系統所建立的防火牆

2. 計算機病毒的預防

從開發者的角度出發: 對於計算機病毒要實現定時檢測和線上檢測,其中,線上檢測指一旦有檔案被打開就實施檢測;線上監控程式行為;備份和恢復重要數據, 例如主引導代碼和中斷向量表等;保護重要檔案;隔離可疑檔案; 制定安全防範策略;線上更新惡意代碼特徵。
對於網路用戶而言,培養良好的上網習慣,培養自覺的信息安全意識,例如:對不明郵件及附屬檔案慎重打開;儘可能使用較為複雜的密碼;不要執行從網路下載後未經防毒處理的軟體等;不要隨便瀏覽或登錄陌生的網站,加強個人保護;

相關詞條

熱門詞條

聯絡我們