白話文解說惡意軟體(malware)偵測技術 - YARA

不知道大家有沒有想過防毒軟體是怎麼運作的,當我們在進行所謂的系統掃描時,到底是怎麼知道哪些檔案是病毒/惡意軟體,哪些是正常檔案?

本文科普 1 項稱為 YARA 的掃描工具。

使用 YARA 之前,要先撰寫所謂的 YARA rules (當然也有開放原始碼的 YARA rules 可以使用), 也就是將病毒/惡意軟體的特徵碼寫成規則,例如某些惡意軟體會藏一些特殊字串或者位元組在程式之中,只要將這些特殊字串寫成規則,例如:

rule silent_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:
        $a or $b or $c
}

YARA 在掃瞄檔案的時候,就會檢查檔案是否符合特定規則,也就是上述的 condition: $a or $b or $c 的部分,只要符合規則,就代表這個檔案多半與惡意軟體有關,之所以用「多半」 這個字眼,是因為規則如果寫得不夠好,就有可能產生誤判的情況,這也是為什麼有些防毒軟體有時候會將正常檔案誤判為惡意軟體的原因,因為防毒軟體多半也都使用與 YARA 相似的作法對系統進行掃描。

如果你想製作防毒軟體或者對資安有興趣,那麼 YARA 幾乎是你一定要知道的一項工具!

The pattern matching swiss knife for malware researchers

FOLLOW US

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!