生活中有許多的漏洞很影響人們的使用,有了掃描器可以很大程度的減少漏洞出現(xiàn),方便人們更加方便的使用。
漏洞掃描器和病毒掃描器沒什么不同。兩者的目標(biāo)都是在目標(biāo)中發(fā)現(xiàn)異常的東西。病毒掃描器會(huì)掃描電腦里的本地資源和本地存儲(chǔ)來發(fā)現(xiàn)潛在惡意軟件。漏洞掃描器掃描一些目標(biāo)找出潛在的有漏洞的軟件。兩者都是使用類似的技術(shù)。
基于指紋掃描
掃描器查找可識(shí)別的特征,這些特征由掃描器制作者提供或從公共數(shù)據(jù)庫獲取。比如
- 一個(gè)病毒掃描器會(huì)查找惡意執(zhí)行文件才存在的字節(jié)序列。如果它發(fā)現(xiàn)這串序列,就認(rèn)為發(fā)現(xiàn)了一個(gè)惡意文件
- 一個(gè)網(wǎng)絡(luò)掃描器會(huì)檢測(cè)一定的服務(wù)響應(yīng),來識(shí)別服務(wù)器使用的確切版本。這種方式可以非常簡(jiǎn)單,如響應(yīng)直接攜帶版本信息,也可能非常復(fù)雜,如只能從特定行為上識(shí)別。
基于指紋掃描有如下優(yōu)點(diǎn):
- 非???,因?yàn)槌诵蛄衅ヅ?,并沒有其它操作
- 它是非侵入式,沒有什么副作用
- 實(shí)現(xiàn)簡(jiǎn)單,不需要額外定制代碼,同時(shí)也有公共指紋庫作為基礎(chǔ)來建立自身數(shù)據(jù)庫
但它也有缺點(diǎn):
- 不準(zhǔn)確,指紋不能確保發(fā)現(xiàn)結(jié)果是真實(shí)惡意
- 也沒有絕對(duì)證據(jù)證明上報(bào)結(jié)果是惡意,因?yàn)橹皇瞧ヅ渲讣y,會(huì)有非常多誤報(bào)
- 局限于現(xiàn)有指紋,無法識(shí)別變種,或新惡意軟件
基于行為的掃描(啟發(fā)式掃描)
另外一種掃描惡意內(nèi)容的方法是通過分析目標(biāo)的行為。這意味著掃描器需要清楚目標(biāo)的工作模式。比如:
- 一個(gè)啟發(fā)式病毒掃描器發(fā)現(xiàn)一個(gè)潛在執(zhí)行文件。它會(huì)對(duì)執(zhí)行文件進(jìn)行逆向分析來檢查代碼是干什么的(檢查它的動(dòng)作是否惡意)或者在安全環(huán)境運(yùn)行它來查看結(jié)果
- 一個(gè)web漏洞掃描器發(fā)現(xiàn)一個(gè)允許用戶輸入的標(biāo)簽,它會(huì)嘗試發(fā)送一些意外數(shù)據(jù)來蒙騙目標(biāo),然后分析響應(yīng)檢查是否成功
啟發(fā)式掃描有下列優(yōu)勢(shì):
- 從理想層面,它能夠發(fā)現(xiàn)任意威脅,甚至是定制的0day或1day。這要依賴軟件的先進(jìn)程度
- 它更準(zhǔn)確,因?yàn)樗梢詸z查假設(shè)是否正確。有時(shí)它甚至可以提供POC
但有如下不足:
- 它比基于指紋的方式更占資源,需要的時(shí)間更長(zhǎng)。
- 制造一個(gè)這樣的掃描器非常困難,對(duì)人員要求高,需要對(duì)每種檢查寫專門代碼。
兩全其美的方案
很多專業(yè)掃描器都嘗試使用這兩種掃描方案,但主要掃描方式依賴于進(jìn)行的掃描目標(biāo):
- 病毒掃描器大多主要是基于指紋,一些高端會(huì)有基于行為,但一般是可選。
- 網(wǎng)絡(luò)掃描器大多也是基于指紋,它主要是用于發(fā)現(xiàn)過時(shí)軟件版本和不當(dāng)配置
- web掃描器主要是啟動(dòng)式,適當(dāng)時(shí)候會(huì)用指紋
通過上面所說的我們對(duì)掃描器有了簡(jiǎn)單的了解,以后遇到相似的問題也可以通過使用掃描器來解決一些問題。