【读书小结】—— 基于虚拟机的启发式扫描反病毒技术
生活随笔
收集整理的這篇文章主要介紹了
【读书小结】—— 基于虚拟机的启发式扫描反病毒技术
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
既然談得是虛擬機的啟發式掃描反病毒技術,那么就該介紹下虛擬機、啟發式掃描的概念。
虛擬機(VM),在反病毒界被稱為通用解密器。具體做法是:用程序代碼虛擬一個CPU來,同樣也虛擬CPU的各個寄存器,甚至將硬件端口也虛擬出來,用調試程序調入被調的樣本,將每一條語句放到虛擬環境中執行,這樣就可以通過內存和寄存器以及端口的變化來了解程序的執行。這樣的一個虛擬環境就是一個虛擬機。
虛擬機作為原操作系統下的一個應用程序,目標是讓程序像運行在單獨一臺真正的機器上,絲毫察覺不到自己處于VM的控制之下。而實現虛擬技術的關鍵在于軟件虛擬化和硬件虛擬化。
文中給出了三種方案:自含代碼虛擬機(SCCE),緩沖代碼虛擬機(BCE),有限代碼虛擬機(LCE)。
自含代碼虛擬機,像是一個真正的CPU,從內存中取出每條指令,然后解碼,用自己的例程模擬該指令。該虛擬機會包含一個例程來對內存/寄存器尋址操作數進行解碼,然后還包括一個用于模擬每個可能在CPU上執行的指令的例程集。因此,自含代碼虛擬機的代碼會非常巨大,而且速度會非常慢。
緩沖代碼虛擬機,是SCCE的一個縮略版,大概是整合了個通用指令模擬例程,然后剩下的特殊指令單獨用例程進行模擬。
有限代碼虛擬機,并非實際上的虛擬機。只是簡單地跟蹤一段代碼的寄存器內容,可能會提供一個小的被改動的內存地址表,或是調用過的中斷之類的東西。選擇使用LCE而非更大更復雜的系統的原因,在于既是只對極少數之類的支持便可以在解密原始加密病毒的路上走很遠,因為病毒僅僅使用了INTEL指令集的一小部分來加密其主體。
虛擬機(VM),在反病毒界被稱為通用解密器。具體做法是:用程序代碼虛擬一個CPU來,同樣也虛擬CPU的各個寄存器,甚至將硬件端口也虛擬出來,用調試程序調入被調的樣本,將每一條語句放到虛擬環境中執行,這樣就可以通過內存和寄存器以及端口的變化來了解程序的執行。這樣的一個虛擬環境就是一個虛擬機。
虛擬機作為原操作系統下的一個應用程序,目標是讓程序像運行在單獨一臺真正的機器上,絲毫察覺不到自己處于VM的控制之下。而實現虛擬技術的關鍵在于軟件虛擬化和硬件虛擬化。
文中給出了三種方案:自含代碼虛擬機(SCCE),緩沖代碼虛擬機(BCE),有限代碼虛擬機(LCE)。
自含代碼虛擬機,像是一個真正的CPU,從內存中取出每條指令,然后解碼,用自己的例程模擬該指令。該虛擬機會包含一個例程來對內存/寄存器尋址操作數進行解碼,然后還包括一個用于模擬每個可能在CPU上執行的指令的例程集。因此,自含代碼虛擬機的代碼會非常巨大,而且速度會非常慢。
緩沖代碼虛擬機,是SCCE的一個縮略版,大概是整合了個通用指令模擬例程,然后剩下的特殊指令單獨用例程進行模擬。
有限代碼虛擬機,并非實際上的虛擬機。只是簡單地跟蹤一段代碼的寄存器內容,可能會提供一個小的被改動的內存地址表,或是調用過的中斷之類的東西。選擇使用LCE而非更大更復雜的系統的原因,在于既是只對極少數之類的支持便可以在解密原始加密病毒的路上走很遠,因為病毒僅僅使用了INTEL指令集的一小部分來加密其主體。
至于啟發式代碼掃描技術,則是所謂的有自我發現的能力,發現新病毒。因為傳統的反病毒掃描技術是在文件中查找已知病毒的特征碼來鑒別是否染毒,是一種靜態的過程,僅能查出已知的病毒。而啟發式掃描能夠根據某些規則職能地分析程序的代碼,從而有可能找到未知的病毒。一個運用啟發式掃描技術的病毒檢測軟件,實際上就是以特定方式實現的動態高度器或反編譯器,通過對有關指令序列的反編譯逐步理解和確定其蘊藏的真正動機。
——
感覺,反病毒技術的發展是這樣的。
1、簡單的黑名單技術,發現病毒加入黑名單。
2、Hash特征碼生成,這個也會分成很多塊內容。靜態文件查殺,還有內存查殺都可以歸納到這里的感覺。通過一些列的特征碼,運用AC或者BM等多種字符匹配算法,來掃描出病毒。
3、虛擬機技術,也就是本文中提到的虛擬個機子來監控病毒。可是,這樣代價太高。
4、沙盤技術,類似于還原精靈,暫時理解是這樣的。給程序自由運行,但是同時監控其所有行為。
總結
以上是生活随笔為你收集整理的【读书小结】—— 基于虚拟机的启发式扫描反病毒技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频剪切合并器如何剪辑下载的MP4电影并
- 下一篇: HAL库教程8:通用定时器的使用