[發(fā)明專利]一種開(kāi)源軟件漏洞分析方法、裝置和存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201810415008.2 | 申請(qǐng)日: | 2018-05-03 |
| 公開(kāi)(公告)號(hào): | CN108763928B | 公開(kāi)(公告)日: | 2020-10-02 |
| 發(fā)明(設(shè)計(jì))人: | 王博;崔寶江;吳倩;楊俊;張家旺;林星辰;宋緒言 | 申請(qǐng)(專利權(quán))人: | 北京郵電大學(xué) |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56;G06F21/57 |
| 代理公司: | 北京超凡志成知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11371 | 代理人: | 蘇勝 |
| 地址: | 102200*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 軟件 漏洞 分析 方法 裝置 存儲(chǔ) 介質(zhì) | ||
1.一種開(kāi)源軟件漏洞分析方法,其特征在于,所述方法包括:
獲取待測(cè)軟件中的開(kāi)源代碼;
將所述開(kāi)源代碼的源文件集與漏洞庫(kù)中的源碼型漏洞進(jìn)行同源性比對(duì)檢測(cè);
輸出比對(duì)檢測(cè)結(jié)果;
其中,所述漏洞庫(kù)中包括所述源碼型漏洞和庫(kù)類型漏洞;將所述開(kāi)源代碼的源文件集與漏洞庫(kù)中的源碼型漏洞進(jìn)行同源性比對(duì)檢測(cè)之前,還包括:
將所述開(kāi)源代碼預(yù)處理為所述源文件集和庫(kù)文件集;
所述方法還包括:
將所述開(kāi)源代碼中的所述源文件集與所述漏洞庫(kù)中的源碼型漏洞進(jìn)行同源性比對(duì)檢測(cè);
將所述開(kāi)源代碼中的所述庫(kù)文件集與所述漏洞庫(kù)中的庫(kù)類型漏洞進(jìn)行組件引用檢測(cè);
所述輸出比對(duì)檢測(cè)結(jié)果,包括:
輸出同源性比對(duì)檢測(cè)結(jié)果和組件引用檢測(cè)結(jié)果;
其中,所述組件引用檢測(cè)包括:判斷所述庫(kù)文件集中含有所述庫(kù)類型漏洞的庫(kù)文件是否被使用;
其中,將所述開(kāi)源代碼中的所述庫(kù)文件集與所述漏洞庫(kù)中的庫(kù)類型漏洞進(jìn)行組件引用檢測(cè)包括:
判斷所述庫(kù)文件集中與所述庫(kù)類型漏洞相匹配的庫(kù)文件是否被導(dǎo)入,若所述庫(kù)文件集中與所述庫(kù)類型漏洞相匹配的庫(kù)文件被導(dǎo)入,則提取所述與所述庫(kù)類型漏洞相匹配的庫(kù)文件;
判斷所述提取的與所述庫(kù)類型漏洞相匹配的庫(kù)文件是否被加載,若所述提取的與所述庫(kù)類型漏洞相匹配的庫(kù)文件被加載,則判斷所述被加載的庫(kù)文件中與所述庫(kù)類型漏洞相匹配的函數(shù)是否被調(diào)用,若所述庫(kù)文件中與所述庫(kù)類型漏洞相匹配的函數(shù)被調(diào)用,則確定所述庫(kù)文件集存在所述庫(kù)類型漏洞。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述開(kāi)源代碼預(yù)處理為所述源文件集和庫(kù)文件集,包括:
提取所述開(kāi)源代碼中的至少一個(gè)源文件、至少一個(gè)庫(kù)文件和至少一個(gè)配置文件;
將所述至少一個(gè)源文件組成源文件集;
將所述至少一個(gè)庫(kù)文件和所述至少一個(gè)配置文件組成庫(kù)文件集。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述至少一個(gè)庫(kù)文件和所述至少一個(gè)配置文件組成庫(kù)文件集包括:
通過(guò)所述配置文件,獲取第三方包;
將所述第三方包和所述庫(kù)文件組成庫(kù)文件集。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同源性比對(duì)檢測(cè)包括:
若將所述源文件集與所述源碼型漏洞進(jìn)行文本比對(duì)后,未發(fā)現(xiàn)所述源碼型漏洞,則將所述源文件集與所述源碼型漏洞進(jìn)行Token標(biāo)識(shí)比對(duì),若發(fā)現(xiàn)所述源碼型漏洞,則將所述源文件集進(jìn)行二次分析;
若將所述源文件集與所述源碼型漏洞進(jìn)行Token標(biāo)識(shí)比對(duì)后,未發(fā)現(xiàn)所述源碼型漏洞,則將所述源文件集與所述源碼型漏洞進(jìn)行語(yǔ)法樹比對(duì),若發(fā)現(xiàn)所述源碼型漏洞,則將所述源文件集進(jìn)行二次分析;
若將所述源文件集與所述源碼型漏洞進(jìn)行語(yǔ)法樹比對(duì)后,未發(fā)現(xiàn)所述源碼型漏洞,則確定所述源文件集不存在所述源碼型漏洞,若發(fā)現(xiàn)所述源碼型漏洞,則將所述源文件集進(jìn)行二次分析。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述二次分析包括:
判斷所述源文件集是否滿足所述源碼型漏洞的觸發(fā)條件,當(dāng)滿足所述源碼型漏洞的觸發(fā)條件時(shí),確定所述源文件集存在所述源碼型漏洞。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述輸出比對(duì)檢測(cè)結(jié)果,包括:
在畫面一側(cè)顯示所述開(kāi)源代碼,并標(biāo)記所述開(kāi)源代碼中含有所述源碼型漏洞的片段和所述庫(kù)類型漏洞的片段,在畫面另一側(cè)顯示所述含有所述源碼型漏洞的片段和所述庫(kù)類型漏洞的片段具體包含的所述漏洞庫(kù)中的漏洞。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京郵電大學(xué),未經(jīng)北京郵電大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810415008.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 網(wǎng)站漏洞告警方法及裝置
- 網(wǎng)站漏洞審核方法及裝置
- 漏洞檢測(cè)方法及裝置、信息交互方法及設(shè)備
- 一種基于漏洞關(guān)聯(lián)分布模型的漏洞發(fā)現(xiàn)方法
- 漏洞庫(kù)構(gòu)建方法、裝置、漏洞庫(kù)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 漏洞快速感知、定位及驗(yàn)證的方法與系統(tǒng)
- 一種基于Oval的漏洞掃描修復(fù)系統(tǒng)及方法
- 一種漏洞驗(yàn)證的方法及電子設(shè)備
- 一種漏洞防護(hù)方法、裝置及電子設(shè)備
- 漏洞數(shù)據(jù)的比較方法、裝置、電子設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





