淺析Unix主機系統安全漏洞存在的必然性
Unix系統安全的隱患分析如下:
操作系統體系結構的安全隱患
這是計算機系統脆弱性的根本原因。如Unix系統的許多版本升級開發都是采用打補丁(Patch)的方式進行的,這種方式黑客同樣也可以使用。另外,操作系統的程序可以動態鏈接,包括I/O驅動程序與系統服務,但這同樣為黑客提供了可乘之機。如黑客可將磁帶設備的軟鏈接點/dev/rmt/0進行修改,添加某種后門程序,那么當用戶執行tar cvf /dev/rmt/0 *這類命令的時候,可能激活該后門程序從而導致漏洞的產生??墒遣僮飨到y支持程序動態鏈接和數據動態交換又是現代操作系統集成和擴展必備的功能,因而出現了自相矛盾之處。
進程創建和遠程過程調用(RPC)的安全隱患
一方面,Unix操作系統支持遠程加載程序,另一方面,它又可以創建進程,支持在網絡節點上創建和激活遠程進程,并且被創建的進程能夠繼承父進程的權限。這兩點結合在一起就為黑客在遠程服務器上安裝"間諜"軟件提供了可能。
系統守護進程的安全隱患
守護進程實際上是一組系統進程,它們總是等待相應條件的出現,一旦條件滿足,進程便繼續進行下去。這些進程特性是黑客能夠利用的。值得注意的是,關鍵不是守護程序本身,而是這種守護進程是否具有與操作系統核心層軟件同等的權利。
實際上,在Unix剛剛開發出來的時候,安全性還并不是它主要關注的因素。它的安全模型是為局域網環境下的小型或中等規模的工作組所設計的。1988年的Internet蠕蟲事件就是一個明顯的證據:在系統級別上的安全措施是非常不夠的。盡管蠕蟲事件導致Carnegie Mellon大學計算機緊急情況反應小組(Computer Emergence Response Team,CERT)的成立,并加強了系統供應商和系統管理員的安全意識,但現在人們對于安全問題的認識和準備還是遠遠落后于各種專業或業余黑客的能力和決心。幸運的是,現在有很多的OEM附加安全部件和第三方產品可以為承擔風險的WWW、FTP、Email Unix服務器提供足夠的保障。
應用軟件在安全設計上的滯后性
目前Internet上運行的很多應用軟件在最初設計的時候根本或很少考慮到要抵擋黑客的攻擊。為局域網設計的Client/Server結構的應用程序在未做任何修改的情況下,直接聯到了Internet環境下,然后便面臨著被攻擊。即使這些軟件獲得了防火墻和其他安全手段的保護,這種危險依舊存在。
實踐表明,不管一個應用軟件看起來可能會有多么安全,由于用來開發和運行這個程序的工具甚至用來保護它的組件都可能具有安全漏洞,使得該軟件的安全可能變得非常脆弱。也就是說,軟件安全是一個系統工程,系統各相互作用的組件必須放在安全這個統一的標尺去衡量、開發和使用維護。比如對于系統調用函數get(),如果孤立地去考察它,并沒有致命的安全漏洞。
但是當黑客借助特權程序利用get()函數不檢查參數長度的缺陷,制造緩沖區溢出,并轉而執行一個Shell,則普通用戶就變成了root用戶??梢姡谝粋€相互作用的系統里,小小的設計缺陷可能導致致命的漏洞。
應用軟件在安全評估上的困難性
由于在Internet上運行的諸如WWW、Email等服務軟件代碼規模較大、設計復雜,要從理論上證明這類復雜程序的安全性,以目前的技術手段,還是一個有待突破的世界難題。現在評估軟件安全性的常用方法,就是在具體使用中去檢測,甚至借助黑客們的攻擊來發現軟件的安全漏洞并加以修補。
Unix系統安全的隱患需要大家注意,我們應該多多學習和掌握。
【編輯推薦】