脆弱性があるアンドロイドアプリの作り方
本資料は下記URLの最後の方からダウンロード可能です。

http://www.taosoftware.co.jp/android/android_security/

ABC2013 Spring
2013年3月15日(金) 13:00～13:40(40分)
E会場 28号館104教室
タオソフトウェア株式会社 谷口岳
Twitter:@tao_gaku© 2013 Taosoftware Co., Ltd. All rights reserved.

1

タオソフトウェア株式会社
••
•
•
•
•
–•
•

© 2013 Taosoftware Co., Ltd. All rights reserved.

2

Android Security
安全なアプリケーションを作成するために••
•

•

•

•

•

–––––––© 2013 Taosoftware Co., Ltd. All rights reserved.

3

JSSEC セキュアコーディングガイド•––––•••–© 2013 Taosoftware Co., Ltd. All rights reserved.

4アンドロイド スマートフォン プライバシーガイドライン
by タオソフトウェア•–••–© 2013 Taosoftware Co., Ltd. All rights reserved.

5

脆弱性があるアンドロイドアプリの作り方© 2013 Taosoftware Co., Ltd. All rights reserved.

6

セキュリティを考える視点
視点（立場）

セキュリティリスク

原因

個人ユーザ

個人情報漏洩
行動監視される
金銭的被害
端末紛失

マルウェアインストール
フィッシングサイトアクセス
置き忘れ、盗難

企業ユーザ

トレードシークレット漏洩
顧客情報漏洩
業務システムへの不正アクセス（加えて各社員個人のリスクも）マルウェアインストール
フィッシングサイトアクセス
業務アプリに脆弱性
置き忘れ、盗難

アプリ開発者

データ漏洩
機能乗っ取られ不正コピー・海賊版
著作権侵害

脆弱性（バグ）
対処不足
不要な通信
広告モジュール

サービスプロバイダ

不正アクセス
個人情報収集の疑いを受ける

脆弱性（バグ）
意識欠如（説明不足）
メリット優先ハードメーカ

ルート取得
OSに脆弱性
プリインアプリに脆弱性

脆弱性（バグ）
脆弱性（バグ）
意識欠如（市場優先）© 2013 Taosoftware Co., Ltd. All rights reserved.

7

Androidコンポーネント図
アプリのセキュリティ

端末のセキュリティ

© 2013 Taosoftware Co., Ltd. All rights reserved.

8

Androidアプリ脆弱性の内訳•『Androidアプリの脆弱性』に関するレポート
http://www.ipa.go.jp/about/technicalwatch/20120613.html© 2013 Taosoftware Co., Ltd. All rights reserved.

9

ファイルのアクセス制御© 2013 Taosoftware Co., Ltd. All rights reserved.

10Androidのファイル
他のアプリからファイルが読める→重要なデータを読み取られる

他のアプリからファイルが書き込める→ハングアップ、アプリデータの改変注意する事••––© 2013 Taosoftware Co., Ltd. All rights reserved.

11

やっちゃった例

•
–––
•
––
•
•
–

© 2013 Taosoftware Co., Ltd. All rights reserved.

12

ファイルの作成方法
ファイルの作成は、MODE_PRIVATEを使う（デフォルトの動作）
•––––
•
––

モード

説明

MODE_PRIVATE

作成したアプリのみ読み書き可能

MODE_WORLD_READABLE

他のアプリから読み込み可能（OS4.2で廃止)

MODE_WORLD_WRITEABLE

他のアプリから書き込み可能（OS4.2で廃止)© 2013 Taosoftware Co., Ltd. All rights reserved.

13

NECアプリの脆弱性事例 (SDカードに重要なデータを保存)•IMEIをユーザ識別に使っていた•テスト時にユーザ切り替えしやすいようにＳＤカードに書いていた•http://www.nec.co.jp/security-info/secinfo/nv12-008.html© 2013 Taosoftware Co., Ltd. All rights reserved.

14

アプリケーションデータディレクトリ
他のアプリからのアクセスは通常できない•––––© 2013 Taosoftware Co., Ltd. All rights reserved.

15

外部記憶装置（ＳＤ）
外部記憶装置のファイルは全てのアプリケーションがアクセス可能•
––

•
––––
© 2013 Taosoftware Co., Ltd. All rights reserved.

16

コンポーネントのアクセス制御© 2013 Taosoftware Co., Ltd. All rights reserved.

17

コンポーネント
••
––––•
•

© 2013 Taosoftware Co., Ltd. All rights reserved.

18

やっちゃった例

•

•

•

––––

•

© 2013 Taosoftware Co., Ltd. All rights reserved.

19

AndroidManifest.xml セキュリティ設定
••
––

•
–––

© 2013 Taosoftware Co., Ltd. All rights reserved.

20

コンテントプロパイダのEXPORTEDに注意•–––
OSバージョン
1.6(API Level 4)
2.1(API Level 7)

