Android靜態安全檢查(八):自定義Permission檢測

自定義權限風險

Android系統提供了很多權限,同時也允許應用根據自己的需求創建自定義的權限(Permission),該Permission在AndroidManifest.xml的標籤如下

<permission android:name="com.wzj.test"/>

無論是系統權限還是自定義權限,都有一個叫做 android:protectionLevel屬性,它代表權限的風險級別,有四個值,缺省爲normal

  • Normal:權限被聲明爲Normal級別,任何應用都可以申請,在安裝應用時,不會直接提示給用戶,點擊全部纔會展示。
  • Dangerous:權限被聲明爲Dangerous級別,任何應用都可以申請,在安裝應用時,會直接提示給用戶。
  • Signature:只有和該apk(定義了這個權限的apk)用相同的私鑰簽名的應用纔可以申請該權限
  • SignatureOrSystem:有兩種應用可以申請該權限,一個是和該apk同樣的簽名,另一種是在/system/app目錄下的應用

如果一個應用自定義權限定義爲Normal或Dangerous,可以被外部第三方的應用申請到,則說明該權限可能存在風險問題。

檢測方法

查看AndroidManifest.xml所有的Permission,查看android:protectionLevel設置的什麼級別,如果是Normal或Dangerous,可以被外部第三方的應用申請到,該權限存在安全問題。

修復方案

應用自定義權限的風險級別設置爲Signature或者SignatureOrSystem。

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