Unix主機漏洞掃描器的設(shè)計與實現(xiàn)之背景和必然性分析
Unix主機漏洞掃描背景分析
自從1993年Internet上首次采用第一種圖形用戶界面NCSA MOSAIC以來,這一全球最大網(wǎng)絡(luò)的用戶數(shù)量與服務(wù)內(nèi)容都有了迅猛增加。商業(yè)集團和個人用戶都很快意識到,由Internet帶來的革命化通信時代,為通信應(yīng)用領(lǐng)域開辟了無限的前景。如今,計算機互聯(lián)網(wǎng)技術(shù)在信息交互、信息處理、信息查找、信息管理等方面起著越來越重要的作用?;ミB網(wǎng)絡(luò)為人們獲取信息、交換信息、管理信息和進行各種社會活動提供了一個快速而方便的平臺,為社會的發(fā)展帶來了巨大效益。
然而,在人們得益于信息革命所帶來的巨大機遇的同時,也不得不面對信息安全問題的嚴峻挑戰(zhàn)。西方發(fā)達國家將由計算機武裝起來的社會稱為"脆弱的社會",就是基于以下事實:計算機主機和網(wǎng)絡(luò)系統(tǒng)不斷被非法入侵、計算機病毒不斷在產(chǎn)生和傳播,導(dǎo)致重要的經(jīng)濟、政治和軍事情報資料被竊取,重要的網(wǎng)絡(luò)服務(wù)時時有被攻破和崩潰的危險。這些給各行各業(yè)帶來了巨大的經(jīng)濟損失,甚至危及國家安全。
綜上所述,信息革命在改變?nèi)祟悅鹘y(tǒng)的生產(chǎn)、生活方式并極大促進生產(chǎn)力發(fā)展的同時,也帶來了不容忽視的負面影響。網(wǎng)絡(luò)和主機安全正成為每一個計算機用戶都面臨的緊迫問題。就是在這樣的背景下,為了解決這些問題,一系列的網(wǎng)絡(luò)安全技術(shù)應(yīng)運而生。
主機漏洞掃描技術(shù)可以說是網(wǎng)絡(luò)安全技術(shù)中除了防火墻技術(shù)、入侵檢測技術(shù)、加密和認證之外的另一項重要的安全技術(shù)。不管攻擊者是從外部還是從內(nèi)部攻擊某一網(wǎng)絡(luò)系統(tǒng),攻擊機會是由于他利用該系統(tǒng)的已經(jīng)知道的漏洞而得到的。對于系統(tǒng)管理員來說,漏洞掃描器是最好的助手,能夠主動發(fā)現(xiàn)Web服務(wù)器主機系統(tǒng)的漏洞,在主機系統(tǒng)安全保衛(wèi)戰(zhàn)中做到"有的放矢",及時修補漏洞,構(gòu)筑堅固的安全長城。
目前,連接于互聯(lián)網(wǎng)中的服務(wù)器大都采用Unix操作系統(tǒng),因此,我們設(shè)計并實現(xiàn)了一個Unix主機漏洞掃描器,設(shè)計該漏洞掃描器的出發(fā)點是:以系統(tǒng)管理員的視野,發(fā)掘Unix主機系統(tǒng)漏洞,目的是增強主機系統(tǒng)的安全性。如今,在計算機安全領(lǐng)域,漏洞掃描器的作用與PC機病毒檢測軟件相似,對于系統(tǒng)管理員來說已經(jīng)是不可或缺的重要工具軟件。
Unix主機系統(tǒng)安全漏洞存在的必然性分析
這里,我們將從以下四個方面分析Unix主機系統(tǒng)安全漏洞存在的必然性。
1.操作系統(tǒng)安全的脆弱性
1.1 操作系統(tǒng)體系結(jié)構(gòu)的安全隱患
這是計算機系統(tǒng)脆弱性的根本原因。如Unix系統(tǒng)的許多版本升級開發(fā)都是采用打補丁(Patch)的方式進行的,這種方式黑客同樣也可以使用。另外,操作系統(tǒng)的程序可以動態(tài)鏈接,包括I/O驅(qū)動程序與系統(tǒng)服務(wù),但這同樣為黑客提供了可乘之機。如黑客可將磁帶設(shè)備的軟鏈接點/dev/rmt/0進行修改,添加某種后門程序,那么當用戶執(zhí)行tar cvf /dev/rmt/0 *這類命令的時候,可能激活該后門程序從而導(dǎo)致漏洞的產(chǎn)生??墒遣僮飨到y(tǒng)支持程序動態(tài)鏈接和數(shù)據(jù)動態(tài)交換又是現(xiàn)代操作系統(tǒng)集成和擴展必備的功能,因而出現(xiàn)了自相矛盾之處。
1.2 進程創(chuàng)建和遠程過程調(diào)用(RPC)的安全隱患
一方面,Unix操作系統(tǒng)支持遠程加載程序,另一方面,它又可以創(chuàng)建進程,支持在網(wǎng)絡(luò)節(jié)點上創(chuàng)建和激活遠程進程,并且被創(chuàng)建的進程能夠繼承父進程的權(quán)限。這兩點結(jié)合在一起就為黑客在遠程服務(wù)器上安裝"間諜"軟件提供了可能。
1.3 系統(tǒng)守護進程的安全隱患
守護進程實際上是一組系統(tǒng)進程,它們總是等待相應(yīng)條件的出現(xiàn),一旦條件滿足,進程便繼續(xù)進行下去。這些進程特性是黑客能夠利用的。值得注意的是,關(guān)鍵不是守護程序本身,而是這種守護進程是否具有與操作系統(tǒng)核心層軟件同等的權(quán)利。
實際上,在Unix剛剛開發(fā)出來的時候,安全性還并不是它主要關(guān)注的因素。它的安全模型是為局域網(wǎng)環(huán)境下的小型或中等規(guī)模的工作組所設(shè)計的。1988年的Internet蠕蟲事件就是一個明顯的證據(jù):在系統(tǒng)級別上的安全措施是非常不夠的。盡管蠕蟲事件導(dǎo)致Carnegie Mellon大學(xué)計算機緊急情況反應(yīng)小組(Computer Emergence Response Team,CERT)的成立,并加強了系統(tǒng)供應(yīng)商和系統(tǒng)管理員的安全意識,但現(xiàn)在人們對于安全問題的認識和準備還是遠遠落后于各種專業(yè)或業(yè)余黑客的能力和決心。幸運的是,現(xiàn)在有很多的OEM附加安全部件和第三方產(chǎn)品可以為承擔(dān)風(fēng)險的WWW、FTP、Email Unix服務(wù)器提供足夠的保障。
2.應(yīng)用軟件系統(tǒng)安全的脆弱性
2.1 應(yīng)用軟件在安全設(shè)計上的滯后性
目前Internet上運行的很多應(yīng)用軟件在最初設(shè)計的時候根本或很少考慮到要抵擋黑客的攻擊。為局域網(wǎng)設(shè)計的Client/Server結(jié)構(gòu)的應(yīng)用程序在未做任何修改的情況下,直接聯(lián)到了Internet環(huán)境下,然后便面臨著被攻擊。即使這些軟件獲得了防火墻和其他安全手段的保護,這種危險依舊存在。實踐表明,不管一個應(yīng)用軟件看起來可能會有多么安全,由于用來開發(fā)和運行這個程序的工具甚至用來保護它的組件都可能具有安全漏洞,使得該軟件的安全可能變得非常脆弱。
也就是說,軟件安全是一個系統(tǒng)工程,系統(tǒng)各相互作用的組件必須放在安全這個統(tǒng)一的標尺去衡量、開發(fā)和使用維護。比如對于系統(tǒng)調(diào)用函數(shù)get(),如果孤立地去考察它,并沒有致命的安全漏洞。但是當黑客借助特權(quán)程序利用get()函數(shù)不檢查參數(shù)長度的缺陷,制造緩沖區(qū)溢出,并轉(zhuǎn)而執(zhí)行一個Shell,則普通用戶就變成了root用戶。可見,在一個相互作用的系統(tǒng)里,小小的設(shè)計缺陷可能導(dǎo)致致命的漏洞。
2.2 應(yīng)用軟件在安全評估上的困難性
由于在Internet上運行的諸如WWW、Email等服務(wù)軟件代碼規(guī)模較大、設(shè)計復(fù)雜,要從理論上證明這類復(fù)雜程序的安全性,以目前的技術(shù)手段,還是一個有待突破的世界難題。現(xiàn)在評估軟件安全性的常用方法,就是在具體使用中去檢測,甚至借助黑客們的攻擊來發(fā)現(xiàn)軟件的安全漏洞并加以修補。
這里以Sendmail和Netscape Messaging Server 3.6這兩個著名的郵件服務(wù)軟件為例說明這個問題。Sendmail是一個大型的復(fù)雜程序,可以在公司內(nèi)部或在Internet間發(fā)送電子郵件。在過去,黑客們探索出Sendmail設(shè)計上的很多缺陷,因此它也被軟件開發(fā)人員無數(shù)次地修改和打補丁。
盡管如此,黑客們似乎總能發(fā)現(xiàn)新的缺陷。作為商業(yè)化的Email服務(wù)軟件,Netscape Messaging Server 3.6的安全性比前者要好,如果去黑客網(wǎng)站瀏覽一下,Sendmail的漏洞公告牌觸目皆是,而Netscape Messaging Server 3.6就少得多。但我們在使用中,發(fā)現(xiàn)其存在一個非常危險的漏洞。比如為禁絕非法郵件的攻擊和干擾,需要利用其Plugin模塊的Filter功能,編寫filter.cfg腳本來過濾郵件。
雖然非法郵件不會抵達最終用戶或不會被轉(zhuǎn)發(fā),但不幸的是,大量的非法郵件依舊會存儲在Email服務(wù)器內(nèi),一切的過濾操作均是在服務(wù)器無條件接收下所有郵件后才進行,且不能自動刪除。這就為黑客后門程序駐留服務(wù)器提供了可能??上驳氖?,Messaging Server 4.0以上的版本解決了這個致命問題。
3.計算機網(wǎng)絡(luò)安全的脆弱性
Internet使用的TCP/IP協(xié)議以及FTP、NFS等都包含許多不安全的因素,存在可為黑客所利用的漏洞。
3.1 TCP/IP協(xié)議漏洞
Internet技術(shù)屏蔽了底層網(wǎng)絡(luò)硬件細節(jié),使得異種網(wǎng)絡(luò)之間可以互相通信。TCP/IP協(xié)議組是目前使用最廣泛的網(wǎng)絡(luò)互連協(xié)議之一。但TCP/IP協(xié)議組本身存在著一些安全性問題。這就給"黑客"們攻擊網(wǎng)絡(luò)以可乘之機。由于大量重要的應(yīng)用程序都以TCP作為它們的傳輸層協(xié)議,因此TCP的安全性問題會給網(wǎng)絡(luò)帶來嚴重的后果。
3.2 NFS(Network File System)的安全漏洞
NFS實際上是互信主機間的share-mount 文件和目錄共享機制,其主要作用就是將網(wǎng)絡(luò)上的其他計算機對外共享的文件和目錄資源掛接在另一臺主機上,供用戶對數(shù)據(jù)進行訪問。NFS服務(wù)器在共享目錄時如果未設(shè)置相應(yīng)的限制(實際應(yīng)用中常常如此),其結(jié)果是有太多的客戶機(包括黑客)可以訪問共享目錄,導(dǎo)致數(shù)據(jù)泄露。
如果共享目錄可寫或存在可執(zhí)行的文件,甚至允許客戶在NFS裝入的目錄上創(chuàng)建SetUID程序(可能使黑客獲得root權(quán)限),則數(shù)據(jù)和系統(tǒng)安全性大大降低;即使NFS服務(wù)器在共享目錄時設(shè)置了相應(yīng)的限制,包括安全身份驗證模式,但對于能夠偽造身份進行攻擊的黑客或?qū)τ诰钟蚓W(wǎng)內(nèi)部的使用者來說,安全級別不高。實踐表明,NFS是一個網(wǎng)站計算機基礎(chǔ)設(shè)施中的薄弱環(huán)節(jié)。
3.3 FTP(File Transfer Protocol)漏洞
FTP往往被黑客用于獲取遠程系統(tǒng)的訪問權(quán)限或存放非法取得的文件(即FTP濫用)。這個安全漏洞是由于提供FTP服務(wù)的關(guān)鍵文件或目錄的用戶訪問權(quán)限設(shè)置不當造成的。同時,主機FTP服務(wù)可能被黑客利用為制造緩沖區(qū)溢出的條件。這個安全漏洞的形成原因主要是軟件開發(fā)設(shè)計的缺陷,如著名的wu-ftp2.4的軟件bug會導(dǎo)致黑客通過FTP登錄來獲得root權(quán)限。
4.配置不當導(dǎo)致的系統(tǒng)漏洞
大部分計算機安全問題是由于管理不當,而不是由于上述的三大原因。不同的系統(tǒng)配置直接影響系統(tǒng)的安全性。系統(tǒng)管理漏洞主要有兩個方面:系統(tǒng)管理員對系統(tǒng)的設(shè)置存在安全漏洞。如弱勢口令、被信任主機等問題;系統(tǒng)的部分功能自身存在安全漏洞隱患,如tftp網(wǎng)絡(luò)服務(wù),可以通過恰當?shù)脑O(shè)置去除這些漏洞隱患的威脅。但系統(tǒng)管理員或者未意識到或者配置失誤,系統(tǒng)自身存在的安全漏洞隱患依舊存在。
不同的系統(tǒng)配置直接影響系統(tǒng)的安全性。不少系統(tǒng)管理員常抱怨系統(tǒng)自身的安全漏洞,實際上這些所謂的系統(tǒng)自身安全漏洞往往是管理員配置不夠完善形成的。完善的系統(tǒng)配置和嚴格的系統(tǒng)管理是減少安全漏洞、提高主機系統(tǒng)安全性的主要手段。
【編輯推薦】