iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0
AI Security

30 天打造 AI 輔助 SOC 資安事件分析平台系列 第 15 篇

Day 15|事件統計:從單筆 Event 到整體 SOC 狀況

  • 分享至 

  • xImage
  •  

前一天完成 Security Event 搜尋功能後,目前已經可以透過 Event Type、IP、Protocol 或 Signature 找到特定事件。不過 SOC 除了查看單筆事件之外,也需要快速了解目前整體事件的分布狀況。
因此今天開始加入事件統計功能,希望能夠從 SQLite 中計算事件總數、不同 Severity 的數量,以及不同 Event Type 的分布。

建立 Statistics API

在 FastAPI 中新增GET /events/stats,由 Backend 直接查詢 SQLite 並回傳統計結果。
https://ithelp.ithome.com.tw/upload/images/20260929/20177754I3VWDmbPOJ.png
FastAPI Statistics API 回傳 Security Event 統計結果
https://ithelp.ithome.com.tw/upload/images/20260929/20177754Pl7VjVttYg.png

使用 COUNT 與 GROUP BY

事件總數可以透過SELECT COUNT(*) FROM events取得。
如果想統計不同 Event Type 的數量,則可以使用:

SELECT event_type, COUNT(*) AS count
FROM events
GROUP BY event_type

例如資料庫中包含 Network Scan 與 Login Attempt,就可以整理成:

Network Scan     1
Login Attempt    1

這說明了資料庫不單單只能用來儲存資料,它本身就能直接協助完成數據的統計與分析。

將統計結果加入 Dashboard

完成 Statistics API 後,再由 React 呼叫GET /events/stats,並將結果顯示在 Dashboard。
https://ithelp.ithome.com.tw/upload/images/20260930/20177754Ida70NVzfD.png
目前上方的統計卡片代表資料庫中所有事件的整體狀況;下方的搜尋功能則用來查看特定事件,因此即使進行搜尋,上方的整體統計數字仍然維持不變。


上一篇
Day 14|事件搜尋:從大量 SOC Event 找到需要的資料
下一篇
Day 16|串接 LLM API : SOC Dashboard 加入 AI
系列文
30 天打造 AI 輔助 SOC 資安事件分析平台 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言