Elastic Security Quick Start 透過 Kibana 介面加入並監控安全相關的事件數據

Lin Yen-Cheng on 2020-09-16 8 min. read

前幾篇文章介紹了怎麼透過 Kibana 加入 APM、Logs、Metircs 到 Elasticsearch 中,這篇文章會是 Kibana 介面上的最後一片拼圖 Security 的部分,主要是加入安全相關的事件監控數據,可以說是一套 Elastic Stack 的 SIEM。

點選下圖箭頭就可以開始加入資料
AddSecurity

SIEM

SIEM 彙整並監控各種伺服器的日誌、網路安全資訊,像是防火牆、網路流量、路由器的紀錄等等,然後產生報表,SIEM 架構可以簡單分成三個部分:

  • Beats(connector): 事件收集器
  • Kibana + Elasticsearch(logger management): 日誌管理系統
  • Kibana(correlation): 事件關連分析平台

Beats

Beats 可以安裝在 server 上協助傳送資訊到 Elasticsearch 或 Logstash,除了這次要用到的 以外還有一堆很厲害的 beat 系列工具,這次跟安全事件相關的有 WinlogbeatAuditbeat、Packetbeat,這次只有安裝前面兩個。

使用 Beats 的步驟也很簡單,跟之前介紹得差不多,就是

  • 下載後解壓縮
  • 設定相關配置檔 (${XXX}beat.yml)
  • 啟動 (./${XXX}beat.exe -e)
  • 需要常駐在背景跑才需要註冊服務。
  • 到 kibana Dashboard 查看 Dashboard

Winlogbeat 安裝後的 Dashboard: 紀錄事件
Winlogbeat

Auditbeat 安裝後的 Dashboard: 紀錄執行了哪些程式
AuditbeatSystem

Elastic Endpoint Security

這個功能目前還在 Beta 中,分成兩方面去做 Endpoint Security

  • 威脅偵測 Exploits
  • 對手威脅行為偵測 Adversary Behavior Detection

使用上也是按照官方文件進行安裝,然後進行 elastic-agent.yml 的配置,不過預設的配置檔看起來是給 linunx 用的,這個部分就沒測試,不過介面看起來相關規則都可以進一步新增,官方目前也有提供一些預設的規則範例可以參考。

可以新增偵測的相關規則
DetectionRules

威脅偵測 Exploits

威脅是能夠被偵測或被預防,Elastic Endpoint Security 的 Sensor 會使用 DBI (dynamic binary instrumentation),因為程式大部分都是 Build 過的也看不到原始碼,DBI 是透過在執行的 binary 中即時注入程式碼來分析程式行為的方法,常見的框架是 Pin、DynamoRIO、Frida,Elastic Endpoint Security 的 Sensor 偵測出底下幾種類別的威脅:

  • 漏洞 (Exploits): 漏洞防範的規則預設會被應用在瀏覽器、MS Office、Adobe Reader、Java
    • Critical API: 監控是否有被執行
    • Header Protection: PE header 是不是有被嘗試讀取
    • Macro Protection: MS Office 是否嘗試執行 VBA Macro
    • Return Heap: Heap 記憶體內容是否有被嘗試 return
    • Return Oriented Programming (ROP) Chain: 是否嘗試執行被保護的 function
    • Shellcode Threats: 偵測是否有 thread 的開始位置不在目前模組中
    • Stack Memory: 是否嘗試修改 Stack 分頁檔
    • Stack Pivot: 是否有 thread stack 被攔截
    • UNC Path: Universal Name Convention (UNC) 路徑是否有被使用
  • 惡意程式 (Malware): 會透過機器學習算出來的分數來預防
  • 黑名單 (Blacklist): 像是 andriod 預設無法安裝不是 Google Market 的 APK
    • 直接用副檔名排除,像是 .dll 等
  • 憑證存取 (Credential Access): 是否有被嘗試存取任何憑證
  • 特權提升 (Privilege Escalation): 是否有偷用額外的權限
  • 處理程序注入 (Process Injection): 不用執行檔案靠漏洞就可以把想執行的程式植入,像是 SQL Injection?
  • 勒索軟體 (Ransomware)

對手威脅行為偵測 Adversary Behavior Detection

至於怎麼找出並對手的威脅行為,MITRE 有提出 ATT&CK 這套資安框架,透過這套框架找出對手可能的戰略、戰術、流程,也能協助 EDR (Endpoint Detection and Response) 工具的評估與測試。

  • A(Adversarial): 對抗性的攻擊者
  • T(Tactics): 戰略
  • T(Technical): 技術手法
  • CK(Common knowledge): 通用的知識庫

ATT&CK 的核心概念在把常見的威脅的行為分成

  • 階段
  • 活動

主要會有以下的幾個大階段與行為:

  • 入侵初期(Initial Access)
  • 持續潛伏(Persistence): 嘗試維持自己在重開機之後仍能存活
  • 執行(Execution): 嘗試執行惡意程式
  • 權限提升(Privilege Escalation): 嘗試得到更高權限,像是 root 或是 admin
  • 防禦逃脫(Defense Evasion): 嘗試躲過掃描
  • 憑證存取(Credential Access): 嘗試存取密碼及憑證
  • 發現(Discovery): 嘗試了解系統環境
  • 橫向移動(Lateral Movement): 邊移動邊在尋找最終攻擊目標
  • 收集(Collection): 是否有常識蒐集資料的行為
  • 命令與控制(Command and Control): 是否嘗試控制還原系統
  • 滲出(Exfiltration): 嘗試偷資料
  • 衝擊(Impact):試圖控制、中斷、摧毀系統與資料

喜歡這篇文章,請幫忙拍拍手喔 🤣

share