Exportedにfalseを設定した時に外部からのアクセスが可能かどうか可能
可能

2.2(API Level 8)

可能

2.3.1(API Level 9)不可

2.3.3(API Level 10)

不可

3.0(API Level 11)

不可

3.1(API Level 12)

不可

4.0(API Level 14)

不可© 2013 Taosoftware Co., Ltd. All rights reserved.

21

GREEアプリの脆弱性（機能の乗っ取り）
ユーザが、不正な他の Android アプリケーションを使用した場合、当該製品のデータ領域にある情報が漏えいする可能性があります。

•–•
出典：JVN 脆弱性対策情報データベースより© 2013 Taosoftware Co., Ltd. All rights reserved.

22

アプリケーション機能の悪用
•
•
–
•
•

–
•
•

© 2013 Taosoftware Co., Ltd. All rights reserved.

23ユーザデータ以外の守る物© 2013 Taosoftware Co., Ltd. All rights reserved.

24ユーザデータ以外に守る物••© 2013 Taosoftware Co., Ltd. All rights reserved.

25

１．アプリ内の著作権データを守る•

タイトル：ブラックジャックによろしく
著作者名：佐藤秀峰
サイト名： Manga on Web
URL: http://mangaonweb.com© 2013 Taosoftware Co., Ltd. All rights reserved.

26

1-1 PCと接続してAPKファイル吸出し•–•© 2013 Taosoftware Co., Ltd. All rights reserved.

27

デモ
•

© 2013 Taosoftware Co., Ltd. All rights reserved.

28

1-2 Android上でアプリによるリソースの吸出し•–© 2013 Taosoftware Co., Ltd. All rights reserved.

29

tPackageExploｒer
•
–
–
アプリ一覧

AndroidManifest.xml© 2013 Taosoftware Co., Ltd. All rights reserved.

アプリ内画像の表示

30

デモ© 2013 Taosoftware Co., Ltd. All rights reserved.

31

２．アプリケーションロジック•–––––© 2013 Taosoftware Co., Ltd. All rights reserved.

32

デモ•
–

•
–

© 2013 Taosoftware Co., Ltd. All rights reserved.

33

まとめ•

•

•

––––––––––© 2013 Taosoftware Co., Ltd. All rights reserved.

34マルウェアに間違えられる？

© 2013 Taosoftware Co., Ltd. All rights reserved.

35

間違えられました！？

© 2013 Taosoftware Co., Ltd. All rights reserved.

36

••

•

•

© 2013 Taosoftware Co., Ltd. All rights reserved.

37使用している広告モジュールがマルウェア！？

マルウェアと認定される広告モジュールが入っていたら、そのアプリはマルウェアです。
••–––© 2013 Taosoftware Co., Ltd. All rights reserved.

38

携帯電話は個人情報の宝庫•––

区別しずらい。

•–––––

現在問題になってます。
現在進行中…

•© 2013 Taosoftware Co., Ltd. All rights reserved.

39

インストール時の「Permission確認画面」
Permission画面

•

–––

•

–––––

参考:不正アプリ供用事件の不起訴は何の立証が困難だったか
http://takagi-hiromitsu.jp/diary/20130129.html© 2013 Taosoftware Co., Ltd. All rights reserved.

40利用者情報取り扱い••© 2013 Taosoftware Co., Ltd. All rights reserved.

41

何をやれば良いか•••

アンドロイドスマートフォンプライバシーガイドライン作りました。無料公開(ApacheLicense2)
http://www.taosoftware.co.jp/android/android_pri
vacy_policy/© 2013 Taosoftware Co., Ltd. All rights reserved.

42

まとめ

© 2013 Taosoftware Co., Ltd. All rights reserved.

43

まとめ•••••––

気を付ける所はまだまだありますが、細かい点までお話しすると２日ぐらいかかります。

© 2013 Taosoftware Co., Ltd. All rights reserved.

44

Tao RiskFinder （脆弱性発見ツール）
ＡＰＫファイルをアップロードするだけで脆弱性レポートが作成されます。

講演をする中で、｢気を付ける事が沢山あるのは分かった。
でも全てのプログラマが理解するのは難しい
何かいい方法はないか？｣という声があったので作ってみました。

1. プログラマでなくても使える
2. ソースコード不要
3. ウエブサービス型
4. 脆弱性以外も検出© 2013 Taosoftware Co., Ltd. All rights reserved.

45バザーやってます。

© 2013 Taosoftware Co., Ltd. All rights reserved.

46

ありがとうございました。

ABC2013 Spring
2013年3月15日(金) 13:00～13:40(40分)
E会場 28号館104教室
タオソフトウェア株式会社 谷口岳
Twitter:@tao_gaku© 2013 Taosoftware Co., Ltd. All rights reserved.

47