TW451125B - Tracking and inspecting method for files infected with computer virus - Google Patents

Tracking and inspecting method for files infected with computer virus Download PDF

Info

Publication number
TW451125B
TW451125B TW88119395A TW88119395A TW451125B TW 451125 B TW451125 B TW 451125B TW 88119395 A TW88119395 A TW 88119395A TW 88119395 A TW88119395 A TW 88119395A TW 451125 B TW451125 B TW 451125B
Authority
TW
Taiwan
Prior art keywords
debug
register
address
memory
cpu
Prior art date
Application number
TW88119395A
Other languages
English (en)
Inventor
Jiun-Nan Tsai
Original Assignee
Mitac Int Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitac Int Corp filed Critical Mitac Int Corp
Priority to TW88119395A priority Critical patent/TW451125B/zh
Application granted granted Critical
Publication of TW451125B publication Critical patent/TW451125B/zh

Links

Description

451 12 5
五、發明說明d) 1,創作領域: 本發明是關於一種電腦病毒之檢測方法,特別是指一 θ 測電腦系統之基本輪出入系統之I NT 1 3h中斷向量^址 f否被改變而判斷檔案是否感染電腦病毒之方法。當本發 明檢測到任何企圖改變電腦系統之基本輸出入系統之 1 Ντ 1 3h中斷向量位址時,即可發出即時之病毒警告,以適 時警告使用者該電腦已感染到電腦病毒。 2*背景說明: 查電腦病毒概可分為常駐型病毒與非常駐型病毒兩
種’本同之電腦病毒都有其特有的病毒型態、傳播途徑, 這些t腦病毒對一電腦系統而言,都會造成不同裡度的破 壞。丨
當執行到一被感染有常駐型病毒的程式時,該病毒程 式會將它自己常駐在電腦系統之記憶體之中,等到下一個 程式要執行的時候,常駐在記憶體中的電腦病毒便會伺機 去感染目前所要執行的程式。有些類型的電腦病毒是藉由 攔截電腦系統之中斷向量來達到感染之目的。例如,在目 前已知的大部份電腦病毒會去修改基本輸出入系統BI 〇 s所 提供的INT03h、INT13h或INT21h中斷向量,其最主要之目 的就是達到感染的目的。當電腦病毒程式攔載到該中斷向 量(例如INT13h)時,該病.毒程式會改變該中斷向量之向量 位址1,並以一新副程式取代該中斷向量之功能,並以該新 的副裎式作為病毒傳佈之途徑。 中斷向量I NT 1 3h之功能是控制硬碟及軟碟之資料存取
第4頁 45ί ί 2 5 五、發明說明(2) Ξ:磁:二中斷,藉由暫存器au中不同之函數值,可得到不 資料至磁s功能。例如tAH值為〇3h時,其功能係為寫人 貧料至磁碟之磁區,Λ 句舄入· 函數來破壞磁碟的分病毒程式即常利用這個功能 九,、匕磁㊣。又例如當AH值為05h時,其功能俦A格/ 1硬碟,如果電腦病毒是利用此項功能/、力^係毒為^式 系統之病毒的.話,則對於: 用有效偵測電腦 有極大的威脅。對於電細之使用及貧料之安全性將會 本發明概述: 方法因Ϊ發ί JΪ主要目的即提供-種檢測電腦病毒之 向量位址之動作時,即 =變1扣扑之 告使用者哕雷μ叮& 贫® Ρ叶之病毒警告,以適時警 者β亥電版可此已感染到電腦病毒。本發明之方争亦 可用於日後未知病毒之追蹤檢測。 赞月之方法亦 檔宰ίΪΪ之Cl的是提供一種檢測感染有電腦病毒之 檔案之方法,其結合了中央處理器中 斷點暫存器、除錯控制暫存,、除錯狀態暫;;丨=; 病毒之檢測。 θ廿盗导木轨仃
I 為達到本發明之上述目的,本發明所提供之有電 之追蹤檢測方法’係首先在該電腦系統之記憶 體中扣疋一記憶區,然後設定該中央處理器中各相關暫存 器、判斷該中央處理器是否有除錯狀況產±、判斷中,央處 理器之除錯狀態暫存器中之對應中斷點條件是否被設定。
第5頁 4 51 12 5 五、發明說明(3) 當中斷點 錯狀況之指令 規化、以及建 體控制區塊之 之指令節區及 之程式名稱及 容進行掃描, 警示使用者, 時,則可輸出 測。 本發明之 由以下之較佳 其中:1 (一) _式簡要 圖一係顯 1裝置 _二係顯 齒三係顯 之示 圖四係顯 圖五係接 (二) 圖號說明 1, 10 條件已 位址, 立一記 串列進 偏移位 位址予 若比對 若未比 該檔案 被設定時,即由 然後將該指令節 憶體控制區塊串 行掃描以找出任 址之程式。將該 以記錄。最後對 出與已知病毒碼 對出與已知病毒 内容,以作為日 堆疊中取得觸發該除 區及偏移位址予以正 列,並對前述之記憶 何涵蓋到前述正規化 改變INTI 3h中斷向量 該記憶區中之檔案内 相同之檔案内容,即 碼相同之檔案内容 後未知病毒之追蹤檢 其它目的及其進一步之病毒檢測方法,將藉 實施例說明及附呈圖式,作進一步之說明, 說明: 示一包括有中央處理器、輸出入界面、磁碟 、記憶體之典型個人電腦簡化系統圖; 示中央處理器中各主要暫存器之示意圖; 示一 Pentium級中央處理器内部相關暫存器 意圖; 示本發明病毒檢測方法之流程圖; 續圖四之流程圖。 中央處理器 ' 通用暫存器
451 1 2 5 五、發明說明 (4) 11 狀 態 及 指 令 暫 存器 12 ΛΑ- 即 區 暫 存 器 13 控 制 暫 存 器 组 14 除 錯 暫 存 器 組 2ί 系 統 匯 流 排 21 位 址 匯 流 排 22 資 料 匯 流 排 23 控 制 匯 流 排 3 輸 出 入 界 面 4 磁 碟 裝 置 5 1己 憶 體 CRO~ -CR4 控 制 暫 存 器 DRO - -DR3 除 錯 位 址 暫 存 器 DR 6 除 錯 狀 態 暫 存 器 DR7 除 錯 控 制 暫 存 器 較佳實施例說明: 圖一係顯示一典型個人電腦系統中,包括有一中央處 理器1、一輸出入界面3、一磁碟裝置4、一記憶體5間之簡 化系統示意圖。該中央處理器ί經由系統區域匯流排2及輸 出入界面3而與磁碟裝置4連接,而中央處理器1則經由該 系統ΐ流排2而與一記憶體5相連接。其中該系統匯流排2 係包括有位址匯流排2 1、資料匯流排2 2、及控制匯流排 2 3,’'以作為中央處理器2與各元件間之資料、位址信號、 及控'制信號之傳送路徑。
4 si 1 2 5 五、發明說明(5) 在以下之實施例中’是以I n t e 1公司p e n t i U m級中央處 理器作一較佳實施例說明,且該磁碟裝置4係可經由一 I DE 界面而與中央處理器1相連接。 參閱圖二所示,其係顯示一典型之中央處理器中各主 要暫存器之示意圖。中央處理器内部之一般用途暫存器依 其功能之不同,約略可分為通用暫存器l〇(General Purpose Register)、狀態及指令暫存器 ii(status and Instruction Register)、節區暫存器 i2(Segment'
Register)。其中該通用暫存器10包括有數個十六位元暫 存器ΑΧ、BX、CX、DX、BP、SP、SI、DI、以及數個八位元 之暫善器AH、AL、BI1、BL、CH、CL、DH、DL。這些暫存器 一般是用來處理位元組資料。而較先進之中央處理器在處 理3 2彳i元的資料時,可以使用八個3 2位元的通用暫存器 EAX 、ECX 、EDX 、EBP 、ESP 、ESI 、EDI 。
收態及指令暫存器11包括有IP、j?LAGS、EIP、EFLAGS 暫存器’是用來指定欲執行指令、以及指示在執行指令後 的結果狀態。 節區暫存器12包括有程式節區暫存器以、堆疊節區暫 存器、資料節區暫存器os、額外資料節區暫存器、旗 〇 b郎έ暫存器、通用節區暫存器gs。這些暫存器可用來 決定I己憶體位址節區的基底位址。 tPentium級中央處理器内部尚包括有其它系統暫存 器’ '道些系統暫存器中,與本發明之病毒檢測方法有關之 暫存器示於圖三中,其包括有控制暫存器組13及除錯暫存
4 S1 12 5 五、發明說明(6) 器組1 4。其中之控制暫存器組〗3中包括有數個控制暫存器 CRO〜CR4,其中控制暫存器CR4之位元定義中,共有位元〇 至位元6,其中之位元3乃為除錯擴展功能(Debugging Ex tens ion)之設定位元,當該位元設定為1時,乃啟動輸 出入界面斷點除錯擴展功能,當該位元設定為〇時,乃解 除輸出入界面斷點除錯擴展功能。 除錯暫存器組14中包括有八個暫存器dr〇〜DR7,其中 之DR0〜DR3是作為除錯位址暫存器(Debug Address
Resister),每一個除錯位址暫存器中含32位元的斷點線
性位(Breakpoint Linear Address) dDR6 是作為除錯狀 態暫存器(Debug Status Register),其可在除錯狀況產 生時,告知遠除錯狀況之條件。D r 7係作為一除錯控制暫 存器(Debug Control Register),其可用來致能或禁能斷 點功能、以及可用來設定斷點條件。
每一個除錯位址暫存器DR0~DR3皆有一些各自的控制 位元(在除錯控制暫存器DR7中),例如在DR7中之LEN位元 值決定了斷點位址的存取長度,當LEN = 〇〇時,其存取長度 為一個位元組’當LEN = 〇l時其存取長度為二個位元蚯,又 田L E N -11時,其存取長度為四個位元組。又,ρ r 了中之r /界 之位艽值決定在斷點位址上發生斷點的原因,當R/w = 〇〇時 係表示指令碼存取,R/w=〇i時係表示資料寫入,當r/w = i〇 時係表示I/O讀取或寫入,當R/W=u時是表示資料讀取盘
第9頁 451 1 2 5 五、發明說明(7) 所示之中央處理器内部暫存器組架構及圖四、圖五所示之 控制流程圖,對本發明之病毒檢測方法作一詳細說明如 在程式啟始後,本發明首先於步驟丨〇 〇中,在該電腦 系統之記憶體中指定一記憶區’此一記憶區可在後續之病 毒檢測程序中用來保存該改變中斷向量1 NT i 3h之程式之名 稱及其啟始位址。 接著在步驟101中進行中央處理器中各相關暫存器之 設定’,此步驟中包括: 1. 在中央處理器之任一個偵錯位址暫存器— DM)中設 定+六進位數值資料4Ch ’該數值資料4Ch係用以指出 lNT13h t斷向量於中斷向量表中之記憶體位址所在(由 於每個申斷向量佔4位元組大小,此值即由〗3h χ 4而求 得)。 2. 在t央處理器之除錯控制暫存器DR7之R/w位元(讀取/寫 入检制位兀)中設定數值〇丨,其意謂啟動中央處理器在 執If資料寫八時之中斷功能。 3. 在該除錯控制暫存器DR7《LEN位元(長度位元)令設定數 值1丨1,其數值係代表斷點位址之存取長度值是四個位元 錐15 在元成上述之相關暫存器資料設定之後,即執行步驟 ,此一步驟是判斷是否有除錯狀況(Debug Exception) 雇生’方無’則繼續迴圈測試,若有,中央處理器會啟始 /中如向量INTOlh之中斷服務稜式,並執行下一步驟
4 5;Π2 5 五、發明說明(8) 103 ’進一步判斷中央處理器中除錯狀態暫存器DR6之狀 態’該除錯狀態暫存器DR6可反映斷點暫存器dr〇_j)R3的狀 態。 耷步驟1 03中’判斷中央處理器之除錯狀態暫存器DR6 中之對應中斷點條件(Breakpoint Condition )是否被設 定。若結果為否’則回到步驟1 〇 2,若結果為是,則進行 下一步驟1 0 4。 在步驟104中’由s己憶體堆疊fp區(Stack Segment)中 取得觸發該除錯狀況之指令之節區及偏移位址(Segment & Of f set)值。然後,在步驟1〇5中,將該指令之節區及偏移 位址予以正規化。 接著在步驟1 0 6中,建立一 DOS之記憶體控制區塊 (Memory Control Block >簡稱MCB)串列。建立該記憶體 控制區塊串列之方式’首先需呼叫D〇S作業系統中之 INT2Ph/AH = 52h功能函數,在執行該iNT21h/AI卜52h功能函 數之後,可於記憶體位址ES :〔 BX- 2〕取得第一個記憶體 控制區塊之節區位址(1 6位元),而由記憶體控制區塊所包 含之區塊擁有者之PSP(程式前置區)節區位址及區塊長度 等資訊,可進一步取得當時在記憶體中所有程式 (Process)之位址與名稱。 在本發明之實施例中’該記憶體控制區塊之格式可 為:, 偏移也址 大小 說明 (Offsbt) (Size) (Description)
五、發明說明(9) OOh 1 Byte 控制區塊之型式(若該區塊為最後 一個’則其數值為5Ah,否則其數 值為4Dh)。 Olh 1 Word 控制區塊擁有者之PSP(程式前置 區)節區位.址。 03h 1 Word 區塊(Memory Block)之長度。 05h 3 bytes 未使用。 08h 8 bytes 區塊擁有者之程式名稱(process Name) °
在圖五所示之步驟1 Ο 7中’對前述之記憶體控制區塊 之串列(MCB L i st )進行掃描,以找出所在區域涵蓋前述正 規化後郎區及偏移位址之程式。 然後在步驟108中,將該改變INT13h中斷向量之程式 名稱灰位址予以記錄在步驟1 〇 〇中所指定之記憶區中。再 於步驟1 09中,對該記憶區中之檔案内容進行掃描,並與 已知病毒碼進行比對。 〜 比對之結果,若並未檢測到相同於已知病毒碼的話 (、步驟11 0 ),則執行步驟i 11,將該檔案之内容予以輪出’ 以作為日後未知病毒之追蹤檢測。若步驟丨丨〇中之判別社
果為是’則即時顯示該電腦病毒之名稱,以警示該^ 感染電腦病毒。 恥已 籍由以上之病毒檢測方 之暫#器,使本發明可以有 電腦系統的磁碟裴置之電腦 法以及利用中央處理器中相 效即時檢測到任何企圖寫人 病毒。一旦檢測到已知之至
五、發明說明(ίο) 病毒碼後,即可發出一警告,以適時警告使用者,若未比 對到相符之已知電腦病毒時,則可以作為曰後未知病毒之. 追蹤檢測。 因此,本發明所提供之電腦病毒檢測方法,確具高度 之產業利用價值,可達到預期之功效,且在專利申請前亦 未有相同或類似之技術公開在先,業已符合於發明專利之 要件,爰依法提出發明專利之申請。 h
第13頁

