標籤: 暫無標籤

漏洞是在硬體、軟體、協議的具體實現或系統安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權的情況下訪問或破壞系統。

1 漏洞 -漏洞

2 漏洞 -概況


漏洞是在硬體、軟體、協議的具體實現或系統安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權的情況下訪問或破壞系統。具體舉例來說,比如在Intel Pentium晶元中存在的邏輯錯誤,在Sendmail早期版本中的編程錯誤,在NFS協議中認證方式上的弱點,在Unix系統管理員設置匿名FTP服務時配置不當的問題都可能被攻擊者使用,威脅到系統的安全。因而這些都可以認為是系統中存在的安全漏洞。
一、 漏洞與具體系統環境之間的關係及其時間相關特性
漏洞會影響到很大範圍的軟硬體設備,包括作系統本身及其支撐軟體,網路客戶和伺服器軟體,網路路由器和安全防火牆等。換而言之,在這些不同的軟硬體設備中都可能存在不同的安全漏洞問題。在不同種類的軟、硬體設備,同種設備的不同版本之間,由不同設備構成的不同系統之間,以及同種系統在不同的設置條件下,都會存在各自不同的安全漏洞問題。
漏洞問題是與時間緊密相關的。一個系統從發布的那一天起,隨著用戶的深入使用,系統中存在的漏洞會被不斷暴露出來,這些早先被發現的漏洞也會不斷被系統供應商發布的補丁軟體修補,或在以後發布的新版系統中得以糾正。而在新版系統糾正了舊版本中具有漏洞的同時,也會引入一些新的漏洞和錯誤。因而隨著時間的推移,舊的漏洞會不斷消失,新的漏洞會不斷出現。漏洞問題也會長期存在。
因而脫離具體的時間和具體的系統環境來討論漏洞問題是毫無意義的。只能針對目標系統的作系統版本、其上運行的軟體版本以及服務運行設置等實際環境來具體談論其中可能存在的漏洞及其可行的解決辦法。
同時應該看到,對漏洞問題的研究必須要跟蹤當前最新的計算機系統及其安全問題的最新發展動態。這一點如同對計算機病毒發展問題的研究相似。如果在工作中不能保持對新技術的跟蹤,就沒有談論系統安全漏洞問題的發言權,即使是以前所作的工作也會逐漸失去價值。
二、漏洞問題與不同安全級別計算機系統之間的關係 目前計算機系統安全的分級標準一般都是依據「橘皮書」中的定義。橘皮書正式名稱是「受信任計算機系統評量基準」(Trusted Computer System Evaluation Criteria)。橘皮書中對可信任系統的定義是這樣的:一個由完整的硬體及軟體所組成的系統,在不違反訪問許可權的情況下,它能同時服務於不限定個數的用戶,並處理從一般機密到最高機密等不同範圍的信息。
橘皮書將一個計算機系統可接受的信任程度加以分級,凡符合某些安全條件、基準規則的系統即可歸類為某種安全等級。橘皮書將計算機系統的安全性能由高而低劃分為A、B、C、D四大等級。其中:
D級——最低保護(Minimal Protection),凡沒有通過其他安全等級測試項目的系統即屬於該級,如Dos,Windows個人計算機系統。
C級——自主訪問控制(Discretionary Protection),該等級的安全特點在於系統的客體(如文件、目錄)可由該系統主體(如系統管理員、用戶、應用程序)自主定義訪問權。例如:管理員可以決定系統中任意文件的許可權。當前Unix、Linux、Windows NT等作系統都為此安全等級。
B級——強制訪問控制(mandatory Protection),該等級的安全特點在於由系統強制對客體進行安全保護,在該級安全系統中,每個系統客體(如文件、目錄等資源)及主體(如系統管理員、用戶、應用程序)都有自己的安全標籤(Security Label),系統依據用戶的安全等級賦予其對各個對象的訪問許可權。
A級——可驗證訪問控制(Verified Protection),而其特點在於該等級的系統擁有正式的分析及數學式方法可完全證明該系統的安全策略及安全規格的完整性與一致性。 '
可見,根據定義,系統的安全級別越高,理論上該系統也越安全。可以說,系統安全級別是一種理論上的安全保證機制。是指在正常情況下,在某個系統根據理論得以正確實現時,系統應該可以達到的安全程度。
系統安全漏洞是指可以用來對系統安全造成危害,系統本身具有的,或設置上存在的缺陷。總之,漏洞是系統在具體實現中的錯誤。比如在建立安全機制中規劃考慮上的缺陷,作系統和其他軟體編程中的錯誤,以及在使用該系統提供的安全機制時人為的配置錯誤等。
安全漏洞的出現,是因為人們在對安全機制理論的具體實現中發生了錯誤,是意外出現的非正常情況。而在一切由人類實現的系統中都會不同程度的存在實現和設置上的各種潛在錯誤。因而在所有系統中必定存在某些安全漏洞,無論這些漏洞是否已被發現,也無論該系統的理論安全級別如何。
所以可以認為,在一定程度上,安全漏洞問題是獨立於作系統本身的理論安全級別而存在的。並不是說,系統所屬的安全級別越高,該系統中存在的安全漏洞就越少。
可以這麼理解,當系統中存在的某些漏洞被入侵者利用,使入侵者得以繞過系統中的一部分安全機制並獲得對系統一定程度的訪問許可權后,在安全性較高的系統當中,入侵者如果希望進一步獲得特權或對系統造成較大的破壞,必須要克服更大的障礙。

