[發(fā)明專利]動(dòng)態(tài)Android程序漏洞驗(yàn)證方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 202010723865.6 | 申請(qǐng)日: | 2020-07-24 |
| 公開(公告)號(hào): | CN111723382A | 公開(公告)日: | 2020-09-29 |
| 發(fā)明(設(shè)計(jì))人: | 郭帆;秦彪;涂風(fēng)濤;龍薇 | 申請(qǐng)(專利權(quán))人: | 江西師范大學(xué) |
| 主分類號(hào): | G06F21/57 | 分類號(hào): | G06F21/57;G06F21/56 |
| 代理公司: | 南昌市平凡知識(shí)產(chǎn)權(quán)代理事務(wù)所 36122 | 代理人: | 夏材祥 |
| 地址: | 330100 *** | 國(guó)省代碼: | 江西;36 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 動(dòng)態(tài) android 程序 漏洞 驗(yàn)證 方法 裝置 | ||
本發(fā)明公開了一種動(dòng)態(tài)Android程序漏洞驗(yàn)證方法和裝置,屬于計(jì)算機(jī)安全技術(shù)領(lǐng)域。所述方法包括:對(duì)所述Android程序進(jìn)行靜態(tài)插樁生成dex代碼,運(yùn)行插樁后的所述Android程序能夠記錄所述Android程序的執(zhí)行路徑信息Trace;重復(fù)執(zhí)行所述Android程序直至產(chǎn)生一條同時(shí)經(jīng)過Source和Sink的所述種子Trace并記錄操作序列;對(duì)所述種子Trace進(jìn)行污點(diǎn)驗(yàn)證,確定漏洞是否真實(shí)有效;收集Trace的路徑條件集合,基于污點(diǎn)分析結(jié)果并結(jié)合活變量分析裁剪大量無需驗(yàn)證的污點(diǎn)傳播路徑集合,應(yīng)用基于條件反轉(zhuǎn)的程序變換方法執(zhí)行Trace的其他污點(diǎn)傳播路徑。本發(fā)明有效驗(yàn)證靜態(tài)污點(diǎn)分析生成的漏洞是否真實(shí)并且列出能夠觸發(fā)真實(shí)漏洞的可執(zhí)行路徑。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)安全技術(shù)領(lǐng)域,特別涉及一種動(dòng)態(tài)Android程序漏洞驗(yàn)證方法和裝置。
背景技術(shù)
隨著移動(dòng)互聯(lián)網(wǎng)的普及,手機(jī)成為人們生活的必需品。Android是市場(chǎng)占有率最高的開源移動(dòng)操作系統(tǒng),Android程序的安全性受到廣泛關(guān)注。污點(diǎn)分析是檢測(cè)Android程序漏洞的的主流檢測(cè)方法之一,其從Source開始跟蹤外部引入的數(shù)據(jù)(污點(diǎn)),檢查它們是否未經(jīng)驗(yàn)證就直接傳播到Sink位置,如果是,則可能存在安全漏洞。
污點(diǎn)分析為明確劃分污點(diǎn)數(shù)據(jù)在程序中傳播的各個(gè)階段,將傳播污點(diǎn)的方法分為以下幾類:Source:源方法,指讀取敏感數(shù)據(jù)或者外部輸入的方法; Propagation:傳播方法,以污點(diǎn)數(shù)據(jù)為輸入產(chǎn)生了新的污點(diǎn)數(shù)據(jù)的方法; Sanitizer:驗(yàn)證方法,由開發(fā)人員自定義,如果污染數(shù)據(jù)經(jīng)過驗(yàn)證函數(shù)處理,那么該污點(diǎn)數(shù)據(jù)轉(zhuǎn)為可信數(shù)據(jù);Sink:使用方法,指使用污染數(shù)據(jù)的方法。
污點(diǎn)分析包括靜態(tài)污點(diǎn)分析、動(dòng)態(tài)污點(diǎn)分析和混合污點(diǎn)分析。其中:
靜態(tài)污點(diǎn)分析指在不運(yùn)行代碼的方式下,對(duì)代碼進(jìn)行詞法、語法、靜態(tài)語義分析從而找出軟件潛在的安全漏洞。靜態(tài)污點(diǎn)分析的結(jié)果通常使用(Source,Sink)對(duì)表示,其分析結(jié)果通常是可靠的,但是會(huì)產(chǎn)生太多虛警,導(dǎo)致在工業(yè)實(shí)踐中絕大部分工程師傾向于使用測(cè)試而不是靜態(tài)分析來尋找安全漏洞。
動(dòng)態(tài)污點(diǎn)分析在整個(gè)系統(tǒng)運(yùn)行過程中追蹤污點(diǎn)傳播,檢測(cè)污點(diǎn)變量是否在未驗(yàn)證情況下使用,代價(jià)很高。分析結(jié)果有較高的準(zhǔn)確率,但是難以發(fā)現(xiàn)所有的潛在安全漏洞。
混合污點(diǎn)分析把動(dòng)態(tài)污點(diǎn)分析和靜態(tài)污點(diǎn)分析優(yōu)點(diǎn)相結(jié)合,靜態(tài)污點(diǎn)分析可以彌補(bǔ)動(dòng)態(tài)污點(diǎn)分析覆蓋率低的問題,動(dòng)態(tài)污點(diǎn)分析驗(yàn)證靜態(tài)污點(diǎn)分析的準(zhǔn)確性并降低其誤報(bào)率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種動(dòng)態(tài)Android程序漏洞驗(yàn)證方法和裝置。所述技術(shù)方案如下:
第一方面,提供了一種動(dòng)態(tài)Android程序漏洞驗(yàn)證方法,所述方法包括:
對(duì)所述Android程序進(jìn)行靜態(tài)插樁生成dex代碼,運(yùn)行插樁后的所述Android程序能夠記錄所述Android程序的執(zhí)行路徑信息Trace;
重復(fù)執(zhí)行所述Android程序直至產(chǎn)生一條同時(shí)經(jīng)過Source 和Sink的所述種子Trace并記錄操作序列;
對(duì)所述種子Trace進(jìn)行污點(diǎn)驗(yàn)證,確定漏洞是否真實(shí)有效;
收集Trace的路徑條件集合,基于污點(diǎn)分析結(jié)果并結(jié)合活變量分析裁剪大量無需驗(yàn)證的污點(diǎn)傳播路徑集合,應(yīng)用基于條件反轉(zhuǎn)的程序變換方法執(zhí)行Trace的其他污點(diǎn)傳播路徑。
可選的,所述對(duì)所述種子Trace進(jìn)行污點(diǎn)驗(yàn)證,確定漏洞是否真實(shí)有效,包括:
對(duì)所述種子Trace進(jìn)行別名分析獲得程序運(yùn)行過程中的污點(diǎn)信息;
對(duì)所述污點(diǎn)信息進(jìn)行污點(diǎn)分析得到污點(diǎn)分析結(jié)果;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于江西師范大學(xué),未經(jīng)江西師范大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010723865.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種葉輪裝置及渦輪流量計(jì)
- 下一篇:一種可180度開啟的合頁
- 同類專利
- 專利分類
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 .通過限制訪問或處理程序或過程
- 動(dòng)態(tài)矢量譯碼方法和動(dòng)態(tài)矢量譯碼裝置
- 動(dòng)態(tài)口令的顯示方法及動(dòng)態(tài)令牌
- 動(dòng)態(tài)庫管理方法和裝置
- 動(dòng)態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動(dòng)態(tài)口令生成方法、動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動(dòng)態(tài)模糊控制系統(tǒng)
- 一種基于動(dòng)態(tài)信號(hào)的POS機(jī)和安全保護(hù)方法
- 圖像動(dòng)態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動(dòng)態(tài)聚合碼的系統(tǒng)
- 基于動(dòng)態(tài)口令的身份認(rèn)證方法、裝置和動(dòng)態(tài)令牌
- 一種Android設(shè)備之間遠(yuǎn)程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺(tái)的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機(jī)啟動(dòng)時(shí)間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動(dòng)操作系統(tǒng)的Android兼容層實(shí)現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 網(wǎng)站漏洞告警方法及裝置
- 網(wǎng)站漏洞審核方法及裝置
- 漏洞檢測(cè)方法及裝置、信息交互方法及設(shè)備
- 一種基于漏洞關(guān)聯(lián)分布模型的漏洞發(fā)現(xiàn)方法
- 漏洞庫構(gòu)建方法、裝置、漏洞庫及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 漏洞快速感知、定位及驗(yàn)證的方法與系統(tǒng)
- 一種基于Oval的漏洞掃描修復(fù)系統(tǒng)及方法
- 一種漏洞驗(yàn)證的方法及電子設(shè)備
- 一種漏洞防護(hù)方法、裝置及電子設(shè)備
- 漏洞數(shù)據(jù)的比較方法、裝置、電子設(shè)備以及存儲(chǔ)介質(zhì)