Claims (1)

12 5 六、申請專利範圍 係檢測企圖改 斷向量位址之. 内部配置有控 、除錯狀態暫 ,若無,則繼 處理器之除錯 設定; 對應中斷點條 得觸發該除錯 以找出涵蓋到 式; 位址予以記錄 與已知病毒碼 案内容,即警 1. 一種感染電腦病毒檔案之追蹤檢測方法, 變電腦系統之基本輸出入系統之lNT13h中 電腦病毒程式,該電腦系統之中央處理器 制暫存器、斷點暫存器、除錯控制暫存器 存器,該檢測方法包括下列步驟: a. 在該電腦.糸統之記憶體中指定·一記憶區 b. 設定該中央處理器中各相關暫存器; c. 判斷該中央處理器是否有除錯狀況產生 續迴圏測試,若有,則進一步判斷中央 狀態暫存器中之對應中斷點條件是否被 d. 若該中央處理器之除錯狀態暫存器中之 件已被設定,則由記憶體堆疊節區中取 狀況之指令之區及偏移位置; e. 將該指令之節區及偏移位址予以正規化 f. 建立一記憶體控制區塊串列; g. 對該記憶體控制區塊之串列進行掃描, 前述正規化之指令節區及偏移位址之程 h. 無該改變I NT 13h中斷向量之程式名稱及 在步驟a 47所指定之記憶區中; i. 對該記憶區中之檔案内容進行掃描,並 比對,若比對出與已知病毒碼相同之檔 示使用者。 2.如_請專利範圍第1項所述之感染電腦病毒檔案之追蹤
第14頁 4S1 ί 25 六、申請專利範圍 檢測方法’其中步驟b在設定該中央處理器中各相關暫 存器之步驟包括: b 1.在中央處理器之任一個偵錯位址暫存器中設定一預 定數值; b2.在中央處理器之除錯控制暫存器之讀取/寫入控制位 元令設定一預定數值; b3.在§亥除錯控制暫存器之長_度設定位元中設定一預定 數值。 3.如申請專利範圍第2項所述之感染電腦病毒檔案之追蹤 檢測方法,其中步驟b 1在任一個偵錯位址暫存器中所設 定之預定數值為十六進位數值資料4Ch。 4.如申請專利範圍第2項所述之感染電腦病毒擋案之追蹤 檢測方法,其中步驟b2中,該中央處理器之除錯控制暫 存器之讀取/寫入控制位元中所設定之預定數值為0 1, 其意謂啟動中央處理器在執行資料寫入時之令斷功能。 5. 如申请專利範圍第2項所述之感染電腦病毒權案之追縦 檢測方法,其中步驟b3中,該中央處理器之除錯控制暫 存窸之長度設定位元中所設定之預定數值為11,其係代 表斷點位址之存取長度值是四個位元組。 、 6. 如申請專利範圍第1項所述之感染電腦病毒檔案之追蹤
4 5112 5 六、申請專利範圍 檢測方法,其中步驟f建立記憶體控制區塊_列係呼叫 003作業系統中之;^丁2111/八丨丨二5211功能函數。 7.如+請專利範圍第1項所述之感染電腦病毒檔案之追蹤 檢洳方法,其中步驟I中,若在對該記憶區中之檔案内 容進行掃描及比對時,並未比對出與已知病毒碼相同之 檔案内容時,其更包括輸出該檔案内容,以作為日後未 知病毒之追縱檢測。
第16頁
TW88119395A 1999-11-06 1999-11-06 Tracking and inspecting method for files infected with computer virus TW451125B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW88119395A TW451125B (en) 1999-11-06 1999-11-06 Tracking and inspecting method for files infected with computer virus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW88119395A TW451125B (en) 1999-11-06 1999-11-06 Tracking and inspecting method for files infected with computer virus

