[轉]Android隱私合規檢測方法

背景:
公司的APP被工信部通報:1.在用戶確認隱私權限以前會獲取用戶的mac地址。2.在app內頻繁的獲取定位,超過了場景所必須的頻次。

排查過程
收到通報我們一臉懵,我們排查業務代碼中沒有獲取mac地址,並且我們的定位sdk只定位一次,於是想到了可能是三方sdk在獲取mac地址。

於是我們電話工信部下的全國APP技術檢測平臺 諮詢到他們是通過getHardwareAddress方法的調用來檢測MAC地址的獲取。至於第2條沒有給出確切的回覆,他們說可能是接口裏頻繁的帶有用戶位置信息,超出了業務場景必須的頻次,也可能是在頻繁的調用LocationManager#getLastKnownLocation方法。

於是反編譯了自己項目中的apk,全局搜索查詢到有三方sdk在調用getHardwareAddress和getLastKnownLocation方法。於是首次安裝採取了延遲初始化的策略,把相關的三方sdk的初始化延遲到了用戶同意隱私權限之後。但是我們想知道這些方法的調用時機和調用頻次。因此我們需要用AOP或者hook系統方法的方式來查看他們的調用時機。我採用的是Xposed工具hook的系統底層方法以達到檢測調用時機。

檢測方法
使用VirtualXposed在手機上裝了一下虛擬系統。https://github.com/android-hacker/VirtualXposed
sherlock: 這是一個用來攔截方法的程序,具體是你需要攔截那些方法,可以在 https://github.com/hauler1/sherlock 下載源碼並自定義。

使用方法:
1)安裝兩個App到你的手機(不需要root)

安裝VirtualXposed App,可以拉取GitHub代碼自己運行安裝,也可以下載現成VirtualXposed App。

此處需要注意,你的待檢測app是32位的就應該使用VirtualXposed32位APK,是64位的就應該使用VirtualXposed64位,不然會出現無法安裝 待檢測app的問題。

2)打開VirtualXposed 點擊添加應用,選擇你要監控的應用和sherlock安裝到VirtualXposed中


3)點擊模塊管理,勾選你要sherlock,然後退到VirtualXposed首頁,向上滑動,先打開sherlock模塊,再啓動你要檢測的app。在logcat中就能看到調用的日誌輸出了。


————————————————
版權聲明:本文爲CSDN博主「hauler~」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/gjd1988/article/details/113404752

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章