[發(fā)明專利]安全漏洞檢測方法及裝置有效
| 申請?zhí)枺?/td> | 201410216397.8 | 申請日: | 2014-05-21 |
| 公開(公告)號: | CN105095066B | 公開(公告)日: | 2018-09-18 |
| 發(fā)明(設計)人: | 郭冕 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京康信知識產(chǎn)權代理有限責任公司 11240 | 代理人: | 吳貴明;張永明 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 安全漏洞 檢測 方法 裝置 | ||
本發(fā)明公開了一種安全漏洞檢測方法及裝置。其中,該方法包括:記錄在待測試程序執(zhí)行第一測試用例的過程中產(chǎn)生的測試信息,其中,測試信息包括測試指令;從測試指令中獲取待測試程序執(zhí)行第一測試用例時的執(zhí)行邏輯;基于執(zhí)行邏輯生成第二測試用例;在待測試程序中執(zhí)行第二測試用例。采用本發(fā)明,解決了現(xiàn)有技術中黑盒挖掘安全漏洞中使用的測試用例無法有效覆蓋待測試程序的代碼路徑,漏掉很多漏洞,漏檢率高的問題,實現(xiàn)了有效覆蓋更多的待測試程序中的代碼路徑,減少安全漏洞的漏檢率的效果。
技術領域
本發(fā)明涉及應用程序測試領域,具體而言,涉及一種安全漏洞檢測方法及裝置。
背景技術
目前業(yè)界所使用的自動化漏洞挖掘系統(tǒng),按照挖掘思路的不同,大體上可以分為兩種類型:白盒漏洞挖掘和黑盒漏洞挖掘。相比白盒挖掘,黑盒挖掘更簡單、更直接、更受到安全研究人員的喜歡。自動化漏洞挖掘領域所面臨的主要問題之一是:如何使挖掘漏洞的測試用例盡可能多的覆蓋待測試產(chǎn)品代碼邏輯,只有覆蓋了足夠多的代碼邏輯,才可能在這些代碼邏輯中找到漏洞。
其中,上述的白盒漏洞挖掘具體指從待測試產(chǎn)品的源代碼出發(fā),嘗試理解其語義和邏輯,然后根據(jù)準備好的漏洞規(guī)則對這些語義和邏輯進行掃描,以求找到漏洞;而黑盒漏洞挖掘則是把待測試產(chǎn)品當成一個黑盒子,向黑盒子的外部接口填充大量測試用例,然后觀察黑盒子在處理這些測試用例時的表現(xiàn),根據(jù)這些表現(xiàn)確定漏洞。
具體地,在黑盒漏洞挖掘中,如果發(fā)現(xiàn)黑盒子的表現(xiàn)異常(如產(chǎn)品崩潰等),則將這個測試用例提出來做更細致的分析(甚至可以是人工分析),根據(jù)分析得到的異常原因找到漏洞。
現(xiàn)有技術中,自動化的黑盒漏洞挖掘系統(tǒng)把待測試產(chǎn)品當成一個黑盒子,盲目填充大量無效測試用例,浪費大量漏洞挖掘資源,卻還無法有效挖掘漏洞。據(jù)統(tǒng)計,傳統(tǒng)黑盒漏洞挖掘系統(tǒng)代碼覆蓋率不足5%,剩余95%代碼里面的漏洞根本無法進行挖掘。
具體地,在正常情況下,待測試程序中往往包含大量的約束條件(如if條件判斷)。在黑盒漏洞挖掘領域,由于不了解待測試產(chǎn)品的代碼邏輯,在進行安全漏洞挖掘時,盲目的填充大量的測試用例,填充的測試用例沒有針對性,測試用例再多也無法觸發(fā)漏洞。例如,設:在待測試程序中輸入a觸發(fā)漏洞A,如果測試用例中沒有輸入為“a”的測試用例,則無法測試出漏洞A。
由上可知,現(xiàn)有技術中黑盒挖掘漏洞的缺點是:在黑盒的輸入端填充大量的測試用例,大量測試用例中卻沒有針對性很強的測試用例,無法有效的覆蓋更多的代碼路徑,難以觸及存在漏洞的代碼邏輯,挖掘到的漏洞數(shù)量少。
針對上述的黑盒挖掘安全漏洞中使用的測試用例無法有效覆蓋待測試程序的代碼路徑,漏掉很多漏洞,漏檢率高的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種安全漏洞檢測方法及裝置,以至少解決由于黑盒挖掘安全漏洞中使用的測試用例無法有效覆蓋待測試程序的代碼路徑,漏掉很多漏洞,漏檢率高的技術問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種安全漏洞檢測方法,該方法包括:記錄在待測試程序執(zhí)行第一測試用例的過程中產(chǎn)生的測試信息,其中,測試信息包括測試指令;從測試指令中獲取待測試程序執(zhí)行第一測試用例時的執(zhí)行邏輯;基于執(zhí)行邏輯生成第二測試用例;在待測試程序中執(zhí)行第二測試用例。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種安全漏洞檢測裝置,該裝置包括:記錄模塊,用于記錄在待測試程序執(zhí)行第一測試用例的過程中產(chǎn)生的測試信息,其中,測試信息包括測試指令;第一獲取模塊,用于從測試指令中獲取待測試程序執(zhí)行第一測試用例時的執(zhí)行邏輯;測試用例生成模塊,用于基于執(zhí)行邏輯生成第二測試用例;執(zhí)行模塊,用于在待測試程序中執(zhí)行第二測試用例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410216397.8/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





