2026.09.03 14:20 ~ 15:00 Panda

Android SDKのセキュリティ保護:多層防御

Security / Identity / Privacy English 通訳あり

モバイルSDKは、攻撃者がリバースエンジニアリング可能なアプリ内に同梱されて配布されます。SDKが配信された瞬間から、そのロジック、定数、APIキーはデコンパイラを持つ誰もが読み取れる可能性があります。これは理論上のリスクではありません。APIキーの抽出、イベントインジェクション、ボットによる不正行為は、アトリビューションやアナリティクスのSDKが大規模に直面している現実的な問題です。HTTPSやコードレビューのような標準的なベストプラクティスだけでは不十分です。 本セッションでは、最も一般的な攻撃ベクターからAndroid SDKを堅牢化するための、レイヤー化された多層防御(defense-in-depth)戦略を順を追って解説します。内部構造が簡単に露出するのを防ぐコード難読化から始め、タイムスタンプやナンスを用いたHMAC-SHA256によるリクエスト署名によって、リプレイや偽造されたAPI呼び出しを不可能にする方法へと進みます。 次に、AndroidのPlay Integrity APIを取り上げ、デバイス構成検証(device attestation)によって、リクエストがバックエンドを直接叩くスクリプトではなく、実デバイス上の改ざんされていない本物のアプリから送信されたものであるという暗号学的な証明をどのように提供するかを解説します。最後に、静的なAPIキーから脱却し、SDK初期化時のデバイス検証ハンドシェイクを通じて取得する短寿命でサーバー発行のセッショントークンへと移行するアーキテクチャの変更について説明し、長寿命な資格情報の流出リスクを完全に排除します。 各レイヤーは、実際のSDKから抽出した具体的な実装例とともに説明します。参加者は、実用的な脅威モデル、再利用可能なパターン、そして自身のAndroidライブラリに同じ多層防御戦略を適用するための明確なロードマップを持ち帰ることができます。 (DroidKaigi実行委員会による翻訳)

対象者

Androidの知識があり、セキュリティに関する基本的な知識があることが望ましいです。

同じ時間帯のセッション

すべてのセッションを見る