4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Androidのセキュア設計・セキュアコーディングの基礎知識

Posted at

JSSECが公開している『Androidアプリのセキュア設計・セキュアコーディングガイド』の2016-09-01版を共有用にまとめているもののうち、「3. セキュア設計・セキュアコーディングの基礎知識」のものとなります。
詳細やサンプルコードについては原著の方を参考ください

Androidアプリのセキュリティ

Androidは守る対象として、情報資産と機能資産があります。これらは、許可された人しか使えなければいけません
情報とは、

  1. 個人の情報(アカウント情報等、スマフォ固有の情報、スマフォ内部にある情報、アプリが管理する情報)
  2. 他者の情報(電話帳等)
  3. アプリ自身の情報(アプリメーカーの情報、dexファイル、アプリが保持しているユーザの情報など)
    を示します

機能とは、OSがアプリに提供する機能です。また、アプリ間連携機能も含まれます。これにより、適切な対策をしていないと、マルウェア等に利用され、課金が生じたりしてしまいます

脅威とは、情報の勝手な変更や参照、機能の勝手な利用のことです

  1. 第三者による脅威として、サーバとアプリのネットワークの中間に立ち、アプリ、サーバに攻撃を行う等があります(通信内容の、盗聴、改竄、なりすまし)
  2. マルウェアによる脅威として、端末に入った、マルウェアが、アプリ間連携や脆弱性を利用して、アプリの資産にアクセスする等があります
  3. ファイルによる脅威として、攻撃ファイルをダウンロードしたユーザーが、ファイル処理アプリで開いたときに、アプリの脆弱性を利用して攻撃する等があります
  4. 悪意あるユーザの脅威として、adbを利用して、アプリを解析、アプリの試算にアクセスされる等があります
  5. スマフォの近くの第三者による攻撃として、覗き見、Bluetooth、端末の窃盗、破壊等があります

入力データの安全性

  • 攻撃者が直接的、間接的にそのデータの値を操作可能な場合は、全て入力データの安全性確認が必要となります
  • 例えば、Activityが受け取ったIntentは攻撃者が細工したデータの可能性があります。そのため、以下の2点に気を付ける必要があります。
  1. 受け取ったデータが想定の形式かつ、想定の範囲内であるかの確認
  2. 想定している形式、値のあらゆるデータを受け取っても、想定外の動きをしない保証

参考

『Android アプリのセキュア設計・セキュアコーディングガイド』【2016年9月1日版】
https://www.jssec.org/dl/android_securecoding.pdf

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?