資安通報的最後常附上一張表:幾個 IP、幾個網域、幾串長長的雜湊值。這些就是 IOC(Indicator of Compromise,入侵指標)。許多公司看完通報只做一件事:把 IP 加進防火牆封鎖清單。封鎖只能擋住之後的連線,卻回答不了更重要的問題——這些指標過去是不是已經出現在我們的環境裡。
本文寫給管理日誌、端點與網路設備的 IT 人員,以及需要決定「要不要啟動應變」的主管,說明 IOC 的類型與限制、去武裝寫法、該查哪些資料來源、怎麼排除誤判,以及命中後該做什麼。本站的資安通報若附有 IOC,會整理成表格並標示類型、備註與來源,可以直接當作比對清單。
IOC 是什麼、有哪些類型
NIST 將 IOC 定義為顯示攻擊即將發生或正在進行,或入侵可能已經發生的技術跡象或可觀測值[1]。通報中常見的類型:
- IP 位址:命令與控制(C2)伺服器、掃描來源、資料外傳的目的地。
- 網域名稱:惡意程式回連的網域、釣魚網站。
- URL:比網域更精確,例如惡意檔案的下載路徑。
- 檔案雜湊值:MD5、SHA-1 或 SHA-256,代表某個特定檔案的指紋。
- 檔名與路徑:例如攻擊者放在網站目錄下的 web shell 檔名。
- 電子郵件地址:釣魚或商務電子郵件詐騙的寄件來源,相關手法見釣魚與 BEC。
- 其他:登錄機碼、服務名稱、排程工作名稱、User-Agent 等。
本站通報的 IOC 表格依 IP、網域、雜湊值、檔名、URL、電子郵件與其他分類,每筆都標示出處,方便回頭查原始報告的上下文。
痛苦金字塔:為什麼 IOC 會過期
David Bianco 在 2013 年提出「痛苦金字塔」(Pyramid of Pain),並在 2014 年更新、加入雜湊值這一層[2]。由下而上依序是:雜湊值、IP 位址、網域名稱、網路與主機跡象、工具,以及最上層的 TTP(戰術、技術與程序)。越下層,攻擊者越容易更換:檔案只要改一個位元,雜湊值就完全不同;IP 幾乎不費力就能換掉;網域要註冊、付費與架設,稍微麻煩但也不難[2]。越往上,攻擊者就得重新設定或改寫工具,甚至學新的做法,成本越來越高[2]。
這對比對工作的意義是:
- 雜湊值或 IP 命中時,可信度通常很高;但沒有命中不代表安全,攻擊者可能早已換了一批。
- IOC 有時效性。通報越舊,其中的 IP 越可能已被重新分配給無關的使用者。
- 長期防禦要往金字塔上層走,針對攻擊手法建立偵測。MITRE ATT&CK 是根據實際觀察整理的攻擊者戰術與技術知識庫[3],許多通報會附上 ATT&CK 技術編號,可以用來檢查自己的偵測規則是否涵蓋這些手法。
讀懂去武裝寫法:hxxp 與 [.]
通報中的網址常寫成 hxxps://example[.]com/update 或 198.51.100[.]23。這叫去武裝(defang):把 http 改成 hxxp、把點改成 [.],讓這些值在網頁、郵件或聊天軟體中不會自動變成可點擊的連結,避免有人誤點,或系統自動產生預覽而連到惡意站台。本站通報中的 IP、網域、URL 與電子郵件也以這種方式顯示。
使用時要注意兩件事:
去哪裡查:資料來源與回溯期間
依 IOC 類型對應資料來源:
- IP:防火牆與 VPN 連線紀錄、Proxy 日誌、NetFlow;也要查 VPN、郵件、網站等對外服務的登入紀錄,看是否有人從該 IP 成功登入。
- 網域與 URL:內部 DNS 伺服器的查詢紀錄、Proxy 或安全網頁閘道日誌。DNS 紀錄能告訴你是哪台主機發出查詢。
- 雜湊值與檔名:EDR 或防毒軟體的檔案與執行紀錄,也可以在檔案伺服器上搜尋。
- 電子郵件:郵件閘道與郵件伺服器紀錄,找出誰收到、是否有人點擊或回覆。
- SIEM:日誌已集中時可以一次查多種來源。NIST 也建議把最新的威脅情資納入日誌分析工具,以提高偵測準確度[5]。
範圍上,NIST 建議不只查已知受影響的資產,也要查其他可能的目標[5];從備份還原系統之前,也應先檢查備份是否含有 IOC[5]。
回溯期間至少要涵蓋通報描述的活動期間,最好從最早的已知活動日期再往前多抓一段。實務上的瓶頸常是日誌保存不夠久:CISA 等機關建議日誌至少保留一年[4]。如果發現某些來源只能查幾天,這就是比對之外要補的缺口。
命中之後:排除誤判,再升級處理
先排除常見誤判
CISA 等機關建議在命中後進一步檢查是否有其他惡意跡象,以排除誤判[4]。常見情況:
- CDN 與共用主機:許多網站共用同一組 IP。如果通報中的 IP 屬於 CDN 或雲端業者,你的使用者可能只是連到同一個 IP 上的正常網站。部分 CDN 業者會公布自家的 IP 範圍(例如 Cloudflare[6]),可以先比對。這類 IP 適合用來對照,不適合直接封鎖。
- IP 換手:雲端與家用網路的 IP 經常重新分配,命中時間若不在通報描述的活動期間,可信度要打折。
- 常見檔名:只比對到檔名(例如和系統程式同名)時,要搭配路徑、雜湊值與數位簽章判斷。
- 安全設備自己的查詢:郵件閘道或沙箱為了分析可疑郵件而解析惡意網域,也會在 DNS 紀錄留下痕跡。
判斷時看三件事:時間是否落在活動期間、連線是否成功並有實際資料傳輸(而不只是 DNS 解析)、主機上是否還有其他跡象,例如可疑的處理程序、新建帳號或排程工作。
確認命中就當作事件處理
確認是真的命中後,就該當成疑似入侵事件處理,依照疑似遭入侵的前 24 小時啟動應變:保全日誌與主機證據、先不要重灌,並以命中的主機為起點,找出同一時段連到相同指標的其他主機。此時封鎖不再只是例行動作:CISA 等機關指出,攻擊者更換基礎設施的成本很低,搶先封鎖可能讓你失去對其活動的觀察;只封鎖 IP 而沒有找出惡意程式與入侵途徑,攻擊者仍可能保有存取[4]。是否立即封鎖,應由事件負責人依是否有持續損害來決定。
沒有命中時,把仍然有效的 IOC 加入告警或封鎖清單是合理的預防措施,但要記錄來源並設定到期日,避免清單無限膨脹或誤擋正常服務。
自動化:STIX 與 TAXII
一份通報可以手動比對,每週好幾份就需要自動化。STIX 是用來交換網路威脅情資的語言與序列化格式,TAXII 則是傳遞威脅情資的應用層協定,專為交換 STIX 格式的情資而設計;兩者由 OASIS 的網路威脅情資技術委員會維護,目前最新版本為 2.1[7]。許多 SIEM、威脅情資平台與防火牆都能訂閱 TAXII 來源。美國 CISA 的自動指標分享服務(AIS)就是一例:它是免費服務,參與者以 TAXII 2.1 用戶端接收情資[8]。
導入自動匯入時,先以告警模式上線、觀察誤判率,再決定哪些來源可以直接封鎖;每筆指標都要保留來源、信心程度與到期日。
行動清單
- 指定負責人:每份附 IOC 的通報由誰比對、幾個工作天內完成。
- 從資安通報取得 IOC,還原去武裝寫法,整理成清單並記錄來源與通報日期。
- 依類型查詢:IP 查防火牆、VPN 與 Proxy;網域與 URL 查 DNS 與 Proxy;雜湊值與檔名查 EDR;電子郵件查郵件閘道。
- 回溯期間至少涵蓋通報所述的活動期間;確認各日誌實際保存多久,不足一年就列入改善項目。
- 命中時先看時間、連線結果與主機跡象,排除 CDN、共用主機與 IP 換手造成的誤判。
- 確認命中就依前 24 小時指引啟動應變,先保全證據再處置;需要協助可以聯絡我們。
- 沒有命中時,把仍然有效的指標加入告警或封鎖清單並設定到期日,同時檢查通報描述的手法是否在你的偵測範圍內。
- 長期評估以 STIX/TAXII 自動匯入情資,並訂閱通報,讓新的 IOC 第一時間送到負責人手上。