啟發式(計算機術語)

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

啟發式:英文Heuristic;簡化虛擬機和簡化行為判斷引擎的結合。主要針對:木馬、間諜、後門、下載者、已知病毒(PE病毒)的變種。

基本介紹

  • 中文名:啟發式
  • 外文名:Heuristic
  • 針對木馬等已知病毒(PE病毒)的變種
  • 概念虛擬機和簡化行為判斷引擎的結合
什麼是啟發式,傳統反病毒特徵值掃描技術,啟發式技術的優勢,啟發式引擎,

什麼是啟發式

Heuristic(啟發式技術=啟發式掃描+啟發式監控)
重點在於特徵值識別技術上的更新、解決單一特徵碼比對的缺陷。目的不在於檢測所有的未知病毒,只是對特徵值掃描技術的補充。
啟發式技術是基於特徵值掃描技術上的升級,與傳統反病毒特徵值掃描技術相比,優點在於對未知病毒的防禦。是特徵值識別技術質的飛躍。  啟發式查毒技術屬於主動防禦的一種,是當前對付未知病毒的主要手段,從工作原理上可分為靜態啟發和動態啟發兩種。
啟發式指 “自我發現的能力”或“運用某種方式或方法去判定事物的知識和技能”, 是防毒軟體能夠分析檔案代碼的邏輯結構是否含有惡意程式特徵,或者通過在一個虛擬的安全環境中前攝性的執行代碼來判斷其是否有惡意行為。在業界前者被稱為靜態代碼分析,後者被成為動態虛擬機。 靜態啟發技術指的是在靜止狀態下通過病毒的典型指令特徵識別病毒的方法,是對傳統特徵碼掃描的一種補充。由於病毒程式與正常的應用程式在啟動時有很多區別。 通常一個應用程式在最初的指令,是檢查命令行輸入有無參數項、清屏和保存原來螢幕顯示等,而病毒程式則通常是最初的指令是直接寫盤操作、解碼指令,或搜尋某路徑下的可執行程式等相關操作指令序列。靜態啟發式就是通過簡單的反編譯,在不運行病毒程式的情況下,核對病毒頭靜態指令從而確定病毒的一種技術。 而相比靜態啟發技術,動態啟發技術要複雜和先進很多。動態啟發式通過殺軟內置的虛擬機技術,給病毒構建一個仿真的運行環境,誘使病毒在殺軟的模擬緩衝區中運行,如運行過程中檢測到可疑的動作,則判定為危險程式並進行攔截。這種方法更有助於識別未知病毒,對加殼病毒依然有效,但如果控制得不好,會出現較多誤報的情況。 動態啟發因為考慮資源占用的問題,因此只能使用比較保守的虛擬機。管如此,由於動態啟發式判斷技術具有許多不可替代的優勢,因此仍然是目前檢測未知病毒最有效、最可靠的方法之一,並在各大殺軟產品中得到了廣泛的套用。 由於諸多傳統技術無法企及的強大優勢,必將得到普遍的套用和迅速的發展。純粹的啟發式代碼分析技術的套用(不藉助任何事先的對於被測目標病毒樣本的研究和了解),已能達到80%以上的病毒檢出率,而其誤報率極易控制在0.1%之下,這對於僅僅使用傳統的基於對已知病毒的研究而抽取“特徵字串”的特徵掃描技術查毒軟體來說,是不可想像的. 啟發式防毒技術代表著未來反病毒技術發展的必然趨勢,具備某種人工智慧特點的反病毒技術,向我們展示了一種通用的、不依賴於升級的病毒檢測技術和產品的可能性。

傳統反病毒特徵值掃描技術

傳統反病毒特徵值掃描技術,由反病毒樣本分析專家通過逆向反編譯技術,使用反編譯器ollydbg、ida、trw等)來檢查可疑樣本檔案是否存在惡意代碼,從而判定程式檔案是否屬於正常程式或病毒、惡意軟體。在確認程式為病毒、惡意軟體後,不同的安全廠商根據自己的標準對此可疑程式樣本進行特徵提取和樣本命名(不同安全廠商有自己規定的特徵提取點和樣本命名規則)。最後經過測試部門測試通過後,更新到伺服器,提供用戶的本地病毒庫更新。在用戶作業系統正常監控或用戶手動掃描後,利用防毒引擎對系統上的檔案自動進行特徵值提取並與病毒庫中已存特徵值比對,條件符合即比對結果為真時,即判斷此檔案為病毒庫中記錄的特徵值對應的病毒名稱的病毒(惡意軟體)。
病毒、惡意軟體通常最初的指令是直接讀寫磁碟操作、解碼指令,或獲取系統目錄(GetSystemDirctory)、獲取磁碟類型(GetDriveType)、打開服務管理器(OpenSCManager)等相關操作指令序列。這些都是病毒樣本分析專家分析中得到的經驗。

