第十五章 如何恢複被入侵係統
簡介
本文主要講述UNIX或者NT係統如果被侵入,應該如何應對。
注意:你在係統恢複過程中的所有步驟都應該與你所在組織的網絡安全策略相符。
A.準備工作
1.商討安全策略
如果你的組織沒有自己的安全策略,那麼需要按照以下步驟建立自己的安全策略:
1.1.和管理人員協商
將入侵事故通知管理人員,可能在有的組織中很重要。在beaware進行事故恢複的時候,網絡管理人員能夠得到內部各部門的配合。也應該明白入侵可能引起傳媒的注意。
1.2.和法律顧問協商
在開始你的恢複工作之前,你的組織需要決定是否進行法律調查。
注意CERT(ComputerEmergencyResponseTeam)隻提供技術方麵的幫助和提高網絡主機對安全事件的反應速度。它們不會提出法律方麵的建議。所以,對於法律方麵的問題建議你谘詢自己的法律顧問。你的法律顧問能夠告訴你入侵者應該承擔的法律責任(民事的或者是刑事的),以及有關的法律程序。
現在,是你決定如何處理這起事故的時候了,你可以加強自己係統的安全或者選擇報警。
如果你想找出入侵者是誰,建議你與管理人員協商並谘詢法律顧問,看看入侵者是否觸犯了地方或者全國的法律。根據這些,你可以報案,看看警方是否願意對此進行調查。
針對入侵事件,你應該與管理人員和法律顧問討論以下問題:
如果你要追蹤入侵者或者跟蹤網絡連接,是否會觸犯法律。
如果你的站點已經意識到入侵但是沒有采取措施阻止,要承擔什麼法律責任。
入侵者是否觸犯了全國或者本地的法律。
是否需要進行調查。
是否應該報警。
1.3.報警
通常,如果你想進行任何類型的調查或者起訴入侵者,最好先跟管理人員和法律顧問商量以下。然後通知有關執法機構。
一定要記住,除非執法部門的參與,否則你對入侵者進行的一切跟蹤都可能是非法的。
1.4.知會其他有關人員
除了管理者和法律顧問之外,你還需要通知你的恢複工作可能影響到的人員,例如其他網絡管理人員和用戶。
2.記錄恢複過程中所有的步驟
毫不誇張地講,記錄恢複過程中你采取的每一步措施,是非常重要的。恢複一個被侵入的係統是一件很麻煩的事,要耗費大量的時間,因此經常會使人作出一些草率的決定。記錄自己所做的每一步可以幫助你避免作出草率的決定,還可以留作以後的參考。記錄還可能對法律調查提供幫助。
B.奪回對係統的控製權
1.將被侵入的係統從網絡上斷開
為了奪回對被侵入係統的控製權,你需要將其從網絡上斷開,包括播號連接。斷開以後,你可能想進入UNIX係統的單用戶模式或者NT的本地管理者(localadministrator)模式,以奪回係統控製權。然而,重啟或者切換到單用戶/本地管理者模式,會丟失一些有用的信息,因為被侵入係統當前運行的所有進程都會被殺死。
因此,你可能需要進入C.5.檢查網絡嗅探器節,以確定被侵入的係統是否有網絡嗅探器正在運行。
在對係統進行恢複的過程中,如果係統處於UNIX單用戶模式下,會阻止用戶、入侵者和入侵進程對係統的訪問或者切換主機的運行狀態。
如果在恢複過程中,沒有斷開被侵入係統和網絡的連接,在你進行恢複的過程中,入侵者就可能連接到你的主機,破壞你的恢複工作。
2.複製一份被侵入係統的影象
在進行入侵分析之前,建議你備份被侵入的係統。以後,你可能會用得著。
如果有一個相同大小和類型的硬盤,你就可以使用UNIX命令dd將被侵入係統複製到這個硬盤。
例如,在一個有兩個SCSI硬盤的Linux係統,以下命令將在相同大小和類型的備份硬盤(/dev/sdb)上複製被侵入係統(在/dev/sda盤上)的一個精確拷貝。
#ddif=/dev/sdaof=/dev/sdb
請閱讀dd命令的手冊頁獲得這個命令更詳細的信息。
還有一些其它的方法備份被侵入的係統。在NT係統中沒有類似於dd的內置命令,你可以使用一些第三方的程序複製被侵入係統的整個硬盤影象。
建立一個備份非常重要,你可能會需要將係統恢複到侵入剛被發現時的狀態。它對法律調查可能有幫助。記錄下備份的卷標、標誌和日期,然後保存到一個安全的地方以保持數據的完整性。
C.入侵分析
現在你可以審查日誌文件和係統配置文件了,檢查入侵的蛛絲馬跡,入侵者對係統的修改,和係統配置的脆弱性。
1.檢查入侵者對係統軟件和配置文件的修改
a.校驗係統中所有的二進製文件
在檢查入侵者對係統軟件和配置文件的修改時,一定要記住:你使用的校驗工具本身可能已經被修改過,操作係統的內核也有可能被修改了,這非常普遍。因此,建議你使用一個可信任的內核啟動係統,而且你使用的所有分析工具都應該是幹淨的。對於UNIX係統,你可以通過建立一個啟動盤,然後對其寫保護來獲得一個可以信賴的操作係統內核。
你應該徹底檢查所有的係統二進製文件,把它們與原始發布介質(例如光盤)做比較。因為現在已經發現了大量的特洛伊木馬二進製文件,攻擊者可以安裝到係統中。
在UNIX係統上,通常有如下的二進製文件會被特洛伊木馬代替:telnet、in.telnetd、login、su、ftp、ls、ps、netstat、ifconfig、find、du、df、libc、sync、inetd和syslogd。除此之外,你還需要檢查所有被/etc/inetd.conf文件引用的文件,重要的網絡和係統程序以及共享庫文件。
在NT係統上。特洛伊木馬通常會傳播病毒,或者所謂的"遠程管理程序",例如BackOrifice和NetBus。特洛伊木馬會取代處理網絡連接的一些係統文件。
一些木馬程序具有和原始二進製文件相同的時間戳和sum校驗值,通過校驗和無法判斷文件是否被修改。因此,對於UNIX係統,我們建議你使用cmp程序直接把係統中的二進製文件和原始發布介質上對應的文件進行比較。
你還可以選擇另一種方法檢查可疑的二進製文件。向供應商索取其發布的二進製文件的MD5校驗值,然後使用MD5校驗值對可疑的二進製文件進行檢查。這種方法適用於UNIX和NT。
b.校驗係統配置文件
在UNIX係統中,你應該進行如下檢查:
檢查/etc/passwd文件中是否有可疑的用戶
檢查/etc/inet.conf文件是否被修改過
如果你的係統允許使用r命令,例如rlogin、rsh、rexec,你需要檢查/etc/hosts.equiv或者.rhosts文件。
檢查新的SUID和SGID文件。下麵命令會打印出係統中的所有SUID和SGID文件:
#find/(-perm-004000-o-perm-002000)-typef-print
對於NT,你需要進行如下檢查:
檢查不成對的用戶和組成員
檢查啟動登錄或者服務的程序的注冊表入口是否被修改
檢查"netshare"命令和服務器管理工具共有的非驗證隱藏文件
檢查pulist.ext程序無法識別的進程
2.檢查被修改的數據
入侵者經常會修改係統中的數據。所以建議你對web頁麵文件、ftp存檔文件、用戶目錄下的文件以及其它的文件進行校驗。
3.檢查入侵者留下的工具和數據
入侵者通常會在係統中安裝一些工具,以便繼續監視被侵入的係統。
入侵者一般會在係統中留下如下種類的文件:
網絡嗅探器
網絡嗅探器就是監視和記錄網絡行動的一種工具程序。入侵者通常會使用網絡嗅探器獲得在網絡上以明文進行傳輸的用戶名和密碼。(見C.5)
嗅探器在UNIX係統中更為常見。
特洛伊木馬程序
特洛伊木馬程序能夠在表麵上執行某種功能,而實際上執行另外的功能。因此,入侵者可以使用特洛伊木馬程序隱藏自己的行為,獲得用戶名和密碼數據,建立後門以便將來對係統在此訪問被侵入係統。