最近,一組研究人員在KiloGram上發(fā)表了他們的論文,KiloGram是一種用于管理文件中的大型n-gram的新算法,可以改善機器學習對惡意軟件的檢測能力。新算法比以前的方法快60倍,并且可以處理n = 1024或更高的n-gram。n的大值具有可解釋的惡意軟件分析和簽名生成的其他應用程序。
在KDD 2019網絡安全學習和采礦研討會上發(fā)表的論文中,來自馬里蘭大學和網絡安全公司Endgame的研究人員描述了他們的算法,用于在大型文件數據集中查找最頻繁的n-gram。以前的方法在增加n的大小時會在內存和運行時中遇到“指數成本”,而在分析具有數十萬個文件的數據集時,它們的n值將小于8。相比之下,KiloGram算法能夠從數百萬個文件中的5TB數據中提取n-gram,而僅使用9GB的RAM,并且“運行時間不會隨n的增加而增加”。這允許算法為較大的n值提取n-gram,以測試這些n-gram是否為機器學習算法提供了更好的準確性。
一個n-gram是n個項的唯一序列,并且該思想被用于許多機器學習任務中,尤其是自然語言處理(NLP)。在檢測到惡意軟件的情況下,n-gram是來自文件的字節(jié)序列,該文件將被分類為惡意軟件或良性文件。惡意軟件檢測的早期工作表明,較大的n-gram(例如n = 15或20)對于訓練檢測系統(tǒng)是理想的,但是現(xiàn)代數據集的大小使得使用大于6的n值太昂貴。由于KiloGram算法可以處理那些較大的值,因此研究團隊能夠測試較大值更好的想法。
該團隊使用可執(zhí)行文件和Adobe PDF文檔的多個數據集,訓練了Elastic-Net正則化邏輯回歸分類器來檢測惡意軟件;為了進行回歸,輸入特征是使用KiloGram算法提取的n元語法。與文獻中的建議相反,研究人員發(fā)現(xiàn)“預測精度不會增加到n = 8以上”。較大的n-gram會產生精度降低的模型;但是,它們具有可解釋性的優(yōu)點。較小的n-gram產生“黑匣子”模型,而較大的n-gram特征集包含可能對分析人員有意義的字節(jié)序列。例如,它們可能代表代碼片段或文本字符串。
研究人員認為,較大的n-gram在回歸模型中使用時不那么精確,因為它們更特定于特定的惡意軟件攻擊。實際上,它們會導致過度擬合。但是,當在諸如Yara之類的簽名模型中使用時,它們的優(yōu)點是它們的假陽性率低。也就是說,盡管Yara模型可能會錯誤地將更多文件標記為良性文件,但如果它確實表明文件為惡意軟件,則很少有錯。這使得KiloGram算法可用于構建結合了機器學習模型和基于簽名的模型的分層系統(tǒng)。
-
算法
+關注
關注
23文章
4625瀏覽量
93128 -
網絡安全
+關注
關注
10文章
3181瀏覽量
60002 -
機器學習
+關注
關注
66文章
8429瀏覽量
132854
發(fā)布評論請先 登錄
相關推薦
評論