2015/4/25( 土 ) 15:30-16:25 (55 分 )ROOM A タオソフトウェア 株 式 会 社 代 表 取 締 役 谷 口 岳 @tao_gaku 2014 Taosoftware Co., Ltd. All right reserved. 1
2005 年 創 業 独 立 系 ソフトハウス 代 表 取 締 役 谷 口 岳 Webアプリケーション 開 発 会 社 としてスタート Google 社 のAndroidに 発 表 当 初 より 着 目 し 研 究 開 発 を 開 始 現 在 Android 専 業 ( 受 託 開 発 ) Google Playにアプリを 多 数 公 開 ブログにて 開 発 者 向 け 情 報 を 発 信 http://www.taosoftware.co.jp/blog/ 雑 誌 他 執 筆 講 演 など 2013 Taosoftware Co., Ltd. All right reserved. 2
タオバイザー 3DVRゴーグル クラウドファンディングで 資 金 調 達 アマゾンで 絶 賛 販 売 中 http://taovisor.com 2014 Taosoftware Co., Ltd. All right reserved. 3
2012 年 1 月 1 日 発 刊 開 発 者 向 け 出 版 社 :インプレスジャパン Amazonにて 絶 賛 販 売 中 2013 Taosoftware Co., Ltd. All right reserved. 4
APKファイルをアップロードするだけで 脆 弱 性 レポートが 作 成 されます 講 演 をする 中 で 気 を 付 ける 事 が 沢 山 あるのは 分 かった でも 全 てのプログラマが 理 解 するのは 難 しい 何 かいい 方 法 はないか? という 声 があったので 作 ってみました 1. プログラマでなくても 使 える 2. ソースコード 不 要 3. ウエブサービス 型 4. 脆 弱 性 以 外 も 検 出 http://riskfinder.com/ 2013 Taosoftware Co., Ltd. All rights reserved. 5
セキュリティホールがあるアプリケーションをを 作 らな いようにするために やりがちな 例 をあげながら その 対 応 策 について 解 説 致 します また 不 正 のないアプ リがマルウェアに 間 違 われる 事 他 人 の 作 成 したライ ブラリを 使 用 したために 意 図 せずマルウェアになっ てしまう 事 もあります 個 人 情 報 の 取 扱 い 等 知 って いるだけで 防 げる 例 が 数 多 く 存 在 します アプリを 公 開 する 人 に 最 低 限 知 ってもらいセキュリティに 関 する 事 項 をお 話 します 2014 Taosoftware Co., Ltd. All right reserved. 6
セキュリティの 学 習 方 法 2 冊 のセキュリティ 本 AnCole 最 低 限 知 っておきたい 事 ファイルアクセス コンポーネントアクセス HTTPS 通 信 不 必 要 なパミッション 第 三 者 モジュールに 注 意 ライセンス 脆 弱 性 マルウェア プライバシー プライバシポリシ プライバシーポリシーを 作 成 何 の 情 報 を 何 の 目 的 で 取 得 するのか また 第 三 者 提 供 について ダイアログによる 同 意 取 得 2014 Taosoftware Co., Ltd. All right reserved. 7
2014 Taosoftware Co., Ltd. All right reserved. 8
2013 Taosoftware Co., Ltd. All right reserved. 9
Androidアプリの 開 発 者 を 対 象 とした 脆 弱 性 が 作 り 込 まれてしまう 原 因 や 対 策 について 実 習 形 式 で 学 べ るツール IPA 提 供 無 料 ダウンロード http://www.ipa.go.jp/security/vuln/ancole/index.ht ml 2013 Taosoftware Co., Ltd. All right reserved. 10
必 要 な 物 Windows OS Eclipse (Eclipseのプラグインとして 提 供 ) Android SDK 等 アプリ 開 発 に 必 要 な 物 何 ができるか 学 習 コンテンツ 読 み 物 脆 弱 性 アプリに 対 する 攻 撃 実 習 点 検 機 能 自 分 のアプリに 脆 弱 性 がないか 点 検 ができる Macもうごいた 2013 Taosoftware Co., Ltd. All right reserved. 11
2014 Taosoftware Co., Ltd. All right reserved. 12
1. ファイルアクセス 制 限 の 不 備 2. コンポーネントのアクセス 制 限 不 備 3. 暗 黙 的 Intentの 不 適 切 な 使 用 4. 不 適 切 なログ 出 力 5. WebViewの 実 装 不 備 6. SSL 通 信 の 実 装 不 備 7. 不 必 要 な 権 限 の 取 得 上 記 テーマに 複 数 のシナリオが 入 っており 計 11の 項 目 について 学 習 できる 2013 Taosoftware Co., Ltd. All right reserved. 13
2014 Taosoftware Co., Ltd. All right reserved. 14
1. ファイルアクセス 制 限 の 不 備 2. コンポーネントのアクセス 制 限 不 備 3. 暗 黙 的 Intentの 不 適 切 な 使 用 4. 不 適 切 なログ 出 力 5. WebViewの 実 装 不 備 6. SSL 通 信 の 実 装 不 備 7. 不 必 要 な 権 限 の 取 得 2013 Taosoftware Co., Ltd. All right reserved. 15
1. 内 部 ストレージのアクセス 制 限 不 備 2. Preferenceファイルのアクセス 制 限 不 備 3. SDカードのファイルアクセス 制 限 の 理 解 不 足 問 題 点 セキュアデータの 漏 えい 不 正 な 外 部 コードの 読 出 し(LoadDex) 解 決 方 法 ファイルを 作 成 する 時 にファイルのアクセス 権 限 を 指 定 し ない(デフォルトでOK) 外 部 記 憶 装 置 (SDカード)は 他 のアプリから 読 み 取 れ るので セキュアな 情 報 はおかない 2013 Taosoftware Co., Ltd. All right reserved. 16
1. 非 公 開 コンポーネントのアクセス 制 限 不 備 2. 公 開 コンポーネントのアクセス 制 限 不 備 3. CotentProviderのアクセス 制 限 不 備 問 題 点 Activityの 乗 っ 取 り ContentProviderからのデータ 読 み 込 み 解 決 方 法 コンポーネントは 外 部 非 公 開 (export=false)にする 2013 Taosoftware Co., Ltd. All right reserved. 17
1. セキュリティ 例 外 の 無 視 問 題 点 サーバの 正 当 性 が 保 証 できなく 偽 装 サーバのアク セス 中 間 者 攻 撃 が 防 げない 原 因 : 開 発 時 にテストサーバ(オレオレ 証 明 サーバ)を 使 う と 例 外 を 無 視 するように 実 装 しないと 動 かない リリース 版 でもそのまま 解 決 方 法 例 外 無 視 コードは 最 後 に 削 除 なるべく 早 くに 本 番 サーバーを 立 てる 2013 Taosoftware Co., Ltd. All right reserved. 18
デブサミ2015 事 例 から 学 ぶAndroidアプリのセキュアコーディング SSL/TLS 証 明 書 検 証 の 現 状 と 対 策 http://www.slideshare.net/jpcert_securecoding/androidssltls 2014 Taosoftware Co., Ltd. All right reserved. 19
マルウェアと 誤 解 される 可 能 性 のあるPermissionの 使 用 問 題 点 マルウェアと 間 違 えられる 第 三 者 モジュールにパミッションを 使 われる プライバシーポリシーとの 矛 盾 解 決 方 法 パミッションは 最 低 限 にする 2013 Taosoftware Co., Ltd. All right reserved. 20
2014 Taosoftware Co., Ltd. All right reserved. 21
他 者 が 作 成 したライブラリで アプリに 組 み 込 んで 使 用 をする 通 信 ライブラリ パーサ 広 告 モジュール 等 様 々な 物 が 存 在 す る Gitでソースコードが 公 開 されているものから 企 業 の 製 品 まで 様 々な 物 がある 使 用 上 の 注 意 1. ライセンス 感 染 2. 脆 弱 性 感 染 ( 造 語 ) 3. マルウェア 感 染 ( 造 語 ) 4. プライバシー 情 報 感 染 ( 造 語 ) 2014 Taosoftware Co., Ltd. All right reserved. 22
ライセンス 感 染 コピーレフトな 著 作 物 主 にソフトウェアを 利 用 する 場 合 にお いて 原 著 作 物 のライセンスがその 二 次 的 著 作 物 にも 適 用 さ れることを 比 喩 的 に 表 現 したスラングである GPL 汚 染 GPL 由 来 のソースコードが 何 らかの 理 由 によって 他 のライセ ンスのソフトウェアに 混 ざることにより ソフトウェア 全 体 に GPLが 適 用 されてしまう 事 問 題 点 ソフトウェアのソースコードを 公 開 する 必 要 が 出 てくる 等 そもそも 商 用 不 可 等 WikiPedia ライセンス 感 染 : http://ja.wikipedia.org/wiki/%e3%83%a9%e3%82%a4%e3%82%bb%e3%83%b3%e3%82%b9%e6%84%9f%e6%9f%93 2014 Taosoftware Co., Ltd. All right reserved. 23
もしも 第 三 者 モジュールに 脆 弱 性 があったら アプリケーションにも 脆 弱 性 がある 事 になる 問 題 点 第 三 者 モジュールの 脆 弱 性 を 確 認 するのは 難 しい 2014 Taosoftware Co., Ltd. All right reserved. 24
ライブラリがログを 出 力 する 事 がある 事 例 2012 年 4 月 Facebook SDKでログイン 時 のアクセストークンがログに 出 力 されて いた http://jp.techcrunch.com/archives/20120410security-hole-spottedin-facebook-android-sdk-long-tail-apps-may-still-be-unpatched/ 25
深 刻 度 - 高 (Severity: High) OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291) Reclassified: RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204) 深 刻 度 - 中 (Severity: Moderate) Multiblock corrupted pointer (CVE-2015-0290) Segmentation fault in DTLSv1_listen (CVE-2015-0207) Segmentation fault in ASN1_TYPE_cmp (CVE-2015-0286) Segmentation fault for invalid PSS parameters (CVE-2015-0208) ASN.1 structure reuse memory corruption (CVE-2015-0287) PKCS7 NULL pointer dereferences (CVE-2015-0289) Base64 decode (CVE-2015-0292) DoS via reachable assert in SSLv2 servers (CVE-2015-0293) Empty CKE with client auth and DHE (CVE-2015-1787) 深 刻 度 - 低 (Severity: Low) Handshake with unseeded PRNG (CVE-2015-0285) Use After Free following d2i_ecprivatekey error (CVE-2015-0209) X509_to_X509_REQ NULL pointer deref (CVE-2015-0288) JVNVU#95877131:OpenSSL に 複 数 の 脆 弱 性 https://jvn.jp/vu/jvnvu95877131/ 2014 Taosoftware Co., Ltd. All right reserved. 26
マルウェアと 認 定 される 広 告 モジュールが 入 っていたら そのアプリはマルウェア 広 告 モジュールが 電 話 帳 を 参 照 して 勝 手 にサーバに 送 っていないか? 電 話 帳 を 送 るのは 流 石 に 少 ないが 以 下 の 物 は 良 く 送 られている 電 話 番 号 IMEI ANDROID_ID アプリ 一 覧 海 外 広 告 モジュールに 特 に 注 意 2013 Taosoftware Co., Ltd. All rights reserved. 27
第 三 者 モジュールがプライバシーデータを 勝 手 に 取 得 して 送 っている 事 がある アプリケーションのプライバシーポリシーに 第 三 者 モ ジュールも 含 めたプライバシーデータの 取 得 取 扱 い に 記 載 する 必 要 があるが 第 三 者 モジュールが 何 の データを 収 集 している 記 載 されてらず 記 載 できない 広 告 モジュールの 営 業 さんに 確 認 すると 大 丈 夫 で す と 言 われる ( 何 が 大 丈 夫 かわからない) 2014 Taosoftware Co., Ltd. All right reserved. 28
アンドロイダー 広 告 モジュール 認 定 制 度 を 開 始 総 務 省 スマートフォンプライバシーイニシアティブに 準 拠 国 内 広 告 事 業 社 9 社 が 参 画 https://androider.jp/topic/media/history/20140801/ 2014 Taosoftware Co., Ltd. All right reserved. 29
アンドロイダー 公 認 広 告 モジュールについて http://blog.androider.jp/dev/archives/3087 2014 Taosoftware Co., Ltd. All right reserved. 30
2014 Taosoftware Co., Ltd. All right reserved. 31
参 考 資 料 :スマートフォンプライバシーイニシアティブドキュメント http://www.soumu.go.jp/menu_news/s-news/01kiban08_02000087.html 2012 Taosoftware Co., Ltd. All rights reserved. 32
ユーザの 情 報 を 取 得 しているが 正 しい 目 的 のため に 取 得 しているのかわからない ウイルスチェックツールも 検 出 不 能 アプリ 提 供 者 は どうしたらい いのか?! 2013 Taosoftware Co., Ltd. All right reserved. 33
総 務 省 の 指 針 に 沿 って アプリケーションごとにプライ バシーポリシーを 策 定 すると 共 に 一 定 の 情 報 の 取 得 については 個 別 の 情 報 の 取 得 について 同 意 取 得 を 求 める 1.プライバシーポリシードキュメントの 作 成 2. 重 要 な 情 報 を 取 得 する 時 にダイアログでユーザに 同 意 を 求 める アンドロイドスマートフォンプライバシーガイドライン 作 り ました 無 料 公 開 (ApacheLicense2) http://www.taosoftware.co.jp/android/andr oid_privacy_policy/ 2013 Taosoftware Co., Ltd. All rights reserved. 34
印 刷 書 籍 版 2520 円 電 子 書 籍 版 1680 円 インプレスR&D ISBN:978-4-8443-9536-2 http://www.amazon.co.jp/gp/pro duct/484439536x/ 寺 田 眞 治 一 般 社 団 法 人 モバイル コン テンツ フォーラム 常 務 理 事 2013 Taosoftware Co., Ltd. All rights reserved. 35
2012 年 11 月 13 日 スマートフォンのアプリケーション プライバシーポリシーに 関 するガ イドライン 策 定 公 開 http://www.mcf.to/temp/sppv/mcf_spappp_guidline.pdf MFC 約 217 社 コンテンツプロパイダー 中 心 のモバイルコンテンツ 業 界 団 体 2013 Taosoftware Co., Ltd. All rights reserved. 36
アプリケーションがどのような 情 報 にアクセスするかを 表 してい るが 以 下 の 項 目 の 記 載 がない 利 用 目 的 外 部 送 信 第 三 者 提 供 の 有 無 個 別 同 意 取 得 は ポップアップ ダイアログを 出 す 2012 Taosoftware Co., Ltd. All rights reserved. 37
2012/8 スマートフォン プライバシー イニシアティブ~ 利 用 者 情 報 の 適 正 な 取 扱 いとリテラシー 向 上 による 新 時 代 イノベー ション~ 個 人 情 報 及 びプライバシーを 保 護 しつつアプリ 提 供 者 等 がスマート フォンにおける 利 用 者 情 報 を 適 切 に 取 り 扱 うための 具 体 的 な 指 針 2013/9 スマートフォン プライバシー イニシアティブII 利 用 者 情 報 の 適 切 な 取 扱 いがなされているかどうか 等 を 運 用 面 技 術 面 から 第 三 者 が 検 討 する 仕 組 みの 提 言 2014/5スマートフォン プライバシー アウトルック 第 三 者 検 証 の 仕 組 みを 構 築 するに 当 たっての 諸 課 題 について 具 体 的 な 検 討 2015/4スマートフォン プライバシー アウトルックII プライバシーポリシーの 作 成 掲 載 に 係 る 実 態 調 査 を 行 うとともに 第 三 者 検 証 に 係 る 実 証 実 験 Next 引 き 続 き 第 三 者 検 証 実 運 用 に 向 けた 検 討 参 考 資 料 : スマートフォン プライバシー アウトルックIIの 公 表 http://www.soumu.go.jp/menu_news/s-news/01kiban08_02000168.html 2014 Taosoftware Co., Ltd. All right reserved. 38
法 に 反 していなければ 問 題 ないは 間 違 い 海 外 展 開 にも 注 意 プライバシー 侵 害 について 考 える 自 分 の 子 供 や 親 が 安 心 して 使 えるかを 考 える TIPS: 個 人 情 報 という 言 葉 を 使 うと 法 律 がという 話 にな り 進 展 しないので 個 人 情 報 という 言 葉 は 使 用 しな い 総 務 省 ドキュメントでは 利 用 者 情 報 という 言 葉 を 使 っている 2012 Taosoftware Co., Ltd. All rights reserved. 39
利 用 規 約 と 一 緒 にしない 会 社 のプライバシーポリシーと 同 じにしない アプリケーション 毎 にプライバシーポリシーを 作 成 する 2013 Taosoftware Co., Ltd. All right reserved. 40
2014 Taosoftware Co., Ltd. All right reserved. 41
セキュリティの 学 習 方 法 2 冊 のセキュリティ 本 AnCole 最 低 限 知 っておきたい 事 ファイルアクセス コンポーネントアクセス HTTPS 通 信 不 必 要 なパミッション 第 三 者 モジュール ライセンス 脆 弱 性 マルウェア プライバシー プライバシポリシ プライバシーポリシーを 作 成 何 の 情 報 を 何 の 目 的 で 取 得 するのか また 第 三 者 提 供 について ダイアログによる 同 意 取 得 2014 Taosoftware Co., Ltd. All right reserved. 42
タオソフトウェア 株 式 会 社 2013 Taosoftware Co., Ltd. All right reserved. 43