一 前言
有機(jī)會接觸到這款軟件歼培,還是同事的一個圖亩码,圖介紹了開源項(xiàng)目Zed和基于Zed做的一款全流量安全產(chǎn)品Brim季率。整個產(chǎn)品其實(shí)是不少開源項(xiàng)目的一個小集成,只所以感興趣描沟,除了brim在github有1.5k個star的原因外飒泻,更吸引我的是它使用了一種新的數(shù)據(jù)結(jié)構(gòu)鞭光,超結(jié)構(gòu)化的數(shù)據(jù)模型,通過這種結(jié)構(gòu)可以集數(shù)據(jù)的壓縮泞遗、索引惰许、數(shù)據(jù)的分析于一體,而不用數(shù)據(jù)存儲的各類數(shù)據(jù)庫史辙、NoSQL汹买,簡單方便。
二 Zed和它的支持格式
Zed簡單來看就是一款開源的命令行工具髓霞,可以操作Zed新型的超結(jié)構(gòu)化的模型數(shù)據(jù)卦睹,復(fù)雜來看,可以看看官方的解釋:
1. zed 數(shù)據(jù)模型和語義的抽象定義方库;
2. zed是ZNG、VNG障斋、ZSON格式纵潦、這些格式都遵循相同的Zed數(shù)據(jù)模型。
3. zed是存儲可選索引的Zed數(shù)據(jù)模型垃环。
4. zed是一種數(shù)據(jù)流語言邀层、可以執(zhí)行查詢、搜索遂庄、分析寥院、轉(zhuǎn)換或上面的組合;
2.1 Zed數(shù)據(jù)模型
zed數(shù)據(jù)為一個或多個類型化的數(shù)據(jù)值的有序序列涛目、可以支持常見的編程語言中的原始數(shù)據(jù)類型比如:
uint8(無符號8位整數(shù))
decimal128(IEEE-754 十進(jìn)制128)
bytes(8字節(jié)的有界序列)
...
ip(ipv4秸谢、ipv6)
net (IPv4 或 IPv6 地址和網(wǎng)絡(luò)掩碼)
type 一個zed類型值
null(空類型)
還支持復(fù)雜的數(shù)據(jù)類型:
record - 具有零個或多個排序的集合、每個稱字段
array霹肝、set估蹄、map、union沫换、enum臭蚁、error
2.2 Zed支持的格式
zed原始格式包括ZNG,VNG和ZSON讯赏。
ZNG是高效的垮兑、面向序列的序列化格式,適用于任何數(shù)據(jù)漱挎,類似于Apache Avro系枪、沒有結(jié)構(gòu)定義、在數(shù)據(jù)流中嵌入所有類型信息识樱。
ZSON 是人類可讀的嗤无、基于文本的序列化格式 超結(jié)構(gòu)化數(shù)據(jù)格式震束。
VNG,發(fā)音為“ving”当犯,是基于Zed 數(shù)據(jù)模型的列式數(shù)據(jù)的文件格式垢村。
除了支持以上三種Zed的數(shù)據(jù)模型格式外,還支持arrows嚎卫、json嘉栓、csv、parquent拓诸、zjson侵佃、zeek(等多種格式)。
三 brim一款基于zed數(shù)據(jù)模型的pcap分析工具
3.1 brim 簡單說明
brim是一種分析zed數(shù)據(jù)模型的pcap工具奠支,相對于wireshark來說馋辈,分析的速度更快,而且可以和wireshark 聯(lián)動倍谜,從而通過wireshark來獲得更多分析迈螟,相對于wireshark來說,brim的速度要快的多:
brim 官方說明:
Brim 是一個用于安全和網(wǎng)絡(luò)的開源桌面應(yīng)用程序 專家尔崔。Brim 可以輕松搜索和分析來自以下方面的數(shù)據(jù):
* 數(shù)據(jù)包捕獲答毫,如[Wireshark](https://www.wireshark.org/)創(chuàng)建的數(shù)據(jù)包捕獲,以及
* 結(jié)構(gòu)化日志季春,尤其是來自[Zeek](https://www.zeek.org/)網(wǎng)絡(luò)分析框架的日志洗搂。
Brim 對于需要處理大型數(shù)據(jù)包捕獲的安全和網(wǎng)絡(luò)運(yùn)營商特別有用, 尤其是那些對于 Wireshark载弄、tshark 或其他數(shù)據(jù)包分析器來說很麻煩的耘拇。
從我理解的角度來看,它是由以下幾種軟件組合而成侦锯,如下:
brim后臺通過brimcap將pcap文件轉(zhuǎn)成zng格式驼鞭,并且通過zeek和suricat工具進(jìn)一步豐富解析信息,然后brim UI借助zed分析zng文件進(jìn)行展示尺碰。
可以看下官方的圖:
3.2 brim使用說明
相對于wireshark來說挣棕,brim的分析pcap的速度要快的多,界面如下圖:
拖拽pcap文件到如上圖的紅框中亲桥,即可以進(jìn)行分析洛心,來看看分析是什么樣子。
左下腳處的菜單處可以點(diǎn)擊(里面還包含suricata告警信息)题篷,調(diào)出分析命令词身,比如點(diǎn)擊第一個Activity Overview 如下圖:
點(diǎn)擊后,會在輸入欄中顯示zq命令番枚,下面數(shù)據(jù)支持兩種格式法严,一種是表格损敷,一種是類似 json數(shù)據(jù)格式。
樹狀數(shù)據(jù)結(jié)構(gòu)展示:
3.3 詳細(xì)分析
我們可以通過點(diǎn)擊列表里面協(xié)議名深啤,右鍵拗馒,選擇Open details,得到信息如下圖:
在細(xì)節(jié)里面可以看到流信息和傳輸?shù)膆ttp和文件信息:
點(diǎn)擊文件會顯示文件md5值通過右鍵VirusTotal lookup 查看這個文件是否是惡意木馬等:
我們還可以通過右鍵Whois Lookup查詢域名的信息溯街,查看域名詳細(xì)信息:
brim的輸入欄是zq的命令诱桂,復(fù)制這個命令,直接可以在命令行中運(yùn)行呈昔。
四開源地址
brim開源地址:https://github.com/brimdata/brim
zed開源地址:https://github.com/brimdata/zed
brimcap開源地址:https://github.com/brimdata/brimcap