啟發式技術的優勢

啟發式技術,在原有的特徵值識別技術基礎上,根據反病毒樣本分析專家總結的分析可疑程式樣本經驗(移植入反病毒程式),在沒有符合特徵值比對時,根據反編譯後程式代碼所調用的win32 API函式情況(特徵組合、出現頻率等)判斷程式的具體目的是否為病毒、惡意軟體,符合判斷條件即報警提示用戶發現可疑程式,達到防禦未知病毒、惡意軟體的目的。解決了單一通過特徵值比對存在的缺陷。
例如:一個可疑程式通過反病毒防毒引擎反編譯後,發現代碼中自動釋放執行檔駐留系統目錄、偽裝系統檔案、註冊win32服務獲取系統管理許可權、通過命令行刪除自身檔案,調用系統組件svchost.exe來開啟後門服務,隱藏自身進程並嘗試通過OpenSCManagerA、OpenServiceA、ControlService等函式來開啟系統自身的終端服務,以便進一步控制計算機。通過這些條件即可判斷為惡意軟體後門程式)。

啟發式引擎

蜘蛛使用Dr.Web啟發式引擎,該引擎是蜘蛛自己開發的,在偵測未知威脅方面卓有成效。它的啟發式引擎,加入了俄羅斯人一貫擅長的一系列複雜的脫殼運算算法。因此可以輕而易舉地對將近4000多種殼進行脫殼,並且在脫殼的時候,不卡系統,記憶體和CPU占用水平都維持在低水準中。蜘蛛能夠高精度偵探加殼對象,將其分解為組成部分並進行逐一檢查,判斷是否存在隱藏的危險。即便是有害程式使用的是新加殼方式,也不會逃過它的檢查。
實際上,流行的加殼方式分為加密保護和壓縮保護。蜘蛛的啟發式引擎,主要負責對加密保護這類殼(ASProtect、tElock、Armadillo、SVK Protector、Xtreme-Protector、Obsidium、PElock等)進行脫殼。而對於壓縮保護的殼(UPXASpack、Petite、PECompact、PE-PACK等),蜘蛛還有自己的特色技(Origins.Tracing TM)來額外處理,以便分擔啟發式分析儀單方面脫殼的壓力。
Dr.WebAV-Desk版中的雲安全技術
蜘蛛在自己的福雲版AV-Desk加入了雲安全技術,為提高對未知病毒的反映處理時間做出了貢獻。
獨特的非特徵性分析技術Origin.Tracing,FLY-CODE 是獨一無二的全能解包器,設於Dr.Web 5.0及6.0版的搜尋模組。利用這一解包器Dr.Web可解未知的打包器。利用Dr.Web病毒庫中的專門記錄,搜尋模組能夠對存在於打包壓縮檔案中的有害對象作出啟發式判斷,這時在被偵測出的對象名稱後添加《可能是 Trojan.Packed》。Packed就是捆綁打包之意。即該技術有利於偵測任何含壓縮保護的檔案中內含有的惡意捆綁內容(廣告程式、後門、木馬等)。此技術是對傳統特徵分析(常規病毒特徵碼對比)和Dr.Web啟發式分析儀(啟發式引擎)的補充,大大分擔啟發式分析儀脫殼的壓力。該技術同時有利於降低啟發式分析儀的誤報及縮短偵測時間。
因此,當我們下載的一些程式包內含有廣告外掛程式時,蜘蛛就能很敏銳地偵測到,非常強悍。致使很多人誤以為其誤報正常安裝程式。不過,蜘蛛也是有缺點的,那就是它的本地化控制得不好,對部分國內軟體(即使沒有捆綁外掛程式)誤報。
NOD32 ThreatSense啟發式引擎
NOD32之所以能斬獲如此多的獎項,其終究還是要歸功於它所使用的高效綜合性防護架構引擎——ThreatSense啟發式引擎。利用單一的ThreatSense啟發式引擎,來處理不同的威脅(病毒、蠕蟲、木馬、間諜軟體、廣告軟體、後門程式、網路釣魚)。以此來簡化工序,提高執行效能。
除了常規病毒特徵碼檢測外,NOD32基於TS啟發式引擎的檢測技術還有2種。1、靜態啟發。靜態啟發這一塊含有2種技術。第一種是基於病毒庫中已有的特徵碼對比,並在靜止狀態下通過簡單的反編譯,核對病毒頭靜態指令來識別病毒。第二種就是基因碼檢測(國外的叫法),類似於國產殺軟的廣譜查殺技術。主要是從各病毒變種中找到一些相同的非連續的程式代碼,製作出通用的家族啟發規則,內置於NOD32中。一旦在對比中發現可疑檔案含有的部分代碼符合或接近此家族啟發規則,就進行報毒。這對NOD32來說,還算是小兒科的。真正厲害的是它的動態啟發。2、動態啟發動態啟發遠比靜態啟發要先進和複雜很多。它辨別病毒的方法並非依靠任何特徵資料庫,而是在檔案掃描時主動地拆解與分析檔案的執行碼,並使用虛擬機技術,給可疑檔案構建一個虛擬仿真的運行環境,誘使它在殺軟的模擬緩衝區中運行,如運行過程中檢測到可疑的動作,則判定為危險程式並進行攔截。這種方法對加殼病毒依然有效,但如果控制得不好,會出現較多誤報的情況。動態啟發因為考慮資源占用的問題,因此目前只能使用比較保守的虛擬機技術。
我們常見的NOD32靜態啟發報毒,就是那些有“變種(variant)”、“可能(probably)”或帶“Gen(Generic——基因啟發)”字樣的報法。而動態高啟發報毒,則是以“未知的NewHeur_PE病毒”(probably unknown NewHeur_PE virus [7])來標示的。在用戶病毒掃描測試中,查殺率並不是很高。
ThreatSense.Net全球病毒預警系統
ThreatSense.Net類似於ESET雲安全,它可以將客戶端的啟發式引擎報警為未知NewHeur_PE病毒的樣本,從後台遣送至ESET的病毒實驗室,從而進一步深入指紋對比,並最終確認威脅的具體種類、名稱和危害度等級。它是從NOD32 2.5就延續下來的功能,那時候很多廠商都沒有雲安全這個概念呢。可見ESET的技術和理念都是很有前瞻性的。通過TS.Net,用戶可以將威脅的應對時間,從以往的數天降低至幾小時甚至於幾分鐘以內,從而得到接近於零時差的保護。
ESET NOD32的優點如上述般多,但缺點也是並存的。它在開了高啟發之後,對於某些加殼的檔案進行模擬運行分析時,會不穩定。這樣導致的結果是偶爾CPU會瞬時飆升很高,直觀上就是電腦卡幾下。不過,瑕不掩瑜,NOD32的啟發偵測病毒率占全部偵測率的大部分,同時誤報控制得極低,所以說,它終究高啟發低誤報的典範代表殺軟之一。
咖啡的啟發式引擎也是自家獨創的,擁有基因啟發和模擬行為分析的能力。它使用了啟發式殺軟普遍使用到的基因碼偵測技術,能非常有效地對付種類繁多的病毒和木馬的變種。同時也有著很好針對未知威脅的前攝性偵測能力。
Artemis月神技術是McAfee為了即時防禦線上的惡意威脅,而開發出的一種雲技術套用,最早見於企業版的咖啡產品中。不過從09年開始,咖啡的家庭版產品,也加入了此技術,並更名為“Active Protection”。Artemis會查找可疑的 PE 檔案,並當偵測到時,把某類的總和檢查碼(不會包含個人/敏感的數據)傳送到由McAfee AVERT Labs架設的中央資料庫伺服器。該中央資料庫伺服器會不斷地更新新發現的惡意軟體,而且 McAfee 的惡意軟體佇列到目前為止並未建立官方 DATs. 如果符合中央資料庫內的數據,掃瞄器會報告並處理偵測到的惡意軟體。在 McAfee 的佇列中的檔案並未經歷過任何分析,但會由 McAfee 的巨大白名單交叉檢查以避免誤判。根據由遠程維護的黑名單,可以提供較每日多次發布特徵碼更新來對付每小時大量出現新的惡意軟體的廠商快速的保護,以防止新的惡意軟體的入侵,達到所謂的零時差防護!
Artemis在企業版咖啡產品中,其等級是可調的。而在家庭版產品中,無法調節相應等級。
Norton BloodHound啟發式引擎
BloodHound是賽門鐵克獨家的啟發式偵測技術。和眾多啟發式引擎無異,它會藉由可疑的行為來偵測病毒。BloodHound會製造一個虛擬的安全環境,使病毒展現出他的不良企圖,而不會影響到本身計算機運作的穩定性。
綜合性SONAR行為偵測/防禦技術
啟發只運行於虛擬主機當中,倘若病毒木馬不幸進入實體主機,就得利用“行為防禦技術”了;行為防禦會分析可疑程式的行為,並事先阻攔,諾頓著名的SONAR無疑是當中最成熟的。直觀來說,SONAR是一種行為偵測/防禦的技術,其可以在建立病毒定義檔及間諜軟體偵測定義檔前,阻止惡意程式碼侵入。這些新興且未知的惡意程式碼會透過木馬程式蠕蟲、大眾郵件病毒、間諜軟體或者下載軟體病毒的形式進行攻擊與破壞。當許多產品僅使用一組有限的啟發式法則時,SONAR可以透過廣泛且異質的套用行為數據,大幅提升其防護能力,且明顯地將誤判率降至最低。
具體來說,SONAR技術與卡巴單純的主動防禦技術不同,它更注重途徑防禦(諾頓注重的"途徑防禦",主要通過過各種不依賴病毒庫的防禦技術,封鎖各種病毒感染途徑,如漏洞防禦,瀏覽器防禦)。SONAR更多的是根據產品中一系列的引擎例如防火牆,防毒引擎,入侵防護引擎(IPS)、瀏覽器防護引擎(Browser Defender)等等來收集和整合信息的。然後所有這些信息會被分類器所使用來提高效能。這和其他廠商的技術有很大的區別。很多其他安全廠商沒有如此龐大的信息來製作好的分類器。
Kaspersky 加入了啟發式技術的AVP引擎
從卡巴7開始,卡巴順應潮流,也對自己的軟體加入了啟發式掃描的技術。卡巴和眾多啟發式殺軟一樣,也是基於虛擬機模擬運行分析病毒行為的。它的啟發率似乎並不是很高,但對某些特定殼,啟發偵測就稍微多一些。它的啟發強度是可調的,有低、中、高三個等級。總的來說,啟發只是卡巴的一種輔助偵測手段,其主要的偵測手段還是靠病毒特徵庫和主動防禦模組。
BitDefender 含有B-HAVE啟發式技術的BD引擎
(B-HAVE, BehavioralHeuristic Analyzer in Virtual Environments)- 在計算機內生成虛擬環境,模擬軟體運行並識別是否存在惡意外掛程式,將病毒與您的作業系統完全隔離。此技術已在實際套用得到檢驗:MemScan:Adware.Nail.A(BitDefender檢測)在BitDefender用戶系統已發現的惡意檔案中排名前列。和眾多啟發式殺軟一樣,這種啟發虛擬分析的技術也在BD的引擎中得到使用。
Active Virus Control(活動病毒控制)
BD 2010加入了AVC技術,結合B-HAVE套用環境,精確判斷可疑行為,清除潛伏惡意程式,最大限度保護計算機安全。
Active Virus Control技術新特點:
十項認定為可疑進程活動跡象的行為:請求任何類型的用戶互動後沒有等待、終止執行程式時沒有顯示任何類型用戶界面、複製或移動檔案到系統資料夾、沒有相關連結類型的圖示、對其他進程執行代碼、運行由本身創建的二進制檔案中已存儲代碼、在一個磁碟中不同檔案里複製本身代碼、在作業系統啟動項里添加自己、隱藏在已知應用程式、卸載系統資料夾中的驅動並重新註冊、虛擬環境中行為啟發式分析。
BD有不少優點(基因啟發、動態啟發、病毒庫大,清除能力強等),但缺點也是有的。它的產品體積很臃腫,並很難卸載乾淨,另外就是不能夠檢測一些新興的惡意軟體,檢測能力有些滯後。另外,在用戶病毒掃描測試時發現並不能將病毒與作業系統完全隔離,查殺率也不高。
Panda遺傳性啟發式引擎技術
毫無疑問,熊貓啟發式引擎,也是自己開發的。能夠進行基因靜態啟發和高級啟發虛擬環境運行分析確認病毒。該遺傳性啟發式技術有利於檢測出未知病毒或潛在的危險病毒,也就是病毒代碼庫中還沒有的病毒。同時與最新的SmartClean II技術結合,在清除了蠕蟲或者木馬後,恢復受損的系統設定和關鍵部分。

相關詞條

熱門詞條

聯絡我們