您的位置: 首頁 >互聯(lián)網(wǎng) >

使用機器學(xué)習(xí)來檢測軟件漏洞

2019-06-13 16:21:36 編輯: 來源:
導(dǎo)讀 研發(fā)公司Draper和波士頓大學(xué)的一組研究人員利用機器學(xué)習(xí)算法開發(fā)了一個新的大規(guī)模漏洞檢測系統(tǒng),可以幫助您更快,更有效地發(fā)現(xiàn)軟件漏洞。黑

研發(fā)公司Draper和波士頓大學(xué)的一組研究人員利用機器學(xué)習(xí)算法開發(fā)了一個新的大規(guī)模漏洞檢測系統(tǒng),可以幫助您更快,更有效地發(fā)現(xiàn)軟件漏洞。

黑客和惡意用戶不斷提出破壞IT系統(tǒng)和應(yīng)用程序的新方法,通常是利用軟件安全漏洞。軟件漏洞是由程序員制作的一個小錯誤,他們開發(fā)了一個可以快速傳播的系統(tǒng),特別是通過開源軟件或通過代碼重用和調(diào)整。

每年都有數(shù)千個這些漏洞被公開報告給常見漏洞和披露數(shù)據(jù)庫(CVE),而其他許多漏洞則由開發(fā)人員在內(nèi)部發(fā)現(xiàn)和修補。如果沒有充分解決這些漏洞,這些漏洞可能被攻擊者利用,通常具有破壞性影響,正如許多最近引人注目的漏洞中所證明的那樣,例如Heartbleed漏洞和WannaCry ramsomware cryptoworm。

通常,用于分析程序的現(xiàn)有工具只能檢測基于預(yù)定義規(guī)則的有限數(shù)量的潛在錯誤。但是,開源存儲庫的廣泛使用為開發(fā)可能揭示代碼漏洞模式的技術(shù)開辟了新的可能性。

來自Draper和Boston的研究人員開發(fā)了一種新的漏洞檢測工具,該工具使用機器學(xué)習(xí)來自動檢測C / C ++ 源代碼中的漏洞,這已經(jīng)顯示出有希望的結(jié)果。

該團隊編譯了一個包含數(shù)百萬個開源函數(shù)的大型數(shù)據(jù)集,并使用三個靜態(tài)(運行前)分析工具(即Clang,Cppcheck和Flawfinder)對其進行標(biāo)記,這些工具旨在識別潛在的漏洞利用。他們的數(shù)據(jù)集包括從SATEIV Juliet Test Suite,Debian Linux發(fā)行版和GitHub上的公共Git存儲庫中提取的數(shù)百萬個C和C ++代碼的功能級示例。

“使用這些數(shù)據(jù)集,我們開發(fā)了一種基于深度特征表示學(xué)習(xí)的快速且可擴展的漏洞檢測工具,可以直接解釋詞匯源代碼,”研究人員在他們的論文中寫道。

由于編程語言在某些方面類似于人類語言,研究人員設(shè)計了一種漏洞檢測技術(shù),該技術(shù)使用自然語言處理(NLP),這是一種允許計算機理解和解釋人類語言的AI策略。

“我們利用類似于用于句子情感分類的特征提取方法,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)進行功能級源漏洞分類,”研究人員在他們的論文中解釋道。

他們將NLP與隨機森林(RM)結(jié)合起來; 一種強大的算法,可以從訓(xùn)練數(shù)據(jù)集的隨機選擇的子集創(chuàng)建決策樹集合,然后將它們合并在一起,通常可以實現(xiàn)更準(zhǔn)確的預(yù)測。

研究人員在真實軟件包和NIST STATE IV基準(zhǔn)數(shù)據(jù)集上測試了他們的工具。

“我們的研究結(jié)果表明,對源代碼進行深入的特征表示學(xué)習(xí)是一種有前途的自動化軟件漏洞檢測方法,”他們寫道。“我們應(yīng)用了各種受自然語言領(lǐng)域分類問題啟發(fā)的ML技術(shù),根據(jù)我們的應(yīng)用對其進行了微調(diào),并使用通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的特征并使用集合樹算法進行分類,獲得了最佳的整體結(jié)果。”

到目前為止,他們的工作主要集中在C / C ++代碼上,但他們的方法也可以應(yīng)用于任何其他編程語言。他們特別選擇創(chuàng)建一個自定義的C / C ++詞法分析器,因為這將產(chǎn)生一個簡單而通用的函數(shù)源代碼表示,這是機器學(xué)習(xí)培訓(xùn)的理想選擇。


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。