這篇文章主要介紹如何利用深度學(xué)習(xí)檢測惡意PowerShell,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)項目的能力。經(jīng)過10余年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。
深度學(xué)習(xí)(deep learning)是機器學(xué)習(xí)大框架下的一類算法,在圖像和文本分類等任務(wù)上,深度學(xué)習(xí)方法明顯優(yōu)于傳統(tǒng)方法。隨著發(fā)展,利用深度學(xué)習(xí)建立新的威脅檢測方法具有很大的潛力。
機器學(xué)習(xí)算法使用數(shù)字模型,因此圖像、文檔或電子郵件等對象通過特征工程的步驟轉(zhuǎn)換為數(shù)字形式,在傳統(tǒng)的機器學(xué)習(xí)方法中,這需要大量的人力。通過深度學(xué)習(xí),算法可以在相對原始的數(shù)據(jù)上進行操作,無需人工干預(yù)即可提取特征。
在本文中,我們提供了一個深度學(xué)習(xí)技術(shù)的示例,該技術(shù)最初是為自然語言處理(NLP)開發(fā)的,現(xiàn)在被采用并應(yīng)用于檢測惡意powershell腳本。
我們的目標是對powershell腳本進行分類,我們簡要介紹在自然語言處理領(lǐng)域中如何處理文本分類。
一個重要的步驟是將單詞轉(zhuǎn)換成機器學(xué)習(xí)算法可以使用的向量(數(shù)字元組)。首先為詞匯表中的每個單詞指定一個唯一的整數(shù),然后將每個單詞表示為0的向量,其中1位于對應(yīng)于該單詞的整數(shù)索引處。盡管在許多情況下都很有用,但有明顯的缺陷。所有的詞之間都是等距的,詞與詞之間的語義關(guān)系并沒有反映在對應(yīng)向量之間的幾何關(guān)系中。
上下文嵌入模型是一種較新的方法,它通過從數(shù)據(jù)中學(xué)習(xí)單詞的上下文關(guān)系來克服這些限制。上下文嵌入模型是在像維基百科這樣的大型文本數(shù)據(jù)集上訓(xùn)練的。word2vec算法是該技術(shù)的一個實現(xiàn),它不僅能將詞的語義相似度轉(zhuǎn)化為向量的幾何相似度,而且能保持詞之間的極性關(guān)系。例如,在word2vec表示中:
由于訓(xùn)練一個好的模型需要大量的數(shù)據(jù),我們使用了一個由386k個不同的未標記powershell腳本組成的大型多樣的語料庫。word2vec算法通常與人類語言一起使用,當(dāng)應(yīng)用于powershell語言時,它提供了類似的結(jié)果。我們將powershell腳本拆分為令牌,然后使用word2vec算法為每個令牌分配一個矢量表示。
圖1顯示了5000個隨機選擇的令牌的矢量表示的二維可視化,其中一些重要令牌高亮顯示。注意語義相似的標記是放置在彼此附近的。例如,表示-eq、-ne和-gt的向量(在powershell中分別是“equal”、“not equal”和“greater than”的別名)聚集在一起。類似地,表示allsigned、remotesigned、bypass和unrestricted令牌的向量(它們都是powershell中執(zhí)行策略設(shè)置的有效值)被聚集在一起。
通過檢查標記的向量,我們發(fā)現(xiàn)了一些其他關(guān)系。
令牌相似性:使用令牌的word2vec表示,我們可以識別powershell中具有別名的命令。在許多情況下,最接近給定命令的標記是其別名。例如,令牌調(diào)用表達式Invoke-Expression及其別名IEX的表示形式彼此最接近。這種現(xiàn)象的另外兩個例子是invoke webrequest及其別名iwr,以及get childitem命令及其別名gci。
我們還測量了幾組標記之間的距離。例如,考慮四個標記$i、$j、$k和$true(請參見圖2的右側(cè))。前三個通常用于表示數(shù)值變量,最后一個表示布爾常量。正如預(yù)期的那樣,$ true令牌與其他令牌不匹配 ,它是距離群組中心最遠的(使用歐幾里德距離)。
更具體地說,對于網(wǎng)絡(luò)安全中powershell的語義,我們檢查了令牌的表示:繞過、正常、最小化、最大化和隱藏(參見圖2的左側(cè))。雖然第一個標記是powershell中executionpolicy標志的合法值,但其余是windowstyle標志的合法值。正如預(yù)期的那樣,bypass矢量表示距離相比其他四個標記的矢量的距離更遠。
線性關(guān)系:由于word2vec保留線性關(guān)系,所以計算向量表示的線性組合會得到語義上有意義的結(jié)果。以下是我們發(fā)現(xiàn)的一些關(guān)系:
在上述每個表達式中,符號≈表示右側(cè)的矢量與作為左側(cè)計算結(jié)果的矢量最接近(在表示詞匯表令牌的所有矢量中)。
我們使用前一節(jié)介紹的powershell語言的word2vec嵌入模型來訓(xùn)練能夠檢測惡意powershell腳本的深入學(xué)習(xí)模型。
分類模型使用標記為“clean”或“malicious”的powershell腳本數(shù)據(jù)集進行訓(xùn)練和驗證,而嵌入模型則使用未標記的數(shù)據(jù)進行訓(xùn)練。流程如圖3所示。
在Microsoft Azure中使用GPU計算,我們嘗試了各種深度學(xué)習(xí)和傳統(tǒng)ML模型。 與傳統(tǒng)ML模型相比,性能最佳的深度學(xué)習(xí)模型將覆蓋范圍提高了22個百分點。 該模型如圖4所示,結(jié)合了幾個深度學(xué)習(xí)構(gòu)建模塊,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)(LSTM-RNN)。
自首次部署以來,深度學(xué)習(xí)模型高精度地檢測到許多惡意和紅色團隊PowerShell活動。 通過PowerShell獲得的信號與各種ML模型和Microsoft Defender ATP信號相結(jié)合,可以檢測網(wǎng)絡(luò)攻擊。
以下是深度學(xué)習(xí)可以檢測但對其他檢測方法具有一定困難的惡意PowerShell腳本的示例:
以上是“如何利用深度學(xué)習(xí)檢測惡意PowerShell”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文標題:如何利用深度學(xué)習(xí)檢測惡意PowerShell
標題網(wǎng)址:http://jinyejixie.com/article20/gcesco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、App開發(fā)、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)