Publications (1)

Publication Number Publication Date
TW451125B true TW451125B (en) 2001-08-21

Family

ID=21642936

Family Applications (1)

Application Number Title Priority Date Filing Date
TW88119395A TW451125B (en) 1999-11-06 1999-11-06 Tracking and inspecting method for files infected with computer virus

Country Status (1)

Country Link
TW (1) TW451125B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI494751B (zh) * 2009-07-29 2015-08-01 Reversinglabs Corp 自動化解碼攜帶式可執行檔之系統、方法及其電腦程式產品
TWI510950B (zh) * 2007-05-24 2015-12-01 Microsoft Technology Licensing Llc 用於部分可用內容之防毒掃描的方法、系統和電腦可讀取媒體

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI510950B (zh) * 2007-05-24 2015-12-01 Microsoft Technology Licensing Llc 用於部分可用內容之防毒掃描的方法、系統和電腦可讀取媒體
TWI494751B (zh) * 2009-07-29 2015-08-01 Reversinglabs Corp 自動化解碼攜帶式可執行檔之系統、方法及其電腦程式產品

Similar Documents

Publication Publication Date Title
Ferrie Anti-unpacker tricks–part one
US5889981A (en) Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
JPS63293639A (ja) 順序正しくないフエツチをモニタするための装置
Moore A Universal Dynamic Trace for Linux and Other Operating Systems.
EP0702297A1 (en) A data processor with breakpoint circuit and method therefor
TW451125B (en) Tracking and inspecting method for files infected with computer virus
CN1187685C (zh) 感染计算机病毒文件的追踪检测方法
TWI221961B (en) Early exception detection
CN113612661B (zh) 检验程序稳定性的方法、装置、计算设备及存储介质
US20090133124A1 (en) A method for detecting the operation behavior of the program and a method for detecting and clearing the virus program
US7484069B2 (en) Watchpointing unaligned data accesses
EP1962168A1 (en) A method for detecting the operation behavior of the program and a method for detecting and clearing the virus program
TW448402B (en) Virus detecting method for IDE hard disk device set in PIO access mode
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
JP2550686B2 (ja) 情報処理装置
JP2980327B2 (ja) 命令処理装置
CN1173266C (zh) 开机型病毒检测方法
KR920010973B1 (ko) 컴퓨터 바이러스(Virus)로부터 하드 및 플로피 디스크를 보호하는 회로 및 보호방법
JPH06202907A (ja) デバッグ支援装置
JPS59183443A (ja) デバツグ装置
JP2515333B2 (ja) システムの動的情報収集処理装置
TW466402B (en) Computer system pre-boot security detection method for detecting invalid operation code
JPS626341A (ja) 情報処理装置
JP2000353109A (ja) エミュレータ及びエミュレーションシステム

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees