一般社団法人日本スマートフォンセキュリティ協会(JSSEC:会長 佐々木 良一)の技術部会 セキュアコーディングWG(リーダー 宮崎 力)は、2012年6月に公開した『Android アプリのセキュア設計・セキュアコーディングガイド』(以下 本ガイド)の17版目の改定版である2025年8月27日版を公開しました。

2025年1月29日版からの改訂内容【下記の新しい記事を追加しました】・ 4.2.3.9. 順序付きBroadcastのpriority仕様変更・ 4.6.3.11. MediaStore バージョンのロックダウン・ 4.6.3.12. App-owned photos・ 4.7.3.6. Safer Intents・ 4.7.3.7. Intentリダイレクト攻撃対策・ 5.5.3.7. ローカル ネットワークへのアクセス権・ 5.6.3.8. Key sharing APIによるアプリ間鍵共有の仕組みとリスク・ 5.6.3.9. (コラム) Google Playアプリ署名による鍵管理【下記の構成・内容を見直し拡充しました】・ 4.6.3.4. Android 10以降の内部ストレージアクセス・ 4.6.3.5. Android 10以降の外部ストレージアクセス・ 4.6.3.6. Android 10以降の共有ストレージアクセス・ 4.7.3.1. コンポーネント公開制御とIntent送信の制限・ 4.7.3.2. PendingIntentオブジェクトの可変性・ 4.7.3.3. Intent Filterの厳格化・ 4.7.3.4. Intent Filter機能の拡張・ 4.7.3.5. PendingIntentとパッケージ停止状態の仕様変更・ 5.5.3.15. プライベート スペース・ 5.5.3.8. Android 12 における使用していないアプリの自動休止機能について・ 5.5.3.9. パッケージアクセスの仕様変更にともなうAPIの戻り値の変化・ 4.11.4.2. 新規インストールアプリでのsharedUserIdの無効化・ 2.2. サンプルコード、ルールブック、アドバンスト・ 5.1.3.5. 認証情報マネージャーを自動入力と統合する・ 4.6.3.8. メディア所有者のパッケージ名・ 5.3.3.2. Android 8.0(API Level 26)以降で署名の一致しないAuthenticatorのアカウントを読めるケース【下記の記事を削除しました】・ 4.1.3.3. Activityに送信されるIntentの読み取り(Android 5.0より前のバージョンについて)・ 4.6.3.4. Android 4.4 (API Level 19)における外部ストレージへのアクセスに関する仕様変更について・ 4.6.3.5. Android 7.0(API Level 24)における外部ストレージの特定ディレクトリへのアクセスに関する仕様変更について・ 4.9.3.1. Android 4.2未満の端末におけるaddJavascriptInterface()に起因する脆弱性について・ 5.3.3.2. Android 4.0.xでは利用アプリとAuthenticatorアプリの署名鍵が異なると例外が発生する・ 5.6.3.3. 乱数生成における脆弱性と対策

