惡意程式要能發揮作用,首先要能躲過資安防禦的偵測成功滲透到系統內部。它要能包裝並偽裝自己,讓自己看起來像一般正常的程式,等到通過資安關卡之後,再顯現出本性。針對不易偵測的惡意程式,或是樣本不足,無法提供有效分析的惡意程式,我們提出了一種採用對抗自動編碼器 (adversarial autoencoder) 並搭配語意雜湊碼 (semantic hashing) 的機器學習(Machine learning,ML)模型來加以偵測。趨勢科技與澳洲聯邦大學 (Federation University Australia) 研究人員共同發表過一篇名為「生成式惡意程式擴散偵測」(Generative Malware Outbreak Detection) 的研究論文。

透視加密編碼的惡意程式
惡意程式作者知道,惡意程式必須不被發現才有機會入侵裝置或網路。所以,他們會運用各種不同工具和技巧來躲避偵測,此外,更會用盡方法來提高惡意程式的偵測難度,包括躲避沙盒模擬分析、反解譯、反除錯、躲避防毒軟體以及變形或多形等技巧。例如先前曾出現在針對性攻擊與網路間諜行動當中的 RETADUP 蠕蟲,後來也演化出變形能力。其新的變種是以 AutoHotKey 程式碼來撰寫,且與其先前的 AutoIt 變種一樣,都是用來發動虛擬加密貨幣挖礦攻擊。
惡意程式一旦經過加密編碼,一般傳統的防毒系統就很難加以偵測。我們曾在一篇文章當中指出,加密編碼的問題可藉由發掘同一惡意程式家族當中不論任何變種都大致維持一致的特徵來加以偵測,例如程式指令序列。本文將延續先前那篇文章,更進一步深入探討對抗自動編碼器如何處理程式指令序列,以及語意雜湊碼在我們提出的模型當中有何用途。
繼續閱讀

