iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
佛心分享-IT 人職涯歷練

從 IT 工程師到資安領域系列 第 14

Day 14|初步認識 EDR:除了跳出告警,還能看什麼、做什麼?

  • 分享至 

  • xImage
  •  

Day 14|初步認識 EDR:告警裡的程序、命令列與 Hash

我工作上比較常接觸 SIEM,EDR 主要用過 Sophos 和 SentinelOne,但經手的事件比較少。

打開告警後,我會看看執行的是什麼程序、命令列寫了什麼。有 Hash 的話,就拿去 VirusTotal 查一下,也會上網找相關資料。看到不太理解的地方,我會把哪台設備、什麼時間,以及自己覺得奇怪的地方告訴負責的同事,由他繼續調查。

所以今天想簡單聊聊 EDR 有哪些功能,以及畫面裡常出現的程序、父子關係和 Hash 到底是什麼。這些概念不限定特定品牌,實際有哪些欄位與操作,則要看使用的產品、授權和作業系統。

EDR 能看到什麼?

EDR 是 Endpoint Detection and Response,中文常稱為「端點偵測與回應」。端點就是我們平常使用的電腦、筆電,或提供服務的伺服器。

昨天介紹的 Windows Event Log,是從系統留下的事件紀錄開始看。到了 EDR,除了告警本身,平台還可能把相關程序、檔案與連線整理在一起,讓人往下追查。需要處理時,也可能提供隔離設備、終止程序等功能。
延伸閱讀:EDR 基本概念

例如,告警提到某個可疑程序,我們接著會想知道:它放在哪裡?誰啟動了它?執行時帶了什麼指令?還有沒有其他相關活動?

EDR 提供的資訊,就是用來協助回答這些問題。不過,有資料可以查,和已經查清楚,還是兩回事。這點跟前幾天談 SIEM 時很像,畫面提供線索,後面仍然有人需要理解它。

想看中文介紹,也可以參考 iThome 的〈因應進階威脅的新世代端點防護〉。
這篇發表於 2017 年,可以先了解 EDR 的發展背景;其中的產品功能與部署資訊,要再對照現行官方文件。

打開告警,我會先看程序與命令列

EDR 告警通常不只有一個名稱,還會附上設備、時間、帳號、程序路徑等資訊。我自己會查看程序與命令列,先試著理解它在做什麼。

「程式」和「程序」很容易混在一起。簡單來說,程式是放在磁碟上的軟體;啟動執行後,就會有對應的程序。

但知道程序名稱,往往還是不夠。例如看到 notepad.exe,我們知道它是記事本,卻不知道它開了什麼檔案。這時命令列就能補上一些資訊。

以下是一般操作示意:

notepad.exe C:\Temp\note.txt

這段除了啟動記事本,也指定了要開啟的檔案。

換成其他工具也是一樣。看到 powershell.exe,只能知道有 PowerShell 程序;命令列裡帶了什麼內容,才是下一步要看的地方。系統管理、軟體安裝與日常維護都可能用到它,不能只因為出現 PowerShell 就判定是攻擊。

另外,命令列顯示的是啟動時帶入的內容。指令到底有沒有成功,還得找執行結果或後續紀錄。

如果剛開始接觸,不知道畫面上的欄位有什麼用途,可以先參考這張表:

資訊 我們想知道的事情
設備與時間 在哪台設備、什麼時候發生?
執行帳號 使用哪個身分執行?
程序名稱與路徑 執行什麼程式,檔案放在哪裡?
命令列 啟動時帶了哪些參數或指令?
父程序與子程序 誰啟動它,它又啟動了什麼?
檔案 Hash 能不能找到這個檔案的相關資料?
網路連線 有哪些相關的內部或對外通訊?
處置狀態 平台是否已處理,結果如何?

這是欄位用途的整理,不是每筆告警都一定會有這些資料。

父程序、子程序是在說什麼?

這兩個名稱,看的是程序之間的建立關係。

建立另一個程序的是父程序,被建立出來的是子程序。

例如,在命令提示字元中執行記事本。以這個簡化示意來說,cmd.exe 啟動了 notepad.exe,前者就是父程序,後者就是子程序。

程序 這次的角色
cmd.exe 父程序,啟動記事本
notepad.exe 子程序,由命令提示字元啟動

父、子也不是固定身分。一個程序由別人啟動後,還可以再啟動其他程序,所以它可能同時是子程序,也是父程序。

Process Tree,中文叫程序樹,就是把這些關係畫出來。調查時可以往前找它由誰啟動,再往後看它建立了哪些程序。

