发布于2022年11月8日3年前 研究静态检测恶意软件的方法很多,最常见也没有效果的就是文件哈希,即一对一的恶意软件进行检测。 为了更快的进行检测,现在的静态检测引擎会提取二进制文件的关键区域,并对区域内的特定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 }
创建帐户或登录后发表意见