萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

網絡系統安全漏洞分類研究(下):成因、嚴重度與利用方式深度解析

按漏洞成因分類:多層次抽象的挑戰

依據漏洞成因進行分類,是漏洞研究中最令人頭疼的環節。同一漏洞在不同抽象層次上可能歸入不同類別。以經典的 ps 競爭條件漏洞為例:在最低層次,它屬於參數驗證錯誤,因連續的系統調用未檢查是否處理同一對象;稍高層次看,是同步或競爭條件錯誤;更高層次則是邏輯錯誤,因對象可能在使用過程中被刪除。迄今仍無完美分類方案,連 SecurityFocus 的分類也難令人滿意。現將主流分類大致歸納為七大類:

一、輸入驗證錯誤

絕大多數緩衝區溢出漏洞與 CGI 類漏洞,皆因未對用戶輸入數據的合法性進行適當檢查。

二、訪問驗證錯誤

程序的訪問控制邏輯存在可利用缺陷,導致攻擊者可繞過權限檢查。早期 AIX 的 rlogin 漏洞即屬典型案例。

三、競爭條件

程序在處理文件等實體時,時序與同步機制存在缺陷,形成「機會窗口」讓攻擊者施加外部影響。早期 Solaris 系統的 ps 命令即存在此類漏洞:ps 執行時會在 /tmp 生成基於 PID 的臨時文件,隨後將其 chown 為 root 並改名為 ps_data。若攻擊者在 ps 運行期間創建同名臨時文件並指向敏感文件,ps 執行後即可任意修改該 root 權限文件,從而獲取 root 權限。

四、意外情況處置錯誤

程序實現邏輯未考慮到應被處理的異常情況。大多數 /tmp 目錄下盲目跟隨符號鏈接覆蓋文件的漏洞屬此類。例如 SCO UNIX OpenServer 的 /etc/sysadm.d/bin/userOsa 存在盲目覆蓋調試日志文件問題,文件名固定,攻擊者可將文件名指向特權文件,徹底破壞系統。

五、設計錯誤

此類別較為籠統。嚴格說來,絕多數漏洞根源皆為設計缺陷,故暫時無法歸入其他類別的漏洞,先歸於此。

六、配置錯誤

源於系統或應用配置失誤:軟件安裝路徑錯誤、配置參數錯誤、訪問權限設置不當、安全策略錯誤等。

七、環境錯誤

由環境變量錯誤或惡意設置引發。攻擊者可通過重置 Shell 內部分隔符 IFS、轉義字符或其他環境變量,誘導特權程序執行攻擊者指定代碼。RedHat Linux 的 dump 程序漏洞即屬此類。

漏洞威脅類型與錯誤類型的關聯

兩者存在明確對應關係:輸入驗證錯誤幾乎涉及所有威脅類型;設計錯誤與配置錯誤同樣可導致多種威脅。圖示已省略。

漏洞嚴重性分級:三級制與實戰考量

一般依威脅類型劃分三級:

  • 高危:遠程/本地獲取管理員權限。
  • 中危:普通用戶權限提升、讀取受限文件、遠程/本地拒絕服務。
  • 低危:遠程非授權文件存取、口令恢復、欺騙、服務器信息洩露。

但實戰中須具體分析:針對流行系統的遠程拒絕服務漏洞應升為高危;廣泛使用軟件存在弱口令或口令恢復漏洞,應歸為中高危。

漏洞利用方式分類:攻擊者的四種定位

漏洞利用要求攻擊者處於網絡空間特定位置,分四類:

  1. 物理接觸:攻擊者需物理接觸目標系統。
  2. 主機模式:攻擊方為客戶機,目標為主機。如利用守護進程遠程溢出漏洞獲取額外訪問權。
  3. 客戶機模式:用戶訪問惡意主機時遭受攻擊。如 IE 瀏覽器漏洞讓惡意網站在客戶機執行代碼或讀寫文件。
  4. 中間人模式:攻擊者處於可觀察/截獲雙機通信的位置。明文傳輸敏感信息易被竊取;對公鑰加密實現,攻擊者可截獲並替換密鑰偽裝節點繞過驗證。

本文對網絡安全漏洞作粗淺分類,遠非完美方案,歡迎交流心得。

參考資料:
UC Davis 漏洞分類項目

copyright © 萬盛學電腦網 all rights reserved