🗺️ 資安考證地圖

惡意程式類型與偵測處置

用三個問題替惡意程式分類,再看防守方怎麼把它找出來、關起來、清乾淨。

三個問題分辨 11 種惡意程式 特徵碼、行為偵測、沙箱與 EDR 各抓什麼 發現感染後的處置順序與備份

💡 先搞懂問題:同樣是「中毒」,處理方式差很多

一般人說「電腦中毒了」,其實把很多不同的東西混在一起。有的惡意程式(Malware,泛指任何刻意設計來造成危害的軟體)要有人打開檔案才會散播,有的會自己在網路上一台接一台感染;有的目的是把檔案加密勒索,有的只是安靜地躲著偷資料。認錯類型,處理就會出錯:以為把一台電腦重灌就沒事,卻沒發現它早已擴散到整個網段;或者拚命修補系統漏洞,真正的入口卻是員工親手安裝的「免費工具」。

所以替惡意程式分類,不必背一長串名字,只要依序問三個問題:

① 需不需要宿主檔案?要附著在別的檔案或程式上才能存在,還是自己就是一支獨立程式,甚至連檔案都不落地。
② 會不會自己複製擴散?會把自己複製到其他檔案或其他電腦,還是只待在被裝進去的那一台。
③ 主要目的是什麼?破壞、勒索、竊取,還是長期控制這台電腦。

這一頁用「社區防疫」當比喻貫穿到底:一台電腦是社區裡的一戶人家,公司網路就是整個社區。防疫時大家最先關心的,是病原怎麼進門、又怎麼傳到下一戶。下圖畫出最常被拿來比較的三種進門方式,點選看看差別。

A 家B 家C 家 包裹 被人帶去用 自己爬窗 窗已上鎖 禮物
點上方按鈕或圖上的包裹、箭頭、禮物,看三種惡意程式怎麼「進門」。
回到資安,「包裹」對應被感染的檔案或程式,這就是病毒需要的宿主,要有人執行才會發作並繼續散播;「自己爬窗」對應蠕蟲利用系統漏洞主動連線到下一台,不需要任何人操作,所以區網裡突然出現大量異常連線,常是蠕蟲的跡象;「禮物」對應木馬,它偽裝成實用的軟體,由使用者自己安裝進來。窗戶上鎖對應修補漏洞,這也說明了為什麼修補對蠕蟲特別有效,而對付要靠人打開的病毒與木馬,則要靠教育訓練、防毒掃描與限制軟體安裝。
比喻不準確的地方:生物病原會自然突變,惡意程式則是有人刻意設計、帶著明確目的的程式。其次,日常用語常用「電腦病毒」泛稱所有惡意程式,但在分類上病毒只是其中一種,考題問的是嚴格定義。最後,這張圖只回答了前兩個問題(怎麼進來、怎麼傳),進門之後要做什麼,也就是第三個問題「目的」,要另外判斷。

社區防疫也不是只靠關好門窗。公告欄上貼著已知帶原者的通緝照片、巡邏員會留意鬼鬼祟祟的舉動、來路不明的訪客先請到隔離觀察室待一陣子,這三件事分別對應後面會比較的特徵碼比對、行為偵測與沙箱。

🎮 互動實驗室 1:三個問題的分類決策樹

想一支惡意程式的特性,依序回答三個問題。旁邊的樹狀圖會亮出你走過的路,走到底會告訴你它屬於哪一類、怎麼防。

邏輯炸彈勒索軟體間諜/廣告後門等三種
目前在樹根,還沒回答任何問題。

🎮 互動實驗室 2:病毒和蠕蟲,誰擴散得快?

同一個九台電腦的辦公室網路,PC1 已經被感染。切換病毒或蠕蟲,再調整「漏洞有沒有修補」和「員工會不會亂開檔案」,看兩種惡意程式分別被哪一種防禦擋住。

類型
漏洞修補
員工習慣
健康 已感染 收到檔案、還沒打開 已修補
回合0
已感染1 / 9
被擋下的嘗試0
蠕蟲模式:按「下一回合」,看 PC1 自己去找鄰居。

