思考 日誌的聚類(由蜜罐日誌引出)

2021-10-19 21:21:14 字數 1362 閱讀 1687

20210223 -

去年中旬,研究過一段時間蜜罐的內容,也部署過幾款開源的蜜罐,一些蜜罐自帶了最後的展示介面,例如hfish,不過它屬於粒度比較粗的,最終顯示也僅僅有很少的資訊;另一些蜜罐僅僅輸出日誌,需要自己進行資料的彙總和展示,不過這種也存在乙個問題,例如cowrie,他把互動過程按照事件分類來輸出日誌,當時構建過程中使用了elk的方式來進行日誌展示,直接將進行輸入,沒有更多的中間性修改,文章發表在freebuf,《cowrie蜜罐的docker部署過程及elasticsearch+kibana視覺化》。

蜜罐的功能,一方面能夠捕獲比較新的攻擊樣本,當時我也捕獲了不少殭屍網路的樣本;而另一方面也能獲取到攻擊的方式,例如poc到底是什麼樣的;在另外一篇文章中《全埠蜜罐的部署過程與資料分析》,利用無互動的方式,就能夠捕獲大量的掃瞄流量和攻擊流量。

但是在關注這種蜜罐時,比較重點的任務應該是如何分析日誌,當時我在分析全埠蜜罐日誌的時候,就發現了這個問題,由於是一種無互動的蜜罐形似,而且部署過程中也不知道到底流量是針對哪個埠的,因為採用的是防火牆**的方式。最後的日誌是一種json形式,但是互動的資訊無法直接還原,只能是利用字串匹配初步進行匹配。

前面的說法主要是為了展現出來日誌分析的重要性和難點,這篇文章打算從比較簡單的角度來入手,通過聚類的方式,看看能不能更好地減少人工分析的參與。

本篇文章重點記錄思考的過程,未必能夠給出最終的答案

日誌的聚類本質上屬於相似度比較的過程,無論是結構化的還是非結構化的,每一條日誌都是乙個比較的單位,通過相似度比較發現他們是否是屬於同一類。相似度比較的函式就比較多了,到底哪種方式比較適合就需要具體來嘗試。

那麼從這個角度來看,如何對日誌進行表徵是比較重要的問題,如果都是數值型別的,而且具備一定的實際意義,那麼就更好了。而實際場景中,更多的是字串型別的日誌,例如http訪問日誌,特別是有些日誌還是非結構化的,可能需要前期將關鍵資訊提取處理進行結構化。

普通機器學習中,聚類是針對無標籤資料來出發的,資料沒有標籤,無法通過有監督的方式進行分類或者**。在日誌的聚類過程中,實際上也是為了能夠找出相似的日誌,發現攻擊的日誌。

前面也說過,對於數值型的資料,可以直接進行比較,例如使用歐氏距離;但是對於字串的形式呢,雖然在某些場景下能夠使用編輯距離這種實現,但是可用性並不強。

在目前的自然語言處理技術中,採用的技術如下:n-gram,tf-idf,word2vec等。

但是這些技術在實際的場景中能有多大的用處,本質上直接從詞的角度來看,肯定能夠直接或者結果,但是這種方式的實際意義有多大?也就是說是不是表徵出來的資訊的確能夠代表處一定的意義呢?這是後續要思考的關鍵點。

(20210223 記錄關於日誌聚類的思考,感覺沒有得到比較實質性的內容,主要是自己之前腦海中的乙個問題,但是我感覺是有一定意義的。)

由return引出的思考

public class test public static int get finally 返回的結果是2。try中的return 語句呼叫的函式先於finally 中呼叫的函式執行,也就是說return 語句先執行,finally 語句後執行,所以,返回的結果是2 return 並不是讓函式馬...

由 128的補碼引出的思考

1.補碼 two s complement 在計算機系統 中,數值一律用補碼來表示 儲存 主要原因 使用補碼,可以將符號位和其它位統一處理 同時,減法也可按加法來處理。另外,兩個用補碼表示的數相加時,如果最高位 符號位 有進製,則進製被捨棄。補碼與原碼 的轉換過程幾乎是相同的。2.一般的說法是負數的...

由盒馬生鮮引出的思考

消費公升級 新技術 線上線下 大資料 新零售,是以消費公升級為大背景 以新技術所引發的一場革命,從線上線下的打通 到大資料雲計算 高效物流,以及整個零售業產業鏈的創新所引發的革命。方法 線上線下結合 大資料分析 人工智慧 現代物流 行業一體化解決方案 結果 提公升效率?提公升體驗?消費公升級是結果還...