[發明專利]一種安卓應用用戶隱私泄露漏洞識別方法在審
| 申請號: | 202211075112.4 | 申請日: | 2022-09-03 |
| 公開(公告)號: | CN115470494A | 公開(公告)日: | 2022-12-13 |
| 發明(設計)人: | 楊珉;楊哲慜;李帥;花楠 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/62;G06K9/62;G06N20/00 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;陸尤 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用 用戶 隱私 泄露 漏洞 識別 方法 | ||
1. 一種安卓應用用戶隱私泄露漏洞識別方法,所識別的漏洞是由安卓應用客戶端接收的其他用戶隱私信息與實際呈現在用戶界面上的其他用戶信息不一致所導致的用戶隱私泄露漏洞;其特征在于,安卓應用用戶隱私泄露漏洞識別方法具體分為三個階段:
第一階段,基于程序切片技術的靜態代碼預分析
這階段的任務是識別存儲用戶信息的代碼數據結構,以及分析這些信息如何被顯示到用戶界面上;具體地,預分析分為前向污點分析和后向污點分析兩部分;前向污點分析是追蹤從網絡接口流動到中間數據結構的信息,即以標準網絡接口為起點,分析信息流向的中間數據結構;后向污點分析是追蹤信息從中間數據結構流動到用戶界面的過程,即以標準的用戶界面接口為起點,分析信息來自哪些中間數據結構以及信息在顯示至界面上前經過何種變換;這一階段的輸出信息是前向污點分析和后向污點分析交匯的中間數據結構以及識別出的變換操作;
第二階段,其他用戶的隱私信息識別
這階段的任務是分析出網絡接口接收到的信息里哪些為屬于其他用戶的隱私信息,所述其他用戶是指區別于當前使用應用的用戶;利用關聯分析技術與機器學習方法分析代碼中的包含語義的信息,確定哪些中間數據結構存儲用戶信息,并進一步判斷是否存儲其他用戶的隱私信息;
第三階段,基于非單射變換分析技術的風險檢測
這階段的任務是通過判斷用戶隱私數據流動到用戶界面過程中的變換操作是否為單射,來確定是否存在用戶隱私泄露漏洞。
2.根據權利要求1所述的安卓應用用戶隱私泄露漏洞識別方法,其特征在于,第一階段中:
所述前向污點分析,是從標準的網絡庫函數出發;具體參考權威排名網站AppBrain所提供的第三方網絡庫使用情況數據,整理安卓應用最常用的網絡庫接口作為前向污點分析的起點;同時整理安卓應用中最常用的反序列化第三方庫,作為識別中間數據結構的標識;當前向分析分析到常用的反序列化庫的反序列化接口時 記錄此處生成的中間數據結構的信息;
所述后向污點分析,是從標準的用戶界面函數出發;具體整理了安卓開發文檔提供的所有標準的用戶界面函數;另外對樣本應用代碼中的視圖組件使用情況進行統計,選取使用頻率較高的視圖組件,并且將它們對應的標準用戶界面函數作為后向污點分析的起點;當后向分析分析到中間數據結構時,記錄此處中間數據結構的信息。
3.根據權利要求1所述的安卓應用用戶隱私泄露漏洞識別方法,其特征在于,第二階段中,利用代碼中的語義信息幫助識別用戶隱私信息以及區分當前用戶和其他用戶的隱私信息;具體而言,利用中間數據結構的名稱以及中間數據結構成員的名稱所包含的語義信息幫助判別其是否是用于存儲用戶信息的中間數據結構;利用網絡請求、中間數據結構的名稱以及用戶界面中包含的語義信息幫助區分用戶信息為當前用戶隱私或是其他用戶隱私。
4.根據權利要求3所述的安卓應用用戶隱私泄露漏洞識別方法,其特征在于,第二階段中:
識別敏感用戶數據:訓練一個二分類機器學習模型,用于有效識別中間數據結構名稱中的語義信息,并保留被判定為存儲敏感用戶數據的中間數據結構內的所有成員信息;接著采用關聯分析方法,利用WordNet、ConceptNet等語義詞典提供的關聯信息對這些保留下來的信息詞進行基于語義關聯的分類;由此得到一個較為完整的隱私詞集;與這個詞集合相關聯的任何中間數據結構的成員變量會被識別出來;
識別敏感用戶數據的主體是否為其他用戶:前一步驟識別出的敏感用戶數據包括其他用戶的數據與當前用戶的數據,需要排除那些屬于當前用戶的數據以減少漏洞識別結果中的誤報;根據觀察,應用程序代碼中包含一些能夠幫助區分其他用戶和當前用戶的語義信息,具體包括:(1)網絡請求中的語義信息;(2)中間數據結構的名稱,(3)用戶界面中包含的語義信息;基于以上這三方面的語義信息訓練一個二分類機器學習模型,用于判斷敏感用戶數據的主體是否為其他用戶。
5.根據權利要求4所述的安卓應用用戶隱私泄露漏洞識別方法,其特征在于,第三階段中:
傳輸到客戶端的數據與用戶界面實際呈現的數據之間的不一致,其數學上是一種非單射的關系;表現為兩種情況:第一種,傳輸到客戶端的敏感用戶數據并沒有流動到用戶界面上,即無論數據的值是什么,其在用戶界面上顯示的值皆為“空”,其數學本質是非單射性質,屬于所述的“不一致”問題;第二種,數據在流動到用戶界面上之前經過非單射的變換操作,也將發生所述的“不一致”問題;對于第一種情況可以在代碼預分析階段進行識別;對于第二種情況,設計一種通用的檢測方案:構建一個稻草人虛擬用戶檔案,針對一些常用的用戶屬性賦予合理的值,同時對虛擬稻草人用戶的屬性值進行一些微小的擾動以產生不同但是互相臨近的值,讓數據變換的操作作用于這些互相臨近的值;如果不同的值經過數據變換操作產生了相同的結果,則說明數據變換操作是非單射的,即這里存在所關注的不一致的漏洞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211075112.4/1.html,轉載請聲明來源鉆瓜專利網。





