網絡安全與機器學習(一):網絡安全中的機器學習算法

相當多的文章已經描述了機器學習在網絡安全的應用以及保護我們免受網絡攻擊的能力。儘管如此,我們仍然需要仔細研究人工智能(AI)、機器學習(ML)和深度學習(DL),它們到底能不能像炒作內容所說的無所不能。

首先,我要讓你失望了。我通過研究發現與圖像識別或自然語言處理相比,機器學習永遠不會成爲網絡安全的靈丹妙藥,而這兩個領域的機器學習應用正在蓬勃發展。因爲總會有人試圖找到系統或ML算法的弱點並繞過安全機制。更糟糕的是,現在黑客能夠利用機器學習來完成他們邪惡想法。

幸運的是,機器學習可以幫助解決最常見的任務,包括迴歸,預測和分類。在數據量極大且網絡安全人才短缺的時代,ML似乎又是唯一的解決方案。

本文介紹了實際應用於網絡安全的ML研究的當前進展和未來方向的實用技術理解。

機器學習術語

  1. AI(人工智能)一個廣泛的概念。簡單來說是通過技術使機器變得明或者言之通機器算法(例如視覺識別,自然理等)行人工任。重點是AI不是機器學或自動化的機器。它可以是安裝在清潔機器人中的典程序,如邊緣檢測。總的來說,AI是以某種方式行人工任系統
  2. ML(機器學人工智能的一種方法,它是一種能經驗中學的系。它不可以複製人,而且可以減少用於困(如股票價格預測)的工作量和時間話說ML是一個可以通使用示例而不是通過編程來識別模式的系。如果你的系統經常學,根據數據而不是算法做出決策,並改其行,那就是機器學
  3. DL(深度學一套用於實現機器學的技,例如識別系統,系主要識別對邊緣構、型、然後識別對象本身。重點是深度學並不完全是深度神經網絡,它還有其他算法,它們被改進以學習模式模式,例如強化任務中的遷移

定義表明,網絡安全領域主要指機器學習(而不是AI),而且很大一部分任務與人類無關。

機器學習意味着使用基於你擁有的數據和特定方法來解決某些任務。

大多數最常見的任務,如下所述:

  1. (或預測-基於先前值預測下一個的任
  2. -將事物分成不同類別的任
  3. -類似於分類,但類是未知的,通過它們的相似性對事物進行分組
  4. 聯規則(或推薦)-基於先前經驗推薦某事的任
  5. 是在多個示例中搜索常和最重要特徵的任
  6. 生成模型基於先前的分佈知識創建內容的任

對於某些任務,你只能使用一種方法,但可以有多種方法用於其他任務。

ML的趨勢

過去的趨勢

  1. 監督學習:首先,你應該標記數據,例如向模型提供可行文件的示例,並說該文件是件。基於此標記數據,模型可以決定新數據,缺點是標記數據的限制。
  2. Eensemble(集成) 這是監督學習的擴展,同時混合不同的簡單模型來解決任務。

當前的趨勢

  1. 督學數據驅動模式,當沒有標記數據,可以使用方法,並且模型可以以某種方式基於屬性自行標記它。通常,它旨在發現數據中的異常,因幾乎不可能標記所有數據。
  2. 督學顧名思義,當有一些標記數據時,半監督學習試圖結合有監督和無監督方法進行學習訓練

未來的趨勢

  1. 強化學習:當行爲應該以某種方式對變化的境做出反應時,可以使用驅動的方法。就像一個通反覆試驗來學習環境的孩子。
  2. 它更像是化學的子,可能會成長爲一個獨的類型。主習類似於教,除了化之外,可以幫助錯誤和行

機器學和網安全

讓我們看一下可用於解決機器學習任務的不同方法的示例,以及它們與網絡安全任務的關係。

迴歸(或預測)很簡單。利用關於現有數據的知識來了解新數據。舉一個房價預測的例子。在網絡安全中,它可以應用於欺詐檢測,通過特徵(例如,可疑交易的總量,位置等)確定欺詐行爲的概率。

至於迴歸這方面的技術,可以分爲兩大類:機器學習和深度學習。

機器學習&

以下是可用於迴歸任務的機器學習方法的簡短列表(具有各自的優缺點)。

  1. 線性迴歸
  2. 式回
  3. 嶺回
  4. 決策
  5. SVR(支持向量回
  6. 隨機森林

你可以在此處找到每種方法的詳細說明  。

深度學習&

對於迴歸任務,可以使用以下深度學習模型:

  1. 人工神ANN
  2. 遞歸神經網絡(RNN
  3. 經圖靈機(NTM
  4. 可微分神經計算機(DNC

分類也很簡單。想象一下,你有兩堆按類型分類的圖片(例如,狗和貓)。在網絡安全方面,將垃圾郵件與其他郵件分開的垃圾郵件過濾器可以作爲一個例子。垃圾郵件過濾器可能是應用於網絡安全任務的第一種ML方法。

監督學習方法通​​常用於分類,其中某些組的示例是已知的,所有類都應該在開頭定義。

下面是與算法相關的列表。

機器學習類

  1. LogisticRegressionLR
  2. K-Nearest NeighborsK-NN
  3. 支持向量機(SVM
  4. KernelSVM
  5. NaiveBayes
  6. DecisionTreeClassification
  7. 隨機森林分

SVM和隨機森林這樣的方法被認爲是效果最好的,但是請記住,沒有一個通用的規則。

深度學習類

  1. 人工神

如果你有更多數據,深度學習方法會更好。但是,如果你計劃在生產中使用它並定期重新訓練系統,它們會消耗更多計算資源。

聚類是類似於具有唯一但有主要差異的分類方式。有關數據類的信息未知,大致意思是不知道這些數據是否可以分類。這其實是無人監督的學習。

據推測,聚類的最佳任務是取證分析。事件的原因、過程和結果都很模糊,需要對所有活動進行分類以找出異常情況。惡意軟件分析(即惡意軟件保護安全電子郵件網關)的解決方案可以實現它以將法律文件與異常值分開。

可以應用聚類的另一個有趣的領域是用戶行爲分析。在這種情況下,應用程序用戶聚集在一起,以便可以查看它們是否應屬於特定組。

通常,聚類不適用於解決網絡安全中的特定任務,因爲它更像是管道中的子任務之一(例如,將用戶分組到單獨的組中以調整風險值)。

用於聚的機器學

  1. K-最近居(KNN
  2. K-means
  3. MixturemodelLDA
  4. DBSCn
  5. 貝葉斯
  6. GaussianMixtureModel
  7. Mean-shift
  8. 凝聚式層次聚類

用於聚類的深度學

  • 組織映射(SOM)或Kohonen Networks

聯規則(推薦系

Netflix和SoundCloud根據你的電影或音樂偏好推薦電影或歌曲。在網絡安全方面,這一原則主要用於事件響應。如果公司面臨一系列事件並提供各種類型的響應,系統會學習特定事件的響應類型(例如,將其標記爲誤報、更改風險值、進行調查)。如果風險管理解決方案自動爲新漏洞或基於其描述構建的錯誤配置分配風險值,那麼它們可以帶來很大的便利。

解決推薦任務的算法:

聯規則的機器學

  1. Apriori
  2. Euclat
  3. FP-growth

聯規則的深度學

  1. 受限玻爾茲曼機(RBM
  2. 深度信念網DBN
  3. 堆疊式自動編碼

最新的推薦系統是基於首先玻爾茲曼機及其更新版本,例如有前途的深度新年網絡。

降維或泛化不像分類那樣受歡迎,但如果你處理具有未標記數據和許多潛在特徵的複雜系統,那必須進行降維。你無法應用聚類,因爲傳統的方法會限制特徵的數量,或者它們不起作用。降維可以幫助處理它並減少不必要的特徵。與聚類一樣,降維通常是更復雜模型中的任務之一。對於網絡安全任務,降維是常見的面部檢測解決方案。

用於降維的機器學

  1. 主成分分析(PCA
  2. 奇異分解(SVD
  3. T分佈式域嵌入算法(T-SNE
  4. 線性判別分析(LDA
  5. 潛在語義分析(LSA
  6. 因子分析(FA
  7. 獨立分量分析(ICA
  8. 分解(NMF

你可以在此處找到有關降維的更多信息(包括方法及其功能的一般說明)。

生成模型

生成模型的任務不同於上述模型,雖然這些任務涉及現有信息和相關決策,但生成模型旨在根據先前的決策模擬實際數據(而不是生成決策)。

攻擊性網絡安全的任務是生成輸入參數列表,以測試針對注入漏洞的特定應用程序。或者是擁有適用於Web應用程序的漏洞掃描工具。其中一個模塊是測試文件以進行未經授權的訪問。這些測試能夠改變現有的文件名以識別新的文件名。例如,生成模型很擅長更擅長,如果爬蟲檢測到名爲login.php的文件,最好通過嘗試login_1.php,login_backup.php,login.php.2017等名稱來檢查是否存在任何備份或測試其副本。

用於生成模型的機器學

  1. 馬爾可夫鏈
  2. 遺傳算

用於生成模型的深度學

  1. 變分自動編碼
  2. 生成抗網GAN
  3. 爾茲曼機器

最近,GANs取得了令人矚目的成績。他們成功地模仿了一段視頻,我們可以想象一下它如何用於生成模糊測試的示例。

本文由阿里云云棲社區組織翻譯。

文章原標題《machine-learning-for-cybersecurity-101》

作者:dataoptimal 譯者:烏拉烏拉,審校:。

文章爲簡譯,更爲詳細的內容,請查看原文

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