字體:小 中 大 | |
|
|
2011/04/12 08:41:42瀏覽159|回應0|推薦0 | |
Windows平台下的安全事件處理 2004/08 作者:沈志昌/林敬皇
http://www.cert.org.tw/document/column/show.php?key=80 -------------------------------------------------------------------------------- 摘要 當我們使用的Windows系統環境中遭遇安全性事件時,我們如何準備事件回應及保留相關證據。本文將逐一說明在Windows系統環境中如何準備事件的處理、證據的蒐集與保留及保護等,並以Guideline的方式引導您了解Windows平台下的安全事件如何處理。 一、前言 隨著網際網路的逐漸普遍,為人類帶來許多生活上的改變,相對的網路入侵事件日益頻繁,無論您的使用平台為何,都免除不了遭受入侵的威脅,從電腦安 全的觀點來看,完整的建築保護電腦的工事,是第一要務,然而,在資安界流傳「最安全的網路環境,是不接上網路的單機作業」,這說明了,不論怎樣維護安全的 網路環境,還是難免有漏洞,除了完整的防護措施外,如何有效發現及發現入侵後如何應變,也是相當需要重視的一環。因此,本文的重點在於,如何在充滿威脅的 環境下,能夠有效的發現異常情況且能進一步蒐集與提出相關證據,以利於安全人員作有效的處理,甚至涉及相關法律處理程序時,作為協助辦案的佐證。 當您發現系統遭受入侵且可能有資料被盜失,大多數人的反應是希望儘快恢復成原先的正常運作狀況,且進一步找出破壞者,但在處理這些事件時,最常見 的處理方法就是直接拔除網路線,接著系統重新安裝。,這樣的動作似乎可以順利完成問題的排除,然而,在電腦犯罪日漸囂張的今日,除了恢復系統外,更需將您 的重點放置於入侵軌跡及犯罪證據的蒐集。因此,無論是個人、企業組織都應在處理資安問題時,將此列入資安政策(policy)內。 瞭解蒐證的必要性後,如何有效的蒐集及回報資訊,也是本文的另一重點。不同的入侵行為會產生不同的記錄及影響,資安事件回報機制就是在此背景下產 生的,國內常見的資安事件回報機制,政府等公務單位有國家資通安全技術服務中心(簡稱ICST)下的資訊安全事件回報系統,而民間單位則有台灣電腦網路危 機處理暨協調中心(簡稱TWCERT/CC)的安全事件回報機制,透過這些回報機制及單位,可以將您所遭受的入侵行為或是攻擊行為透過這些組織來幫您與對 方的ISP進行反應,若判定為惡意行為,也可依據通報的紀錄,考量將處理的層級提升至相關的法律行動。因此,如何有效的保留資訊及通知問題處理單位,就成 了處理資安問題的首要任務。 本文的目的即在提供資安事件蒐證工具建議,並且說明如何有效的使用這些工具來取得MS-Windows系統安全事件相關證據,,提供相關安全事件回報機制及單位的處理者最詳細的資訊,以順利解決您的資安事件。 二、入侵應變 入侵應變階段是在發現異常情形時,從有限的主機資訊中提存有關資訊安全事件的行動,內容包含可能所發生的損害或是影響程度,這是所有處理資安事件 的第一階段,接著即是應變的實行,依照組織內的資安策略,決定是否繼續監控,或是需要離線修復之工作。在入侵應變階段,通常需要注意5W1H原則: ● Who:誰發現入侵行為? ● How:如何發現? ● When:何時發現? ● What:受損害的程度為何? ● Where:攻擊從何開始? ● What techniques:怎樣的技術造成系統的損害?及需要什麼技術來進行處理? 根據以上幾點,您可以依據不同的入侵型態來設計應對策略以及需要的通報資訊,要成功的處理入侵事件並不單只是仰賴快速的回復系統狀態,而是還要兼顧入侵資訊的蒐集和證據的取得。 當系統可能發生遭受入侵的情形時,最常被問到的問題通常是,”是否要立即將系統離線”、”是不是要將系統關機”、”要不要馬上將系統重安裝”,但 這些都不是最好的解決方式,而是必須考量您先前所設計的資訊安全策略。舉例來說,若入侵者還潛伏在您的系統中,也許您不應該立即斷線而驚動對方,反之您可 以進行安全通報後,藉由監控程式追蹤出對方的來源。但倘若您的資料屬於重要的機密資料,這時您可能就須以保護資料為優先,立即斷線以防止更嚴重的損害發 生。 三、取得證據 數位證據是相當容易建立,也是容易修改,通報者必須十分注意取得的證據,重要的是必須注意每一個蒐集的程序及所蒐集到的資訊種類。在資安事件上, 入侵行為未必會立即提昇至需要法律行動,但對於企業組織來說這些相關資訊的取得,都可能在將來資安事件等級提昇時,轉變為有力的證據,因此,對於蒐集的時 間點、技術等,都應該利用可信任及可驗證的方式進行。對於記錄的方式、時間、媒體以及如何整合這些證據的方式,都應要事先建立標準程序,以因應問題發生時 之處理,在記錄這些證據時,您必須注意底下事項,確保蒐集的資訊是有效的。 ● 避免寫入原來的媒體 ● 避免直接刪除所有執行程序 ● 避免干預系統時間 ● 避免使用非信任的軟體 ● 避免干預系統狀況(包含重開機、更新檔、修正檔、或是重新修改系統組態) 四、保護容易消失的資訊 當資安處理程序進入鑑識(forensic)分析程序時,有可能會採用系統關機或是離線調查的方式。然而電腦系統有許多的資訊是容易消失(或揮 發)的(例如:記憶體資料、時間、內容、連線狀況等),因此,在系統存活時(live system)即時保存甚至是保護這些容易消失的資訊,對於數位證據的蒐集上,是相當重要的步驟。 底下列舉這些容易消失的儲存設備種類,這些是蒐集及保存系統現況資訊重要的處理標的: ● registers, cache 內容 ● 記憶體內容 ● 網路連線狀態 ● 正在執行的程序(running processes) ● 正在使用的檔案內容及磁碟裝置 ● 可攜式裝置或是備份媒體內容(光碟機、磁帶機、flash 碟等…) 而在動手取得這些易消失證據時,底下幾項是需要注意的事項: ● 系統時間及日期 ● 正在執行和運行的程序(process) ● 目前的網路連線狀態 ● 應用程式所開啟的通訊埠(sockets) ● 系統上登入的使用者 取得以上這些容易消失的資訊,對於蒐證來說是相當重要的一環,在某些案例中,入侵者(如:hacker)常會利用駭客工具來達成目的,此時所使用的工具程式就會常駐在記憶體、網路連線中,完整的取得這些資訊,對於成功的處理資安事件有絕對必要性。 五、建立蒐證工具集(Toolkits) 取得資安事故證據及確定其正確無誤的是重要的,因此,可信的蒐證程式與工具將是蒐證的第一步驟,建議將這些工具建立在CD-ROM中攜帶至受入侵 系統或是事件現場將會是個不錯的處理方式,管理者需要經常更新蒐證工具且定期蒐集系統內資訊,才能確保所取得的資訊能最接近於事發時間。 下提供有關於Window底下蒐集系統安全資訊的工具,您可以依照您的所需要取得 資訊多寡程度,來決定所使用的數量及使用的等級,依此建立您的處理工具集 (Toolkits),並測試及確認在蒐集資安事件資訊時,這些工具不會改變任何系統的狀態,這對於將來進行鑑識(forensic)時,將會有很大影響。 表1:Window-base 蒐集系統安全資訊的工具 ┌─────┬──────────────────────┬────────────┐ │工 具 │描 述 │來 源 │ ├─────┼──────────────────────┼────────────┤ │ipconfig │用來確認系統上ip位址。 │可信任的系統 │ ├─────┼──────────────────────┼────────────┤ │netstat │確認系統上listen port及網路連線狀態。 │可信任的系統 │ ├─────┼──────────────────────┼────────────┤ │nbstat │用以顯示NetBIOS至TCP/IP(NetBT)協定狀態,本│可信任的系統 │ │ │機端到遠端電腦的NetBIOS table狀態。 │ │ ├─────┼──────────────────────┼────────────┤ │date │確認系統日期。 │可信任的系統 │ ├─────┼──────────────────────┼────────────┤ │time │確認系統時間。 │可信任的系統 │ ├─────┼──────────────────────┼────────────┤ │psuptime │用來確認win NT/2k系統已開機執行的時間。 │www.sysinternals.com │ ├─────┼──────────────────────┼────────────┤ │net │用來確認NetBIOS連線、使用者帳號、分享資料夾 │可信任的系統 │ │ │及啟動服務等功能。 │ │ ├─────┼──────────────────────┼────────────┤ │psloggedon│用來顯示本地端使用者帳號連結至遠端的情形。 │www.sysinternals.com │ ├─────┼──────────────────────┼────────────┤ │pulist │命令模式工具,用來顯示本機上所有執行中的程序│www.sysinternals.com │ │ │,並且可以擷取使用者正在執行的程序。 │ │ ├─────┼──────────────────────┼────────────┤ │pslist │命令模式,顯示所有執行程序使用CPU的資訊,包 │www.sysinternals.com │ │ │含時間、負載百分比、核心或是使用者模式及記憶│ │ │ │體使用量,可選擇即時監控或是直接擷取方式。 │ │ ├─────┼──────────────────────┼────────────┤ │listdlls │列出本機上所有使用的DLLs,包含版本、放置位 │www.sysinternals.com │ │ │置。 │ │ ├─────┼──────────────────────┼────────────┤ │fport │用來顯示系統上目前執行程序,及該程序所使用 │www.forndstone.com │ │ │之PID、PORT狀態。 │ │ ├─────┼──────────────────────┼────────────┤ │psservice │用來顯示系統狀態、組態、服務的service並可以 │www.forndstone.com │ │ │進行管理系統服務。 │ │ ├─────┼──────────────────────┼────────────┤ │ps-info │顯示windows NT/2K上OS及所有人的狀態、及主機 │www.sysinternals.com │ │ │上的所有資訊。 │ │ ├─────┼──────────────────────┼────────────┤ │arp │系統上將IP位址與MAC位址做對應之工具。 │可信任的系統 │ ├─────┼──────────────────────┼────────────┤ │ntlast │監控登入的狀況(失敗或成功)。 │www.sysinternals.com │ ├─────┼──────────────────────┼────────────┤ │reg │系統上用來編輯、管理registry工具。 │NT resource Kit │ ├─────┼──────────────────────┼────────────┤ │auditpol │用來決定系統所使用的audit policy。 │NT resource Kit │ ├─────┼──────────────────────┼────────────┤ │regdmp │將系統registry轉換成文字檔輸出。 │NT resource Kit │ ├─────┼──────────────────────┼────────────┤ │md5sum │用來產生檔案的hash值,確保輸出的檔案不被修 │unxutils.sourceforge.net│ │ │改。 │ │ ├─────┼──────────────────────┼────────────┤ │netcat │用來將資訊寫入或讀取網路連結當中,Cryptcat與│www.atstake.com │ │(cryptcat)│netcat相同,不過還可以建立加密的通訊管道。 │ │ ├─────┼──────────────────────┼────────────┤ │filemon │監控系統上檔案系統活動情形,並且可觀察應用程│www.sysinternals.com │ │ │式所使用的DLLs狀態。 │ │ ├─────┼──────────────────────┼────────────┤ │windump │用來擷取分析系統TCP連線內容工具。 │www.dump.polito.it │ ├─────┼──────────────────────┼────────────┤ │process │Windows下套裝軟體,可以用來監控系統程序狀況 │www.sysinternals.com │ │explorer │及使用DLLs的情形。(包含位置、版本資訊等)。│ │ ├─────┼──────────────────────┼────────────┤ │cmd.exe │用來啟動命令列工具。 │可信任的系統 │ └─────┴──────────────────────┴────────────┘ 註:可信任的系統指未遭受入侵且乾淨的系統環境(可從乾淨的系統中取得)。 六、取得Windows平台證據 6.1 Step by Step 當然,我們並不能確保每個管理者都能夠在第一時間就發覺入侵行為,通常發現問題時,系統可能已經重新啟動,喪失之前的原始狀況,即使發生上述情形,對於蒐證來說,儘早進行蒐證的程序,仍是正面積極的行動,底下將一步一步告訴您該如何進行資訊的蒐集工作。 Step One:開啟信任的工具列工具(從您的Toolkits) 將您所建立好的蒐證工具集放置於受入侵之機器的CD-ROM,並且啟動您系統上的開始選單,在執行的選項上執行"cmd.exe"啟動命令列視窗。 Step Two:準備好蒐證系統 記得先前您已經將您的蒐證工具集放置於受害機器上,接下來步驟就是開始要利用這張光碟來進行資訊的蒐集,並且把蒐集的證據存放到儲存媒體。在此之 前,您可以利用網路方式來進行證據的存放,因此,您需要在遠端啟動蒐證系統,以netcat為例(您也可使用加密的方式,如cryptcat,可以避免遭 受竊聽),首先您必須在您的蒐證機器上,啟動netcat並給於此服務一個聆聽埠(listen port),準備接收來自受害主機的資訊。 蒐證機器上執行: nc –l –p 12345 >> d:\collect.txt 在此,-l為開啟listen port,-p則是指定您的listen port,最後轉向到您所欲儲存的位置上,在設置好蒐證系統的準備工作後,接著就是回到受害主機上進行蒐證的工作。在受害主機上,您必須建立與蒐證系統的連線工作。 受害主機上:nc 舉例來說,若您欲將受害主機目錄下檔案結構傳遞至蒐證主機,您可以在命令欄位上使用dir這個指令,如下: nc 192.168.1.9 12345 -e dir 或是 dir | nc 192.168.1.9 12345 Step Three:蒐集易消失證據 在蒐證的第一要務為蒐集系統上容易消失的重要資訊,包含了: ● 系統中基本資訊 ● 執行中的程序 ● 開啟的通訊埠 ● 網路連線狀態 ● 網路分享狀況 ● 網路使用者 底下是此一階段需要執行的指令,而系統時間及日期是在執行所有程序的前需要先蒐集的資訊(請記住,以下步驟皆是在受害主機端進行) ┌────────┬───────────────────────────────┐ │指令 │說明 │ ├────────┼───────────────────────────────┤ │date /ttime/t │蒐集主機上之系統時間,在執行此一動作同時,需先檢查系統時間與實│ │ │際時間是否有所差別,若有,也請詳細記錄差異的數值,這對將來比對│ │ │網路設備端之記錄是相當重要的。 │ ├────────┼───────────────────────────────┤ │ipconfig /all │記錄目前主機所使用的網路連線基本資訊。 │ ├────────┼───────────────────────────────┤ │psinfo │記錄系統資訊,包含修正檔的版本、修正的次數。 │ ├────────┼───────────────────────────────┤ │psuptime │紀錄系統啟動的時間。 │ ├────────┼───────────────────────────────┤ │psloggedon │記錄遠端與本機端使用者的連線狀態。 │ ├────────┼───────────────────────────────┤ │ntlast –r -f │記錄系統中使用者登入的狀況。(包含成功與失敗) │ ├────────┼───────────────────────────────┤ │net <參數> │檢測系統中網路選項資訊,參數種類包含 |
|
( 知識學習|隨堂筆記 ) |