惡意JavaScript代碼檢測文獻閱讀(二)

《JSAC: A Novel Framework to Detect Malicious JavaScript via CNNs over AST and CFG》

《JSAC:一種基於AST和CFG的CNNs惡意JavaScript檢測框架》

作者:Hongliang Liang, Yuxing Yang, Lu Sun, Lin Jiang

簡介:作者的創新點在於用AST(抽象語法樹)和CFG(控制流圖)作爲語法和語音特徵提取,再用樹卷積和圖卷積進行處理,最後得到的兩個特徵合併後分類。

一、加入CFG的原因

不同程序可能形成相同的AST,如下圖所示:

二、模型結構

對於要處理的JS代碼文件,JSAC模型先構建出它的AST和CFG。一方面,用單層神經網絡模型以學習AST中不同的結點類型對應的分佈向量表示,並將AST的結點映射爲這些學習到的分佈式向量;另一方面,隨機初始化了CFG中指令類型的分佈式向量,CFG的指令根據不同類型被映射爲對應的分佈式向量。

JSAC模型應用了能夠處理樹結構的TBCNN模型和能夠處理圖結構的GBCNN模型。AST的分佈式向量表示被送入TBCNN,有該模型對程序的語法信息進行分析,並從中提取出語法特徵;CFG的分佈式向量表示送入GBCNN模型,由該模型對程序的語義信息進行分析,並提取語義特徵。最後TBCNN和GBCNN都應用了動態池化方法,以固定特徵向量的維度。

之後,語法特徵向量和語義特徵向量被進一步合併起來。

最後,JSAC模型的輸出層是若干全連接層,並應用softmax函數映射輸出結果。

三、總結

這篇文章引入了CFG,並用對應的CNN去處理,這是很不錯的創新點。但是之後將兩個特徵進行合併,這其實是不太友好的。文章將JS文件轉化爲AST用的是開源工具Esprima。CFG是通過AST得到的,但是過程代碼是作者修改GitHub上進行的,修改後的代碼並未開源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章