病毒和木馬的區別
電腦病毒和木馬有什麼明顯的區別呢!你知道嗎!下面是小編跟大家分享的是,歡迎大家來閱讀學習~
電腦介紹:
一 計算機病毒的定義計算機病毒***Computer Virus***在《中華人民共和國計算機資訊系統安全保護條例》中被明確定義,病毒“指編制或者在計算機程式中插入的破壞計算機功能或者破壞資料,影響計算機使用並且能夠自我複製的一組計算機指令或者程式程式碼”。
二 計算機病毒的特點計算機病毒是人為的特製程式,具有自我複製能力,很強的感染性,一定的潛伏性,特定的觸發性和很大的破壞性。
三 病毒存在的必然性計算機的資訊需要存取、複製、傳送,病毒作為資訊的一種形式可以隨之繁殖、感染、破壞,而當病毒取得控制權之後,他們會主動尋找感染目標,使自身廣為流傳。
四 計算機病毒的長期性病毒往往會利用計算機作業系統的弱點進行傳播,提高系統的安全性是防病毒的一個重要方面,但完美的系統是不存在的,過於強調提高系統的安全性將使系統多數時間用於病毒檢查,系統失去了可用性、實用性和易用性,另一方面,資訊保密的要求讓人們在洩密和抓住病毒之間無法選擇。病毒與反病毒將作為一種技術對抗長期存在,兩種技術都將隨計算機技術的發展而得到長期的發展。
五 計算機病毒的產生病毒不是來源於突發或偶然的原因.一次突發的停電和偶然的錯誤,會在計算機的磁碟和記憶體中產生一些亂碼和隨機指令,但這些程式碼是無序和混亂的,病毒則是一種比較完美的,精巧嚴謹的程式碼,按照嚴格的秩序組織起來,與所在的系統網路環境相適應和配合起來,病毒不會通過偶然形成,並且需要有一定的長度,這個基本的長度從概率上來講是不可能通過隨機程式碼產生的。病毒是人為的特製程式現在流行的病毒是由人為故意編寫的,多數病毒可以找到作者資訊和產地資訊,通過大量的資料分析統計來看,病毒作者主要情況和目的是:一些天才的程式設計師為了表現自己和證明自己的能力,處於對上司的不滿,為了好奇,為了報復,為了祝賀和求愛,為了得到控制口令,為了軟體拿不到報酬預留的陷阱等.當然也有因政治,軍事,宗教,民族.專利等方面的需求而專門編寫的,其中也包括一些病毒研究機構和黑客的測試病毒.
六 計算機病毒分類根據多年對計算機病毒的研究,按照科學的、系統的、嚴密的方法,計算機病毒可分類如下:按照計算機病毒屬性的方法進行分類,計算機病毒可以根據下面的屬性進行分類:
按照計算機病毒存在的媒體進行分類根據病毒存在的媒體,病毒可以劃分為網路病毒,檔案病毒,引導型病毒。網路病毒通過計算機網路傳播感染網路中的可執行檔案,檔案病毒感染計算機中的檔案***如:COM,EXE,DOC等***,引導型病毒感染啟動扇區***Boot***和硬碟的系統引導扇區***MBR***,還有這三種情況的混合型,例如:多型病毒***檔案和引導型***感染檔案和引導扇區兩種目標,這樣的病毒通常都具有複雜的演算法,它們使用非常規的辦法侵入系統,同時使用了加密和變形演算法。
按照計算機病毒傳染的方法進行分類根據病毒傳染的方法可分為駐留型病毒和非駐留型病毒,駐留型病毒感染計算機後,把自身的記憶體駐留部分放在記憶體***RAM***中,這一部分程式掛接系統呼叫併合併到作業系統中去,他處於啟用狀態,一直到關機或重新啟動.非駐留型病毒在得到機會啟用時並不感染計算機記憶體,一些病毒在記憶體中留有小部分,但是並不通過這一部分進行傳染,這類病毒也被劃分為非駐留型病毒。
按照計算機病毒破壞的能力進行分類根據病毒破壞的能力可劃分為以下幾種:無害型除了傳染時減少磁碟的可用空間外,對系統沒有其它影響。無危險型這類病毒僅僅是減少記憶體、顯示影象、發出聲音及同類音響。危險型這類病毒在計算機系統操作中造成嚴重的錯誤。非常危險型這類病毒刪除程式、破壞資料、清除系統記憶體區和作業系統中重要的資訊。這些病毒對系統造成的危害,並不是本身的演算法中存在危險的呼叫,而是當它們傳染時會引起無法預料的和災難性的破壞。由病毒引起其它的程式產生的錯誤也會破壞檔案和扇區,這些病毒也按照他們引起的破壞能力劃分。一些現在的無害型病毒也可能會對新版的DOS、Windows和其它作業系統造成破壞。例如:在早期的病毒中,有一個“Denzuk”病毒在360K磁碟上很好的工作,不會造成任何破壞,但是在後來的高密度軟盤上卻能引起大量的資料丟失。
按照計算機病毒特有的演算法進行分類根據病毒特有的演算法,病毒可以劃分為:伴隨型病毒這一類病毒並不改變檔案本身,它們根據演算法產生EXE檔案的伴隨體,具有同樣的名字和不同的副檔名***COM***,例如:XCOPY.EXE的伴隨體是XCOPY.COM。病毒把自身寫入COM檔案並不改變EXE檔案,當DOS載入檔案時,伴隨體優先被執行到,再由伴隨體載入執行原來的EXE檔案。“蠕蟲”型病毒通過計算機網路傳播,不改變檔案和資料資訊,利用網路從一臺機器的記憶體傳播到其它機器的記憶體,計算網路地址,將自身的病毒通過網路傳送。有時它們在系統存在,一般除了記憶體不佔用其它資源。寄生型病毒除了伴隨和“蠕蟲”型,其它病毒均可稱為寄生型病毒,它們依附在系統的引導扇區或檔案中,通過系統的功能進行傳播,按其演算法不同可分為:練習型病毒病毒自身包含錯誤,不能進行很好的傳播,例如一些病毒在除錯階段。詭祕型病毒它們一般不直接修改DOS中斷和扇區資料,而是通過裝置技術和檔案緩衝區等DOS內部修改,不易看到資源,使用比較高階的技術。利用DOS空閒的資料區進行工作。變型病毒***又稱幽靈病毒***這一類病毒使用一個複雜的演算法,使自己每傳播一份都具有不同的內容和長度。它們一般的作法是一段混有無關指令的解碼演算法和被變化過的病毒體組成。
特洛伊木馬***以下簡稱木馬***,英文叫做“Trojan house”,其名稱取自希臘神話的特洛伊木馬記。
它是一種基於遠端控制的黑客工具,具有隱蔽性和非授權性的特點。
所謂隱蔽性是指木馬的設計者為了防止木馬被發現,會採用多種手段隱藏木馬,這樣服務端即使發現感染了木馬,由於不能確定其具體位置,往往只能望“馬”興嘆。
所謂非授權性是指一旦控制端與服務端連線後,控制端將享有服務端的大部分操作許可權,包括修改檔案,修改登錄檔,控制滑鼠,鍵盤等等,而這些權力並不是服務端賦予的,而是通過木馬程式竊取的。
從木馬的發展來看,基本上可以分為兩個階段。
最初網路還處於以UNIX平臺為主的時期,木馬就產生了,當時的木馬程式的功能相對簡單,往往是將一段程式嵌入到系統檔案中,用跳轉指令來執行一些木馬的功能,在這個時期木馬的設計者和使用者大都是些技術人員,必須具備相當的網路和程式設計知識。
而後隨著WINDOWS平臺的日益普及,一些基於圖形操作的木馬程式出現了,使用者介面的改善,使使用者不用懂太多的專業知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現,而且由於這個時期木馬的功能已日趨完善,因此對服務端的破壞也更大了。
所以所木馬發展到今天,已經無所不用其極,一旦被木馬控制,你的電腦將毫無祕密可言。
鑑於木馬的巨大危害性,我們將分原理篇,防禦與反擊篇,資料篇三部分來詳細介紹木馬,希望大家對特洛伊木馬這種攻擊手段有一個透徹的瞭解。
原 理 篇
基礎知識
在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。
一個完整的木馬系統由硬體部分,軟體部分和具體連線部分組成。
***1***硬體部分:建立木馬連線所必須的硬體實體。 控制端:對服務端進行遠端控制的一方。 服務端:被控制端遠端控制的一方。 INTERNET:控制端對服務端進行遠端控制,資料傳輸的網路載體。
***2***軟體部分:實現遠端控制所必須的軟體程式。 控制端程式:控制端用以遠端控制服務端的程式。 木馬程式:潛入服務端內部,獲取其操作許可權的程式。 木馬配置程式:設定木馬程式的埠號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程式。
***3***具體連線部分:通過INTERNET在服務端和控制端之間建立一條木馬通道所必須的元素。 控制端IP,服務端IP:即控制端,服務端的網路地址,也是木馬進行資料傳輸的目的地。 控制端埠,木馬埠:即控制端,服務端的資料***,通過這個***,資料可直達控制端程式或木馬 程式。
木馬原理
用木馬這種黑客工具進行網路入侵,從過程上看大致可分為六步,下面我們就按這六步來詳細闡述木馬的攻擊原理。
一.配置木馬
一般來說一個設計成熟的木馬都有木馬配置程式,從具體的配置內容看,主要是為了實現以下兩方 面功能:
***1***木馬偽裝:木馬配置程式為了在服務端儘可能的好的隱藏木馬,會採用多種偽裝手段,如修改圖示 ,捆綁檔案,定製埠,自我銷燬等,我們將在“傳播木馬”這一節中詳細介紹。
***2***資訊反饋:木馬配置程式將就資訊反饋的方式或地址進行設定,如設定資訊反饋的郵件地址,IRC號 ,ICO號等等,具體的我們將在“資訊反饋”這一節中詳細介紹。
二.傳播木馬
***1***傳播方式:
木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程式以附件的形式夾在郵件中傳送出 去, 收信人只要開啟附件系統就會感染木馬;另一種是軟體下載,一些非正規的網站以提供軟體下載為 名義, 將木馬捆綁在軟體安裝程式上,下載後,只要一執行這些程式,木馬就會自動安裝。
***2***偽裝方式:
鑑於木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑制作用,這 是木馬設計者所不願見到的,因此他們開發了多種功能來偽裝木馬,以達到降低使用者警覺,欺騙使用者的目 的。
***一***修改圖示
當你在E-MAIL的附件中看到這個圖示時,是否會認為這是個文字檔案呢?但是我不得不告 訴你,這也有可能是個木馬程式,現在 已經有木馬可以將木馬服務端程式的圖示改成HTML,TXT, ZIP等各種檔案的圖示,這有相當大的迷 惑性,但是目前提供這種功能的木馬還不多見,並且這種 偽裝也不是無懈可擊的,所以不必整天提 心吊膽,疑神疑鬼的。
***二***捆綁檔案
這種偽裝手段是將木馬捆綁到一個安裝程式上,當安裝程式執行時,木馬在使用者毫無察覺的 情況下 ,偷偷的進入了系統。至於被捆綁的檔案一般是可執行檔案***即EXE,COM一類的檔案***。
***三***出錯顯示
有一定木馬知識的人都知道,如果開啟一個檔案,沒有任何反應,這很可能就是個木馬程式, 木馬的 設計者也意識到了這個缺陷,所以已經有木馬提供了一個叫做出錯顯示的功能。當服務 端使用者開啟木 馬程式時,會彈出一個如下圖所示的錯誤提示框***這當然是假的***,錯誤內容可自由 定義,大多會定製成 一些諸如“檔案已破壞,無法開啟的!”之類的資訊,當服務端使用者信以 為真時,木馬卻悄悄侵入了 系統。
***四***定製埠
很多老式的木馬埠都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的 埠就 知道感染了什麼木馬,所以現在很多新式的木馬都加入了定製埠的功能,控制端使用者可 以在1024---65535之間任選一個埠作為木馬埠***一般不選1024以下的埠***,這樣就給判斷 所感染木馬型別帶 來了麻煩。
***五***自我銷燬
這項功能是為了彌補木馬的一個缺陷。我們知道當服務端使用者開啟含有木馬的檔案後,木馬 會將自己拷貝到WINDOWS的系統資料夾中***C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下***,一般來說 原木馬檔案 和系統資料夾中的木馬檔案的大小是一樣的***捆綁檔案的木馬除外***,那麼中了木馬 的朋友只要在近來 收到的信件和下載的軟體中找到原木馬檔案,然後根據原木馬的大小去系統 資料夾找相同大小的檔案, 判斷一下哪個是木馬就行了。而木馬的自我銷燬功能是指安裝完木 馬後,原木馬檔案將自動銷燬,這 樣服務端使用者就很難找到木馬的來源,在沒有查殺木馬的工 具幫助下,就很難刪除木馬了。
***六***木馬更名
安裝到系統資料夾中的木馬的檔名一般是固定的,那麼只要根據一些查殺木馬的文章,按 圖索驥在系統資料夾查詢特定的檔案,就可以斷定中了什麼木馬。所以現在有很多木馬都允許控 制端使用者自由定製安裝後的木馬檔名,這樣很難判斷所感染的木馬型別了。
三.執行木馬
服務端使用者執行木馬或捆綁木馬的程式後,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的 系統資料夾中***C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下***,然後在登錄檔,啟動組,非啟動組中設定好木馬 的觸發條件 ,這樣木馬的安裝就完成了。安裝後就可以啟動木馬了。
***1***由觸發條件啟用木馬
觸發條件是指啟動木馬的條件,大致出現在下面八個地方:
1.登錄檔:開啟HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五個以Run 和RunServices主鍵,在其中尋找可能是啟動木馬的鍵值。
2.WIN. 命令 load=和run=,在一般情況下是空白的,如果有啟動程式,可能是木馬。 3.SYSTEM. [drivers32]中有命令列,在其中尋找木馬的啟動命令。
4.Autoexec.bat和Config.sys:在C盤根目錄下的這兩個檔案也可以啟動木馬。但這種載入方式一般都 需要控制端使用者與服務端建立連線後,將已新增木馬啟動命令的同名 檔案上傳 到服務端覆蓋這兩個檔案才行。
5.*.INI:即應用程式的啟動配置檔案,控制端利用這些檔案能啟動程式的特點,將製作好的帶有木馬 啟動命令的同名檔案上傳到服務端覆蓋這同名檔案,這樣就可以達到啟動木馬的目的了。
6.登錄檔:開啟HKEY_CLASSES_ROOT\檔案型別\shell\open\command主鍵,檢視其鍵值。舉個例子,國產 木馬“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C :\WINDOWS \NOTEPAD.EXE %1”該為“C:\WINDOWS\SYSTEM\SYXXXPLR.EXE %1”,這時你雙 擊一個TXT檔案 後,原本應用NOTEPAD開啟檔案的,現在卻變成啟動木馬程式了。還要說明 的是不光是TXT檔案 ,通過修改HTML,EXE,ZIP等檔案的啟動命令的鍵值都可以啟動木馬 ,不同之處只在於“檔案型別”這個主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以 試著去找一下。
7.捆綁檔案:實現這種觸發條件首先要控制端和服務端已通過木馬建立連線,然後控制端使用者用工具 軟體將木馬檔案和某一應用程式捆綁在一起,然後上傳到服務端覆蓋原檔案,這樣即使 木馬被刪 除了,只要執行捆綁了木馬的應用程式,木馬又會被安裝上去了。
8.啟動選單:在“開始---程式---啟動”選項下也可能有木馬的觸發條件。
***2***木馬執行過程
木馬被啟用後,進入記憶體,並開啟事先定義的木馬埠,準備與控制端建立連線。這時服務端用 戶可以在MS-DOS方式下,鍵入NETSTAT -AN檢視埠狀態,一般個人電腦在離線狀態下是不會有埠 開放的,如果有埠開放,你就要注意是否感染木馬了。下面是電腦感染木馬後,用NETSTAT命令查 看埠的兩個例項:
其中①是服務端與控制端建立連線時的顯示狀態,②是服務端與控制端還未建立連線時的顯示狀態。
在上網過程中要下載軟體,傳送信件,網上聊天等必然開啟一些埠,下面是一些常用的埠:
***1***1---1024之間的埠:這些埠叫保留埠,是專給一些對外通訊的程式用的,如FTP使用21, SMTP使用25,POP3使用110等。只有很少木馬會用保留埠作為木馬埠 的。
***2***1025以上的連續埠:在上網瀏覽網站時,瀏覽器會開啟多個連續的埠下載文字,圖片到本地 硬碟上,這些埠都是1025以上的連續埠。
***3***4000埠:這是OICQ的通訊埠。
***4***6667埠:這是IRC的通訊埠。 除上述的埠基本可以排除在外,如發現還有其它埠開啟,尤其是數值比較大的埠,那就要懷疑 是否感染了木馬,當然如果木馬有定製埠的功能,那任何埠都有可能是木馬埠。
四.資訊洩露:
一般來說,設計成熟的木馬都有一個資訊反饋機制。所謂資訊反饋機制是指木馬成功安裝後會收集 一些服務端的軟硬體資訊,並通過E-MAIL,IRC或ICO的方式告知控制端使用者。下圖是一個典型的資訊反 饋郵件。
從這封郵件中我們可以知道服務端的一些軟硬體資訊,包括使用的作業系統,系統目錄,硬碟分割槽況, 系統口令等,在這些資訊中,最重要的是服務端IP,因為只有得到這個引數,控制端才能與服務端建立 連線,具體的連線方法我們會在下一節中講解。
五.建立連線:
這一節我們講解一下木馬連線是怎樣建立的 。一個木馬連線的建立首先必須滿足兩個條件:一是 服務端已安裝了木馬程式;二是控制端,服務端都要線上 。在此基礎上控制端可以通過木馬埠與服 務端建立連線。為了便於說明我們採用圖示的形式來講解。
如上圖所示A機為控制端,B機為服務端,對於A機來說要與B機建立連線必須知道B機的木馬埠和IP地 址,由於木馬埠是A機事先設定的,為已知項,所以最重要的是如何獲得B機的IP地址。獲得B機的IP 地址的方法主要有兩種:資訊反饋和IP掃描。對於前一種已在上一節中已經介紹過了,不再贅述,我們 重點來介紹IP掃描,因為B機裝有木馬程式,所以它的木馬埠7626是處於開放狀態的,所以現在A機只 要掃描IP地址段中7626埠開放的主機就行了,例如圖中B機的IP地址是202.102.47.56,當A機掃描到 這個IP時發現它的7626埠是開放的,那麼這個IP就會被新增到列表中,這時A機就可以通過木馬的控 制端程式向B機發出連線訊號,B機中的木馬程式收到訊號後立即作出響應,當A機收到響應的訊號後, 開啟一個隨即埠1031與B機的木馬埠7626建立連線,到這時一個木馬連線才算真正建立。值得一提 的要掃描整個IP地址段顯然費時費力,一般來說控制端都是先通過資訊反饋獲得服務端的IP地址,由於 撥號上網的IP是動態的,即使用者每次上網的IP都是不同的,但是這個IP是在一定範圍內變動的,如圖中 B機的IP是202.102.47.56,那麼B機上網IP的變動範圍是在202.102.000.000---202.102.255.255,所以 每次控制端只要搜尋這個IP地址段就可以找到B機了。
六.遠端控制:
木馬連線建立後,控制端埠和木馬埠之間將會出現一條通道。
控制端上的控制端程式可藉這條通道與服務端上的木馬程式取得聯絡,並通過木馬程式對服務端進行遠 程控制。下面我們就介紹一下控制端具體能享有哪些控制權限,這遠比你想象的要大。
***1***竊取密碼:一切以明文的形式,*形式或快取在CACHE中的密碼都能被木馬偵測到,此外很多木馬還 提供有擊鍵記錄功能,它將會記錄服務端每次敲擊鍵盤的動作,所以一旦有木馬入侵, 密碼將很容易被竊取。
***2***檔案操作:控制端可藉由遠端控制對服務端上的檔案進行刪除,新建,修改,上傳,下載,執行,更改屬 性等一系列操作,基本涵蓋了WINDOWS平臺上所有的檔案操作功能。
***3***修改登錄檔:控制端可任意修改服務端登錄檔,包括刪除,新建或修改主鍵,子鍵,鍵值。有了這 項功能控制端就可以禁止服務端軟碟機,光碟機的使用,鎖住服務端的登錄檔,將服務端 上木馬的觸發條件設定得更隱蔽的一系列高階操作。
***4***系統操作:這項內容包括重啟或關閉服務端作業系統,斷開服務端網路連線,控制服務端的滑鼠, 鍵盤,監視服務端桌面操作,檢視服務端程序等,控制端甚至可以隨時給服務端傳送信 息,想象一下,當服務端的桌面上突然跳出一段話,不嚇人一跳才怪。
簡單的一種說法:
木馬和病毒都是一種人為的程式,都屬於電腦病毒,為什麼木馬要單獨提出來說內?大家都知道以前的電腦病毒的作用,其實完全就是為了搞破壞,破壞電腦裡的資料資料,除了破壞之外其它無非就是有些病毒製造者為了達到某些目的而進行的威懾和敲詐勒索的作用,或為了炫耀自己的技術. "木馬"不一樣,木馬的作用是赤裸裸的偷偷監視別人和盜竊別人密碼,資料等,如盜竊管理員密碼-子網密碼搞破壞,或者好玩,偷竊上網密碼用於它用,遊戲帳號,股票帳號,甚至網上銀行帳戶等.達到偷窺別人隱私和得到經濟利益的目的.所以木馬的作用比早期的電腦病毒更加有用.更能夠直接達到使用者的目的!導致許多別有用心的程式開發者大量的編寫這類帶有偷竊和監視別人電腦的侵入性程式,這就是目前網上大量木馬氾濫成災的原因.鑑於木馬的這些巨大危害性和它與早期病毒的作用性質不一樣,所以木馬雖然屬於病毒中的一類,但是要單獨的從病毒型別中間剝離出來.獨立的稱之為"木馬"程式.
一般來說一種防毒軟體程式,它的木馬專殺程式能夠查殺某某木馬的話,那麼它自己的普通防毒程式也當然能夠殺掉這種木馬,因為在木馬氾濫的今天,為木馬單獨設計一個專門的木馬查殺工具,那是能提高該防毒軟體的產品檔次的,對其聲譽也大大的有益,實際上一般的普通防毒軟體裡都包含了對木馬的查殺功能.如果現在大家說某某防毒軟體沒有木馬專殺的程式,那這家防毒軟體廠商自己也好象有點過意不去,即使它的普通防毒軟體裡當然的有殺除木馬的功能.
還有一點就是,把查殺木馬程式單獨剝離出來,可以提高查殺效率,現在很多防毒軟體裡的木馬專殺程式只對木馬進行查殺,不去檢查普通病毒庫裡的病毒程式碼,也就是說當用戶執行木馬專殺程式的時候,程式只調用木馬程式碼庫裡的資料,而不呼叫病毒程式碼庫裡的資料,大大提高木馬查殺速度.我們知道查殺普通病毒的速度是比較慢的,因為現在有太多太多的病毒.每個檔案要經過幾萬條木馬程式碼的檢驗,然後再加上已知的差不多有近10萬個病毒程式碼的檢驗,那速度豈不是很慢