取消
清空記錄
歷史記錄
清空記錄
歷史記錄
一般情況下,安全掃描器具備三項(xiàng)功能,下面上海觀初帶大家一起看看吧:
??● 發(fā)現(xiàn)Internet上的一個(gè)網(wǎng)絡(luò)或者一臺(tái)主機(jī);
??● 一旦發(fā)現(xiàn)一臺(tái)主機(jī),能發(fā)現(xiàn)其上所運(yùn)行的服務(wù)類型;
??● 通過對(duì)這些服務(wù)的測(cè)試,可以發(fā)現(xiàn)存在的已知漏洞,并給出修補(bǔ)建議。
??源代碼掃描
??源代碼掃描主要針對(duì)開放源代碼的程序,通過檢查程序中不符合安全規(guī)則的文件結(jié)構(gòu)、命名規(guī)則、函數(shù)、堆棧指針等,進(jìn)而發(fā)現(xiàn)程序中可能隱含的安全缺陷。這種漏洞分析技術(shù)需要熟練掌握編程語(yǔ)言,并預(yù)先定義出不安全代碼的審查規(guī)則,通過表達(dá)式匹配的方法檢查源程序代碼。
??由于程序運(yùn)行時(shí)是動(dòng)態(tài)變化的,如果不考慮函數(shù)調(diào)用的參數(shù)和調(diào)用環(huán)境,不對(duì)源代碼進(jìn)行詞法分析和語(yǔ)法分析,就沒有辦法準(zhǔn)確地把握程序的語(yǔ)義,因此這種方法不能發(fā)現(xiàn)程序動(dòng)態(tài)運(yùn)行過程中的安全漏洞。
??反匯編掃描
??反匯編掃描對(duì)于不公開源代碼的程序來(lái)說往往是很有效的發(fā)現(xiàn)安全漏洞的辦法。分析反匯編代碼需要有豐富的經(jīng)驗(yàn),也可以使用輔助工具來(lái)幫助簡(jiǎn)化這個(gè)過程,但不可能有一種完全自動(dòng)的工具來(lái)完成這個(gè)過程。例如,利用一種的反匯編程序IDA(www.datarescue.com)就可以得到目標(biāo)程序的匯編腳本語(yǔ)言,再對(duì)匯編出來(lái)的腳本語(yǔ)言進(jìn)行掃描,進(jìn)而識(shí)別一些可疑的匯編代碼序列。
??通過反匯編來(lái)尋找系統(tǒng)漏洞的好處是,從理論上講,不論多么復(fù)雜的問題總是可以通過反匯編來(lái)解決。它的缺點(diǎn)也是顯然的,這種方法費(fèi)時(shí)費(fèi)力,對(duì)人員的技術(shù)水平要求很高,同樣不能檢測(cè)到程序動(dòng)態(tài)運(yùn)行過程中產(chǎn)生的安全漏洞。
??環(huán)境錯(cuò)誤注入
??由程序執(zhí)行是一個(gè)動(dòng)態(tài)過程這個(gè)特點(diǎn),不難看出靜態(tài)的代碼掃描是不完備的。環(huán)境錯(cuò)誤注入是一種比較成熟的軟件測(cè)試方法,這種方法在協(xié)議安全測(cè)試等領(lǐng)域中都已經(jīng)得到了很好的應(yīng)用。
??系統(tǒng)通常由“應(yīng)用程序”和“運(yùn)行環(huán)境”組成。由于各種原因,程序員總是假定認(rèn)為他們的程序會(huì)在正常環(huán)境中正常地運(yùn)行。當(dāng)這些假設(shè)成立時(shí),他們的程序當(dāng)然是正確運(yùn)行的。但是,由于作為共享資源的環(huán)境,常常被其他主體所影響,尤其是惡意的用戶,這樣,程序員的假設(shè)就可能是不正確的。程序是否能夠容忍環(huán)境中的錯(cuò)誤是影響程序健壯性的一個(gè)關(guān)鍵問題。
??錯(cuò)誤注入,即在軟件運(yùn)行的環(huán)境中故意注入人為的錯(cuò)誤,并驗(yàn)證反應(yīng)——這是驗(yàn)證計(jì)算機(jī)和軟件系統(tǒng)的容錯(cuò)性、可靠性的一種有效方法。在測(cè)試過程中,錯(cuò)誤被注入到環(huán)境中,所以產(chǎn)生了干擾。換句話,在測(cè)試過程中干擾軟件運(yùn)行的環(huán)境,觀察在這種干擾情況下程序如何反應(yīng),是否會(huì)產(chǎn)生安全事件,如果沒有,就可以認(rèn)為系統(tǒng)是安全的。概言之,錯(cuò)誤注入方法就是通過選擇一個(gè)適當(dāng)?shù)腻e(cuò)誤模型試圖觸發(fā)程序中包含的安全漏洞。
??在真實(shí)情況下,觸發(fā)某些不正常的環(huán)境是很困難的,知道如何觸發(fā)依賴于測(cè)試者的有關(guān)“環(huán)境”方面的知識(shí)。所以,在異常的環(huán)境下測(cè)試軟件安全變得困難。錯(cuò)誤注入技術(shù)提供了一種模仿異常環(huán)境的方法,而不必關(guān)心實(shí)際中這些錯(cuò)誤如何發(fā)生。
??軟件環(huán)境錯(cuò)誤注入分析還依賴于操作系統(tǒng)中已知的安全缺陷,也就是說,對(duì)一個(gè)軟件進(jìn)行錯(cuò)誤注入分析時(shí),要充分考慮到操作系統(tǒng)本身所存在的漏洞,這些操作系統(tǒng)中的安全缺陷可能會(huì)影響到軟件本身的安全。所以選擇一個(gè)適當(dāng)?shù)腻e(cuò)誤模型來(lái)觸發(fā)程序中所隱含的安全漏洞是非常重要的。我們需要選擇一個(gè)適當(dāng)?shù)腻e(cuò)誤模型,能夠高水平地模擬真實(shí)的軟件系統(tǒng),然后分析漏洞數(shù)據(jù)庫(kù)記錄的攻擊者利用漏洞的方法,把這些利用變?yōu)榄h(huán)境錯(cuò)誤注入,從而縮小在測(cè)試過程中錯(cuò)誤注入和真實(shí)發(fā)生的錯(cuò)誤之間的差異。
??總結(jié)
??這里介紹的幾種漏洞檢測(cè)的方法,其中安全掃描技術(shù)主要是針對(duì)已知漏洞的檢測(cè),后面三種主要是針對(duì)未知漏洞的檢測(cè)。對(duì)于未知漏洞的檢測(cè),源代碼掃描(包括反匯編掃描)屬于靜態(tài)檢測(cè)技術(shù),而環(huán)境錯(cuò)誤注入法屬于動(dòng)態(tài)檢測(cè)技術(shù)。
??另外,換個(gè)視角來(lái)看,源代碼掃描(包括反匯編掃描)類似于白盒測(cè)試,它檢測(cè)軟件系統(tǒng)源碼中可能存在的問題;環(huán)境錯(cuò)誤注入方法類似于黑盒測(cè)試,它不關(guān)注代碼的問題,而是通過對(duì)程序運(yùn)行環(huán)境的干擾,關(guān)注運(yùn)行程序?qū)τ谧⑷脲e(cuò)誤的反應(yīng),以便從程序外圍發(fā)現(xiàn)問題。
??漏洞檢測(cè)的目的在于發(fā)現(xiàn)漏洞,修補(bǔ)漏洞,進(jìn)而從根本上提高信息系統(tǒng)的安全性,以致從根本上減少安全事件的發(fā)生。
以上就是上海觀初和大家分享的內(nèi)容,希望能夠幫助到大家。還有想了解的持續(xù)關(guān)注我們!
相關(guān)新聞