Android靜態安全檢測 -> 敏感函數調用風險

敏感函數調用風險


一、API


【1】android.telephony.TelephonyManager.getNetworkOperator( )   獲取運營商信息


【2】android.telephony.TelephonyManager.getDeviceId( )   獲取設備信息


【3】android.telephony.TelephonyManager.getPhoneType( )   獲取手機信息


【4】android.telephony.TelephonyManager.getSubscriberId( )  獲取設備信息


【5】android.telephony.TelephonyManager.getLine1Number( )  獲取手機號


【6】android.telephony.TelephonyManager.getCellLocation( )  獲取位置信息


【7】android.telephony.TelephonyManager.listen( )  電話監聽


【8】android.telephony.TelephonyManager.getSimOperator( )  獲取SIM卡信息


【9】android.app.ActivityManager.getRunningAppProcesses( )  獲取運行APP


【10】android.app.ActivityManager.getRunningTasks( )  獲取正運行的task


【11】android.content.pm.PackageManager.getInstalledPackages( )  獲取安裝APP


二、觸發條件


1. 定位敏感函數的調用位置


【1】對應到smali語句中的特徵

r'Landroid/(?:telephony/TelephonyManager;->(?:getNetworkOperator|getDeviceId|getPhoneType|' \
             r'getSubscriberId|getLine1Number|getCellLocation|listen|getSimOperator)|' \
             r'app/ActivityManager;->getRunning(?:AppProcesses|Tasks)|' \
             r'content/pm/PackageManager;->getInstalledPackages)\('


三、漏洞原理


【1】APP應用程序中調用了包含敏感行爲的函數,包括髮送短信、發送地理位置、撥打電話等,可能會導致用戶隱私數據泄露等風險


四、修復建議


【1】開發者審覈包含敏感行爲的函數調用,確保其使用是必要且限制於授權用戶的


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