Malcolm 是一套開源的「網路流量分析平台」,主要用於 Network Security Monitoring(NSM)。它不是單一的 IDS,也不是單純的 PCAP 分析工具,而是把多個成熟的開源工具整合在一起,形成一套可以收集、解析、儲存、搜尋與分析網路流量的環境。Malcolm
可以接收不同形式的網路資料,包括完整封包擷取檔(PCAP)、Zeek Logs、Suricata Alerts,也可以直接從網路環境被動擷取流量。資料進入 Malcolm 後,會經過解析、標準化、豐富化與索引,最後提供給分析人員進行調查。
Malcolm 最大的特色並不是「自己重新發明一套分析工具」,而是把 Arkime、Zeek、Suricata、OpenSearch 等工具串接起來。因此可以把 Malcolm 理解成一個「網路流量分析整合平台」。
在操作介面上,主要有兩個方向:OpenSearch Dashboards 適合從整體資料、統計與視覺化角度觀察網路狀況;Arkime 則比較適合針對特定網路 Session、封包與事件進行深入調查。Malcolm
另外,Malcolm 本身採用 Container 架構,每個服務各自負責不同工作,因此可以透過 Docker、Podman 部署,也可以進一步使用 Kubernetes 進行分散式部署。Malcolm
簡單來說,Malcolm 的定位可以濃縮成:
Malcolm = 把網路流量蒐集、分析、儲存與調查工具整合在一起的開源 NSM 平台。
Malcolm 主要解決的是「網路流量資料很多,但缺乏一個可以集中分析的環境」這個問題。
傳統上,網路流量可能分散在不同設備與工具中。例如交換器提供 SPAN/TAP 流量,Zeek 產生網路連線與協定 Logs,Suricata 產生 IDS Alert,另外又可能保存大量 PCAP。這些資料如果各自獨立存在,分析人員必須在不同工具之間切換。
Malcolm 的做法是把這些資料集中到同一個分析平台中,讓不同來源的資料可以被統一處理、索引與搜尋。
第一,解決網路流量資料分散的問題。
PCAP、Zeek Logs、Suricata Alerts 不需要各自建立完全獨立的分析環境。Malcolm 可以接收這些資料,並將相關資訊整合到平台中。
第二,解決「看得到 Alert,但不知道發生什麼事」的問題。
Suricata 可以告訴你某個流量符合某項偵測規則,但事件調查往往還需要知道來源 IP、目的 IP、通訊協定、Session、時間關係以及實際封包內容。
Malcolm 可以將 Zeek、Suricata、Arkime 等資料放在同一個分析環境,讓分析人員可以從事件往下追到 Session,必要時再查看完整 PCAP Payload。Malcolm
第三,解決大量 PCAP 不容易搜尋的問題。
直接分析 PCAP 往往需要依照時間、IP、Port、Protocol 等條件逐步過濾。Malcolm 透過 Arkime 與 OpenSearch 將大量網路資料建立索引,使分析人員可以先透過 metadata 找出可疑 Session,再深入查看封包。Malcolm
第四,解決網路事件缺乏上下文的問題。
Malcolm 可以加入 GeoIP、裝置資訊、資產清單、JA4 等額外資訊,讓原本單純的網路流量資料增加更多背景資訊。它也可以利用 NetBox 的資產資訊進行網路資產與流量關聯。Malcolm
因此 Malcolm 比較適合的情境包括:
不過也要注意,Malcolm 並不是「裝好之後就自動完成所有資安分析」。例如加密流量本身無法由 Malcolm 自動解密;完整 PCAP 長期保存也會產生相當大的儲存需求。Malcolm
Malcolm 的核心元件可以分成幾個主要角色,而不需要把所有官方列出的工具全部視為同等重要。
Arkime:負責 PCAP 與 Session 分析。
Arkime 是 Malcolm 裡非常重要的流量調查工具,可以處理 PCAP、建立 Session 資訊,並提供瀏覽、搜尋及 Payload 分析能力。
其中 Capture 負責流量擷取與 PCAP 處理,Viewer 則提供瀏覽器介面,讓分析人員搜尋與查看網路 Session。Malcolm
Zeek:負責網路流量解析。
Zeek 是網路分析框架,也是 Malcolm 重要的資料來源之一。它可以從網路流量產生大量具結構性的 Logs,例如連線、DNS、HTTP、SSL/TLS 等資訊。
因此 Zeek 比較像是「把原始網路流量轉換成可以分析的網路事件資料」。
Suricata:負責 IDS 與威脅偵測。
Suricata 主要負責依照規則偵測可疑或惡意流量,產生 Alert。這些 Alert 可以與其他網路流量資料一起進行後續調查。Malcolm
OpenSearch:負責資料儲存、搜尋與分析。
大量網路 metadata 經過處理後會進入 OpenSearch。分析人員可以透過 OpenSearch Dashboards 進行搜尋、統計、視覺化與建立 Dashboard。
OpenSearch 也提供 Anomaly Detection、Alerting,以及 ML Commons 等延伸能力。Malcolm
Logstash / Filebeat:負責資料處理與傳送。
這一層主要負責將 Zeek 等來源的 Logs 進行 ingestion、解析、enrichment,再送入 OpenSearch。
所以如果把 Malcolm 想成一個資料處理平台,Logstash / Filebeat 就是重要的資料處理管線。
Strelka / YARA / Capa / ClamAV:負責檔案分析。
如果從網路流量中發現檔案傳輸,Malcolm 可以將檔案取出,再交給這些工具進行靜態分析。例如 YARA 用於特徵比對、Capa 用於分析可執行檔能力、ClamAV 則負責病毒偵測。Malcolm
NetBox:補充資產資訊。
NetBox 可以提供網路資產與設備資訊,Malcolm 可以利用這些資料對觀察到的網路流量進行 enrichment,讓「IP 位址」進一步對應到比較有意義的資產資訊。Malcolm
Docker / Podman / Kubernetes:負責部署。
這些並不是網路分析工具,而是 Malcolm 的執行與部署基礎。Malcolm 將各項功能拆成不同 Container,使整套平台可以較容易部署與管理。Malcolm
因此,如果只抓最重要的核心元件,可以先記住:
Arkime → PCAP / Session
Zeek → 網路流量解析
Suricata → IDS / Threat Detection
OpenSearch → 儲存 / 搜尋 / 視覺化
Logstash / Filebeat → 資料處理
其他工具則是針對檔案分析、Threat Intelligence、資產管理、身分驗證等需求提供延伸能力。
第一層:資料來源(Data Source)
這一層回答的是:「Malcolm 的資料從哪裡來?」
主要包括:
即時流量可以透過 SPAN、Network TAP 等方式取得;既有資料則可以直接匯入 PCAP 或 Logs。Malcolm 也支援由 Hedgehog Linux Sensor 將不同網路位置觀察到的資料轉送回 Malcolm。Malcolm
第二層:流量擷取與 Sensor(Capture / Sensor)
這一層負責「看到網路流量」。
主要涉及 Arkime、Zeek、Suricata,以及較簡單的 tcpdump / netsniff-ng。
如果環境規模較小,可以採用 Malcolm All-in-One,由 Malcolm 同時負責 Sensor 與分析平台;如果有多個網路位置需要監控,則可以使用 Hedgehog Linux 作為輕量化 Sensor,再將資料送回 Malcolm。Malcolm
第三層:網路分析(Network Analysis)
這一層開始回答:「這些流量代表什麼?」
Zeek 會將網路封包轉換成結構化的網路事件資料;Suricata 則根據偵測規則找出可疑活動;Arkime 則建立 Session 與 PCAP 分析能力。
因此這一層的重點不是單純「抓封包」,而是把原始流量轉換成可以進一步調查的安全資訊。
第四層:資料處理與豐富化(Processing / Enrichment)
這一層負責把不同來源的資料整理成可以搜尋與關聯的資料。
Logstash / Filebeat 會處理 Logs,Malcolm 也會加入 GeoIP、資產資訊、JA4 等額外資訊,使單純的網路事件具有更多上下文。Malcolm
這一層其實是 Malcolm 很重要的價值之一:不是單純把資料「收進來」,而是讓不同來源的資料可以被整理到同一個分析環境。
第五層:資料儲存與搜尋(Storage / Search)
這一層主要由 OpenSearch 與相關儲存機制負責。
OpenSearch 儲存大量網路 metadata,提供搜尋、聚合、Dashboard、Alerting,以及部分異常偵測與 ML 能力。
另一方面,PCAP、原始 Logs、擷取的檔案等原始資料則需要另外考慮儲存容量與保存週期。Malcolm 官方也特別提醒,長期保存完整 PCAP 對 SSD、RAID 與儲存容量都有較高要求。Malcolm
第六層:分析與調查介面(Analyst / Investigation)
最後一層就是分析人員實際使用的地方。
OpenSearch Dashboards 比較適合:
Arkime 則比較適合:
這兩者不是互相取代,而是扮演不同的分析角色。官方文件也將 OpenSearch Dashboards 定位在整體資料視覺化與分析,而 Arkime 則強調 Session 與完整封包調查。Malcolm