[發(fā)明專(zhuān)利]程序安全測(cè)試方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410453672.8 | 申請(qǐng)日: | 2014-09-05 |
| 公開(kāi)(公告)號(hào): | CN104199774B | 公開(kāi)(公告)日: | 2017-02-22 |
| 發(fā)明(設(shè)計(jì))人: | 李文林;張一武;張杰 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類(lèi)號(hào): | G06F11/36 | 分類(lèi)號(hào): | G06F11/36 |
| 代理公司: | 北京華沛德權(quán)律師事務(wù)所11302 | 代理人: | 劉杰 |
| 地址: | 100088 北京市西城區(qū)新*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 程序 安全 測(cè)試 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及程序測(cè)試技術(shù),具體涉及一種程序安全測(cè)試方法以及相應(yīng)的程序安全測(cè)試裝置。
背景技術(shù)
程序在正式投入使用之前,通常會(huì)針對(duì)加載模塊的白文件利用以及加載模塊劫持進(jìn)行安全測(cè)試。
上述加載模塊通常為DLL(Dynamic?Link?Library,動(dòng)態(tài)鏈接庫(kù)),也可以為類(lèi)似于DLL的其他類(lèi)型的加載模塊,如尾綴為T(mén)PI的加載模塊等。在加載模塊為DLL的情況下,DLL的白文件利用通常是指利用DLL白文件繞過(guò)安全軟件的主防加載惡意模塊,從而實(shí)現(xiàn)惡意攻擊;DLL劫持通常是指在運(yùn)行程序當(dāng)前所在目錄下偽造與程序調(diào)用(或啟動(dòng))的真正的DLL同名的DLL,且在偽造的DLL被程序調(diào)用并運(yùn)行DLL中的函數(shù)后,再轉(zhuǎn)向真正的DLL。下面以加載模塊為DLL為例對(duì)程序安全測(cè)試方法進(jìn)行說(shuō)明。
目前,針對(duì)DLL白文件的利用和DLL劫持的程序安全測(cè)試方法主要包括如下兩種:
方法一、在編寫(xiě)完程序代碼后,由相關(guān)的測(cè)試人員(如白盒測(cè)試人員等)對(duì)程序源代碼進(jìn)行審查,以從程序源代碼中找出由于編寫(xiě)疏忽而造成的DLL白文件的利用和DLL劫持的漏洞。
方法二、采用IDA等反編譯工具對(duì)編譯后的程序進(jìn)行反編譯,之后,由黑客或者系統(tǒng)安全工程師根據(jù)已經(jīng)公布的一些開(kāi)源庫(kù)的漏洞進(jìn)行有針對(duì)性的調(diào)試以及實(shí)驗(yàn)。
發(fā)明人在實(shí)現(xiàn)本發(fā)明過(guò)程中發(fā)現(xiàn),上述方法一由于是通過(guò)人工進(jìn)行程序源代碼核查,因此,通常不可能對(duì)程序中的所有分支進(jìn)行核查,漏查率較高且測(cè)試效率較低;同時(shí),由于程序在各種系統(tǒng)環(huán)境下的表現(xiàn)不盡相同,因此核查后程序源代碼中通常會(huì)仍存在隱晦的漏洞,進(jìn)一步提升了漏查率;上述方法二需要測(cè)試人員具有強(qiáng)大的專(zhuān)業(yè)技能(如代碼分析能力等),且該方法同樣存在測(cè)試效率較低以及漏查率較高等問(wèn)題。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的程序安全測(cè)試方法和裝置。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種程序安全測(cè)試方法,主要包括:獲取被測(cè)程序的測(cè)試任務(wù)信息,并獲取被測(cè)程序中的加載模塊的歷史加載記錄信息;在所述測(cè)試任務(wù)信息的基礎(chǔ)上,針對(duì)每一條歷史加載記錄信息分別生成用例以及用例屬性信息,用例屬性信息是安裝運(yùn)行用例所需的信息,且所述用例屬性信息包括:加載模塊被加載時(shí)的所有嘗試加載路徑信息;根據(jù)所述用例屬性信息安裝運(yùn)行用例,且所述用例基于所述所有嘗試加載路徑信息執(zhí)行加載模塊的加載操作;獲取用例在運(yùn)行過(guò)程中與預(yù)置的惡意加載模塊相關(guān)的執(zhí)行過(guò)程信息;根據(jù)所述執(zhí)行過(guò)程信息判斷所述被測(cè)程序是否存在安全漏洞,并輸出判斷結(jié)果信息。
依據(jù)本發(fā)明的再一個(gè)方面,提供了一種程序安全測(cè)試裝置,包括:第一獲取模塊,適于獲取被測(cè)程序的測(cè)試任務(wù)信息;第二獲取模塊,適于獲取被測(cè)程序中的加載模塊的歷史加載記錄信息;用例生成模塊,適于在所述測(cè)試任務(wù)信息的基礎(chǔ)上,針對(duì)每一條歷史加載記錄信息分別生成用例以及用例屬性信息,所述用例屬性信息是安裝運(yùn)行用例所需的信息,且所述用例屬性信息包括:加載模塊被加載時(shí)的所有嘗試加載路徑信息;安裝運(yùn)行模塊,適于根據(jù)所述用例屬性信息安裝運(yùn)行用例,且所述用例基于所述所有嘗試加載路徑信息執(zhí)行加載模塊的加載操作;第三獲取模塊,適于獲取用例在運(yùn)行過(guò)程中與預(yù)置的惡意加載模塊相關(guān)的執(zhí)行過(guò)程信息;安全判斷模塊,適于根據(jù)所述執(zhí)行過(guò)程信息判斷所述被測(cè)程序是否存在安全漏洞,并輸出判斷結(jié)果信息。
本發(fā)明的程序安全測(cè)試方法和裝置通過(guò)利用測(cè)試任務(wù)信息以及加載模塊的歷史加載記錄信息生成用例以及用例屬性信息,且在用例屬性信息的基礎(chǔ)上自動(dòng)安裝并運(yùn)行用例,這樣,可以通過(guò)獲取到的用例運(yùn)行過(guò)程中對(duì)加載模塊的加載記錄信息自動(dòng)判斷出被測(cè)程序是否存在與預(yù)置的惡意加載模塊相關(guān)的安全漏洞;從而本發(fā)明有效降低了程序安全測(cè)試對(duì)測(cè)試人員自身的專(zhuān)業(yè)技能的依賴(lài)程度,實(shí)現(xiàn)了自動(dòng)對(duì)被測(cè)程序進(jìn)行安全測(cè)試的目的,最終本發(fā)明提高了程序安全測(cè)試效率,并有效降低了漏查率。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。本實(shí)施例的附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例一的程序安全測(cè)試方法流程圖;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經(jīng)北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410453672.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開(kāi)發(fā)支持裝置、程序開(kāi)發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 軟件測(cè)試系統(tǒng)及測(cè)試方法
- 自動(dòng)化測(cè)試方法和裝置
- 一種應(yīng)用于視頻點(diǎn)播系統(tǒng)的測(cè)試裝置及測(cè)試方法
- Android設(shè)備的測(cè)試方法及系統(tǒng)
- 一種工廠測(cè)試方法、系統(tǒng)、測(cè)試終端及被測(cè)試終端
- 一種軟件測(cè)試的方法、裝置及電子設(shè)備
- 測(cè)試方法、測(cè)試裝置、測(cè)試設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 測(cè)試裝置及測(cè)試系統(tǒng)
- 測(cè)試方法及測(cè)試系統(tǒng)
- 一種數(shù)控切削指令運(yùn)行軟件測(cè)試系統(tǒng)及方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(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ì)





