① 漏洞檢測的幾種方法
漏洞檢測可以分為對已知漏洞的檢測和對未知漏洞的檢測。
已知漏洞的檢測主要是通過安全掃描技術,檢測系統是否存在已公布的安全漏洞;而未知漏洞檢測的目的在於發現軟體系統中可能存在但尚未發現的漏洞。
現有的未知漏洞檢測技術有源代碼掃描、反匯編掃描、環境錯誤注入等。
1、源代碼掃描
源代碼掃描主要針對開放源代碼的程序,通過檢查程序中不符合安全規則的文件結構、命名規則、函數、堆棧指針等,進而發現程序中可能隱含的安全缺陷。
2、反匯編掃描
反匯編掃描對於不公開源代碼的程序來說往往是最有效的發現安全漏洞的辦法。分析反匯編代碼需要有豐富的經驗,也可以使用輔助工具來幫助簡化這個過程,但不可能有一種完全自動的工具來完成這個過程。
3、環境錯誤注入
由程序執行是一個動態過程這個特點,不難看出靜態的代碼掃描是不完備的。環境錯誤注入是一種比較成熟的軟體測試方法,這種方法在協議安全測試等領域中都已經得到了廣泛的應用。
錯誤注入,即在軟體運行的環境中故意注入人為的錯誤,並驗證反應——這是驗證計算機和軟體系統的容錯性、可靠性的一種有效方法。錯誤注入方法就是通過選擇一個適當的錯誤模型試圖觸發程序中包含的安全漏洞。