模擬中「員工打開檔案」的機率是示意數字(常亂開 35%、受過訓練 5%),用來比較趨勢,不代表真實統計。

🎮 互動實驗室 3:五種偵測方法,各抓得到什麼?

社區的防線有好幾種:拿通緝照片比對長相(特徵碼)、看行李裡有沒有可疑物品(啟發式)、觀察一個人實際在做什麼(行為監控)、先請到隔離觀察室待一陣子(沙箱),以及整個社區的監視系統加值班人員(EDR)。選一個情境、再選一種方法,看它能不能察覺、代價是什麼。

情境
方法
已解鎖 0 / 25 格
先選一個情境和一種方法。

表中是觀念上的典型結果,實際產品常同時混用多種技術,效果也因設定而異。

🎮 互動實驗室 4:發現感染了,先做哪一步?

值班人員發現一台主機疑似被勒索軟體感染,同網段的檔案伺服器也開始出現異常。下面的卡片裡有六個正確步驟和一張不該出現的陷阱卡。依序點選卡片排進流程,點流程裡的卡片可以放回去,排好後按「檢查順序」。

待排卡片
你的處置流程
    還沒放任何卡片。社區防疫的順序可以當提示:先把確診的那一戶封起來,再來採檢、追蹤接觸者、消毒,最後才解除隔離。

    🎮 互動實驗室 5:看症狀,判斷類型

    每張卡描述一個事件現場,從下方選出最符合的類型。答完會用三個問題解釋為什麼。全部 11 張,每一類各出現一次。

    第 1 / 11 張 答對 0 張
    讀完卡片上的描述,先想三個問題:它需要宿主嗎?會自己擴散嗎?目的是什麼?

    📘 原理補完:把比喻接回技術

    1. 十一種惡意程式,用三個問題排成一張表

    回到資安,三個問題其實是三個不同的觀察角度。「宿主」問的是它以什麼形態存在:附在別的檔案裡、自己是一支程式,還是連檔案都不落地;「自我複製」問的是它怎麼擴散;「目的」問的是它進來之後要做什麼。有些名字描述的是其中一個角度,例如「木馬」講的是偽裝的進門方式、「無檔案型」講的是存在形態,所以同一支惡意程式可以同時符合兩個名字,例如一支夾帶後門的木馬。點下圖的格子,表格會標出同一格裡的類型。

    需要宿主獨立程式不落地 會複製不複製 病毒 蠕蟲 很少見 木馬 後門勒索軟體Rootkit間諜 廣告邏輯炸彈殭屍網路 無檔案型
    點一個格子,看它代表什麼組合。
    類型宿主自我複製主要目的
    病毒需要會,靠人執行不一定
    蠕蟲不需要會,自動擴散不一定
    木馬不需要(偽裝)不會竊取或控制居多
    勒索軟體不需要通常不會勒索
    Rootkit不需要不會控制(隱藏)
    後門不需要不會控制(再進來)
    間諜軟體/鍵盤側錄不需要不會竊取
    廣告軟體不需要不會推廣告牟利
    殭屍網路不需要部分會控制(成群)
    邏輯炸彈藏在正常程式不會破壞
    無檔案型不落地不一定不一定

    表格裡有幾個常被拿來出題的細節。Rootkit 的特徵是隱藏、很難被一般防毒發現,藏在開機流程的 Bootkit 更難處理;邏輯炸彈要等特定時間或條件才觸發;殭屍網路的每一台電腦都聽命於攻擊者的 C&C 伺服器;勒索軟體近年常先竊取資料再加密(雙重勒索),而以破壞為目的、直接抹除資料的 Wiper 則連贖金都不談。另外,外觀每次散播都不一樣的多型(Polymorphic)病毒,會讓只認外觀的特徵碼比對失效,這正好引出下一段的偵測技術。

    2. 偵測技術:每一種站在不同的時間點

    實驗室 3 看的是「哪種方法抓得到什麼」,這裡換個角度看「它們在什麼時候出手」。一個檔案從寄進公司到被執行,會依序經過好幾道關卡,每一道用的技術不同,漏掉的東西也不同。選一個情境,按「下一步」讓樣本往下走。

    ?

    特徵碼比對(Signature)把檔案和病毒碼資料庫裡已知惡意程式的特徵比對,就像拿通緝照片對長相。比對成功幾乎不會錯,但只認得已經收錄的樣本,新變種或全新的惡意程式要等廠商更新病毒碼後才抓得到,所以病毒碼必須定期更新。

    啟發式分析(Heuristic,也譯作探索式)不執行檔案,而是檢查程式內容裡有沒有可疑的邏輯或功能組合,像檢查行李裡有沒有可疑物品。它的最大優點是有機會抓到從沒見過的新病毒,代價是比特徵碼更容易誤判。

    行為監控(Behavior Monitoring)觀察程式實際做了什麼,例如短時間內大量加密檔案、竄改系統設定、連往陌生位址,像巡邏員注意一個人的舉動而不是長相。不管外觀怎麼變都能抓,也能發現無檔案攻擊;缺點是要等它開始動作才看得到,正常軟體做類似的事時也會誤判。

    沙箱(Sandbox)是與正式環境隔開的執行空間,通常用虛擬機器建立,常放在郵件閘道或網路出入口,把可疑檔案先丟進去跑一段時間再決定放不放行,像隔離觀察室。它能看到真實行為,但需要時間,而且要有檔案可送。惡意程式會想辦法躲避分析,所以沙箱沒發現異常不代表一定安全。

    另外兩個常一起考的做法:檔案完整性檢查預先算好正常系統檔案的校驗和(Checksum),之後定期比對是否被改動;偵測到拿不準的可疑檔案時,防毒會先把它移進隔離區(Quarantine),讓它無法執行,而不是直接刪除,避免誤刪重要檔案。惡意程式也不只出現在 Windows,Linux、macOS 與手機同樣需要防護。

    3. 傳統防毒和 EDR:守門員與監視系統

    傳統防毒(Antivirus,AV)的工作集中在「檔案進來的那一刻」:掃描、比對、決定攔或放。EDR(端點偵測與回應,Endpoint Detection and Response)在每台電腦上裝一個代理程式,持續記錄哪個程式被誰啟動、改了哪些檔案與設定、連到哪裡,依行為規則發出告警,並讓管理者從主控台遠端隔離主機。社區比喻裡,防毒是門口對照通緝照片的警衛,EDR 是整個社區的監視系統加值班人員。點下圖的方塊看每個環節做什麼。

    傳統防毒:一道關卡 檔案 比對病毒碼 攔或放 EDR:持續循環 代理程式 記錄 分析 回應 調查
    點圖上的方塊,看防毒與 EDR 在每個環節做什麼。
    比較傳統防毒EDR
    主要看什麼檔案的特徵程序的行為與連線
    擅長已知威脅,準確新變種、無檔案攻擊、合法工具被濫用
    事後調查幾乎沒有紀錄保留完整時間軸
    回應方式刪除或隔離檔案終止程序、遠端隔離主機
    限制新威脅會漏抓需要人判讀告警;要能安裝代理程式

    兩者不是互相取代的關係。現在許多 EDR 產品本身就內含防毒引擎,而 EDR 看的是主機內部;看網路流量的是 NDR(網路偵測與回應),兩者互補。把端點、網路、郵件、雲端與身分等來源放在一起關聯分析的稱為 XDR,由外部團隊代為監看與回應的託管服務則是 MDR。回到比喻:監視系統再多,沒有值班人員看畫面也沒用,EDR 同樣不是裝了就自動安全。

    4. 抓到可疑檔案之後:靜態分析、動態分析與 IoC

    偵測只告訴你「這個檔案可疑」,要封鎖與清除,還得知道它會做什麼、連到哪裡、影響範圍多大。直接在正式電腦上執行等於親手引爆,所以分析分成兩種。靜態分析(Static Analysis)不執行檔案,只從外部檢查:看檔案真正的格式(要看檔頭而不是副檔名,因為副檔名可以隨意更改,不能代表檔案真正的類型)、看裡面含有哪些文字與可能用到的功能,並計算雜湊值(Hash,檔案的數位指紋)拿去公開的多引擎情資服務比對,例如 VirusTotal。它快又安全,但看不到程式實際執行後的行為。動態分析(Dynamic Analysis)則把檔案放進沙箱或隔離的虛擬機器實際執行,觀察它產生了哪些程序、改了哪些系統設定、連到哪些位址;分析人員也會用除錯器設定中斷點、逐步執行,觀察程式的執行過程。它看得到真實行為,但比較花時間,而且同樣要記得:惡意程式會想辦法躲避分析,所以沙箱沒發現異常不代表一定安全,實務上兩種分析會互相搭配。

    可疑樣本 靜態分析(不執行) 動態分析(執行) 看檔案格式與檔頭 看內含文字與功能 算雜湊值查情資 產生了哪些程序 改了哪些設定 連到哪些位址 IoC 入侵指標 防火牆封鎖 EDR 掃描 SIEM 比對
    點圖上的方塊,看每個分析步驟看的是什麼。
    比較靜態分析動態分析
    要不要執行不執行在沙箱中執行
    速度與風險快、安全較慢,需隔離環境
    看得到格式、文字、指紋真實的程序、設定與連線
    盲點看不到執行後的行為沒發現異常不代表安全
    回到比喻:靜態分析像用 X 光看包裹、查寄件人,動態分析像把訪客請進隔離觀察室看他做什麼,IoC 則是防疫通報單上的足跡。比喻不準的地方是,隔離觀察室只看得到那一段時間裡的舉動;惡意程式會想辦法躲避分析,所以沙箱沒發現異常不代表一定安全,這也是兩種分析要搭配使用的原因。

    IoC 的價值在於「分享與比對」。一台主機分析出來的惡意網域、IP 與檔案雜湊值,交給防火牆封鎖、交給 EDR 掃描其他端點、交給 SIEM 比對過去的日誌,才能從一台擴大到整個組織的防禦。要注意 IoC 描述的是已經留下的痕跡,主要對同一波攻擊有效,時效有限;另一個常一起出現的名詞 IoA(攻擊指標,Indicator of Attack)則著重在攻擊者正在進行的行為與意圖。想進一步知道攻擊者在每個階段想達成什麼,可以接著看 MITRE ATT&CK 戰術實驗室。

    5. 感染後的處置,以及勒索軟體靠什麼翻身

    實驗室 4 排出的順序,對應事件應變中「控制(Containment)、根除(Eradication)、復原(Recovery)」三個階段。最常被考的是第一步:發現惡意程式正在內網擴散時,先切斷受感染設備的網路,而且用拔網路線或 EDR 網路隔離,不要直接關機,因為記憶體裡的證據一關機就沒了。清除時如果懷疑是 Rootkit 這類深入系統底層的類型,通常選擇整台重建而不是只刪檔案。

    勒索軟體最有效的事前對策是備份,但不是隨便一份備份都有用。攻擊者拿到管理員權限後,常會先找出並刪除或加密備份,再對正式資料動手。按下按鈕,看三種備份放法在勒索軟體發作時的下場。

    正式檔案伺服器 正常運作 平時不連線 線上備份碟同一個網路 雲端同步夾即時同步 離線/不可變改不了也刪不掉 等待中 等待中 等待中
    三份備份都還安全。按「勒索軟體發作」開始模擬。

    所以勒索軟體的備份對策有三個重點。第一是至少一份離線(平時與網路斷開)或不可變(Immutable,寫入後在保留期間內任何人都改不了、刪不掉,連管理員帳號也一樣)的備份;常聽到的 3-2-1 原則是至少三份資料、兩種不同的儲存媒體、其中一份放在異地。第二是定期還原測試,從來沒還原過的備份,出事時不一定救得回來。第三是確認備份時間點早於感染,否則會把惡意程式一起還原回來。付贖金不能保證拿回資料,也不是控制措施;至於以抹除資料為目的的 Wiper,更是只有乾淨的備份和演練過的災難復原計畫能應對。備份頻率與可容忍的資料遺失量怎麼決定,可以看 RTO、RPO 與備份還原。

    6. 易混淆整理

    ✅ 自我檢測

    六題情境題,選了就會立刻顯示對錯與解析。

    🎯 重點整理