一種掃描漏洞的方法、裝置及電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù),尤其涉及一種掃描漏洞的方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的高速發(fā)展,互聯(lián)網(wǎng)絡(luò)已逐漸成為人們工作生活中不可或缺的一部分。但互聯(lián)網(wǎng)絡(luò)在帶給人們便利的同時(shí),由于互聯(lián)網(wǎng)絡(luò)應(yīng)用環(huán)境的復(fù)雜性以及互聯(lián)網(wǎng)絡(luò)應(yīng)用程序的多樣性,人們?cè)谑褂没ヂ?lián)網(wǎng)絡(luò)的過(guò)程中,容易受到電腦病毒、木馬等網(wǎng)絡(luò)攻擊威脅,使得用戶(hù)信息泄露或造成較大的物質(zhì)損失。
[0003]為了提升互聯(lián)網(wǎng)絡(luò)的安全性,目前提出了在客戶(hù)端和服務(wù)器以及兩者之間的互聯(lián)網(wǎng)絡(luò)進(jìn)行漏洞掃描的方法,由于客戶(hù)端實(shí)現(xiàn)漏洞掃描易于實(shí)現(xiàn),因而,開(kāi)發(fā)者將漏洞掃描檢測(cè)代碼設(shè)置在客戶(hù)端,包括獨(dú)立的客戶(hù)端漏洞掃描以及遠(yuǎn)程服務(wù)器漏洞掃描。其中,客戶(hù)端漏洞掃描通過(guò)在客戶(hù)端安裝漏洞掃描軟件,對(duì)客戶(hù)端進(jìn)行漏洞掃描,而遠(yuǎn)程服務(wù)器漏洞掃描是通過(guò)在客戶(hù)端構(gòu)造包含有效載荷(payload)的漏洞掃描請(qǐng)求報(bào)文,向服務(wù)器發(fā)送,依據(jù)服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文來(lái)確定服務(wù)器是否存在漏洞。
[0004]但該掃描漏洞的方法,在對(duì)服務(wù)器進(jìn)行漏洞掃描時(shí),由于客戶(hù)端不能修改漏洞掃描請(qǐng)求報(bào)文中的請(qǐng)求參數(shù),需要在不同的客戶(hù)端中構(gòu)造漏洞掃描請(qǐng)求報(bào)文,以依據(jù)服務(wù)器返回的各漏洞掃描響應(yīng)報(bào)文來(lái)確定服務(wù)器若存在漏洞,存在的漏洞是否相同,使得實(shí)現(xiàn)服務(wù)器漏洞掃描所需的時(shí)間較長(zhǎng),漏洞掃描效率較低;同時(shí),由于客戶(hù)端預(yù)先設(shè)置的漏洞防范機(jī)制,使得客戶(hù)端在構(gòu)造漏洞掃描請(qǐng)求報(bào)文時(shí),服務(wù)器中存在的漏洞在客戶(hù)端中被漏洞防范機(jī)制修復(fù),從而導(dǎo)致服務(wù)器中存在的該漏洞被漏檢,例如,在客戶(hù)端構(gòu)造漏洞掃描請(qǐng)求報(bào)文請(qǐng)求服務(wù)器下發(fā)動(dòng)態(tài)驗(yàn)證碼時(shí),由于客戶(hù)端中預(yù)先設(shè)置的漏洞防范機(jī)制,使得客戶(hù)端只能在預(yù)定的時(shí)間閾值內(nèi)申請(qǐng)一次動(dòng)態(tài)驗(yàn)證碼,而實(shí)際上,服務(wù)器可能存在只要接收到請(qǐng)求動(dòng)態(tài)驗(yàn)證碼的漏洞掃描請(qǐng)求報(bào)文,就反饋動(dòng)態(tài)驗(yàn)證碼的漏洞,導(dǎo)致該漏洞無(wú)法通過(guò)服務(wù)器反饋的漏洞掃描請(qǐng)求報(bào)文來(lái)確定,降低了漏洞掃描的準(zhǔn)確率,導(dǎo)致漏洞掃描效率不高。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實(shí)施例提供一種掃描漏洞的方法、裝置及電子設(shè)備,提高漏洞掃描效率。
[0006]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0007 ]第一方面,本發(fā)明實(shí)施例提供一種掃描漏洞的方法,包括:
[0008]截獲客戶(hù)端將要發(fā)送至服務(wù)器的各漏洞掃描請(qǐng)求報(bào)文;
[0009]從截獲的各漏洞掃描請(qǐng)求報(bào)文中,篩選出采用預(yù)先設(shè)置的傳輸協(xié)議傳輸?shù)穆┒磼呙枵?qǐng)求報(bào)文;
[0010]對(duì)篩選出的漏洞掃描請(qǐng)求報(bào)文中的報(bào)文體進(jìn)行解析,編輯解析的報(bào)文體中的請(qǐng)求參數(shù)值;
[0011]將經(jīng)過(guò)編輯的報(bào)文體封裝為待發(fā)送漏洞掃描請(qǐng)求報(bào)文,按照預(yù)先設(shè)置的時(shí)間周期向服務(wù)器發(fā)送,并接收從所述服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,以確定所述服務(wù)器是否存在漏洞。
[0012]優(yōu)選地,所述篩選出采用預(yù)先設(shè)置的傳輸協(xié)議傳輸?shù)穆┒磼呙枵?qǐng)求報(bào)文包括:
[0013]解析截獲的漏洞掃描請(qǐng)求報(bào)文的報(bào)文頭,如果解析得到的報(bào)文頭中包含的相關(guān)字段為預(yù)先設(shè)置的傳輸協(xié)議字段,存儲(chǔ)所述漏洞掃描請(qǐng)求報(bào)文。
[0014]優(yōu)選地,在所述篩選出采用預(yù)先設(shè)置的傳輸協(xié)議傳輸?shù)穆┒磼呙枵?qǐng)求報(bào)文之后,所述方法進(jìn)一步包括:
[0015]對(duì)篩選出的漏洞掃描請(qǐng)求報(bào)文按照應(yīng)用功能去重,獲取每一應(yīng)用功能對(duì)應(yīng)的一漏洞掃描請(qǐng)求報(bào)文進(jìn)行存儲(chǔ)。
[0016]優(yōu)選地,所述對(duì)篩選出的漏洞掃描請(qǐng)求報(bào)文中的報(bào)文體進(jìn)行解析,編輯解析的報(bào)文體中的請(qǐng)求參數(shù)值包括:
[0017]解析提取的漏洞掃描請(qǐng)求報(bào)文,得到解析的報(bào)文頭以及報(bào)文體,依據(jù)所述解析的報(bào)文頭判斷客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式:
[0018]如果所述客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式為get方式,編輯報(bào)文體的統(tǒng)一資源定位符中的請(qǐng)求參數(shù)值;
[0019]如果所述客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式為post方式,編輯報(bào)文體的包中的請(qǐng)求參數(shù)值。
[0020]優(yōu)選地,所述接收從所述服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,以確定所述服務(wù)器是否存在漏洞包括:
[0021]提取服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,解析所述漏洞掃描響應(yīng)報(bào)文后提取特征字詞,與預(yù)先設(shè)置的漏洞庫(kù)中的特征字詞進(jìn)行匹配,以確定所述服務(wù)器是否存在漏洞。
[0022]優(yōu)選地,所述接收從所述服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,以確定所述服務(wù)器是否存在漏洞包括:
[0023]提取服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,與預(yù)先設(shè)置的應(yīng)用功能對(duì)應(yīng)的標(biāo)準(zhǔn)請(qǐng)求響應(yīng)報(bào)文進(jìn)行匹配,以確定所述服務(wù)器是否存在漏洞。
[0024]優(yōu)選地,所述預(yù)先設(shè)置的傳輸協(xié)議為超文本傳輸協(xié)議。
[0025]第二方面,本發(fā)明實(shí)施例提供一種掃描漏洞的裝置,包括:截獲模塊、提取模塊、編輯模塊以及漏洞掃描模塊,其中,
[0026]截獲模塊,用于截獲客戶(hù)端將要發(fā)送至服務(wù)器的各漏洞掃描請(qǐng)求報(bào)文;
[0027]提取模塊,用于從截獲的各漏洞掃描請(qǐng)求報(bào)文中,篩選出采用預(yù)先設(shè)置的傳輸協(xié)議傳輸?shù)穆┒磼呙枵?qǐng)求報(bào)文;
[0028]編輯模塊,用于對(duì)篩選出的漏洞掃描請(qǐng)求報(bào)文中的報(bào)文體進(jìn)行解析,編輯解析的報(bào)文體中的請(qǐng)求參數(shù)值;
[0029]漏洞掃描模塊,用于將經(jīng)過(guò)編輯的報(bào)文體封裝為待發(fā)送漏洞掃描請(qǐng)求報(bào)文,按照預(yù)先設(shè)置的時(shí)間周期向服務(wù)器發(fā)送,并接收從所述服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,以確定所述服務(wù)器是否存在漏洞。
[0030 ]優(yōu)選地,所述提取模塊包括:解析單元、字段判斷單元以及存儲(chǔ)單元,其中,
[0031]解析單元,用于解析截獲的漏洞掃描請(qǐng)求報(bào)文的報(bào)文頭;
[0032]字段判斷單元,如果解析得到的報(bào)文頭中包含的相關(guān)字段為預(yù)先設(shè)置的傳輸協(xié)議字段,通知存儲(chǔ)單元;
[0033]存儲(chǔ)單元,用于存儲(chǔ)所述漏洞掃描請(qǐng)求報(bào)文。
[0034]優(yōu)選地,所述提取模塊進(jìn)一步包括:
[0035]去重單元,用于接收字段判斷單元輸出的通知,對(duì)篩選出的漏洞掃描請(qǐng)求報(bào)文按照應(yīng)用功能去重,獲取每一應(yīng)用功能對(duì)應(yīng)的一漏洞掃描請(qǐng)求報(bào)文,輸出至存儲(chǔ)單元。
[0036]優(yōu)選地,所述編輯模塊包括:報(bào)文解析單元、請(qǐng)求響應(yīng)方式判斷單元、請(qǐng)求參數(shù)第一編輯單元以及請(qǐng)求參數(shù)第二編輯單元,其中,
[0037]報(bào)文解析單元,用于解析提取的漏洞掃描請(qǐng)求報(bào)文,得到解析的報(bào)文頭以及報(bào)文體;
[0038]請(qǐng)求響應(yīng)方式判斷單元,用于依據(jù)所述解析的報(bào)文頭判斷客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式:
[0039]如果所述客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式為get方式,通知請(qǐng)求參數(shù)第一編輯單元;如果所述客戶(hù)端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)的方式為post方式,通知請(qǐng)求參數(shù)第二編輯單元;
[0040]請(qǐng)求參數(shù)第一編輯單元,用于接收通知,編輯報(bào)文體的統(tǒng)一資源定位符中的請(qǐng)求參數(shù)值;
[0041]請(qǐng)求參數(shù)第二編輯單元,用于接收通知,編輯報(bào)文體的包中的請(qǐng)求參數(shù)值。
[0042]優(yōu)選地,所述漏洞掃描模塊包括:封裝單元、發(fā)送單元、特征提取單元以及特征匹配單元,其中,
[0043]封裝單元,用于將經(jīng)過(guò)編輯的報(bào)文體封裝為待發(fā)送漏洞掃描請(qǐng)求報(bào)文;
[0044]發(fā)送單元,用于按照預(yù)先設(shè)置的時(shí)間周期向服務(wù)器發(fā)送所述漏洞掃描請(qǐng)求報(bào)文;
[0045]特征提取單元,用于提取服務(wù)器返回的漏洞掃描響應(yīng)報(bào)文,解析所述漏洞掃描響應(yīng)報(bào)文后提取特征字詞;
[0046]特征匹配單元,用于將提取的特征字詞與預(yù)先設(shè)置的漏洞庫(kù)中的特征字詞進(jìn)行匹配,以確定所述服務(wù)器是否存在漏洞。
[0047]優(yōu)選地,所述漏洞掃描模塊包括:封裝單元、發(fā)送單元以及報(bào)文匹配單元,其中,
[0