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