發布日期:2022/05/13
我相信你們中的許多人都聽說過我們的機器學習工具包(MLTK)應用程式,甚至可能已經玩過它。 你們中的一些人實際上可能擁有依賴於 MLTK 而沒有意識到的生產工作負載,例如 Splunk IT Service Intelligence(ITSI)中的預測分析或 Splunk Enterprise Security 中的 MLTK 搜索。
我在Splunk工作期間反覆出現的主題 - 我們經常從不直接使用MLTK的同事那裡聽到 - 是人們不確定從哪裡開始機器學習(ML)。
在這裡,我想帶您瞭解在Splunk實例中使用MLTK可能需要熟悉的一些概念和資源。 我還將重點介紹我們正在開發的一些新內容,以説明您使用ML從數據中獲得更多見解。


是什麼讓ML與眾不同?
通常在Splunk,當您嘗試分析數據集或在大海撈針中找到針時,單個SPL搜索就足以獲得所需的資訊。 但是,使用基於ML的分析,您必須首先訓練ML模型,該模型隨後將用於獲取所需的見解。
與通常在Splunk中執行的操作相比,這似乎是一個過於複雜的過程,但它與使用查找沒有什麼不同! 如果可以從數據創建查找,以便以後用於豐富搜尋結果(例如,從已知惡意網站生成IP清單,然後在新數據傳入時用於觸發警報),則可以使用ML。 更詳細地說,outputlookup 命令執行的功能與 MLTK 中的 fit 命令大致相似,查找與 MLTK 中的 apply 命令具有相似之處。 如果您有興趣,可以在此處瞭解有關如何適應和應用工作的更多資訊。
我們已經做了什麼來説明?
MLTK中有很多內容可以説明您入門。 該應用程式附帶的許多展示櫃都會引導您完成模型訓練和模型應用程式過程的指導範例。 實驗和智慧助手可以説明您開發自己的基於ML的分析,所有這些都是通過引導式使用者介面實現的,這意味著您無需知道擬合和應用命令的操作方式。
然而,對於那些對SPL更滿意的人來說,我們的Splunk博客網站上有豐富的內容,其中長期的中堅力量,如週期性統計預測和異常系列,提供了詳細的SPL示例,您可以將其複製到自己的環境中,以及最近的寶石,如 Splunk方法,用於基線統計和大數據的可能性。
不過,我個人最喜歡的是我們在.conf 檔案中擁有的大量細節,以及如何使用ML直接從客戶那裡獲得有價值的見解的用例和示例。
我們現在在做什麼?
MLTK教程! 我們最近花了大量時間研究我們在Splunk看到的最常見的ML用例,並開始將它們記錄為後續教程,以便您輕鬆瞭解特定的ML技術和分析如何提供特定的見解。
第一個示例說明瞭如何檢測數據引入管道中的異常。 這是基於Abe在他的博客中描述的一項出色的工作,但我們認為我們也會為您提供有關如何在我們的MLTK文檔中自己實現它的所有詳細資訊!
您可以按照本教程進行操作:
1. 訓練一個模型,該模型估計特定源類型在一天中的特定時間生成的數據量。
2. 將此估計值與實際數據量進行比較,以計算 Z 得分統計量,該統計量描述估計值與實際值的接近程度。
3. 將所有這些放在儀錶板或警報中,這些儀錶板或警報可以説明您確定給定源類型與預期數據相比創建的數據過多或過少的時間段。
我鼓勵您查看本文並親自嘗試一下!
除了本教程之外,我們還為高級使用者提供了一些內容。 客戶經常問我,是否有可能在 Splunk之外訓練一個模型並將其帶到MLTK。 好吧,我們現在提供了有關如何通過擴展 ML-SPL API 來執行此操作的指南。 我們出色的安全研究團隊最近整理了一些內容,用於檢測潛在的惡意命令行字元串,方法是首先在Splunk之外訓練模型,然後將訓練的模型導入MLTK中 - 我們認為我們應該與大家分享好處!
將模型引入 Splunk 有三個階段:
1. 在您選擇的環境中訓練模型。
2. 對該模型進行編碼,以便 MLTK 可以讀取它,同時注意您可能還需要向 MLTK 添加自定義演算法。
3. 將模型拖放到要在其中使用它的應用的查找資料夾中。
現在,繼續並開始將預先訓練的模型帶到Splunk。
那麼下一步呢?
好吧,首先,我建議您下載 MLTK,然後開始嘗試我們在文檔中為您總結的攝取異常檢測技術。 如果您想 瞭解檢測數據中異常的一些替代方法,請查看這個令人敬畏的技術講座。 請繼續關注更多此類教程 - 我們將在未來幾周和幾個月內發佈更多此類教程。
我還鼓勵您獲取最新版本的安全 ES 內容更新包,您可以在其中找到我們預先訓練的 MLTK 模型,其中包含命令行分析中新的潛在惡意代碼。 如果您真的很喜歡冒險,也可以嘗試訓練模型並使用我們的文檔將其帶到Splunk。
我相信你也會看到 . conf22 在今年6月13日至16日比往年早一點發生。 與大多數年份一樣,我們希望通過MLTK慶祝一些令人驚歎的客戶勝利,因此,一旦會議得到確認,請留意以ML為重點的會談!