摘 要:本文對惡意代碼分析技術的發展歷史以及當前的主流分析技術進行了簡要的總結,并闡述了如何應對目前開始出現的APT等深度攻擊,對未來的惡意代碼分析技術的發展方向做出簡單介紹。
關鍵詞:惡意代碼 歸一化 自動化判定 APT
中圖分類號:TP393 文獻標識碼:A 文章編號:1672-3791(2013)06(a)-0024-01
1 反惡意代碼研究背景
1.1 惡意代碼(Malicious code)
本文中,惡意代碼泛指任何帶有不良意圖的計算機指令、程序代碼、腳本文件等等,包括病毒、木馬。隨著互聯網技術的飛速發展以及信息交換能力的增強,網絡傳播已經成為惡意代碼入侵的主要形式,基于網絡的惡意代碼檢測應當作為我們防范惡意代碼的重點研究方向。
1.2 反惡意代碼研究背景
背景一,惡意代碼規模飛速膨脹,根據安天實驗室的統計,2000年時,各類病毒累計總數約2萬多種,到2006年,增加到大約13萬種,到2012年,這一數字已達到800萬種。
背景二,歸一化模型的形成與進化,反惡意代碼的核心方法論是歸一化模型。所謂歸一化,是把大量的、異構的事件轉換成可以形式化的同構規則,從整個反惡意代碼基礎維護體制,轉化為對基本歸一化模型的維護、對精確特征的維護和對未知檢測模型的維護。
背景三,復雜度變化,惡意代碼的感染方式從附著在正常程序上的感染式片段變成獨立文件,不再受代碼整體空間的束縛,功能局限性減少,病毒攻擊演變為更復雜的大規模深度惡意攻擊,相應的整個處理體系也必須要升級,這一需求帶動了整個反惡意代碼體系的發展。
2 惡意代碼分析技術發展歷史
2.1 1988-1995手工作業階段
1986年第一個IBM PC架構的惡意代碼巴基斯坦智能誕生,早期病毒簡單,數量很少,通過將不同病毒的查殺模塊簡單串接在一起即可清除,反病毒程序不存在病毒庫的概念,更不需要后臺體系處理。
隨著病毒數量的增多,早期現代反病毒引擎開始出現,這一時期的反病毒引擎具備以下特點:第一,基于檢測方法的形式化,把惡意代碼概括成一些不同的歸一化模型,通過同一種形式規則進行檢查;第二,實現了以格式識別為核心的整個前導邏輯處理。
這一階段的惡意代碼分析技術主要完成了最基本的方法奠基問題,制定了反病毒歸一化的基礎模型,為后續的發展奠定了基礎。
2.2 1995-2002客戶機/服務器管理與規則自動化提取階段
隨著計算機技術的進步和局域網技術的逐漸成熟,惡意代碼的數量和質量相比之前都有了很大的發展,分析技術也逐漸轉化為對惡意代碼程序中的特征碼規則的提取和分析。在新的反病毒引擎中,需要增加更多的庫用于進行形式化識別工作,還有相應的對象提取模塊,以及依托這些庫工作的大量的格式模塊。其中,特征自動化的病毒庫加對象檢測可以算是現代反病毒引擎的組成部分。
特征自動化提取是針對所有對象完成的;特征不一定要提取到惡意行為,只要規則能對此類惡意代碼唯一標示,且不與其他惡意代碼發生錯報,更不能與已知白名單發生碰撞以產生誤報,即可認為是該惡意代碼的特征。
這一階段,以樣本管理和規則流轉為核心的特征自動化提取技術逐漸發展成熟,C/S模式的分析方式則解決了惡意代碼分析工作中的角色問題。
2.3 2000-2005人工任務流水線階段
這一時期,計算機操作系統日益復雜,網絡感染成為惡意代碼的主要攻擊模式,這種廣泛傳染的模式,導致惡意代碼辨識壓力的劇增,如何快速、準確的挑選病毒成為一個重要的研究工作。為了解決這一難題,由程序員手工區分病毒的流水線技術開始引入惡意代碼分析工作。
早期順序流水線和改進的并行流水線,都是根據安全工作人員的技術特長,分配相應的工作,彼此銜接。這兩種模式中,任何一個環節出現停頓都會導致整個分析工作發生中斷,局部瓶頸問題難以解決。
隨后產生的環形流水線較好的解決了這個問題,在環形流水線上,樣本作為流轉于整個流水線的加工實體,所有自動化部分是自動化工序,對樣本屬性標識的提取工作,視為流水線的工作內容。由于規則自動化完成,挑選病毒成為惡意代碼分析的主要工作。
3 當前反惡意代碼分析技術特點
從2005年開始,網絡應用呈現出大發展的趨勢,云計算、虛擬化技術開始廣泛應用,惡意代碼和正常應用程序的數量都以幾何級數增長。面對這樣的挑戰,以人工主導的惡意代碼分析思路再也無法適應新時代的惡意代碼環境。
當前惡意代碼分析需要解決的問題包括對整個惡意代碼事件的描述和追溯;惡意代碼本身的屬性特點;如何處理該惡意代碼。為解決這一難題,反惡意代碼分析領域引入了基于自動流水線工序的自動化判定技術。自動流水線工序將整個處理過程視為流水線;將樣本的全部屬性定義為一個“屬性域”,流水線的處理過程就是屬性域的不斷填充過程;為每個樣本創建一個存放全部屬性的XML文件并伴生樣本流轉。
得益于計算資源成本降低,虛擬化技術愈加成熟,樣本自動化分析可以通過對基于整個虛擬環境中建立的driver和hook數據抓取和外部網卡提取的網絡特征,形成對惡意代碼的判斷,同時虛擬執行也為脫殼技術提供支持,該環節是目前主流安全廠商的后臺分析判定的核心特性。在此基礎上,輔以少量人工分析完成全部分析工作,修正之前的誤判。
自動化判定技術的廣泛應用解決了海量惡意代碼的分析難題,有力的遏制了惡意代碼的危害。
4 未來技術趨勢展望
2010年,包括震網病毒、Google極光攻擊在內的一系列APT攻擊事件爆發,這些攻擊綜合應用了社會工程學和計算機技術,攻擊質量高、深度廣。由于更強的代碼隱藏能力和反分析能力,更復雜的攻擊路徑,國與國之間的信息阻斷,如何發現及分析惡意代碼的攻擊目標和攻擊動機變得更加困難。面對這樣的安全環境,大場景深度分析勢必會成為未來主流的惡意代碼分析技術趨勢。
所謂的大場景深度分析,包括深度代碼分析,即對代碼異常的相關性進行分析;深度事件分析,對異常事件的流程、關聯角度的分析;深度綜合數據分析,由于新型網絡攻擊已經不再局限于信息領域,我們有必要對不同領域、不同專業的數據進行相關分析,盡最大可能,對類似的深度攻擊進行阻止和控制。
5 結語
通過以上分析,我們可以看到,隨著信息技術的發展,各種網絡威脅已經遍布我們的周圍,與此同時,惡意代碼分析技術也隨之不斷發展,病毒攻擊與反攻擊的對抗還將不斷繼續。
參考文獻
[1]王凌.計算機病毒的感染原理及防范技術研究[J].中國管理信息化,2013(1).
[2]李響,陳建熊.Win32PE病毒研究[J].合肥學院學報,2006(12).
[3]韓韋.網絡安全主動防御技術探析[J].信息與電腦,2012(9).