文章目錄
1/2. 基本概念/術語
CIA三元組: 完整性,可用性,加密性
OSI安全體系結構
信息安全三方面: 安全攻擊,安全機制,安全服務
安全威脅/攻擊: 被動攻擊(竊聽\流量分析攻擊), 主動攻擊(對數據處理(阻斷,攔截,篡改,僞造等))
安全機制實現安全服務,安全服務實現安全策略
互聯網安全術語(約定) RFC4949
網絡安全模型: 網絡加密安全模型(參與者,信息通道,安全機制)和網絡訪問安全模型(攻擊者,訪問信道,安全機制,資源系統)(看PPT)
3. 密碼技術應用
密碼學基本概念
密碼編碼學+密碼分析學(破解)
密碼破解的攻擊比較少
對稱密鑰加密算法
組成部分
分組加密(塊加密)\流加密
對稱加密算法:
DES\AES\3DES
安全性很大程度上取決於密鑰長度
密碼系統的兩個基本要素是加密算法和密鑰管理
4. 公鑰體系
Diffie-Hellman算法:
利用大素數求因數極其困難,保障安全性.
缺點: 中間人攻擊: 對數據進行僞造,從而得到兩個密鑰,冒充B與A通信,冒充A與B通信
解決方法: 公鑰證書,數字簽名
對稱密鑰問題:
- 用戶增加時,數量過多
- 密鑰管理複雜,脆弱性
- 不支持身份認證
非對稱式加密方式
兩個密鑰:
- 公開密鑰:用於加密消息,驗證簽名
- 私有密鑰:用於解密消息,數字簽名
公鑰加密\解密慢
公鑰算法(如RSA算法)應用:
加\解密
數字簽名
密鑰交換
5.消息認證技術1
消息認證: 對受到的消息進行驗證,證明確實可信(來自聲稱的發送方), 並且沒有被修改過(完整性).
三種方式:
消息加密(用整個消息的密文作爲認證標識)
消息認證碼MAC(用一個公開函數,加上一個密鑰產生固定長度的值作爲認證標識)
HMAC(hash + MAC): 密鑰填充 + 計算兩遍散列值
散列函數(一個公開函數將任意長度的消息映射到一個固定長度的散列值,作爲認證標識): 利用單向散列函數進行消息認證(對稱加密, 公鑰加密, 祕密值加密)
安全散列函數的特性: 無長度限制, 快速性, 單向性, 抗碰撞性, 雪崩性
針對生日攻擊的安全條件, 消息摘要長度大於128比特.
數字簽名可以實現消息認證,但是太複雜/太慢,所以用更快的消息認證(散列函數快)
6.消息認證技術2
身份認證: 口令脆弱性, 所以加入公開的salt值s(散列口令)
MAC是一種加鹽的哈希函數
中間人攻擊: 若通信雙方沒有任何先決條件,則一定可以有這種攻擊(對策,加入先決條件)
"挑戰"碼(使用隨機數)
令牌協議: 挑戰-相應協議 (雙因素認證)
重放攻擊: 記錄當前的通信流量, 以後再發送. (對策: 增加時間戳保證通信的唯一性, 或者使用隨機數避免重放攻擊)
單點登錄(用戶只認證一次) Kerberos實現了
7. 密鑰管理
密鑰管理技術
基於對稱加密的密鑰管理 Kerberos
基於第三方的加密鏈路分發密鑰, 密鑰分發中心KDC
基於對成加密但是N個用戶只需要N個密鑰, 安全性卻決於可信第三方, 雙向驗證.
適用於較小規模應用場景
KDC兩個服務: Authentication Server認證服務(生成TGT票據許可票據), Ticket Granting Server票據授予服務(生成兩個主體之間通信的票據)
ticket票據\Authenticator認證記錄(使得TGT可多次使用+避免重放攻擊)\Credentials憑證(一個ticket+密鑰)
工作流程
- AS_REQ, 用戶像AS發送消息(包含時間戳),獲取TGT
- AS_REP, AS返回時間戳+新的AS會話密鑰+TGT+AS和TGS的共享密鑰
- TFS_REQUEST, 用戶像TGS發送消息(包含時間戳+會話密鑰加密的認證記錄),獲取服務票據
- TGS_REP, TGS返回 TGS私鑰加密的ticket+AS會話密鑰加密的訪問會話密鑰
- AP_REQ, 用戶向服務器發送消息(ticket+TGS會話密鑰加密的認證記錄)
- AP_REPLY, 需要雙向認證時, 服務器向用戶發送證明自己是用戶期待服務器的消息
不能解決密碼猜測和拒絕訪問(DoS)等攻擊
基於非對稱加密的密鑰管理 PKI
樹型結構,根CA爲PAA(有自簽名證書),對下面的CA簽名,層層向下
基本組件: RA(把用戶身份和它的密鑰綁定起來) + CA(證書籤發) + 證書庫(保存證書,公開訪問)
證書格式(公鑰信息+簽發人唯一標識符+個體唯一標識符+擴展域+簽名)
認證: 數字簽名
完整性: 數字簽名+MAC(消息認證碼)
保密性: 公鑰分發隨機密鑰, 密鑰加解密
不可否認(抗抵賴): 數字簽名(發送方), 收條+數字簽名(接收方)
8. 訪問控制與授權
訪問控制 = 認證 + 授權
訪問控制策略:
自主訪問控制(DAC): 資源所有者規定規則
強制訪問控制(MAC): 用戶級別(軍用)
基於角色的訪問控制: 教師-學生(商用)
基於屬性的訪問控制: 基於用戶\環境\被訪問資源, 動態的(商用)
Lampson訪問控制矩陣
訪問控制列表(ACL), 訪問能力列表(C-Lists)
混淆代理人問題: “我用python讀寫我沒有權限的文件”
建立逐級授權機制, “繼承”
基於角色的訪問控制: RBAC模型
用戶屬於角色, 角色擁有權限
組 = 用戶集, 角色 = 用戶集 + 權限集
最小權限原則, 責任分離原則, 數據抽象規則
基於屬性的訪問控制: ABAC模型
隱蔽信道: 高級別向低級別透露信息.(比如通過文件的創建(1)和刪除(0), ACK messages等)
降低隱蔽信道的容量
CAPTCHA驗證碼, 區分人和機器
reCAPTCHA驗證碼, 兩個驗證碼(一個有GT, 若正確則認爲另一個(無GT)也正確)
統一身份認證CAS(一種單點登陸SSO)
CAS Client(代替用戶請求), CAS Server(響應)
思想和過程類似於Kerberos
OAuth(一種單點登陸SSO)
用第三方賬號註冊/登錄其他網站等, 向第三方賬號申請令牌, 之後都是用令牌認證身份.
9. 防火牆
防火牆:
包過濾防火牆(工作在網絡層)(過濾條件: IP地址, 端口, 標誌位, 流向)
基於狀態檢測的包過濾防火牆(工作在傳輸層)(狀態: TCP連接狀態(在三次握手建立連接的過程中的狀態))
應用層網關(工作在應用層)
鏈路級網關(工作在傳輸層)
默認轉發策略和默認丟棄策略
靜態包過濾: 不檢查數據區, 只檢測地址區
例1: SMTP協議(只允許電子郵件流量出入): 服務器使用TCP, 端口25.
請求響應包限定端口, 協議; 響應包還要檢查ACK,源端口號
例2: 子網包過濾規則(不允許另一個局域網訪問, 但允許其中一個子網可以訪問): 檢查IP地址
例3: 基於telnet服務的防火牆規則: 服務器端口號固定(小), 客戶端不固定(>1023)
例4: Ftp文件傳輸協議: 命令通道和數據通道分離. 規則較複雜.
簡單快速但不夠安全, 規則設置較難
IP地址欺騙攻擊, 源路由攻擊, 細小分段攻擊
狀態檢測防火牆: 增加狀態state, 可以記憶TCP連接, 標誌位
可以防止TCP ACK掃描攻擊
應用層網關: 中繼所有的應用, 有完整的應用層視圖, 攻擊者必須與網關交互.但兼容性不好,慢
鏈路級網關: SOCKS, 低開銷
防火牆侷限性: 加密旁路, 內部威脅, 無線網絡, 惡意軟件
防火牆網絡結構: 防禦(堡壘)主機結構, 3-Homed結構(含有非軍事區DMZ/隔離區), 多層次結構(多層防火牆, 之間是非軍事區DMZ, 成本高)
10. 入侵檢測系統IDS
入侵檢測系統IDS
檢測出外部入侵行爲+內部用戶的未授權活動
在防火牆和內網間
基於網絡入侵檢測系統:
使用原始網絡資源包作爲數據源, 利用混雜模式下(都接受)的網絡適配器監視和分析
通常採用特徵檢測的方法
無法檢測系統級的入侵和加密的數據包
基於主機入侵檢測系統:
當文件發送變化時, 將新記錄條目和攻擊標記比較.
依賴於服務器固有的日誌與監視能力, 日誌文件易修改
代價較大
混合IDS: 構建主動防禦體系, 兼有上述兩種的能力
信息收集: 原始數據包+日誌, 網絡檢測器(放在主要的網絡中樞\邊界防火牆之外\邊界防火牆之內), 主機檢測器(放在主機操作系統, 應用程序)
信息分析: 異常檢測(異常檢測器, 基於行爲), 誤用檢測(入侵模式庫, 基於特徵)
告警和響應: 修改防火牆配置等
入侵防護系統IPS
基於主機的IPS--HIPS
基於網絡的IPS--NIPS
混合式IPS
IDS與IPS的區別是什麼?https://blog.csdn.net/chen3888015/article/details/79695190?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
蜜罐: 充當誘餌的脆弱系統, 得到攻擊方的攻擊手段. 低交互蜜罐\高交互蜜罐(更真實)\蜜網
11. 安全協議IP Sec、TLS
網絡層安全協議: IP Sec(應用: IP Sec VPN)
保證數據機密性, 數據完整性, 數據來源認證, 防重放攻擊, 但過於複雜
組成:
Internet密鑰交換協議IKE
封裝安全負載和認證報頭: ESP對整個IP加密 或者 AH只加密頭部, AH能防止篡改, 不能防止竊聽.
傳輸層安全協議 SSL/TLS
web服務器和瀏覽器之間明文通信,需要加密
SSL: 減少竊聽風險(加密), 篡改風險(校驗), 冒充風險(證書)
介於應用層和傳輸層之間
12. 應用層安全協議
應用層安全協議:
HTTPS
Web安全
服務器端
SQL注入攻擊
跨站域請求僞造CSRF
跨站腳本攻擊XSS
客戶端
會話劫持
13. 協議脆弱性
網絡協議脆弱性
APR欺騙
IP欺騙
TCP會話劫持
拒絕服務攻擊DOS: ICMP攻擊+SYN洪泛攻擊+Smurf攻擊(放大攻擊)