一、網絡安全
(1)網絡安全的定義
網絡安全是指計算機網絡系統中的硬件、數據、程序等不會因為無意或惡意的原因而遭到破壞、篡改、泄露,防止非授權的使用或訪問,系統能夠保持服務的連續性,以及能夠可靠的運行。網絡安全的具體概念會隨著感興趣角度的不同而不同。從用戶的角度來說,他們希望自己的一些絕密信息在網絡上傳輸時能夠得到有效的保護,防止一些非法個人通過竊聽、篡改、冒充等手段對用戶的絕密信息進行破壞。
從網絡安全管理員來說,他們希望本地網絡信息的訪問、讀寫等操作能夠得到有效的保護和控制,避免出現拒絕服務、資源非法占用、非法控制等威脅,能夠有效地防御黑客的攻擊。對于國家的一些機密部門,他們希望能夠過濾一些非法、有害的信息,同時防止機密信息外泄,從而盡可能地避免或減少對社會和國家的危害。網絡安全既涉及技術,又涉及管理方面。技術方面主要針對外部非法入侵者的攻擊,而管理方面主要針對內部人員的管理,這兩方面相互補充、缺一不可。
(2)網絡安全的基本要求
1.機密性(Confidentiality)它是指網絡中的數據、程序等信息不會泄露給非授權的用戶或實體。即信息只能夠被授權的用戶所使用,它是保護網絡系統安全的重要手段。
2.完整性(Integrity)它是指網絡中的數據、程序等信息未經授權保持不變的特性。即當網絡中的數據、程序等信息在傳輸過程不會被篡改、刪除、偽造、重放等破壞。
3.可用性(Availability)它是指當網絡中的信息可以被授權用戶或實體訪問,并且可以根據需要使用的特性。即網絡信息服務在需要時,準許授權用戶或實體使用,或者當網絡部分受到破壞需要降級使用時,仍可以為授權用戶或實體提供有效的服務。
4.可靠性(Reliablity)它是指網絡系統能夠在特定的時間和特定的條件下完成特定功能的特性。可靠性是網絡系統安全最基本的要求。
5.可控性(Controllablity)它是指對網絡信息的傳播和內容具有控制能力的特性。它可以保證對網絡信息進行安全監控。
6.不可抵賴性(Non-Repudiation)它是指在網絡系統的信息交互過程中,確認參與者身份的真實性。它可以保證發送方無法對他發送的信息進行否認,并且可以通過數字取證、證據保全,使公證方可以方便地介入,通過法律來管理網絡。
二、網絡安全評估中的脆弱×××
脆弱性是指計算機或網絡系統在硬件、軟件、協議設計和實現、系統采取的安全策略存在的不足和缺陷。脆弱性存在的直接后果就是允許非法或非授權用戶獲取或提高訪問權限,從而給攻擊者以可乘之機破壞網絡系統。
總的來說,計算機網絡系統脆弱性主要是由程序員不安全編程和錯誤操作造成的,網絡協議本身的缺陷以及用戶的錯誤使用和設置所造成的。歸納起來主要有以下幾個方面。
(1)設置錯誤
它主要是指系統管理員或用戶的錯誤設置,這類由于錯誤設置導致的系統脆弱性很受攻擊者喜歡,因此也是最常見的脆弱性。許多產品制造商在產品推向市場時為用戶設置了許多默認參數,這些設置的目的主要是對用戶的充分信任,方便新用戶的使用,但是這些設置可能會給計算機網絡系統帶來很大的安全隱患。
(2)設計錯誤
它是指設計實現時,因為程序員由于自己的疏忽和為了自己方便而設計了一些后門,這類脆弱性很難發現,而且一旦發現也很難修補,它對網絡系統的安全威脅非常大,這類脆弱性只有通過重新設計和實現。
(3)網絡協議自身的缺陷
它是指網絡協議自身的缺陷和不足所造成的安全隱患。網絡協議是指計算機之間為了互聯而共同遵守的規則,目前計算機網絡大都采用TCP/IP協議,TCP/IP協議在設計之初力求開放性和運行效率,缺乏對安全性的總體構想和設計,所以存在許多脆弱性,從而留下很多安全隱患。
(4)輸入驗證錯誤
它是指對用戶輸入數據的合法性進行驗證,導致攻擊者非法進入系統。大多數緩沖區溢出脆弱性CGI類脆弱性都是由這種原因引起的。RedHat6.2的dump命令都存在這種脆弱性。
(5)訪問驗證錯誤
它是指程序的訪問驗證部分存在可以被利用的邏輯錯誤,從而有可能使非法攻擊者跳過訪問控制進入系統。早期AIX的rlogin就存在這種脆弱性。
(6)意外情況處理錯誤
它是指程序在實現邏輯中沒有考慮到一些應該考慮的意外情況,從而造成運行錯誤。這種錯誤很常見,例如沒有檢查文件是否存在就直接打開設備文件從而導致拒絕服務。
(7)競爭條件
它是指程序在處理實體時,時序和同步方面存在問題,在處理過程中可能提供一個機會窗口給非法攻擊者以可乘之機。早期的Solaris系統的ps命令就存在這種類型的脆弱性。
(8)環境錯誤
它是指一些環境變量的錯誤設置所形成的脆弱性。