1.一種基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其步驟包括:
1)從權(quán)威漏洞庫(kù)中獲取所有安全漏洞對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容,并從上述網(wǎng)頁(yè)內(nèi)容中提取得到安全漏洞描述語(yǔ)句集、非安全漏洞描述語(yǔ)句集、PoC程序描述語(yǔ)句集和非PoC程序描述語(yǔ)句集;
2)將步驟1)中得到的4個(gè)描述語(yǔ)句集作為訓(xùn)練樣本,提取訓(xùn)練樣本的特征集,基于深度學(xué)習(xí)框架,建立網(wǎng)頁(yè)分類器和Comment分類器,網(wǎng)頁(yè)分類器用于判斷輸入內(nèi)容是否與安全漏洞相關(guān),Comment分類器用于判斷輸入內(nèi)容是否在描述PoC程序;
3)根據(jù)待測(cè)安全漏洞的特征,從相應(yīng)權(quán)威漏洞庫(kù)獲取該待測(cè)安全漏洞的網(wǎng)頁(yè)內(nèi)容,輸入步驟2)建立的網(wǎng)頁(yè)分類器和Comment分類器,提取待測(cè)安全漏洞的PoC程序。
2.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,所述權(quán)威漏洞庫(kù)包括:美國(guó)國(guó)家信息安全漏洞庫(kù)NVD、中國(guó)國(guó)家信息安全漏洞庫(kù)CNNVD和烏云漏洞庫(kù)WooYun。
3.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟1)具體包括以下步驟:
1-1)從權(quán)威漏洞庫(kù)獲取針對(duì)所有安全漏洞的安全漏洞網(wǎng)頁(yè)集;
1-2)對(duì)步驟1-1)獲取的安全漏洞網(wǎng)頁(yè)集中的所有網(wǎng)頁(yè)內(nèi)容做分句處理,得到語(yǔ)句集;
1-3)在步驟1-2)得到的語(yǔ)句集中,將描述內(nèi)容與安全漏洞相關(guān)的語(yǔ)句歸入安全漏洞描述語(yǔ)句集,與安全漏洞無(wú)關(guān)的語(yǔ)句歸入非安全漏洞描述語(yǔ)句集;將在描述PoC程序的語(yǔ)句歸入PoC程序描述語(yǔ)句集,將未在描述PoC程序的語(yǔ)句歸入非PoC程序描述語(yǔ)句集。
4.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟2)通過(guò)以下方法提取訓(xùn)練樣本的特征集:先提取訓(xùn)練樣本中每個(gè)詞的詞向量,以此類推,一個(gè)詞對(duì)應(yīng)一個(gè)詞向量,一個(gè)句子由多個(gè)詞組成,整合每個(gè)詞的詞向量形成詞矩陣,詞矩陣集為訓(xùn)練樣本的特征集。
5.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,所述深度學(xué)習(xí)框架包括卷積神經(jīng)網(wǎng)絡(luò)算法。
6.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟2)中建立網(wǎng)頁(yè)分類器的步驟具體包括:
2-1-1)基于步驟1)得到的安全漏洞描述語(yǔ)句集和非安全漏洞描述語(yǔ)句集,建立網(wǎng)頁(yè)分類器的訓(xùn)練樣本集;
2-1-2)針對(duì)步驟2-1-1)建立的訓(xùn)練樣本集進(jìn)行特征提取,建立網(wǎng)頁(yè)分類特征集;
2-1-3)將步驟2-1-2)建立的網(wǎng)頁(yè)分類特征集輸入深度學(xué)習(xí)框架,訓(xùn)練網(wǎng)頁(yè)分類模型,建立網(wǎng)頁(yè)分類器。
7.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟2)中建立Comment分類器的步驟具體包括:
2-2-1)基于步驟1)提供的PoC程序描述語(yǔ)句集合和非PoC程序描述語(yǔ)句集,建立Comment分類器的訓(xùn)練樣本集;
2-2-2)針對(duì)步驟2-2-1)提供的訓(xùn)練樣本集進(jìn)行特征提取,建立Comment分類特征集;
2-2-3)將步驟2-2-2)提供的Comment分類特征集輸入深度學(xué)習(xí)框架,訓(xùn)練Comment分類模型,建立Comment分類器。
8.如權(quán)利要求1所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟3)具體包括以下步驟:
3-1)分析待測(cè)安全漏洞,得到相應(yīng)權(quán)威漏洞庫(kù)來(lái)源,從權(quán)威漏洞庫(kù)獲取該待測(cè)安全漏洞對(duì)應(yīng)網(wǎng)頁(yè)的網(wǎng)頁(yè)內(nèi)容;
3-2)對(duì)步驟3-1)獲取的網(wǎng)頁(yè)內(nèi)容做分句處理,并將分句結(jié)果整合為文本語(yǔ)句集;
3-3)將步驟3-2)得到的文本語(yǔ)句集中各語(yǔ)句輸入網(wǎng)頁(yè)分類器進(jìn)行分類預(yù)測(cè),若網(wǎng)頁(yè)描述內(nèi)容為安全漏洞,則繼續(xù)將步驟3-2)得到的文本語(yǔ)句集中各語(yǔ)句輸入Comment分類器進(jìn)行分類預(yù)測(cè),若網(wǎng)頁(yè)內(nèi)容在描述PoC程序,則定位‘在描述PoC程序’的語(yǔ)句所在網(wǎng)頁(yè)中的位置,分析網(wǎng)頁(yè)結(jié)構(gòu),提取PoC程序,若網(wǎng)頁(yè)內(nèi)容未在描述PoC程序,則繼續(xù)步驟3-4);
3-4)提取網(wǎng)頁(yè)中的URL鏈接,生成URL集;
3-5)判斷步驟3-4)生成的URL集是否為空集,若為空集,該步驟結(jié)束,若不為空集,轉(zhuǎn)到步驟3-6);
3-6)依次循環(huán)提取步驟3-4)生成的URL集中各URL鏈接對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容,判定是否存在PoC程序,若存在,則提取當(dāng)前URL對(duì)應(yīng)網(wǎng)頁(yè)內(nèi)容中的PoC程序,若不存在,轉(zhuǎn)到3-7);
3-7)針對(duì)由步驟3-6)發(fā)起的循環(huán)操作,判斷是否結(jié)束循環(huán),若是,獲取步驟3-4)提供的URL集中各URL鏈接對(duì)應(yīng)網(wǎng)頁(yè)內(nèi)容,轉(zhuǎn)到3-2),若否,轉(zhuǎn)到3-6)。
9.如權(quán)利要求8所述的基于網(wǎng)頁(yè)知識(shí)發(fā)現(xiàn)的PoC程序提取方法,其特征在于,步驟3-3)提取PoC程序的步驟具體包括:
3-3-1)以‘在描述PoC程序’的語(yǔ)句所在位置的下一行為起始位置,進(jìn)行PoC程序特征檢測(cè)處理;
3-3-2)判斷是否為PoC程序源碼,若是,該P(yáng)oC程序即為待測(cè)安全漏洞對(duì)應(yīng)的PoC程序,結(jié)束該步驟;否則轉(zhuǎn)到3-3-3);
3-3-3)判斷是否為URL鏈接,若是,則進(jìn)入U(xiǎn)RL鏈接對(duì)應(yīng)頁(yè)面判斷網(wǎng)頁(yè)內(nèi)容是否為程序源碼,轉(zhuǎn)到步驟3-3-4),否則結(jié)束該步驟;
3-3-4)如果網(wǎng)頁(yè)內(nèi)容為程序源碼,則提取網(wǎng)頁(yè)內(nèi)容中的PoC程序源碼,該P(yáng)oC程序即為待測(cè)安全漏洞對(duì)應(yīng)的PoC程序,否則結(jié)束該步驟。