作者|Elaine Hung
編譯|Flin
來源|analyticsvidhya
介紹
監視本地管理員執行的用戶活動始終是SOC分析人員和安全專業人員面臨的挑戰,大多數安全框架都會建議實施白名單機制,

但是,現實世界通常并不理想,始終有不同的開發人員或用戶擁有本地管理員權限來繞過指定的控制元件,有沒有辦法監視本地管理員的活動?
讓我們談談資料源

資料集外觀示例—上面列出的3個條目指的是同一軟體
我們有一個常規的批處理作業,以檢索安裝在不同區域中的每個作業站上的軟體,安裝的大多數軟體都以其本地語言顯示,(是的,你可以對其命名——可能是日語,法語,荷蘭語.....)
因此,你會遇到這樣的情況,即安裝的軟體在白名單中參考同一軟體時會顯示7個不同的名稱,更不用說,我們有成千上萬的設備,
資料集的屬性
-
Hostname 設備的主機名
-
Publisher Name 軟體發布者
-
Software Name 本地語言的軟體名稱和不同的版本號
有沒有辦法可以識別非標準安裝?
我的想法是公司中使用的合法軟體——應該安裝多個軟體,并且軟體名稱應該不同,在這種情況下,我相信使用機器學習來幫助用戶對軟體進行分類并突出顯示任何例外值將是有效的,
使用術語頻率-反檔案頻率(TF-IDF)的字符處理
自然語言處理(NLP)是人工智能的一個子領域,用于理解和處理人類語言,鑒于機器學習的新進展,許多組織已開始將自然語言處理應用于翻譯,聊天機器人和候選篩選,
TF-IDF是一種統計量度,用于評估單詞與檔案集合中的檔案的相關性,這可以通過乘以兩個度量來完成:一個單詞在檔案中出現多少次,以及單詞在一組檔案中的反檔案出現頻率,
TF-IDF通常用于單詞提取,但是,我在考慮它是否也可以應用于字符提取,目的是探索通過將每個字符的重要性匯出到軟體名稱中,我們如何能夠很好地應用TF-IDF來提取與軟體名稱中每個字符相關的功能,
下面的腳本示例說明了如何將TF-IDF應用于資料集中的軟體名稱欄位,
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer# Import the dataset
df=pd.read_csv("your dataset") # Extract the Manufacturer into List
field_extracted = df['softwarename']# initialize the TF-IDF
vectorizer = TfidfVectorizer(analyzer='char')
vectors = vectorizer.fit_transform(field_extracted)
feature_names = vectorizer.get_feature_names()
dense = vectors.todense()
denselist = dense.tolist()
result = pd.DataFrame(denselist, columns=feature_names)
結果片段:

上述TF-IDF腳本的結果(混合了不同語言,如韓語、中文)
在上面的圖表中,你可以看到執行了一個計算來評估每個字符在軟體名稱上的“重要性”,這也可以解釋為每個軟體名上有多少個指定的字符可用,這樣,你就可以統計地呈現每個“軟體名稱”的特征,我們可以將這些特征放入你選擇的機器學習模型中,
我提取的其他功能相信對模型也有幫助:
- 軟體名稱的熵
import math
from collections import Counter# Function of calculating Entropy
def eta(data, unit='natural'):
base = {
'shannon' : 2.,
'natural' : math.exp(1),
'hartley' : 10.
}if len(data) <= 1:
return 0counts = Counter()for d in data:
counts[d] += 1ent = 0probs = [float(c) / len(data) for c in counts.values()]
for p in probs:
if p > 0.:
ent -= p * math.log(p, base[unit])return ententropy = [eta(x) for x in field_extracted]
空格比率—軟體名稱具有多少個空格
元音比率—軟體名稱具有多少個元音(aeiou)
最后,我將上面列出的這些特性與randomtreeforest分類器一起運行,你可以選擇任何你想要的分類器,只要它能給你一個滿意的結果,
謝謝閱讀!
原文鏈接:https://www.analyticsvidhya.com/blog/2020/09/machine-learning-in-cyber-security-malicious-software-installation/
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/166813.html
標籤:其他
下一篇:線性表(三):單鏈表的基本操作