比起單看一個程序名稱,這樣比較容易理解前後的活動。但父子關係本身沒有好壞之分,仍然要搭配命令列、帳號、路徑與時間來看。

有些平台提供的圖,比程序樹包含更多內容,可能連檔案與其他事件都放進去。遇到這種畫面,要先弄清楚每條線的意思,不要把所有連線都當成父子程序關係。
延伸閱讀:事件關聯圖範例

有 Hash 的話,我會拿去查

在告警裡,有時會看到一長串英文字母與數字,那可能就是檔案的 Hash,也就是雜湊值。

它是根據檔案內容,使用特定演算法計算出的值。我們常把它比喻成檔案的指紋,方便拿來比對。

同樣的內容,用同樣的演算法計算,會得到相同結果。如果只改檔名、沒有改內容,檔案內容的 Hash 不會跟著改;內容有變動時,Hash 通常也會不同。

常見的演算法有 MD5、SHA-1 和 SHA-256。比對時,要使用同一種演算法的結果。
Microsoft:檔案 Hash 說明

我會把告警裡的 Hash 拿去 VirusTotal 查詢,也會搜尋看看有沒有相關分析或說明。VirusTotal 支援用這幾種 Hash 查詢既有的檔案報告,不需要為了查報告就重新上傳檔案。
VirusTotal:搜尋檔案報告

查到之後,可以參考不同引擎的判定與報告資訊。
VirusTotal:報告說明

不過,Hash 是用來識別與比對檔案的,不會直接告訴你檔案有沒有問題。查不到,可能只是沒有相關資料;沒有被標示,也不能保證安全。有引擎標示可疑時,同樣需要再看檔案來源與行為。

我做這些查詢,主要是想多找一些資訊。如果還有疑問,就一起交給同事討論。

隔離設備、隔離檔案,不是同一件事

EDR 除了讓人查看資料,也可能提供回應操作。常見的有終止程序、隔離檔案、隔離設備,以及部分修復或清理功能。
延伸閱讀:端點回應功能範例

這些名稱看起來很接近,但處理的對象不同。

操作 做什麼用?
終止程序 停止正在執行的程序
隔離檔案 限制特定檔案繼續被使用或執行
隔離設備 限制設備的網路通訊
修復或清理 處理部分威脅造成的變更,範圍依產品能力而定

例如,停止程序,不代表檔案已經移除;隔離檔案,也不代表整台設備已經斷網。

設備隔離則可能保留與管理平台的必要通訊,讓管理人員繼續查看與操作,具體行為要看產品設計。延伸閱讀:設備隔離範例

我曾協助透過 EDR 隔離設備。但前面談 IR 時也提過,有些設備不能隨意停機,客戶甚至不一定清楚它的用途。這時就需要先討論,隔離會影響哪些服務,以及該怎麼處理。

操作後也要看結果。按下按鈕只是送出指令,還需要確認有沒有成功,更不能直接把它當成整起事件都處理完了。

白名單也要看排除了什麼

端點防護平台常見的另一項設定是排除,有時會被稱為白名單。遇到相容性或誤判問題時,可能會用到它。

但不同排除設定,影響的檢查範圍不一樣。特定檔案、整個資料夾,或套用到多台設備的設定,影響也不同。
延伸閱讀:排除設定範例

所以,告警沒有再出現,不一定是問題解決了,也可能是那個活動不再被檢查或通報。

這裡先介紹功能概念。我目前遇到還沒釐清的告警,主要還是與負責的同事討論,由他繼續調查。

我會把疑問、設備與時間交給同事

我在 EDR 上做的事情,主要是先查看資訊、查詢資料,再提出需要確認的地方。

交給同事時,我會說明哪台設備、什麼時間發生,以及自己疑惑的是什麼。後續的深入調查,則由專門負責的同事接手。

這篇整理的程序、命令列、父子關係與 Hash,也都是打開告警時很容易遇到的資訊。先知道它們各自在說什麼,才比較有辦法看下去。

至於一筆活動究竟有沒有問題,還需要更多資料。有些我能先查,有些要請同事協助,有些則需要客戶說明設備用途。我目前的使用方式,大致就是從這裡開始。


上一篇
Day 13|Windows Event Log 收到了,接下來怎麼看?從常見 Event ID 開始
下一篇
Day 15|Sensor 還在線,資料卻沒進來:我怎麼檢查 SIEM 收集異常
系列文
從 IT 工程師到資安領域17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言