[發明專利]一種基于擴展API改寫的Chrome擴展敏感數據跟蹤方法有效
| 申請號: | 201810160508.6 | 申請日: | 2018-02-27 |
| 公開(公告)號: | CN108256338B | 公開(公告)日: | 2021-04-27 |
| 發明(設計)人: | 王偉平;劉小玄;張雨清;宋虹;王建新 | 申請(專利權)人: | 中南大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/62 |
| 代理公司: | 長沙市融智專利事務所(普通合伙) 43114 | 代理人: | 楊萍 |
| 地址: | 410083 湖南*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 擴展 api 改寫 chrome 敏感數據 跟蹤 方法 | ||
1.一種基于擴展API改寫的Chrome擴展敏感數據跟蹤方法,其特征在于,包括以下步驟:
步驟1:定義擴展中的Source和Sink;
將擴展Source和擴展Sink分別定義為擴展中可能獲取敏感數據的輸入點和可能將敏感數據外傳的輸出點;
步驟2:將擴展API分成獲取數據API、輸出相關API、通信函數API和其他功能API四類;定義四類擴展API的改寫規則,使得改寫后的API只包含原生JavaScript函數,同時保持改寫前API的輸入輸出數據流關系;依據改寫規則對待測擴展中的擴展API進行改寫;
步驟3:依據待測擴展生成動態測試頁面,用于觸發待測擴展與頁面的交互行為;
步驟4:利用現有JavaScript動態污點跟蹤工具對改寫后的待測擴展添加污點傳輸標記,在生成的動態測試頁面中引入并運行改寫后的待測擴展的JavaScript代碼,動態污點跟蹤工具將根據污點傳輸標記記錄敏感數據的輸入和輸出路徑,從而檢測出從Source到Sink是否存在敏感數據通路;
其中步驟2中定義四類擴展API的改寫規則包括:
步驟2.1:獲取數據API改寫
獲取數據API如chrome.*.*(a,b),其中,*表示通配符,參數a表示對象,參數b表示回調函數,改寫規則如下:
(i)用function chrome_*_*(a,b)替換chrome.*.*(a,b);
(ii)根據chrome官方文檔說明,設定a對象的相關屬性值;
(iii)在function chrome_*_*(a,b)中調用b(a);
步驟2.2:輸出相關API改寫
輸出相關API的改寫就是將chrome.*.*(data)改寫為function chrome_*_*(data),其中,*表示通配符;運行時將通過判斷data是否攜帶污點標記來確定敏感數據是否輸出;
步驟2.3:通信函數API改寫
改寫規則如下:
(i)提取通信接收函數chrome.*.*.addListener中的回調函數,*表示通配符,生成新的原生JavaScript通信接收函數onMessage();
(ii)用function chrome_*_*替換A中chrome.*.*,在function chrome_*_*內調用onMessage(a);
步驟2.4:其他功能API改寫
其他功能API的改寫就是將原有的chrome.*.*()替換成chrome_*_*()。
2.根據權利要求1所述的基于擴展API改寫的Chrome擴展敏感數據跟蹤方法,其特征在于,所述步驟1中,通過分析擴展API的輸入輸出數據關系,擴展Source包括獲取當前頁面DOM狀態的DOM API以及獲取瀏覽器中敏感數據的擴展API;擴展Sink包括發送敏感數據給第三方服務器、存儲和下載的擴展API。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中南大學,未經中南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810160508.6/1.html,轉載請聲明來源鉆瓜專利網。





