惡意代碼分析之靜態(tài)分析
5. 惡意代碼分析
惡意代碼分析是指利用多種分析工具掌握惡意代碼樣本程序的行為特征,了解其運(yùn)行方式及安全危害,是準(zhǔn)確檢測(cè)和清除惡意代碼的關(guān)鍵環(huán)節(jié)。為了抵抗安全防護(hù)軟件,惡意代碼使用的隱藏和自我保護(hù)技術(shù)越來越復(fù)雜,以便在系統(tǒng)中長(zhǎng)期生存。目前,常用惡意代碼的分析方法可以分為靜態(tài)分析和動(dòng)態(tài)分析兩種。這兩種方法結(jié)合使用,能較為全面的收集惡意代碼的相關(guān)信息,以達(dá)到較好的分析效果。
1)靜態(tài)分析
靜態(tài)分析不需要實(shí)際執(zhí)行惡意代碼,它通過對(duì)其二進(jìn)制文件的分析,獲得惡意代碼的基本結(jié)構(gòu)和特征,了解其工作方式和機(jī)制。惡意代碼特征分析是靜態(tài)分析中使用的一種基本方法。它通過查找惡意代碼二進(jìn)制程序中嵌入的可疑字符串,如:文件名稱、URL地址、域名、調(diào)用函數(shù)等,來進(jìn)行分析判斷。反匯編分析使用反匯編工具將惡意代碼程序或感染惡意代碼的程序本身轉(zhuǎn)換成匯編代碼,通過相關(guān)分析工具對(duì)匯編代碼進(jìn)行詞法、語法、控制流等分析,掌握惡意代碼的功能結(jié)構(gòu)。由于不需要運(yùn)行惡意代碼,靜態(tài)分析方法不會(huì)影響運(yùn)行環(huán)境的安全。另一方面,靜態(tài)分析方法可以分析惡意代碼的所有執(zhí)行路徑,但是隨著程序復(fù)雜度的提高,執(zhí)行路徑數(shù)量龐大,冗余路徑增多,會(huì)出現(xiàn)分析效率很低的情況,甚至導(dǎo)致分析無法完成。