中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用深度學習檢測惡意PowerShell

發布時間:2021-12-18 10:04:36 來源:億速云 閱讀:247 作者:小新 欄目:網絡安全

這篇文章主要介紹如何利用深度學習檢測惡意PowerShell,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

深度學習(deep learning)是機器學習大框架下的一類算法,在圖像和文本分類等任務上,深度學習方法明顯優于傳統方法。隨著發展,利用深度學習建立新的威脅檢測方法具有很大的潛力。

機器學習算法使用數字模型,因此圖像、文檔或電子郵件等對象通過特征工程的步驟轉換為數字形式,在傳統的機器學習方法中,這需要大量的人力。通過深度學習,算法可以在相對原始的數據上進行操作,無需人工干預即可提取特征。

在本文中,我們提供了一個深度學習技術的示例,該技術最初是為自然語言處理(NLP)開發的,現在被采用并應用于檢測惡意powershell腳本。

自然語言處理中的詞嵌入模型

我們的目標是對powershell腳本進行分類,我們簡要介紹在自然語言處理領域中如何處理文本分類。

一個重要的步驟是將單詞轉換成機器學習算法可以使用的向量(數字元組)。首先為詞匯表中的每個單詞指定一個唯一的整數,然后將每個單詞表示為0的向量,其中1位于對應于該單詞的整數索引處。盡管在許多情況下都很有用,但有明顯的缺陷。所有的詞之間都是等距的,詞與詞之間的語義關系并沒有反映在對應向量之間的幾何關系中。

上下文嵌入模型是一種較新的方法,它通過從數據中學習單詞的上下文關系來克服這些限制。上下文嵌入模型是在像維基百科這樣的大型文本數據集上訓練的。word2vec算法是該技術的一個實現,它不僅能將詞的語義相似度轉化為向量的幾何相似度,而且能保持詞之間的極性關系。例如,在word2vec表示中:

如何利用深度學習檢測惡意PowerShell

嵌入powershell腳本

由于訓練一個好的模型需要大量的數據,我們使用了一個由386k個不同的未標記powershell腳本組成的大型多樣的語料庫。word2vec算法通常與人類語言一起使用,當應用于powershell語言時,它提供了類似的結果。我們將powershell腳本拆分為令牌,然后使用word2vec算法為每個令牌分配一個矢量表示。

圖1顯示了5000個隨機選擇的令牌的矢量表示的二維可視化,其中一些重要令牌高亮顯示。注意語義相似的標記是放置在彼此附近的。例如,表示-eq、-ne和-gt的向量(在powershell中分別是“equal”、“not equal”和“greater than”的別名)聚集在一起。類似地,表示allsigned、remotesigned、bypass和unrestricted令牌的向量(它們都是powershell中執行策略設置的有效值)被聚集在一起。

如何利用深度學習檢測惡意PowerShell

通過檢查標記的向量,我們發現了一些其他關系。

令牌相似性:使用令牌的word2vec表示,我們可以識別powershell中具有別名的命令。在許多情況下,最接近給定命令的標記是其別名。例如,令牌調用表達式Invoke-Expression及其別名IEX的表示形式彼此最接近。這種現象的另外兩個例子是invoke webrequest及其別名iwr,以及get childitem命令及其別名gci。

我們還測量了幾組標記之間的距離。例如,考慮四個標記$i、$j、$k和$true(請參見圖2的右側)。前三個通常用于表示數值變量,最后一個表示布爾常量。正如預期的那樣,$ true令牌與其他令牌不匹配 ,它是距離群組中心最遠的(使用歐幾里德距離)。

更具體地說,對于網絡安全中powershell的語義,我們檢查了令牌的表示:繞過、正常、最小化、最大化和隱藏(參見圖2的左側)。雖然第一個標記是powershell中executionpolicy標志的合法值,但其余是windowstyle標志的合法值。正如預期的那樣,bypass矢量表示距離相比其他四個標記的矢量的距離更遠。

如何利用深度學習檢測惡意PowerShell

線性關系:由于word2vec保留線性關系,所以計算向量表示的線性組合會得到語義上有意義的結果。以下是我們發現的一些關系:

如何利用深度學習檢測惡意PowerShell

在上述每個表達式中,符號≈表示右側的矢量與作為左側計算結果的矢量最接近(在表示詞匯表令牌的所有矢量中)。

利用深度學習檢測惡意powershell腳本

我們使用前一節介紹的powershell語言的word2vec嵌入模型來訓練能夠檢測惡意powershell腳本的深入學習模型。

分類模型使用標記為“clean”或“malicious”的powershell腳本數據集進行訓練和驗證,而嵌入模型則使用未標記的數據進行訓練。流程如圖3所示。

如何利用深度學習檢測惡意PowerShell

在Microsoft Azure中使用GPU計算,我們嘗試了各種深度學習和傳統ML模型。 與傳統ML模型相比,性能最佳的深度學習模型將覆蓋范圍提高了22個百分點。 該模型如圖4所示,結合了幾個深度學習構建模塊,如卷積神經網絡(CNN)和長短期記憶遞歸神經網絡(LSTM-RNN)。

如何利用深度學習檢測惡意PowerShell

應用深度學習來檢測惡意PowerShell

自首次部署以來,深度學習模型高精度地檢測到許多惡意和紅色團隊PowerShell活動。 通過PowerShell獲得的信號與各種ML模型和Microsoft Defender ATP信號相結合,可以檢測網絡攻擊。

以下是深度學習可以檢測但對其他檢測方法具有一定困難的惡意PowerShell腳本的示例:

如何利用深度學習檢測惡意PowerShell

以上是“如何利用深度學習檢測惡意PowerShell”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新宾| 辛集市| 安乡县| 边坝县| 新平| 天镇县| 宝清县| 苍梧县| 磐安县| 古蔺县| 屯门区| 诸城市| 吴旗县| 乌苏市| 长宁区| 曲阜市| 温泉县| 八宿县| 大邑县| 榆中县| 潞西市| 什邡市| 汝南县| 高密市| 多伦县| 嘉义市| 武穴市| 宿州市| 丹凤县| 张家港市| 武邑县| 旺苍县| 尤溪县| 察哈| 江山市| 府谷县| 科技| 连云港市| 长垣县| 崇文区| 秭归县|