[發(fā)明專利]程序的代碼審核方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201210271493.3 | 申請(qǐng)日: | 2012-07-31 |
| 公開(公告)號(hào): | CN103577758A | 公開(公告)日: | 2014-02-12 |
| 發(fā)明(設(shè)計(jì))人: | 汪濤 | 申請(qǐng)(專利權(quán))人: | 西門子公司 |
| 主分類號(hào): | G06F21/57 | 分類號(hào): | G06F21/57 |
| 代理公司: | 北京康信知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11240 | 代理人: | 李慧 |
| 地址: | 德國(guó)*** | 國(guó)省代碼: | 德國(guó);DE |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 程序 代碼 審核 方法 裝置 | ||
1.一種利用漏洞模型審核程序代碼的方法,該方法包括:
對(duì)程序的源代碼進(jìn)行掃描,當(dāng)在掃描到功能函數(shù)時(shí),確定所述功能函數(shù)的輸入?yún)?shù)是否被傳遞到漏洞模型定義的危險(xiǎn)函數(shù),和所述輸入?yún)?shù)從所述功能函數(shù)傳遞到所述危險(xiǎn)函數(shù)的路徑上是否缺少漏洞模型中定義的檢查函數(shù);在確定所述功能函數(shù)的輸入?yún)?shù)被傳遞到漏洞模型定義的危險(xiǎn)函數(shù),并且所述輸入?yún)?shù)從所述功能函數(shù)傳遞到所述危險(xiǎn)函數(shù)的路徑上缺少漏洞模型中定義的檢查函數(shù)時(shí),將所述功能函數(shù)作為新的危險(xiǎn)函數(shù)加入到漏洞模型中,并確定檢測(cè)到安全漏洞;所述漏洞模型中至少包含被掃描代碼的危險(xiǎn)函數(shù)和檢查函數(shù)的定義信息。
2.如權(quán)利要求1所述的方法,該方法進(jìn)一步包括:
在掃描到檢查函數(shù)時(shí),根據(jù)記錄在漏洞模型中該檢查函數(shù)輸入值的屬性信息,確定經(jīng)過該檢查函數(shù)的安全檢查后的輸入?yún)?shù)是否安全;
在確定輸入?yún)?shù)不安全并且該不安全的輸入?yún)?shù)被傳遞到漏洞模型定義的危險(xiǎn)函數(shù)時(shí),確定檢測(cè)到安全漏洞。
3.如權(quán)利要求1所述的方法,該方法進(jìn)一步包括:
在掃描到一個(gè)檢查函數(shù)時(shí),根據(jù)記錄在漏洞模型中的該檢查函數(shù)返回值的屬性信息,確定該檢查函數(shù)的返回參數(shù)是否安全;
在確定返回參數(shù)不安全并且該返回參數(shù)傳遞到漏洞模型定義的危險(xiǎn)函數(shù)時(shí),確定檢測(cè)到安全漏洞。
4.如權(quán)利要求1或2或3所述的方法,在對(duì)程序的源代碼進(jìn)行掃描之前,該方法進(jìn)一步包括:
讀取漏洞模型中使用父類定義的源函數(shù),在源代碼中查找該父類的子類的函數(shù),并將查找到的函數(shù)確定為代碼掃描的起始點(diǎn);和/或,
讀取漏洞模型中使用接口定義的源函數(shù),在源代碼中查找使用該接口的類的函數(shù),并將查找到的函數(shù)確定為代碼掃描的起始點(diǎn);所述源函數(shù)為接收程序外部的輸入?yún)?shù)的函數(shù)。
5.如權(quán)利要求1或2或3所述的方法,在將所述功能函數(shù)作為新的危險(xiǎn)函數(shù)加入到漏洞模型中時(shí),該方法進(jìn)一步包括:
將輸入?yún)?shù)從所述功能函數(shù)傳遞到所述危險(xiǎn)函數(shù)的所述路徑上除所述功能函數(shù)之外的第一個(gè)函數(shù)的信息,作為新的危險(xiǎn)函數(shù)的根原因?qū)傩孕畔⒂涗浽诼┒茨P椭校杂糜诎踩┒吹脑蚨ㄎ环治觥?/p>
6.一種利用漏洞模型審查程序代碼的方法,該方法包括:
對(duì)程序的源代碼進(jìn)行掃描,在掃描到檢查函數(shù)時(shí):
根據(jù)預(yù)先定義在漏洞模型中該檢查函數(shù)輸入值的屬性信息,確定經(jīng)過該檢查函數(shù)的安全檢查后的輸入?yún)?shù)是否安全;在確定輸入?yún)?shù)不安全并且該不安全的輸入?yún)?shù)被傳遞到漏洞模型定義的危險(xiǎn)函數(shù)時(shí),確定檢測(cè)到安全漏洞;所述漏洞模型中至少包含被掃描代碼的檢查函數(shù)的定義信息;和/或,
根據(jù)預(yù)先定義在漏洞模型中該檢查函數(shù)返回值的屬性信息,確定經(jīng)過該檢查函數(shù)的返回參數(shù)是否安全;在確定返回參數(shù)不安全并且該返回參數(shù)被傳遞到漏洞模型定義的危險(xiǎn)函數(shù)時(shí),確定檢測(cè)到安全漏洞;所述漏洞模型中至少包含被掃描代碼的檢查函數(shù)的定義信息。
7.如權(quán)利要求6所述的方法,在對(duì)程序的源代碼進(jìn)行掃描之前,該方法進(jìn)一步包括:
讀取漏洞模型中使用父類定義的源函數(shù),在源代碼中查找該父類的子類的函數(shù),并將查找到的函數(shù)確定為代碼掃描的起始點(diǎn);和/或,
讀取漏洞模型中使用接口定義的源函數(shù),在源代碼中查找使用該接口的類的函數(shù),并將查找到的函數(shù)確定為代碼掃描的起始點(diǎn);所述源函數(shù)為接收程序外部的輸入?yún)?shù)的函數(shù)。
8.一種用于程序代碼審核的漏洞模型的生成方法,該方法包括:
在漏洞模型中使用父類定義源函數(shù),以在代碼審核過程中使用該父類的子類的函數(shù)作為代碼掃描的起始點(diǎn);和/或,在漏洞模型中使用接口定義源函數(shù),以在代碼審核過程中使用該接口的類的函數(shù)作為代碼掃描的起始點(diǎn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西門子公司,未經(jīng)西門子公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210271493.3/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種數(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ì)





