1. 程式人生 > >計算機病毒(1)

計算機病毒(1)

扇區 超過 啟動程序 重定位 大量 nload 開始 CP 生效

U盤傳播病毒原理---利用U盤自動播放的功能
雙擊U盤盤符時不是打開U盤,而是直接運行U盤中的程序。
原理:當我們雙擊計算機某個分區或者對某個分區選擇右鍵彈出菜單的打開項時,系統將搜索該分區根目錄下是否存在Autorun.inf文件,若存在,則根據其中內容執行相應操作。
Autorun.inf生效的條件:必須放在驅動器根目錄下,具有一定格式,文件名必須為 Autorun.inf。
方法一:關閉系統自動播放功能。
三個途徑:(1)服務?禁用ShellHardware 服務
(2)使用組策略
(3)使用註冊表
方法二、阻止Autorun.inf文件的創建。
怎麽阻止?
在磁盤根目錄、U盤根目錄、移動硬盤根目錄下(也就是病毒可能寫入Autorun.inf 文件的地方)新建一個Autorun.inf文件夾。
被病毒刪了呢?
創建一個無法刪除的Autorun.inf文件夾 病毒要做一件壞事,必須委派線程來做,線程又必須存在於一個進程空間中,所以病毒要運行,必須先有進程,才有線程完成任務。
兩個選擇:(1)自己創建進程------隱藏
(2)借用其它進程空間-----遠程註入代碼
遠程註入:由本地進程向其他進程寫入執行代碼,或者令其他進程加載模塊的過程。 DLL是作為共享函數庫的可執行文件(PE格式),但它不能獨立運行,只能通過其他可運行的程序加載到內存中執行功能。 病毒註入技術有兩種:
(1)寫內存----直接向對方進程空間中寫入代碼
(2)將病毒代碼寫到一個DLL文件中,然後令 服務:在後臺完成系統任務的程序,如獲取自動更新或者管理打印任務等等;
服務有關聯的程序,以及啟動方式;
服務與系統的核心相關,擁有各種權限。
(1)將病毒本身創建為服務
病毒運行後在系統中創建一個服務,服務關聯的程序是病毒本身,設置啟動方式為自啟動;
通過服務方式啟動的程序難於分析調試,也不容易監控。
(2)利用系統服務漏洞進行攻擊。 病毒對註冊表的利用
利用註冊表實現程序自啟動
利用註冊表改變文本文件所關聯的程序
(1) Image File Execution Options\路徑下,新建一個“項”,項的名稱是notepad.exe(要禁止的程序名稱)
(2) 再右邊的窗口中單擊右鍵選擇“新建”,“字符串值”取名為Debugger,雙擊Debugger,在“編輯字符串”對話框中,輸入一個無意義的字符串,如abc……,這樣就實現了對notepad.exe的禁用,運行時會顯示找不到文件。 硬盤的3D參數: CHS(Cylinder/Head/Sector)
磁頭數(Heads) 最大為 255 (用 8 個二進制存儲)
柱面數(Cylinders) 最大為 1023(用 10 個二進制存儲)
扇區數(Sectors) 最大為 63(用 6個二進制位存儲)
每個扇區一般是 512個字節 病毒的定義:
計算機病毒是一段附著在其它程序上的、可以自我繁殖的程序代碼,復制後生成的新病毒同樣具有感染其它程序的功能。
在計算機程序中插入的破壞計算機功能或者毀壞數據,影響計算機使用,並能自我復制的一組計算機指令或者程序代碼”。 病毒特性:
1) 傳染性: 病毒把自身復制到其他程序、中間存儲介質或主機的性質。區別於正常程序。
2) 破壞性:良性病毒-降低計算機工作效率,占用系統資源,如內存空間、磁盤存儲空間以及系統運行時間等;
惡性病毒-破壞數據、刪除文件、格式化磁盤、系統崩潰,硬件損壞。
3)隱蔽性: 在生命周期中,病毒一般會經歷三個階段:潛伏階段、傳播階段、發作階段。
4)程序性(可執行性):只有運行了才能達到目的
5)可觸發性:觸發條件
如:黑色星期五:13日又是星期五發作
PETER-2:每年2月27日提出問題,答錯3次後將硬盤加密
上海一號:每年的3、6、9月的13號發作
6)衍生性:演變或釋放出新病毒
7)不可預見性:代碼千差萬別,制作技術不斷提高,針對反病毒軟件的對抗永遠是超前的。
8)欺騙性 病毒的命名:
前綴 + 病毒名 + 後綴
前綴表示該病毒發作的操作平臺或者病毒的類型,如:Trojan( Trojan-Downloader 、 Trojan.PSW),Worm,Macro,PE,VBS,BackDoor,Win32,Win95,…
後綴是為了區別在該病毒家族中各病毒的不同,可以為字母,表示病毒是某一個家族的第幾種變種,或者為數字(數字一般是病毒的大小,以病毒的大小來區分同一家族的不同病毒變種)。
病毒名為該病毒的名稱及其家族。 查毒 -> 殺毒
殺毒:確定相應的殺毒方法
感染型病毒-清除被感染程序中的病毒代碼
獨立程序的病毒-直接刪除病毒文件
(1)特征碼查毒
利用留在被感染文件中的病毒特征值(即每種病毒所獨有的十六進制代碼串)進行檢測。
優點:
速度快,誤報率低,是檢測已知病毒最簡單、開銷最小的方法。
缺點:
無法檢測新病毒
變形病毒增多,特征庫體積龐大,速度下降 (2)啟發式查毒
通過對有關指令序列的提取和分析逐步理解並確定其蘊藏的真正動機。
優點:
可能檢測到未知病毒
缺點:
誤報。
針對PE病毒:根據PE文件在格式上的特征制定啟發式 分析方法,如代碼是否從最後一節開始執行、是否重定位。 (3)基於虛擬機技術的行為判定
在掃描器中實現了一個虛擬機來仿真CPU、內存管理系統等系統組件,進而模擬代碼執行過程,這樣病毒就是在虛擬機中模擬執行,而不是被真實的CPU執行。
優點:檢測加密和多態病毒、動態解密程序。 計算機病毒自我保護技術
(1)花指令--在指令流中插入很多的“垃圾數據”,幹擾反匯編軟件的判斷。
(2)加密--對病毒的某些主體代碼采用固定的密鑰進行加密,對抗靜態反匯編。
(3)多態--病毒加密後的每個樣本的代碼都不相同,表現為多種狀態,對抗靜態掃描特征碼的殺毒軟件
(4)變形--與多態技術不同的是每次加密的原始病毒代碼是變化的。
(5)加殼
(6)直接對抗殺毒軟件,終結反病毒軟件或其部分功能 待發展的計算機病毒對抗技術 (1)未知病毒查殺技術--虛擬CPU
要求:智能性和執行效率
(2)流掃描技術--在網絡入口處對進出內部網絡的數據和行為進行監控
要求:查殺效率要高,防止明顯的網絡延遲
(3)雲安全
通過網狀的大量客戶端對網絡中軟件行為進行異常監測,獲取互聯網中木馬、惡意程序的最新信息,傳送到Server端進行自動分析和處理,再把病毒和木馬的解決方案分發到每一個客戶端。 在生命周期中,病毒一般會經歷如下三個階段:
潛伏階段:病毒處於休眠狀態,最終會被某些條件激活(日期、某特定程序或特定文件的出現,內存容量超過一定範圍等等)
傳播階段:將自身復制到其他程序或磁盤的某個區域上。
發作階段:病毒被激活,在系統中發作,會執行某一特定功能從而達到某種既定的目的。 病毒發作體現出來的破壞程度是不同的:
表現自己
破壞程序和文件中的數據,甚至毀壞硬件 病毒程序一般由觸發模塊、傳播模塊、破壞模塊、主控模塊組成,相應為觸發機制、傳染機制和破壞機制三種。 系統啟動過程
(1)計算機啟動
(2)將硬盤MBR讀入內存地址0000:7c00處
(3)檢查0000:7dfe是否等於0xaa55,若不等於則轉去其它介質啟動,如果沒有其它介質則顯示“No ROM BASIC”然後死機。
(4)跳轉到0000:7c00處執行MBR中的程序
(5)MBR首先將自己復制到0000:0600處,繼續執行
(6)檢查分區表是否完好,並在主分區表中搜索標誌為活動的分區。如果沒有或不止一個,則顯示Invalid partition table ,並掛起系統
(7)將活動分區的第一個扇區讀入0000:7c00
(8)檢查0000:7dfe是否等於0xaa55,若不等於則顯示“Missing Operating System”,然後停止,或嘗試軟盤啟動
(9)跳轉到0000:7c00處繼續執行特定系統的啟動程序(分區引導記錄)
(10)分區引導記錄將負責讀取並執行系統文件IO.SYS,
(11)IO.SYS首先初始化一些重要的系統數據,然後就顯示出藍天白雲,Windows將繼續進行引導和初始化工作
(1)……(4)由BIOS引導程序完成
(5)……(9)由MBR的引導程序完成
(10)(11)由分區引導程序完成(啟動系統) DOS病毒的加載過程
3種加載方式:
1)參與系統的啟動過程
2)依附正常文件加載
3)直接運行病毒程序
加載步驟:
1)開辟內存空間(臨時空間)
2)病毒體定位和駐留(常駐空間)
3)恢復系統功能 引導型病毒的主要特點
1、引導型病毒是在操作系統之前進入內存,寄生對象又相對固定,因此該類型病毒大多會采用減少操作系統所掌管的內存容量方法來駐留內存高端。 而正常的系統引導過程是不減少系統內存的。
2、引導型病毒需要把病毒傳染給軟盤,一般是通過修改INT 13H的中斷向量,而新INT 13H中斷向量段址必定指向內存高端的病毒程序。
3、引導型病毒感染硬盤時,必定駐留硬盤的主引導扇區或引導扇區。(正常情況下是不對硬盤主引導區或引導區進行寫盤操作的)
4、引導型病毒的寄生對象相對固定,把當前的系統主引導扇區和引導扇區與幹凈的主引導扇區和引導扇區進行比較,如果內容不一致,可認定系統引導區異常。 PE病毒的運行過程
雙擊運行HOST程序,裝載HOST程序到內存
通過PE文件中的Address Of Entry Point和Image Base之和來定位第一條語句的位置
從第一條語句開始執行,實際執行的可能就是病毒代碼
病毒主體代碼執行完畢,將控制權交給HOST程序原來入口代碼
HOST程序繼續執行。

計算機病毒(1)