[發明專利]web應用測試數據流跟蹤方法及系統有效
| 申請號: | 202010172809.8 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN111046396B | 公開(公告)日: | 2020-07-17 |
| 發明(設計)人: | 胡嬌嬌;萬振華;王頡;李華;董燕;潘志祥 | 申請(專利權)人: | 深圳開源互聯網安全技術有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 張艷美;趙貫杰 |
| 地址: | 518000 廣東省深圳市龍華區龍華*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | web 應用 測試 數據流 跟蹤 方法 系統 | ||
1.一種基于IAST測試平臺的web應用測試數據流跟蹤方法,其特征在于,包括:在被測應用程序所在服務器上安裝代理程序,所述代理程序用于與運行所述應用程序的虛擬機溝通,所述應用程序啟動后,通過所述代理程序和字節碼插樁工具在所述應用程序的輸入階段、輸出階段、傳播階段以及編解碼階段中的關鍵函數內插入監測代碼,插樁所述監測代碼時,在所述監測代碼中傳入待插樁函數的類文件名、方法名、方法參數和返回值,通過所述監測代碼得到污點數據在所述應用程序中的傳播途徑,進而檢測出所述應用程序是否存在漏洞,所述污點數據為測試過程中用戶輸入的數據;
所述輸入階段、所述傳播階段、所述編解碼階段、所述輸出階段的關鍵函數分別定義為輸入函數、傳播函數、編解碼函數、輸出函數,通過所述監測代碼獲取所述污點數據的傳播途徑包括:
1)、當所述輸入函數執行時,插樁到所述輸入函數中的所述監測代碼獲取到所述輸入函數的input返回值,然后存儲該input返回值和所述輸入階段中的方法堆棧到集合容器中;
2)、當所述傳播函數執行時,所述傳播函數對所述污點數據進行處理,插樁到所述傳播函數中的所述監測代碼獲取所述傳播函數的process返回值,然后存儲該process返回值和所述傳播階段中的方法堆棧至所述集合容器中;
3)、所述編解碼函數包括編碼函數和解碼函數,當所述編碼函數執行時,所述編碼函數對所述污點數據進行安全編碼,插樁到所述編碼函數中的監測代碼獲取所述編碼函數的encode返回值并對經過編碼的污點數據打上編碼標記,然后存儲該encode返回值至所述集合容器中;當所述解碼函數執行時,所述解碼函數對相應的污點數據進行解碼,插樁到所述解碼函數中的監測代碼獲取所述解碼函數的decode返回值并對經過解碼的污點數據打上解碼標記,然后存儲該decode返回值到所述集合容器中;
4)、當所述輸出函數執行時,所述輸出函數根據所述解碼函數的返回值進行數據庫查詢操作,插樁到所述輸出函數中的監測代碼執行下列操作:
獲取所述輸出函數的輸入參數,所述輸入參數為所述解碼函數返回的污點數據;
查詢所述輸入參數在所述集合容器中是否存在,如果是,
查詢所述輸入參數是否帶有解碼標記,如果是,
存儲所述輸入參數和所述輸出階段中的方法堆棧至所述集合容器中;
從所述集合容器中依次取出所存入的污點數據和方法堆棧,形成所述污點數據的完整數據流。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳開源互聯網安全技術有限公司,未經深圳開源互聯網安全技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010172809.8/1.html,轉載請聲明來源鉆瓜專利網。





