官方網(wǎng)站:模式匹配瑞士刀:http://virustotal.github.io/yara/
https://github.com/VirusTotal/yara
Yara規(guī)則:https://github.com/Yara-Rules/rules
YARA最初是由Virustotal的Victor Alvarez開發(fā)的缆娃。YARA默認(rèn)帶有處理PE、ELF分析的模塊峻呕,以及對(duì)開源布谷鳥沙箱的支持亡问。它提供了一種基于規(guī)則的方法來創(chuàng)建基于文本或二進(jìn)制模式的惡意軟件家族的描述蒲障。描述本質(zhì)上是一個(gè)Yara規(guī)則名召噩,其中這些規(guī)則由一組字符串和一個(gè)布爾表達(dá)式組成立帖。所使用的語言具有Perl兼容正則表達(dá)式的特性。
一碍现、簡介
YARA是一個(gè)旨在(但不限于)幫助惡意軟件研究人員識(shí)別和分類惡意軟件樣本的工具幅疼。使用YARA,您可以基于文本或二進(jìn)制模式創(chuàng)建惡意軟件家族的描述(或您想要描述的任何內(nèi)容)昼接。每個(gè)描述爽篷、規(guī)則由一組字符串和一個(gè)布爾表達(dá)式組成,布爾表達(dá)式?jīng)Q定其邏輯慢睡。讓我們看一個(gè)例子:
rulesilent_banker : banker
{
meta:
? ? ? description ="This is just an example"
? ? ? threat_level = 3
? ? ? ? ? ? ? in_the_wild =true
strings:
? ? ? ? $a= {6A 40 68 00 30 00 00 6A 14 8D 91}
? ? ? ? $b= {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
? ? ? ? $c="UVODFRYSIHLNWPEJXQZAKCBGMT"
condition:
? ? ? ? $aor$bor$c
}
上面的規(guī)則告訴YARA逐工,任何包含三個(gè)字符串之一的文件都必須報(bào)告為silent_banker。這只是一個(gè)簡單的示例漂辐,可以使用通配符泪喊、不區(qū)分大小寫的字符串、正則表達(dá)式髓涯、特殊操作符和YARA文檔中解釋的許多其他特性來創(chuàng)建更復(fù)雜和強(qiáng)大的規(guī)則窘俺。
YARA是多平臺(tái)的,可以在Windows复凳、Linux和Mac OS X上運(yùn)行,可以通過其命令行界面使用灶泵,也可以通過自己的Python腳本使用YARA - Python擴(kuò)展育八。
二、Yara規(guī)則
這個(gè)項(xiàng)目涵蓋了一組IT安全研究人員的需求赦邻,他們需要有一個(gè)單獨(dú)的存儲(chǔ)庫髓棋,在其中編譯、分類和盡可能保持最新的Yara簽名惶洲,并開始作為一個(gè)收集Yara規(guī)則的開源社區(qū)按声。我們的Yara規(guī)則集是在GNU-GPLv2許可下的,并對(duì)任何用戶或組織開放恬吕,只要您在此許可下使用它签则。
Yara的使用越來越多,但是關(guān)于該工具及其用法的知識(shí)分散在許多不同的地方铐料。Yara Rules項(xiàng)目的目標(biāo)是通過收集盡可能完整的規(guī)則集渐裂,為Yara用戶提供一種快速準(zhǔn)備使用Yara的方法豺旬,從而成為Yara用戶的集合點(diǎn)。
我們希望這個(gè)項(xiàng)目對(duì)安全社區(qū)和所有Yara用戶有用柒凉,期待您的反饋族阅。通過訂閱我們的郵件列表加入這個(gè)社區(qū)。