我的系統被入侵了嗎? – 談系統自我安全檢測

系統入侵的模式通常是:進入系統,利用各種管道取得系統Super User權限,留下後門(BacckDoor),便利日後進入系統。駭客入侵系統的動機不外乎炫耀技巧、表達心中不滿、報復或長期潛伏藉機從事不法。根據經驗,如同電腦病毒一般,從入侵到對系統產生侵略性的行動前,通常會有一段『潛伏期』,『一招斃命』式的入侵鮮少發生。而這段潛伏期,正是管理者早期發現,早期採取行動的時段。病毒的掃描通常會經由所謂的Pattern Match技術,發現隱藏的病毒,並加以清除;系統入侵通常也可以從系統的不正常徵候,得到一些訊息。對於系統安全而言,以下是一個管理者應該經常查察、留意,且可能與系統入侵有關的不正常徵候:

bullet

 使用者帳號及密碼檔案不正常更動

/etc/passwd及/etc/shadow這兩個檔案是UNIX系統中記錄使用者帳號相關資訊與加密過的使用者密碼,這兩個檔案是入侵者暗藏非法帳號與預留後門最方便,也最不易引起管理者注意的地方。試想,當你管理超過一千個帳號(這在校園是常見的)時,你會特別留意一個不起眼的帳號嗎?
不正常的更動包括:不須密碼即可進入系統的帳號、與Super User權限相同的帳號以及來歷不明非管理增加的帳號。如果你的/etc/passwd包含類似下面兩行的內容時,那你的系統以遭入侵的可能性幾乎是百分之百了:
batman::0:1234::/root:/bin/tcsh
dmoo::1546:101:nii35:/home/dmoo:/bin/tcsh
第一行代表batman權限相當於Super User,第二行代表一個不明帳號;這兩個帳號最大問題在於:他們都不須要密碼即可進入系統。

bullet

檔案權限的變動及不當設定

這包括兩部份:一是檔案存取權限不當設定,一是不正常的SUID與SGID設定。檔案存取權限是系統安全的第二道防線,錯誤的設定,尤其是系統相關設定檔案,會讓有心人不費吹灰之力,即可獲得不當權力。而不正常的SUID與SGID程式的存在,一般使用者即可以Super User身分,執行該程式。
假設你發現你的/etc/passwd或/etc/shadow權限設定為rw-rw-rw-,又,如你的/bin/sh權限為rwsr-xr-x,那你的系統權限早已不保。你可以利用下面的指令找出系統中SUID及SGID的程式,再行過濾其中之可疑者(非系統原先之設定者):
find / \( -perm –4000 –o –perm –2000\) –exec ls –l {} \;

bullet

執行檔內容及更改時間的變動

執行檔是後門程式或木馬程式潛藏的地方,遭受『污染』的標的檔案通常共同的特徵是檔案長度及更改時間的變動。當然,所謂的『變動』是經過比較的,細心的管理者在系統初建立或更動後,應該保留一份系統的執行檔案長度與日期表,以利比對。長度與時間是比對檔案變動一個最簡便且有效的方法,雖然他並不是百分之百精確。

bullet

不正常的系統簽入記錄

當你檢視系統記錄(/var/adm/messages or /var/adm/syslog ),發現有人多次嘗試進入系統失敗,或經由有問題的網址login系統(例如明明早上才碰面的老師,下午卻發現他由國外某個網址簽入),這些可能都是入侵的徵候,須多加留意。

bullet

來源及用途可疑的檔案

檔案體積龐大、檔案名稱怪異或有故意隱藏嫌疑、檔案路徑有異,都是應該注意的入侵特徵。
如果你注意到系統中存在某個持續增長中的不明檔案,那你要留意這是否是個持續在收集和監視你的系統運作與使用者活動的程式所產生的記錄檔。
如果你發現系統中的使用者或系統目錄中出現名稱怪異檔案,例如passwd.from.somesite、crackxox…;或顯然故意隱藏檔名的檔案,例如檔名為”.. “,應該留意一下檔案擁有者,及該使用者使用系統的記錄;在不妨礙個人隱私權的情況下,也不妨了解一下這些檔案的用途為何。
檔案路徑有異的檔案也可能是木馬程式或後門程式棲身之所,例子有:存在於使用者目錄,擁有者為super user,且權限設定為other executable的檔案;檔名與系統程式相同,位置有問題的檔案,例如你在/sbin下發現一個檔案名字叫”ls”(ls 應該在/bin之下);或出現在不該出現的目錄下的執行檔,例如你在/dev目錄下發現一個執行檔,等等。

bullet

系統中以Super User身分執行的不明程式

在系統中以Super User身分執行的不明程式,很有可能是入侵者監視你的系統網路活動的程式(例如sniffit 或tcpdump),也有可能是入侵者方便他本身進入系統所啟動的服務(server standalone daemon)。不管如何,身為管理者,系統中你不認識的程式,尤其是以super user身分執行的程式,你都應該了解是怎麼一回事。

bullet

不正常網路服務的開啟

在Client/Server的網路運作模式下,一般以TCP Port號碼來區分不同服務,如果你發現你的/etc/services(定義網路服務與TCP Port的關係)及/etc/inetd.conf (定義網路服務名稱與執行Deamon程式的關係)內容被修改,很有可能入侵者已開啟你某個網路服務,並由其中達成不法之意圖。

bullet

不正常的網路流量變化

一般指不正常增大的異常網路流量。這種徵候很可能入侵者正利用你的系統進行網路DoS攻擊,也有可能是你正遭受到網路DoS的攻擊,這兩種狀況受害者可能不只是你,與你同在一個子網路的主機,都會受到牽連;因此即使狀況尚未糟到讓你系統癱瘓的目的,你都應了解,並採取必要的措施。

bullet

異常的CPU或硬碟空間的使用

異常的CPU用量,管理者應留意消耗CPU的程式為何、目的何在。Password Crack程式相當消耗CPU,有些駭客會將竊取的密碼檔,移至他處,利用系統負載離峰時段,執行Password Crack程式,試圖解出竊取帳號的密碼。
硬碟空間使用量的增加,到最後通常會拖垮系統(如果增加的是系統碟或公用儲存存空間的話),即使狀況沒這麼壞,也有可能是入侵者正利用你的硬碟空間儲存(他處)入侵所得資訊;或另一種DoS正在進行對你的攻擊的一種警訊。

bullet

其他安全檢查軟體所傳遞的警訊

網路上有一些針對系統安全檢查的軟體(網址請參考文後參考資料),管理者應試著定期自我檢測,並由這些軟體執行所得的警訊,作為系統是否被入侵的一個判斷依據。