この記事は Jon Markoff、Sean Smith による Android Developers Blog の記事 "Introducing Security By Design" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
アプリ開発のどの段階でセキュリティ対策を実装すべきか悩まれたことはありませんか?セキュリティをアプリ開発のライフサイクルに組み込んでおくと、たくさんの時間と費用、リスクを削減できます。Google Play の技術情報をオンラインで学習できる Google Play アカデミーで公開している「安全性を重視した設計」コースでは、デベロッパーがセキュリティの脅威を特定し、緩和して、先回りで保護できるための知識を習得できます。
Google Play を含む Android エコシステムには、デベロッパーやユーザーを保護するための多くのセキュリティ機能が組み込まれています。 「アプリのセキュリティに関するベスト プラクティスの概要 」コースは、これらの保護を一歩進めて、アプリに組み込まれた追加のセキュリティ機能を活用できるような内容になっています。たとえば、Jetpack Security は、デベロッパーがデータを適切に暗号化し、Files や SharedPreferences を暗号化するための安全でよく知られたアルゴリズムのみを提供します。root 化されたデバイスや、危険なデバイスを通じて、悪意のある人があなたのアプリを認可されていない方法で使用する可能性を懸念していませんか?SafetyNet Attestation API を使うと、危険な可能性がある使用パターンを特定することができます。特定できる使用パターンは、一般的に見られるいくつかの設計上の脆弱性で、たとえば、ファイル ストレージの共有や不適切な使用、安全でないプロトコルの使用、アクティビティなどのコンポーネントを保護しないことなどです。このコースでは、リリース後もアプリの安全を保つためのアプリのテスト方法についても解説しています。さらに、脆弱性開示プログラム(VDP)を設定してセキュリティ研究者に協力を求めることもできます。
「セキュリティ開発ライフサイクルの概要」コースでは、セキュリティ開発ライフサイクル(SDL)を採用して開発プロセスの各ステージにセキュリティを組み込む方法を学ぶことができます。SDL は業界基準のプロセスです。このコースでは、プログラムの設定の基礎、経営陣の協力を得る方法、開発ライフサイクルへの組み込み方について学習します。
また、同じくセキュリティ開発ライフサイクルの一部である脅威のモデリングについては、脅威の特定、分類、対処を行うために、攻撃者の視点で考えることを学習します。開発の設計フェーズの早い段階でこれを行うことで、はるかに少ない費用で潜在的な脅威を特定し、それを緩和する方法について計画し、ユーザーにとってのプロダクトの安全性を高めることができます。
アプリのセキュリティ強化は終わることのないプロセスです。ぜひ、「安全性を重視した設計」コースを受講してください。いくつかのミニコースを通じて、アプリ開発ライフサイクルにセキュリティを組み込む方法、潜在的な脅威をモデリングする方法、セキュリティのベスト プラクティスをアプリに組み込む方法、そして潜在的な設計の落とし穴を回避する方法を習得しましょう。
Reviewed by Hidenori Fujii - Google Play Developer Marketing APAC