計算機與網絡安全概念
第一章 計算機與網絡安全概念
1 計算機安全
計算機安全:對於一個自動化的信息系統,采取保護措施確保信息系統(包括硬件、軟件、固件、信息和通信)資源的完整性、可用性和保密性。
計算機安全的最核心三個關鍵目標為:保密性Confidentiality、完整性Integrity、可用性Availability ,三者成為CIA三元組
- 保密性
數據保密性:確保隱私或是秘密信息不向非授權者泄漏,也不被非授權者使用(獲取到明文)
隱私性:確保個人能夠控制或確定與其自身相關的那些信息可以被收集的、被保存的,這些信息可以由誰來公開或是向誰公開
- 完整性
數據完整性:確保信息和程序能夠以特定和授權的方式改變
系統完整性:確保系統以一種正常方式來執行預定的功能,免於有意或是無意的非授權操縱
- 可用性
確保系統能夠工作迅速,對授權用戶不能拒絕服務
三元組體現了數據、信息和計算服務的基本安全目標。
在某些安全領域還有另外兩個概念:
- 真實性
一個實體是真實性的、可被驗證的和可被信任的特性。對於傳輸信息來說,信息和信息的來源都是正確的。也就是說能夠驗證那個用戶是否是他聲稱的那個人,以及系統的每個輸入是否均來自可信任的信源
- 可追溯性要求實體的行為可以位移的追溯到該實體,這一屬性支持不可否認性、阻止、故障隔離、入侵檢測和預防、時候恢復、以及法律訴訟。因為無法得到真正安全的系統,我們必須能夠追查到對安全泄漏負有責任的一方。系統必須能保留他們的活動記錄,以及允許時候審計分析,進而跟蹤安全事件或解決爭執。
2 OSI安全架構
ITU-T推薦X.800,即OSI安全框架,提供安全的一種組織方法。主要關註:安全攻擊、安全機制和安全服務:
- 安全攻擊
任何危機信息安全的行為
- 安全機制
用來檢測、阻止攻擊或從供給狀態恢復到正常狀態的過程
- 安全服務
加強數據處理系統和信息傳輸的安全性的一種處理過程或通信服務,目的在於利用一種或多種安全機制進行反攻擊
威脅:破壞安全的潛在可能,在環境、能力、行為你或時間允許的情況下,它們會破壞,造成安全,也就是說威脅是脆弱被利用而帶來的危險。
攻擊:對系統安全的攻擊,它來源於一種具有智能的威脅,級又以違反安全服務和侵犯系統安全策略(方法或是技術方面)的智能行為。
2.1 安全攻擊
安全攻擊分為被動攻擊和主動攻擊。
被動攻擊試圖獲取或利用系統的信息,但不影響系統資源。主動攻擊則試圖改變系統資源或影響系統運行。
被動攻擊的特性是對傳輸進行竊聽和檢測。攻擊者的目標是獲取傳輸的信息。信息內容的泄漏和流量分析都屬於被動攻擊。
流量分析:當我們對信息進行加密,那麽即使竊聽到數據,也無法獲取明文,但是仍然可以對這些數據進行分析,獲得傳輸消息的頻率和長度,以及通信主機的身份和位置,從而判斷通信的某些心智。
被動攻擊不涉及對數據的修改,因此很難察覺。通常采用加密的方式來阻止被動攻擊。對於被動攻擊重點是預防而非檢測(很難檢測出來)
主動攻擊包括對數據流的修改或偽造數據流分為:偽裝、重放、消息修改和拒絕服務。
偽裝:指某實體假裝為其他實體。偽裝攻擊還包含其他形式的主動攻擊。例如,截獲認證信息,在認證信息完成合法驗證以後進行重放。無權限的實體就可以通過冒充有權限的實體獲得額外的權限
重放:指攻擊者未經授權將截獲的信息再次重放。
消息修改:值未經授權地修改合法消息的一部分,或延時消息的傳輸(沒修改內容),或改變消息的順序。
拒絕服務:組織或禁止對通信設備的正常使用或是管理。針對具體的目標。拒絕服務的另一種形式是破壞整個網絡,是網絡是小,或是網絡過載以降低其性能。
被動攻擊難以檢測但是可以預防,但是主動攻擊難以絕對預防,所以主動攻擊終點在於:檢測,並從古攻擊造成的破壞或延遲中恢復過來。
2.2 安全服務
X.800 將安全服務定義為:在通信開放的系統中,為系統或數據傳輸提供足夠安全的協議層服務。
RFC4949定義為:安全服務是一種有系統提供的對系統資源進行特殊保護的處理或是通信服務。
安全服務通過安全機制來實現安全策略。
安全服務分為5大類,14個具體的特定服務:
認證
保證通信的實體是它所聲稱的實體
認證服務用於保證通信的完整性。在單條消息中,認證服務能夠向接收方保證確實來自其所聲稱的發送方。對於正在進行的通信,會涉及發送方和接收方兩個主體。
- 首先,在連接的初始化階段,認證服務保證兩個實體是可信的,也就是說,每個實體都是他們所聲稱的實體
其次,認證服務必須保證該鏈接不受第三方的幹涉(幹涉:指的是第三方能夠偽裝成兩個合法主體中的一個進行非授權傳輸或接受)
同等實體認證:用於邏輯連接時為連接的實體的身份提供可信性
數據源認證:在無連接傳輸時,保證收到的信息來源是聲稱的來源
?
訪問控制
阻止對資源的非授權使用,限制和控制通過通信連接對主機引用進行訪問的一種能力。因此每個試圖獲得訪問控制的實體必須被識別和認證後,才能獲取相應的權限。這項服務控制誰能訪問資源,在什麽條件下訪問,訪問這些資源用於做什麽
數據保密性
保護數據免於非授權泄密,主要是被動攻擊
- 連接保密性:保護依次連接中所有用戶數據
- 無連接保密性:保護單個數據塊中的所有用戶數據
- 選擇與保密性:對一次連接或單個數據塊中指定的數據部分提供保密性
- 流量保密性:保護那些可以功過觀測流量而獲得的信息
數據完整性
保證收到的數據確實是授權實體發出的數據(未被修改、插入、刪除、或是重播)
完整性服務可分為:用於信息流,單條消息或是消息指定部分。
或是分為可恢復服務和無恢復服務。完整性服務和主動攻擊有關,因此關心檢測和恢復。
具有恢復功能的連接完整性:提供一次連接中所有用戶的數據完整性。檢測整個數據序列內存在的插入、刪除、或重播、並試圖恢復
無恢復的連接完整性:同上,但僅僅提供檢測,不提供恢復
選擇域連接完整性:提供一次傳輸中單個數據塊內用戶數據的指定部分的完整性,並判斷指定部分是否有修改、插入、刪除或是重播
無連接的完整性:為單個無連接數據塊提供完整性保護,並檢測是否有數據修改。另外禿頂有限的重播檢測
選擇域無連接完整性:為單個無連接數據塊內指定域提供完整性保護,哦判斷制定與是否被修改
?
不可否認性
防止整個或部分通信過程中,任一通信實體否認的行為
源不可否認性:證明消息是有特定方發出的
宿不可否認性:真名消息被特性方收到
2.3 安全機制
安全機制分為兩類:
特定協議層的實現
- 加密
- 數字簽名:防止偽造
- 訪問控制
- 數據完整性
- 認證交換
- 流量填充:阻止流量分析
- 路由控制
- 公證
普通安全機制
- 可信功能
- 安全標簽
- 事件檢測
- 安全審計更總
- 安全恢復
X.800將加密機制機制區分:
- 可以加密機制:數據可以加密和解密
- 不可以加密機制:用戶數字簽名和消息認證
3 基本安全設計準則
安全設計準則:
- 機制的經濟性:指嵌入在硬件和軟件中的安全機制贏設計的盡量簡單、短小。設計越復雜,就弱點就難以被發現,漏洞也可能越多。
也是最難遵循的準則
故障安全默認:指訪問決策基於訪問的條件。在安全機制的設計或實現中出現錯誤時,應拒絕訪問許可。以便檢測到錯誤。
完整的監察:必須檢查訪問機制中的每一個訪問,不能依賴從緩存中檢索得到的訪問決策。也就是說應該實時的讀取全權限
開放的設計:設計應該開放
權限分離:需要多個權限屬性來訪問一個受限資源時的準則。適用於任何需要將程序劃分為多個部分,每個部分被授予不同的權限,減輕計算機收到攻擊時的潛在損害
最小權限:每個進程和用戶應該執行該任務所需要的最小權限集來進行操作。
最小共同機制:把不同用戶共享的功能設計的最小,以便提供共同的安全性。
心理接受度:滿足授權訪問的用戶需求的同時,不應該過度的幹預用戶的工作。
隔離
封裝:基於面型對象的特定形式的隔離。
模塊化:指將安全功能作為獨立的模塊開發,機制設計和實現的模塊化。
分層:使用多個疊加的保護方法來保護信息系統的人員、技術和操作。任何一層失敗,保護依然有效。
最小意外:程序或用戶結構對意外事故的處理響應最小化。(也就是說,對用戶透明的感覺)
4 攻擊面與攻擊樹
攻擊面是有系統中一些列可訪問且可利用的漏洞組成。主要分為:
- 網絡攻擊面:指的是企業網絡、廣域網或是互聯網。包含其中的王闊協議的漏洞:及拒絕服務供給、終端通信鏈路等
- 軟件攻擊面:設計應用程序、工具包或操作系統漏洞。
- 人類攻擊面:主要是系統人員或是外部人員造成的漏洞
攻擊樹是采分支化、層次化表示利用安全漏洞的可能技術集合的一種數據結構。
根節點:攻擊目的。第二層是攻擊的目標,再往下則是攻擊的方式,等。
深度越深則越具體。因此葉節點是具體的攻擊方式。
5 密碼算法
密碼算法與協議分為四個領域:
- 對稱加密
加密任由大小的數據塊或是數據流的內容,包括消息、文件、加密秘鑰和口令
- 非對稱加密
加密曉得數據塊、如加密秘鑰或數字簽名中使用的散列函數值
- 數據完整性算法
保護數據塊的內容不被修改(不能保護,只能是被修改以後可以檢測出來)
- 認證協議
基於密碼算法設計的認證方案,用來認證實體的身份
計算機與網絡安全概念