調查局三等申論題
115年
[資訊科學組] 作業系統及系統程式
第 一 題
📖 題組:
四、某政府機關 Linux Web Server 疑似發生資安問題,管理者發現系統 CPU使用率異常偏高,且有未知程序持續對外連線。請依下列要求進行系統安全檢查與數位鑑識。 (一)請利用 Linux 指令完成下列工作。(8 分) 列出系統中所有執行中的程序,並依 CPU 使用率由高至低排序。 找出目前已建立 TCP 連線之程序,顯示本機位址、遠端位址、連接埠、程序名稱及 PID。 顯示系統目前所有處於 Listening 狀態之 TCP 與 UDP Port,並找出其對應程序。 建立並保存系統記憶體映像檔(Memory Image),以供後續數位鑑識分析使用。 (二)若已取得該主機之記憶體映像檔(Memory Image),請說明如何利用Volatility工具進行下列分析,並寫出適當之Volatility分析模組(Plugin)名稱。(17 分) 分析記憶體中的網路連線資訊,找出本機與遠端 IP、Port、連線狀態及所屬 PID,並判斷是否存在連往可疑外部 IP 或異常 Port 之程序。 分析程序是否存在程式碼注入(Code Injection)、異常可執行記憶體區段(Executable Memory Region)、可疑共享物件(Shared Object)載入或可疑記憶體區域(Memory Region)等異常行為,並說明其可能造成之安全風險。 利用 pslist(Process Listing)與 psscan(Process Scanning)等不同方式交叉驗證程序資訊,判斷是否存在遭 Rootkit 隱藏、已終止但程序結構仍殘留,或未出現在正常程序鏈結中的程序,並分析其可能原因。 若發現可疑程序,請說明如何利用 Volatility 擷取其程序記憶體內容或可復原之可執行檔,計算其 SHA-256 雜湊值,並說明該雜湊值於驗證證據完整性、與已知惡意程式雜湊資料庫進行比對,以及數位鑑識證據保存之用途。
四、某政府機關 Linux Web Server 疑似發生資安問題,管理者發現系統 CPU使用率異常偏高,且有未知程序持續對外連線。請依下列要求進行系統安全檢查與數位鑑識。 (一)請利用 Linux 指令完成下列工作。(8 分) 列出系統中所有執行中的程序,並依 CPU 使用率由高至低排序。 找出目前已建立 TCP 連線之程序,顯示本機位址、遠端位址、連接埠、程序名稱及 PID。 顯示系統目前所有處於 Listening 狀態之 TCP 與 UDP Port,並找出其對應程序。 建立並保存系統記憶體映像檔(Memory Image),以供後續數位鑑識分析使用。 (二)若已取得該主機之記憶體映像檔(Memory Image),請說明如何利用Volatility工具進行下列分析,並寫出適當之Volatility分析模組(Plugin)名稱。(17 分) 分析記憶體中的網路連線資訊,找出本機與遠端 IP、Port、連線狀態及所屬 PID,並判斷是否存在連往可疑外部 IP 或異常 Port 之程序。 分析程序是否存在程式碼注入(Code Injection)、異常可執行記憶體區段(Executable Memory Region)、可疑共享物件(Shared Object)載入或可疑記憶體區域(Memory Region)等異常行為,並說明其可能造成之安全風險。 利用 pslist(Process Listing)與 psscan(Process Scanning)等不同方式交叉驗證程序資訊,判斷是否存在遭 Rootkit 隱藏、已終止但程序結構仍殘留,或未出現在正常程序鏈結中的程序,並分析其可能原因。 若發現可疑程序,請說明如何利用 Volatility 擷取其程序記憶體內容或可復原之可執行檔,計算其 SHA-256 雜湊值,並說明該雜湊值於驗證證據完整性、與已知惡意程式雜湊資料庫進行比對,以及數位鑑識證據保存之用途。
📝 此題為申論題,共 2 小題
小題 (一)
請利用 Linux 指令完成下列工作。(8 分)
列出系統中所有執行中的程序,並依 CPU 使用率由高至低排序。
找出目前已建立 TCP 連線之程序,顯示本機位址、遠端位址、連接埠、程序名稱及 PID。
顯示系統目前所有處於 Listening 狀態之 TCP 與 UDP Port,並找出其對應程序。
建立並保存系統記憶體映像檔(Memory Image),以供後續數位鑑識分析使用。
列出系統中所有執行中的程序,並依 CPU 使用率由高至低排序。
找出目前已建立 TCP 連線之程序,顯示本機位址、遠端位址、連接埠、程序名稱及 PID。
顯示系統目前所有處於 Listening 狀態之 TCP 與 UDP Port,並找出其對應程序。
建立並保存系統記憶體映像檔(Memory Image),以供後續數位鑑識分析使用。
思路引導 VIP
這題是 Linux 系統維運與事故鑑識的第一線指令實作。找 CPU 吃最兇的程式你會用哪個指令 (top 或 ps)?看網路連線狀態,過往用 netstat,現在推薦用哪個 (ss)?如何把實體記憶體傾印出來 (dd 或 LiME)?精確寫出指令參數是得分關鍵。
小題 (二)
若已取得該主機之記憶體映像檔(Memory Image),請說明如何利用Volatility工具進行下列分析,並寫出適當之Volatility分析模組(Plugin)名稱。(17 分)
分析記憶體中的網路連線資訊,找出本機與遠端 IP、Port、連線狀態及所屬 PID,並判斷是否存在連往可疑外部 IP 或異常 Port 之程序。
分析程序是否存在程式碼注入(Code Injection)、異常可執行記憶體區段(Executable Memory Region)、可疑共享物件(Shared Object)載入或可疑記憶體區域(Memory Region)等異常行為,並說明其可能造成之安全風險。
利用 pslist(Process Listing)與 psscan(Process Scanning)等不同方式交叉驗證程序資訊,判斷是否存在遭 Rootkit 隱藏、已終止但程序結構仍殘留,或未出現在正常程序鏈結中的程序,並分析其可能原因。
若發現可疑程序,請說明如何利用 Volatility 擷取其程序記憶體內容或可復原之可執行檔,計算其 SHA-256 雜湊值,並說明該雜湊值於驗證證據完整性、與已知惡意程式雜湊資料庫進行比對,以及數位鑑識證據保存之用途。
分析記憶體中的網路連線資訊,找出本機與遠端 IP、Port、連線狀態及所屬 PID,並判斷是否存在連往可疑外部 IP 或異常 Port 之程序。
分析程序是否存在程式碼注入(Code Injection)、異常可執行記憶體區段(Executable Memory Region)、可疑共享物件(Shared Object)載入或可疑記憶體區域(Memory Region)等異常行為,並說明其可能造成之安全風險。
利用 pslist(Process Listing)與 psscan(Process Scanning)等不同方式交叉驗證程序資訊,判斷是否存在遭 Rootkit 隱藏、已終止但程序結構仍殘留,或未出現在正常程序鏈結中的程序,並分析其可能原因。
若發現可疑程序,請說明如何利用 Volatility 擷取其程序記憶體內容或可復原之可執行檔,計算其 SHA-256 雜湊值,並說明該雜湊值於驗證證據完整性、與已知惡意程式雜湊資料庫進行比對,以及數位鑑識證據保存之用途。
思路引導 VIP
本題測驗記憶體數位鑑識工具 Volatility。針對 Linux 映像檔,Volatility 大多使用 linux_ 開頭的 Plugin。尋找網路連線要用哪個?(linux_netstat)。尋找被注入的程式碼或具備 RWX 權限的異常記憶體區域用哪個?(linux_malfind)。比較 pslist (讀取 Linked List) 和 psscan (特徵碼掃描 Pool Tag) 有什麼差異?如果 psscan 掃得到但 pslist 找不到,代表什麼?(DKOM,Rootkit 斷開鏈結以隱藏程序)。找到惡意程式後,如何 dump 出來?(linux_procdump)。算 SHA-256 雜湊值在法庭證據與威脅情資 (CTI) 上有什麼核心意義 (同一性、完整性、VirusTotal 查詢)?