病毒样本静态分析工具-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样本
 
https://www.hybrid-analysis.com/submissions/
 
分析步骤
 
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
}
 
 
 

posted on 2021-04-10 08:26  CyberSecurityBook  阅读(1025)  评论(0编辑  收藏  举报

导航