三、安全漏洞與系統攻擊之間的關係


系統安全漏洞是在系統具體實現和具體使用中產生的錯誤,但並不是系統中存在的錯誤都是安全漏洞。只有能威脅到系統安全的錯誤才是漏洞。許多錯誤在通常情況下並不會對系統安全造成危害,只有被人在某些條件下故意使用時才會影響系統安全。
漏洞雖然可能最初就存在於系統當中,但一個漏洞並不是自己出現的,必須要有人發現。在實際使用中,用戶會發現系統中存在錯誤,而入侵者會有意利用其中的某些錯誤並使其成為威脅系統安全的工具,這時人們會認識到這個錯誤是一個系統安全漏洞。系統供應商會儘快發布針對這個漏洞的補丁程序,糾正這個錯誤。這就是系統安全漏洞從被發現到被糾正的一般過程。
系統攻擊者往往是安全漏洞的發現者和使用者,要對於一個系統進行攻擊,如果不能發現和使用系統中存在的安全漏洞是不可能成功的。對於安全級別較高的系統尤其如此。
系統安全漏洞與系統攻擊活動之間有緊密的關係。因而不該脫離系統攻擊活動來談論安全漏洞問題。了解常見的系統攻擊方法,對於有針對性的理解系統漏洞問題,以及找到相應的補救方法是十分必要的。

四、常見攻擊方法與攻擊過程的簡單描述


系統攻擊是指某人非法使用或破壞某一信息系統中的資源,以及非授權使系統喪失部分或全部服務功能的行為。
通常可以把攻擊活動大致分為遠程攻擊和內部攻擊兩種。現在隨著互聯網路的進步,其中的遠程攻擊技術得到很大發展,威脅也越來越大,而其中涉及的系統漏洞以及相關的知識也較多,因此有重要的研究價值。

3 漏洞 -漏洞的分類


蒼蠅不盯無縫的蛋,入侵者只要找到複雜的計算機網路中的一個縫,就能輕而易舉地闖入系統。所以,了解這些縫都有可能在哪裡,對於修補它們至關重要。通常,裂縫主要表現在軟體編寫存在bug、系統配置不當、口令失竊、明文通訊信息被監聽以及初始設計存在缺陷等方面。

1、軟體編寫存在bug
無論是伺服器程序、客戶端軟體還是操作系統,只要是用代碼編寫的東西,都會存在不同程度的bug。Bug主要分為以下幾類:
(1)緩衝區溢出:指入侵者在程序的有關輸入項目中了輸入了超過規定長度的字元串,超過的部分通常就是入侵者想要執行的攻擊代碼,而程序編寫者又沒有進行輸入長度的檢查,最終導致多出的攻擊代碼佔據了輸入緩衝區后的內存而執行。別以為為登錄用戶名留出了200個字元就夠了而不再做長度檢查,所謂防小人不防君子,入侵者會想盡一切辦法嘗試攻擊的途徑的。
(2)意料外的聯合使用問題:一個程序經常由功能不同的多層代碼組成,甚至會涉及到最底層的操作系統級別。入侵者通常會利用這個特點為不同的層輸入不同的內容,以達到竊取信息的目的。例如:對於由Perl編寫的程序,入侵者可以在程序的輸入項目中輸入類似「mail(3) 不對輸入內容進行預期檢查:有些編程人員怕麻煩,對輸入內容不進行預期的匹配檢查,使入侵者輸送炸彈的工作輕鬆簡單。
(4)Raceconditions:多任務多線程的程序越來越多,在提高運行效率的同時,也要注意Raceconditions的問題。比如說:程序A和程序B都按照「讀/改/寫」的順序操作一個文件,當A進行完讀和改的工作時,B啟動立即執行完「讀/改/寫」的全部工作,這時A繼續執行寫工作,結果是A的操作沒有了表現!入侵者就可能利用這個處理順序上的漏洞改寫某些重要文件從而達到闖入系統的目的,所以,編程人員要注意文件操作的順序以及鎖定等問題。

