MASTG-TEST-0315 通知を介して露出する機密データ (Sensitive Data Exposed via Notifications)
概要
このテストはアプリが通知 (アプリ通知 (App Notifications)) を正しく処理することを検証します。個人を識別できる情報 (PII)、ワンタイムパスワード (OTP)、健康や金融の詳細などのその他の機密データのような、機密情報がさらされていないことを確認します。
Android 13 以降では、API レベル 33 以上をターゲットとするアプリは通知を送信するためにランタイムパーミッション POST_NOTIFICATIONS をリクエストする必要があります。API レベル 33 未満では、このパーミッションは必要ありません。テスト目的では、アプリが実行可能な最低限の Android バージョンを示す、アプリの minSdkVersion の値を考慮します。
通知は Notification.Builder または NotificationCompat.Builder の setContentTitle メソッドと setContentText メソッドを使用して作成できます。
通知の使用では、ショルダーサーフィンや、他人とデバイスを共有している場合などに、誤って開示される可能性のある機密情報をさらしてはいけません。
手順
Android アプリのリバースエンジニアリング (Reverse Engineering Android Apps) を使用して、アプリをリバースエンジニアします。
AndroidManifest から情報の取得 (Obtaining Information from the AndroidManifest) を使用して、AndroidManifest.xml ファイルを取得します。
Android での静的解析 (Static Analysis on Android) を使用して、AndroidManifest.xml ファイルの
POST_NOTIFICATIONSパーミッションとminSdkVersionの宣言を探します。Android での静的解析 (Static Analysis on Android) を使用して、アプリのソースコードの
NotificationCompat.Builder,setContentTitle,setContentTextなどの通知 API への参照を探します。
結果
出力には以下を含む可能性があります。
POST_NOTIFICATIONSパーミッション (宣言されている場合)、minSdkVersionの値、通知 API が使用される場所のリスト。
評価
アプリが通知で機密データを露出し、かつ以下のいずれかの場合、そのテストケースは不合格です。
minSdkVersionが33以上で、POST_NOTIFICATIONSパーミッションがマニフェストファイルに宣言されている、またはminSdkVersionが32以下 (POST_NOTIFICATIONSパーミッションが宣言されているかどうかに関わらず) の場合
なぜ minSdkVersion であり、targetSdkVersion ではないのか?: minSdkVersion を使用すると、アプリが動作できる 最も安全性の低い環境 をテストで考慮することを確保し、これが実際の露出リスクを決定します。
targetSdkVersion は、新しい Android バージョンでのアプリの動作と、システムが新しいプラットフォーム制限を適用する方法にのみ影響します。古い Android バージョンの動作は変更しません。結果として、targetSdkVersion は高いが minSdkVersion が低いアプリは、古いバージョンのセキュリティ保証 (またはその欠如) に対して評価する必要があります。
Last updated
Was this helpful?