[發(fā)明專利]web應(yīng)用測試數(shù)據(jù)流跟蹤方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010172809.8 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN111046396B | 公開(公告)日: | 2020-07-17 |
| 發(fā)明(設(shè)計(jì))人: | 胡嬌嬌;萬振華;王頡;李華;董燕;潘志祥 | 申請(專利權(quán))人: | 深圳開源互聯(lián)網(wǎng)安全技術(shù)有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 張艷美;趙貫杰 |
| 地址: | 518000 廣東省深圳市龍華區(qū)龍華*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | web 應(yīng)用 測試 數(shù)據(jù)流 跟蹤 方法 系統(tǒng) | ||
本發(fā)明公開了一種基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤方法及系統(tǒng),其中數(shù)據(jù)流跟蹤方法包括:在被測應(yīng)用程序所在服務(wù)器上安裝代理程序,所述代理程序用于與運(yùn)行所述應(yīng)用程序的虛擬機(jī)溝通,所述應(yīng)用程序啟動(dòng)后,通過所述代理程序和字節(jié)碼插樁工具在所述應(yīng)用程序的輸入階段和輸出階段中的關(guān)鍵函數(shù)內(nèi)插入監(jiān)測代碼,插樁所述監(jiān)測代碼時(shí),在所述監(jiān)測代碼中傳入待插樁函數(shù)的類文件名、方法名、方法參數(shù)和返回值,通過所述監(jiān)測代碼得到污點(diǎn)數(shù)據(jù)在所述應(yīng)用程序中的傳播途徑,所述污點(diǎn)數(shù)據(jù)為測試過程中用戶輸入的數(shù)據(jù);采樣上述數(shù)據(jù)流跟蹤方法,不但可實(shí)現(xiàn)對污點(diǎn)數(shù)據(jù)的實(shí)時(shí)跟蹤,同時(shí)還能基于實(shí)際請求,準(zhǔn)確獲取請求?響應(yīng)過程中的執(zhí)行方法鏈。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測試技術(shù)領(lǐng)域,尤其涉及一種基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤方法及系統(tǒng)。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,web應(yīng)用的數(shù)據(jù)也有著快速的增長,同時(shí)應(yīng)用的接口數(shù)量也越來越多,為了保證應(yīng)用程序正常運(yùn)行,需要產(chǎn)品在上線前對其有著充分的測試,其中包括判斷是否存在越權(quán)漏洞。Web應(yīng)用安全測試技術(shù)目前業(yè)界常用的技術(shù)有DAST(動(dòng)態(tài)應(yīng)用程序安全測試),SAST(靜態(tài)應(yīng)用程序安全測試)和IAST(交互式應(yīng)用程序安全測試),在測試中,數(shù)據(jù)流跟蹤是多種安全漏洞檢測(包括SQL注入、命令行注入和目錄遍歷等)的基礎(chǔ),目前業(yè)界所用的數(shù)據(jù)流跟蹤方法是基于模擬器進(jìn)行數(shù)據(jù)流跟蹤的優(yōu)化,包括對客戶操作系統(tǒng)指令進(jìn)行反匯編的階段、編譯產(chǎn)生宿主機(jī)執(zhí)行代碼的階段和最終代碼執(zhí)行的階段。該技術(shù)主要是基于系統(tǒng)級別的,需要獲取系統(tǒng)指令,對于需要檢測Web應(yīng)用程序安全性的用戶來說,無法準(zhǔn)確定位到具體的代碼文件,行數(shù)或者函數(shù)及參數(shù)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤方法,在完成應(yīng)用程序功能測試的同時(shí)還可以實(shí)時(shí)獲取應(yīng)用程序的完整信息,以做到對數(shù)據(jù)的準(zhǔn)確定位。
本發(fā)明的另一目的是提供一種基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤系統(tǒng),在完成應(yīng)用程序功能測試的同時(shí)還可以實(shí)時(shí)獲取應(yīng)用程序的完整信息,以做到對數(shù)據(jù)的準(zhǔn)確定位。
為了實(shí)現(xiàn)上述目的,本發(fā)明公開了一種基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤方法,其包括:在被測應(yīng)用程序所在服務(wù)器上安裝代理程序,所述代理程序用于與運(yùn)行所述應(yīng)用程序的虛擬機(jī)溝通,所述應(yīng)用程序啟動(dòng)后,通過所述代理程序和字節(jié)碼插樁工具在所述應(yīng)用程序的輸入階段和輸出階段中的關(guān)鍵函數(shù)內(nèi)插入監(jiān)測代碼,插樁所述監(jiān)測代碼時(shí),在所述監(jiān)測代碼中傳入待插樁函數(shù)的類文件名、方法名、方法參數(shù)和返回值,通過所述監(jiān)測代碼得到污點(diǎn)數(shù)據(jù)在所述應(yīng)用程序中的傳播途徑,所述污點(diǎn)數(shù)據(jù)為測試過程中用戶輸入的數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明基于IAST測試平臺的web應(yīng)用測試數(shù)據(jù)流跟蹤方法,利用IAST測試平臺中的插樁工具將監(jiān)測代碼插入待測應(yīng)用程序中輸入階段和輸出階段中的關(guān)鍵函數(shù)內(nèi),在測試過程中,通過監(jiān)測代碼獲取到污點(diǎn)數(shù)據(jù)從輸入階段到輸出階段的數(shù)據(jù)流;由此可知,采樣上述數(shù)據(jù)流跟蹤方法,可實(shí)現(xiàn)實(shí)時(shí)跟蹤污點(diǎn)數(shù)據(jù),可以在完成應(yīng)用程序功能測試的同時(shí)實(shí)時(shí)獲取應(yīng)用程序信息,以做到對數(shù)據(jù)的準(zhǔn)確定位,且不會(huì)受軟件復(fù)雜度的影響,適用于各種復(fù)雜度的軟件產(chǎn)品,而且無需額外安全測試時(shí)間投入,不會(huì)對現(xiàn)有開發(fā)流程造成任何影響,符合敏捷開發(fā)和DevOps模式下軟件產(chǎn)品快速迭代、快速交付的要求。
較佳地,所述應(yīng)用程序啟動(dòng)后,還在所述應(yīng)用程序的傳播階段、編解碼階段中的關(guān)鍵函數(shù)內(nèi)插入所述監(jiān)測代碼。
較佳地,所述輸入階段、所述傳播階段、所述編解碼階段、所述輸出階段的關(guān)鍵函數(shù)分別定義為輸入函數(shù)、傳播函數(shù)、編解碼函數(shù)、輸出函數(shù),通過所述監(jiān)測代碼獲取所述污點(diǎn)數(shù)據(jù)的傳播途徑包括:
1)、當(dāng)所述輸入函數(shù)執(zhí)行時(shí),插樁到所述輸入函數(shù)中的所述監(jiān)測代碼獲取到所述輸入函數(shù)的input返回值,然后存儲(chǔ)該input返回值和所述輸入階段中的方法堆棧到集合容器中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳開源互聯(lián)網(wǎng)安全技術(shù)有限公司,未經(jīng)深圳開源互聯(lián)網(wǎng)安全技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010172809.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種口罩自動(dòng)生產(chǎn)線、口罩自助售賣機(jī)及其售賣方法
- 下一篇:
- 同類專利
- 專利分類
G06 計(jì)算;推算;計(jì)數(shù)
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 .通過限制訪問或處理程序或過程