2、系統配置不當
(1)默認配置的不足:許多系統安裝后都有默認的安全配置信息,通常被稱為easy to use。但遺憾的是,easytouse還意味著easy to break in。所以,一定對默認配置進行揚棄的工作。
(2)管理員懶散:懶散的表現之一就是系統安裝后保持管理員口令的空值,而且隨後不進行修改。要知道,入侵者首先要做的事情就是搜索網路上是否有這樣的管理員為空口令的機器。
(3)臨時埠:有時候為了測試之用,管理員會在機器上打開一個臨時埠,但測試完后卻忘記了禁止它,這樣就會給入侵者有洞可尋、有漏可鑽。通常的解決策略是:除非一個埠是必須使用的,否則禁止它!一般情況下,安全審計數據包可用於發現這樣的埠並通知管理者。
(4)信任關係:網路間的系統經常建立信任關係以方便資源共享,但這也給入侵者帶來借牛打力、間接攻擊的可能,例如,只要攻破信任群中的一個機器,就有可能進一步攻擊其他的機器。所以,要對信任關係嚴格審核、確保真正的安全聯盟。

3、口令失竊
(1)弱不禁破的口令:就是說雖然設置了口令,但卻簡單得再簡單不過,狡猾的入侵者只需吹灰之力就可破解。
(2)字典攻擊:就是指入侵者使用一個程序,該程序藉助一個包含用戶名和口令的字典資料庫,不斷地嘗試登錄系統,直到成功進入。毋庸置疑,這種方式的關鍵在於有一個好的字典。
(3)暴力攻擊:與字典攻擊類似,但這個字典卻是動態的,就是說,字典包含了所有可能的字元組合。例如,一個包含大小寫的4字元口令大約有50萬個組合,1個包含大小寫且標點符號的7字元口令大約有10萬億組合。對於後者,一般的計算機要花費大約幾個月的時間才能試驗一遍。看到了長口令的好處了吧,真正是一兩撥千斤啊!

4、嗅探未加密通訊數據

(1)共享介質:傳統的乙太網結構很便於入侵者在網路上放置一個嗅探器就可以查看該網段上的通訊數據,但是如果採用交換型乙太網結構,嗅探行為將變得非常困難。
(2)伺服器嗅探:交換型網路也有一個明顯的不足,入侵者可以在伺服器上特別是充當路由功能的伺服器上安裝一個嗅探器軟體,然後就可以通過它收集到的信息闖進客戶端機器以及信任的機器。例如,雖然不知道用戶的口令,但當用戶使用Telnet軟體登錄時就可以嗅探到他輸入的口令了。
(3) 遠程嗅探:許多設備都具有RMON(Remotemonitor,遠程監控)功能以便管理者使用公共體字元串(publiccommunitystrings)進行遠程調試。隨著寬頻的不斷普及,入侵者對這個後門越來越感興趣了。

5、設計存在缺陷

(1)TCP/IP協議的缺陷:TCP/IP協議現在已經廣為應用、但是它設計時卻是在入侵者猖狂肆虐的今天之很早以前設計出來的。因此,存在許多不足造成安全漏洞在所難免,例如smurf攻擊、ICMPUnreachable數據包斷開、ip地址欺騙以及Synflood。然而,最大的問題在於IP協議是非常容易「輕信」的,就是說入侵者可以隨意地偽造及修改IP數據包而不被發現。現在Ipsec協議已經開發出來以克服這個不足,但還沒有得到廣泛的應用。
上一篇[尊敬]    下一篇 [卟啉病]

相關評論

同義詞:暫無同義詞