本文主要講述UNIX或者NT系統(tǒng)如果被侵入,應(yīng)該如何應(yīng)對。
注意:你在系統(tǒng)恢復(fù)過程中的所有步驟都應(yīng)該與你所在組織的網(wǎng)絡(luò)安全策略相符。
A.準備工作
1.商討安全策略
如果你的組織沒有自己的安全策略,那么需要按照以下步驟建立自己的安全策略。
1.1.和管理人員協(xié)商
將入侵事故通知管理人員,可能在有的組織中很重要。在be aware進行事故恢復(fù)的時候,網(wǎng)絡(luò)管理人員能夠得到內(nèi)部各部門的配合。也應(yīng)該明白入侵可能引起傳媒的注意。
1.2.和法律顧問協(xié)商
在開始你的恢復(fù)工作之前,你的組織需要決定是否進行法律調(diào)查。
注意CERT(Computer Emergency Response Team)只提供技術(shù)方面的幫助和提高網(wǎng)絡(luò)主機對安全事件的反應(yīng)速度。它們不會提出法律方面的建議。所以,對于法律方面的問題建議你咨詢自己的法律顧問。你的法律顧問能夠告訴你入侵者應(yīng)該承擔的法律責任(民事的或者是刑事的),以及有關(guān)的法律程序。
現(xiàn)在,是你決定如何處理這起事故的時候了,你可以加強自己系統(tǒng)的安全或者
選擇報警。
如果你想找出入侵者是誰,建議你與管理人員協(xié)商并咨詢法律顧問,看看入侵者是否觸犯了地方或者全國的法律。根據(jù)這些,你可以報案,看看警方是否愿意對此進行調(diào)查。
針對與入侵事件,你應(yīng)該與管理人員和法律顧問討論以下問題:
如果你要追蹤入侵者或者跟蹤網(wǎng)絡(luò)連接,是否會觸犯法律。
如果你的站點已經(jīng)意識到入侵但是沒有采取措施阻止,要承擔什么法律責任。
入侵者是否觸犯了全國或者本地的法律。
是否需要進行調(diào)查。
是否應(yīng)該報警。
1.3.報警
通常,如果你想進行任何類型的調(diào)查或者 *** 入侵者,最好先跟管理人員和法律顧問商量以下。然后通知有關(guān)執(zhí)法機構(gòu)。
一定要記住,除非執(zhí)法部門的參與,否則你對入侵者進行的一切跟蹤都可能是非法的。
1.4.知會其他有關(guān)人員
除了管理者和法律顧問之外,你還需要通知你的恢復(fù)工作可能影響到的人員,例如其他網(wǎng)絡(luò)管理人員和用戶。
2.記錄恢復(fù)過程中所有的步驟
毫不夸張地講,記錄恢復(fù)過程中你采取的每一步措施,是非常重要的。恢復(fù)一個被侵入的系統(tǒng)是一件很麻煩的事,要耗費大量的時間,因此經(jīng)常會使人作出一些草率的決定。記錄自己所做的每一步可以幫助你避免作出草率的決定,還可以留作以后的參考。記錄還可能對法律調(diào)查提供幫助。
B.奪回對系統(tǒng)的控制權(quán)
1.將被侵入的系統(tǒng)從網(wǎng)絡(luò)上斷開
為了奪回對被侵入系統(tǒng)的控制權(quán),你需要將其從網(wǎng)絡(luò)上斷開,包括播號連接。斷開以后,你可能想進入UNIX系統(tǒng)的單用戶模式或者NT的本地管理者(local administrator)模式,以奪回系統(tǒng)控制權(quán)。然而,重啟或者切換到單用戶/本地管理者模式,會丟失一些有用的信息,因為被侵入系統(tǒng)當前運行的所有進程都會被殺死。
因此,你可能需要進入C.5.檢查網(wǎng)絡(luò)嗅探器節(jié),以確定被侵入的系統(tǒng)是否有網(wǎng)絡(luò)嗅探器正在運行。
在對系統(tǒng)進行恢復(fù)的過程中,如果系統(tǒng)處于UNIX單用戶模式下,會阻止用戶、入侵者和入侵進程對系統(tǒng)的訪問或者切換主機的運行狀態(tài)。如果在恢復(fù)過程中,沒有斷開被侵入系統(tǒng)和網(wǎng)絡(luò)的連接,在你進行恢復(fù)的過程中,入侵者就可能連接到你的主機,破壞你的恢復(fù)工作。
2.復(fù)制一份被侵入系統(tǒng)的影象
在進行入侵分析之前,建議你備份被侵入的系統(tǒng)。以后,你可能會用得著。
如果有一個相同大小和類型的硬盤,你就可以使用UNIX命令dd將被侵入系統(tǒng)復(fù)制到這個硬盤。
例如,在一個有兩個SCSI硬盤的Linux系統(tǒng),以下命令將在相同大小和類型的備份硬盤(/dev/sdb)上復(fù)制被侵入系統(tǒng)(在/dev/sda盤上)的一個精確拷貝。 # dd if=/dev/sda of=/dev/sdb
請閱讀dd命令的手冊頁獲得這個命令更詳細的信息。
還有一些其它的方法備份被侵入的系統(tǒng)。在NT系統(tǒng)中沒有類似于dd的內(nèi)置命令,你可以使用一些第三方的程序復(fù)制被侵入系統(tǒng)的整個硬盤影象。
建立一個備份非常重要,你可能會需要將系統(tǒng)恢復(fù)到侵入剛被發(fā)現(xiàn)時的狀態(tài)。它對法律調(diào)查可能有幫助。記錄下備份的卷標、標志和日期,然后保存到一個安全的地方以保持數(shù)據(jù)的完整性。
C.入侵分析
現(xiàn)在你可以審查日志文件和系統(tǒng)配置文件了,檢查入侵的蛛絲馬跡,入侵者對系統(tǒng)的修改,和系統(tǒng)配置的脆弱性。
1.檢查入侵者對系統(tǒng)軟件和配置文件的修改
a.校驗系統(tǒng)中所有的二進制文件
在檢查入侵者對系統(tǒng)軟件和配置文件的修改時,一定要記住:你使用的校驗工具本身可能已經(jīng)被修改過,操作系統(tǒng)的內(nèi)核也有可能被修改了,這非常普遍。因此,建議你使用一個可信任的內(nèi)核啟動系統(tǒng),而且你使用的所有分析工具都應(yīng)該是干凈的。對于UNIX系統(tǒng),你可以通過建立一個啟動盤,然后對其寫保護來獲得一個可以信賴的操作系統(tǒng)內(nèi)核。
你應(yīng)該徹底檢查所有的系統(tǒng)二進制文件,把它們與原始發(fā)布介質(zhì)(例如光盤)做比較。因為現(xiàn)在已經(jīng)發(fā)現(xiàn)了大量的特洛伊木馬二進制文件,攻擊者可以安裝到系統(tǒng)中。
在UNIX系統(tǒng)上,通常有如下的二進制文件會被特洛伊木馬代替:telnet、in.te
lnetd、login、su、ftp、ls、ps、netstat、ifconfig、find、du、df、libc、sync、inetd和syslogd。除此之外,你還需要檢查所有被/etc/inetd.conf文件引用的文件,重要的網(wǎng)絡(luò)和系統(tǒng)程序以及共享庫文件。
在NT系統(tǒng)上。特洛伊木馬通常會傳播病毒,或者所謂的"遠程管理程序",例如Back Orifice和NetBus。特洛伊木馬會取代處理網(wǎng)絡(luò)連接的一些系統(tǒng)文件。
一些木馬程序具有和原始二進制文件相同的時間戳和sum校驗值,通過校驗和無法判斷文件是否被修改。因此,對于UNIX系統(tǒng),我們建議你使用cmp程序直接把系統(tǒng)中的二進制文件和原始發(fā)布介質(zhì)上對應(yīng)的文件進行比較。
你還可以選擇另一種方法檢查可疑的二進制文件。向供應(yīng)商索取其發(fā)布的二進制文件的MD5校驗值,然后使用MD5校驗值對可疑的二進制文件進行檢查。這種方法適用于UNIX和NT。
b.校驗系統(tǒng)配置文件
在UNIX系統(tǒng)中,你應(yīng)該進行如下檢查:
檢查/etc/passwd文件中是否有可疑的用戶
檢查/etc/inet.conf文件是否被修改過
如果你的系統(tǒng)允許使用r命令,例如rlogin、rsh、rexec,你需要檢查/etc/hosts.equiv或者.rhosts文件。
檢查新的SUID和SGID文件。下面命令會打印出系統(tǒng)中的所有SUID和SGID文件:
#find / ( -perm -004000 -o -perm -002000 ) -type f -print
對于NT,你需要進行如下檢查:
檢查不成對的用戶和組成員
檢查啟動登錄或者服務(wù)的程序的注冊表入口是否被修改
檢查"net share"命令和服務(wù)器管理工具共有的非驗證隱藏文件
檢查pulist.ext程序無法識別的進程
2.檢查被修改的數(shù)據(jù)
入侵者經(jīng)常會修改系統(tǒng)中的數(shù)據(jù)。所以建議你對web頁面文件、ftp存檔文件、用戶目錄下的文件以及其它的文件進行校驗。
3.檢查入侵者留下的工具和數(shù)據(jù)
入侵者通常會在系統(tǒng)中安裝一些工具,以便繼續(xù)監(jiān)視被侵入的系統(tǒng)。
入侵者一般會在系統(tǒng)中留下如下種類的文件:
網(wǎng)絡(luò)嗅探器
網(wǎng)絡(luò)嗅探器就是監(jiān)視和記錄網(wǎng)絡(luò)行動的一種工具程序。入侵者通常會使用網(wǎng)絡(luò)嗅探器獲得在網(wǎng)絡(luò)上以明文進行傳輸?shù)挠脩裘兔艽a。(見C.5)
嗅探器在UNIX系統(tǒng)中更為常見。
特洛伊木馬程序
特洛伊木馬程序能夠在表面上執(zhí)行某種功能,而實際上執(zhí)行另外的功能。因此,入侵者可以使用特洛伊木馬程序隱藏自己的行為,獲得用戶名和密碼數(shù)據(jù),建立后門以便將來對系統(tǒng)在此訪問被侵入系統(tǒng)。
后門
后門程序?qū)⒆约弘[藏在被侵入的系統(tǒng),入侵者通過它就能夠不通過正常的系統(tǒng)驗證,不必使用安全缺陷攻擊程序就可以進入系統(tǒng)。
安全缺陷攻擊程序
系統(tǒng)運行存在安全缺陷的軟件是其被侵入的一個主要原因。入侵者經(jīng)常會使用一些針對已知安全缺陷的攻擊工具,以此獲得對系統(tǒng)的非法訪問權(quán)限。這些工具通常會留在系統(tǒng)中,保存在一個隱蔽的目錄中。
入侵者使用的其它工具
以上所列無法包括全部的入侵工具,攻擊者在系統(tǒng)中可能還會留下其它入侵工具。這些工具包括:
系統(tǒng)安全缺陷探測工具
對其它站點發(fā)起大規(guī)模探測的腳本
發(fā)起拒絕服務(wù)攻擊的工具
使用被侵入主機計算和網(wǎng)絡(luò)資源的程序
入侵工具的輸出
你可能會發(fā)現(xiàn)入侵工具程序留下的一些日志文件。在這些文件中可能會包含被牽扯的其它站點,攻擊者利用的安全缺陷,以及其它站點的安全缺陷。
因此,建議你對系統(tǒng)進行徹底的搜索,找出上面列出的工具及其輸出文件。一定要注意:在搜索過程中,要使用沒有被攻擊者修改過的搜索工具拷貝。
搜索主要可以集中于以下方向:
檢查UNIX系統(tǒng)/dev/目錄下意外的ASCII文件。一些特洛伊木馬二進制文件使用的配置文件通常在/dev目錄中。
仔細檢查系統(tǒng)中的隱藏文件和隱藏目錄。如果入侵者在系統(tǒng)中建立一個一個新的帳戶,那么這個新帳戶的起始目錄以及他使用的文件可能是隱藏的。
檢查一些名字非常奇怪的目錄和文件,例如:...(三個點)、..(兩個點)以及空白(在UNIX系統(tǒng)中)。入侵者通常會在這樣的目錄中隱藏文件。對于NT,應(yīng)該檢查那些名字和一些系統(tǒng)文件名非常接近的目錄和文件。
4.審查系統(tǒng)日志文件
詳細地審查你的系統(tǒng)日志文件,你可以了解系統(tǒng)是如何被侵入的,入侵過程中,攻擊者執(zhí)行了哪些操作,以及哪些遠程主機訪問了你的主機。通過這些信息,你能夠?qū)θ肭钟懈忧逦恼J識。
記住:系統(tǒng)中的任何日志文件都可能被入侵者改動過。
對于UNIX系統(tǒng),你可能需要查看/etc/syslog.conf文件確定日志信息文件在哪些位置。NT通常使用三個日志文件,記錄所有的NT事件,每個NT事件都會被記錄到其中的一個文件中,你可以使用Event Viewer查看日志文件。其它一些NT應(yīng)用程序可能會把自己的日志放到其它的地方,例如ISS服務(wù)器默認的日志目錄是c:winntsystem32logfiles。
以下是一個通常使用的UNIX系統(tǒng)日志文件列表。由于系統(tǒng)配置的不同可能你的系統(tǒng)中沒有其中的某些文件。
messages
messages日志文件保存了大量的信息??梢詮倪@個文件中發(fā)現(xiàn)異常信息,檢查入侵過程中發(fā)生了哪些事情。
*** erlog
如果被侵入系統(tǒng)提供FTP服務(wù), *** erlog文件就會記錄下所有的FTP傳輸。這些信息可以幫助你確定入侵者向你的系統(tǒng)上載了哪些工具,以及從系統(tǒng)下載了哪些東西。
utmp
保存當前登錄每個用戶的信息,使用二進制格式。這個文件只能確定當前哪些用戶登錄。使用who命令可以讀出其中的信息。
wtmp
每次用戶成功的登錄、退出以及系統(tǒng)重啟,都會在wtmp文件中留下記錄。這個文件也使用二進制格式,你需要使用工具程序從中獲取有用的信息。last就是一個這樣的工具。它輸出一個表,包括用戶名、登錄時間、發(fā)起連接的主機名等信息,詳細用法可以使用man last查詢。檢查在這個文件中記錄的可疑連接,可以幫助你確定牽扯到這起入侵事件的主機,找出系統(tǒng)中的哪些帳戶可能被侵入了。
secure
某些些版本的UNIX系統(tǒng)(例如:RedHat Linux)會將tcp_wrappers信息記錄到secure文件中。如果系統(tǒng)的inetd精靈使用tcp_wrappers,每當有連接請求超出了inetd提供的服務(wù)范圍,就會在這個文件中加入一條日志信息。通過檢查這個日志文件,可以發(fā)現(xiàn)一些異常服務(wù)請求,或者從陌生的主機發(fā)起的連接。
審查日志,最基本的一條就是檢查異?,F(xiàn)象。
5.檢查網(wǎng)絡(luò)嗅探器
入侵者侵入一個UNIX系統(tǒng)后,為了獲得用戶名和密碼信息,一般會在系統(tǒng)上安裝一個網(wǎng)絡(luò)監(jiān)視程序,這種程序就叫作嗅探器或者數(shù)據(jù)包嗅探器。對于NT,入侵者會使用遠程管理程序?qū)崿F(xiàn)上述目的。
判斷系統(tǒng)是否被安裝了嗅探器,首先要看當前是否有進程使你的網(wǎng)絡(luò)接口處于混雜(Promiscuous)模式下。如果任何網(wǎng)絡(luò)接口處于promiscuous模式下,就表示可能系統(tǒng)被安裝了網(wǎng)絡(luò)嗅探器。注意如果你重新啟動了系統(tǒng)或者在單用戶模式下操作,可能無法檢測到Promiscuous模式。使用ifconfig命令就可以知道系統(tǒng)網(wǎng)絡(luò)接口是否處于promoscuous模式下(注意一定使用沒有被侵入者修改的ifconfig):
#/path-of-clean-ifconfig/ifconfig -a
有一些工具程序可以幫助你檢測系統(tǒng)內(nèi)的嗅探器程序:
cpm(Check Promiscuous Mode)--UNIX可以從以下地址下載:
ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/
ifstatus--UNIX可以從以下地址下載:
ftp://coast.cs.purdue.edu/pub/tools/unix/ifstatus/
neped.c可以從以下地址的到:
ftp://apostols.org/AposTolls/snoapshots/neped/neped.c
一定要記住一些合法的網(wǎng)絡(luò)監(jiān)視程序和協(xié)議分析程序也會把網(wǎng)絡(luò)接口設(shè)置為promiscuous模式。檢測到網(wǎng)絡(luò)接口處于promicuous模式下,并不意味著系統(tǒng)中有嗅探器程序正在運行。
但是,在Phrack雜志的一篇文章:(Phrack Magazine Volume 8,Issue 53 July
8,1998,article 10 of 15, Interface Promiscuity Obscurity)中,有人提供了一些針對FreeBSD、Linux、HP-UX、IRIX和Solaris系統(tǒng)的模塊,可以擦除IFF_PROMISC標志位,從而使嗅探器逃過此類工具的檢查。以此,即使使用以上的工具,你沒有發(fā)現(xiàn)嗅探器,也不能保證攻擊者沒有在系統(tǒng)中安裝嗅探器。
現(xiàn)在,LKM(Loadable Kernel Model,可加載內(nèi)核模塊)的廣泛應(yīng)用,也增加了檢測難度。關(guān)于這一方面的檢測請參考使用KSAT檢測可加載內(nèi)核模塊。
還有一個問題應(yīng)該注意,嗅探器程序的日志文件的大小會急劇增加。使用df程序查看文件系統(tǒng)的某個部分的大小是否太大,也可以發(fā)現(xiàn)嗅探器程序的蛛絲馬跡。建議使用lsof程序發(fā)現(xiàn)嗅探器程序打開的日志文件和訪問訪問報文設(shè)備的程序。在此,還要注意:使用的df程序也應(yīng)該是干凈的。
一旦在系統(tǒng)中發(fā)現(xiàn)了網(wǎng)絡(luò)嗅探器程序,我們建議你檢查嗅探器程序的輸出文件確定哪些主機受到攻擊者威脅。被嗅探器程序捕獲的報文中目的主機將受到攻擊者的威脅,不過如果系統(tǒng)的密碼是通過明文傳輸,或者目標主機和源主機互相信任,那么源主機將受到更大的威脅。
共2頁: 1 [2] 下一頁 | ||
|