【下記の新しい記事を追加しました】・ 4.2.3.9. 順序付きBroadcastのpriority仕様変更・ 4.6.3.11. MediaStore バージョンのロックダウン・ 4.6.3.12. App-owned photos・ 4.7.3.6. Safer Intents・ 4.7.3.7. Intentリダイレクト攻撃対策・ 5.5.3.7. ローカル ネットワークへのアクセス権・ 5.6.3.8. Key sharing APIによるアプリ間鍵共有の仕組みとリスク・ 5.6.3.9. (コラム) Google Playアプリ署名による鍵管理【下記の構成・内容を見直し拡充しました】・ 4.6.3.4. Android 10以降の内部ストレージアクセス・ 4.6.3.5. Android 10以降の外部ストレージアクセス・ 4.6.3.6. Android 10以降の共有ストレージアクセス・ 4.7.3.1. コンポーネント公開制御とIntent送信の制限・ 4.7.3.2. PendingIntentオブジェクトの可変性・ 4.7.3.3. Intent Filterの厳格化・ 4.7.3.4. Intent Filter機能の拡張・ 4.7.3.5. PendingIntentとパッケージ停止状態の仕様変更・ 5.5.3.15. プライベート スペース・ 5.5.3.8. Android 12 における使用していないアプリの自動休止機能について・ 5.5.3.9. パッケージアクセスの仕様変更にともなうAPIの戻り値の変化・ 4.11.4.2. 新規インストールアプリでのsharedUserIdの無効化・ 2.2. サンプルコード、ルールブック、アドバンスト・ 5.1.3.5. 認証情報マネージャーを自動入力と統合する・ 4.6.3.8. メディア所有者のパッケージ名・ 5.3.3.2. Android 8.0(API Level 26)以降で署名の一致しないAuthenticatorのアカウントを読めるケース【下記の記事を削除しました】・ 4.1.3.3. Activityに送信されるIntentの読み取り(Android 5.0より前のバージョンについて)・ 4.6.3.4. Android 4.4 (API Level 19)における外部ストレージへのアクセスに関する仕様変更について・ 4.6.3.5. Android 7.0(API Level 24)における外部ストレージの特定ディレクトリへのアクセスに関する仕様変更について・ 4.9.3.1. Android 4.2未満の端末におけるaddJavascriptInterface()に起因する脆弱性について・ 5.3.3.2. Android 4.0.xでは利用アプリとAuthenticatorアプリの署名鍵が異なると例外が発生する・ 5.6.3.3. 乱数生成における脆弱性と対策

今回は、最新版のAndroid 16における変更点を中心に改訂いたしました。Android 16では、順序付きBroadcastのpriority指定やSafer Intentsの導入、Intentリダイレクト攻撃対策強化など、アプリ間通信の安全性を高める仕様変更が加えられています。また、MediaStoreのバージョン管理やアプリ所有写真の扱い、ローカルネットワークアクセス権限、Key sharing APIによる鍵共有といったストレージ・ネットワーク・暗号管理に関する機能も拡充され、セキュリティリスクへの理解を深めやすくしました。さらに、Google Playアプリ署名による鍵管理についてのコラムを追加し、アプリ配布における安全性確保についても解説しています。併せて、Android 10以降のストレージアクセスや、コンポーネント公開制御・Intent関連の記述を再構成し、より体系的で実践的に活用できる内容へと改善しました。加えて、Googleの公式サポートが既に終了しているAndroid 7以前の記述については削除し、現行の開発環境で直面するリスクと対応策に焦点を当てました。

本ガイドはAndroidアプリケーションのセキュリティを考慮した設計・開発のノウハウを集めた文書です。アプリケーション開発現場で「使う」ことを想定した文書構成が特徴です。各テーマの文書は、忙しい開発者向けにお手本となるサンプルコードを紹介したサンプルコードセクション、サンプルコードの背景にあるセキュリティ観点の留意事項をまとめたルールブックセクション、さらにセキュリティの理解を深めるための話題をまとめたアドバンストセクションで構成されています。

・コピーペーストして使える安全なサンプルコード付き!「Apache License 2」で商用利用可

『Android アプリのセキュア設計・セキュアコーディングガイド2025年8月27日版』

【日本スマートフォンセキュリティ協会について】2011年5月に設立され、2012年4月に法人化された日本スマートフォンセキュリティ協会は、個人ならびにビジネス分野での普及、利活用が進む一方、さまざまなセキュリティ上の課題に直面しており、それらを解決し安心安全な普及促進を目指しています。今やスマートフォンなどの社会と人を繋ぐという重要な役割を果しています。これまでのスマートフォン自体の安心安全な利活用における普及啓発をはじめ、その先のクラウド、IoTや未来にあるICTの安心安全な普及啓発を行ってまいります。【お客様からのお問い合わせ先】日本スマートフォンセキュリティ協会 事務局Tel: 03-6757-0159  E-mail: sec@jssec.org【報道機関からのお問い合わせ先】日本スマートフォンセキュリティ協会 事務局Tel: 03-6757-0159 E-mail: press@jssec.org