病毒樣本靜態分析工具-YARA


研究靜態檢測惡意軟件的方法很多,最常見也沒有效果的就是文件哈希,即一對一的惡意軟件進行檢測。
為了更快的進行檢測,現在的靜態檢測引擎會提取二進制文件的關鍵區域,並對區域內的特定OP代碼字符串進行簽名對比,最好的一個開源的例子就是YARA(yara是一款幫助惡意軟件研究人員識別和分析惡意軟件樣本的開源工具,Yara規則基於字符串或二進制模式信息創建惡意軟件家族掃描信息,YARA的每一條描述和規則都是通過一系列字符串和一個布爾表達式構成,並闡述其邏輯)
 
缺點 病毒開發者修改代碼后就超出了YARA的檢測范圍
         如果硬盤中沒有運行二進制文件,那么就無法檢測,這也就是無文件攻擊成功繞過檢測的原因
 
安裝步驟:
root@yara:~# apt-get install yara
root@Yara:~# apt install yara
root@Yara:~# apt-get install python-pip
root@Yara:~# pip install yara  
root@Yara:~# apt-get install git
 
獲取Yara規則
 
root@Yara:~# git clone https://github.com/Yara-Rules/rules
 
我們在Hybrid上下載Petya樣本
 
 
分析步驟
 
1)從客戶機提取樣本
2)分析可疑文件
3)提取特征
4)編寫Yara規則
 
Yara腳本通常由兩部分組成,Yara類似於C代碼,通常包含腳本定義和布爾表達式(condition)
規則示例:
 
rule evil_executable
{
    strings:
        $ascii_01 = "mozart.pdb"
        $byte_01  = { 44 65 6d 6f 63 72 61 63 79 }
    condition:
        uint16(0) == 0x5A4D and
        1 of ( $ascii_01, $byte_01 )
}  
 
規則語法的簡單明了和布爾邏輯使YARA成為一個完美的IOC( Indicator of Compro,攻陷指標)。   
 
rule dummy
{
condition:
false
}
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM