A. 怎麼檢查系統漏洞
有以下四種檢測技術:
1、基於應用的檢測技術。
它採用被動的、非破壞性的辦法檢查應用軟體包的設置,發現安全漏洞。
2、基於主機的檢測技術。
它採用被動的、非破壞性的辦法對系統進行檢測。通常,它涉及到系統的內核、文件的屬性、操作系統的補丁等。這種技術還包括口令解密、把一些簡單的口令剔除。因此,這種技術可以非常准確地定位系統的問題,發現系統的漏洞。它的缺點是與平台相關,升級復雜。
3、基於目標的漏洞檢測技術。
它採用被動的、非破壞性的辦法檢查系統屬性和文件屬性,如資料庫、注冊號等。通過消息文摘演算法,對文件的加密數進行檢驗。這種技術的實現是運行在一個閉環上,不斷地處理文件、系統目標、系統目標屬性,然後產生檢驗數,把這些檢驗數同原來的檢驗數相比較。一旦發現改變就通知管理員。
基於目標的漏洞檢測技術。它採用被動的、非破壞性的辦法檢查系統屬性和文件屬性,如資料庫、注冊號等。通過消息文摘演算法,對文件的加密數進行檢驗。這種技術的實現是運行在一個閉環上,不斷地處理文件、系統目標、系統目標屬性,然後產生檢驗數,把這些檢驗數同原來的檢驗數相比較。一旦發現改變就通知管理員。
4、基於網路的檢測技術。
採用積極的、非破壞性的辦法來檢驗系統是否有可能被攻擊崩潰。它利用了一系列的腳本模擬對系統進行攻擊的行為,然後對結果進行分析。它還針對已知的網路漏洞進行檢驗。網路檢測技術常被用來進行穿透實驗和安全審計。這種技術可以發現一系列平台的漏洞,也容易安裝。但是,它可能會影響網路的性能。
源代碼掃描
通過檢查程序中不符合安全規則的文件結構、命名規則、函數、堆棧指針等,進而發現程序中可能隱含的安全缺陷。
優缺點:
這種漏洞分析技術需要熟練掌握編程語言,並預先定義出不安全代碼的審查規則,通過表達式匹配的方法檢查源程序代碼。
由於程序運行時是動態變化的,如果不考慮函數調用的參數和調用環境,不對源代碼進行詞法分析和語法分析,就沒有辦法准確地把握程序的語義,因此這種方法不能發現程序動態運行過程中的安全漏洞。
反匯編掃描
反匯編掃描對於不公開源代碼的程序來說往往是最有效的發現安全漏洞的辦法。分析反匯編代碼需要有豐富的經驗,也可以使用輔助工具來幫助簡化這個過程,但不可能有一種完全自動的工具來完成這個過程。
優缺點:
通過反匯編來尋找系統漏洞的好處是,從理論上講,不論多麼復雜的問題總是可以通過反匯編來解決。它的缺點也是顯然的,這種方法費時費力,對人員的技術水平要求很高,同樣不能檢測到程序動態運行過程中產生的安全漏洞。
環境錯誤注入
由程序執行是一個動態過程這個特點,不難看出靜態的代碼掃描是不完備的。
優缺點:
環境錯誤注入是一種比較成熟的軟體測試方法,這種方法在協議安全測試等領域中都已經得到了廣泛的應用。軟體環境錯誤注入分析還依賴於操作系統中已知的安全缺陷,也就是說,對一個軟體進行錯誤注入分析時,要充分考慮到操作系統本身所存在的漏洞,這些操作系統中的安全缺陷可能會影響到軟體本身的安全。