Suche senden
Hochladen
スマホアプリのSSLサーバ証明書の検証不備について
•
15 gefällt mir
•
11,461 views
S
Shunsuke Taniguchi
Folgen
Melden
Teilen
Melden
Teilen
1 von 17
Empfohlen
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Hiroyuki Wada
【de:code 2020】 Azure Sentinel - クラウドネイティブ SIEM&SOAR の活用
【de:code 2020】 Azure Sentinel - クラウドネイティブ SIEM&SOAR の活用
日本マイクロソフト株式会社
Keycloak入門
Keycloak入門
Hiroyuki Wada
Cycloudのストレージ紹介と歴史
Cycloudのストレージ紹介と歴史
Hiroki Chinen
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Empfohlen
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Hiroyuki Wada
【de:code 2020】 Azure Sentinel - クラウドネイティブ SIEM&SOAR の活用
【de:code 2020】 Azure Sentinel - クラウドネイティブ SIEM&SOAR の活用
日本マイクロソフト株式会社
Keycloak入門
Keycloak入門
Hiroyuki Wada
Cycloudのストレージ紹介と歴史
Cycloudのストレージ紹介と歴史
Hiroki Chinen
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由
Tetsurou Yano
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
Yuta Matsumura
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
Keycloak開発入門
Keycloak開発入門
Yuichi Nakamura
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
Amazon Web Services Japan
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
最近のやられアプリを試してみた
最近のやられアプリを試してみた
zaki4649
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
15分で分かる NoOps
15分で分かる NoOps
Hiromasa Oka
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
Weitere ähnliche Inhalte
Was ist angesagt?
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由
Tetsurou Yano
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
Yuta Matsumura
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
Keycloak開発入門
Keycloak開発入門
Yuichi Nakamura
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
Amazon Web Services Japan
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
最近のやられアプリを試してみた
最近のやられアプリを試してみた
zaki4649
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
15分で分かる NoOps
15分で分かる NoOps
Hiromasa Oka
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
Was ist angesagt?
(20)
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由
Keycloak拡張入門
Keycloak拡張入門
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
セキュアエレメントとIotデバイスセキュリティ2
セキュアエレメントとIotデバイスセキュリティ2
Keycloak開発入門
Keycloak開発入門
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
入門!Jenkins
入門!Jenkins
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
最近のやられアプリを試してみた
最近のやられアプリを試してみた
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
15分で分かる NoOps
15分で分かる NoOps
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Oss貢献超入門
Oss貢献超入門
Andere mochten auch
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
Masaru Kurahayashi
Fiddler Scriptデモ
Fiddler Scriptデモ
hagurese
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
今から始めるFiddler script
今から始めるFiddler script
彰 村地
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Andere mochten auch
(8)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
Fiddler Scriptデモ
Fiddler Scriptデモ
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
今から始めるFiddler script
今から始めるFiddler script
今更聞けないOAuth2.0
今更聞けないOAuth2.0
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
スマホアプリのSSLサーバ証明書の検証不備について
1.
1 スマホアプリのSSLサーバ 証明書の検証不備について 谷口 隼祐
2.
2 自己紹介 最近行った、牛久大仏 がんばれ!茨城県
3.
なぜ、今回OWASP Nightで話そうと 思ったのか? 3 とあるアプリの脆弱性がJVN公表された際のコメントがきっかけ SSL通信周りの脆弱性判断は、判断のブレが大きい印象 現状では「SSLを使ってない=脆弱性」とは言い難い(個人見解) ただし、スマホ周りを取り巻く環境の変化によって、脆弱性判断 も変わっていくかもしれない… この発表が、脆弱性判断の議論の材料になればいいな
4.
4 いざ勢いで申し込んだものの _人人人人人人人人人人人_ > 大御所に挟まれてる! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄ _人人人人人人人人人人人_ >
まさかのギリギリ補欠!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
5.
5 SSLで通信しないことは脆弱性か? SSLは「お・も・て・な・し」 現状では、SSLで通信しないことだけを以って脆弱性とはいえない SSLで通信の安全性を高めるか否かは、サービス提供者のポリシー 次第 ⇒ 脆弱性対策の実施とはまた別の話 利用者としては、より安全なサービスを使いたいので、サービス 提供者は積極的にセキュリティポリシーを公開するとよいと思う ここでの脆弱性の定義は、「情報セキュリティ早期警戒パートナーシップガイド ライン」に準拠することにします。 定義の詳細は、下記ガイドラインを参照ください。 http://www.ipa.go.jp/files/000002991.pdf
6.
では、脆弱性と判断できる例って? (ウェブサイト編) セキュリティポリシーに違反している 6 ポリシーでSSLで通信するといいつつ、実際には平文通信 SSLが適切に使われていない サーバ証明書の有効期限が切れている オレオレ証明書を使っている フォームの送信先はSSLを使っている(https)が、フォームの設置 ページにはSSLを使っていない(http) [ご参考] HTTPSを使う際に入力フォームのページからそうしないといけない理由はなんですか- QA@IT http://qa.atmarkit.co.jp/q/2028
7.
では、脆弱性と判断できる例って? (ソフトウェア編) セキュリティポリシーに違反している 7 ポリシーでSSLで通信するといいつつ、実際には平文通信 SSLが適切に使われていない ソフトウェア側でSSLサーバ証明書を適切に検証していない SSL通信に暗号化のみを求めて、当該処理を実装している可能性 開発時やデバッグ用に一時的にオレオレ証明書を許可していたのを忘 れてリリースしてしまった可能性 接続先のサーバの正当性を確認しなければ、安全な通信 は実現できない
8.
8 SSLサーバ証明書の検証不備とは 不正な SSL サーバ証明書を使用 しているサーバであっても警告 を出さずに接続してしまう問題 中間者攻撃
による通信の盗聴や 改ざんなどが行なわれても、 ユーザが気づけない 出典:JVNDB-2012-000037 - JVN iPedia - 脆弱性対策情報データベー ス http://jvndb.jvn.jp/ja/contents/2012/JVNDB-2012-000037.html
9.
9 JVN公表されたアプリ 公開日 JVN番号 アプリ名 アプリ種類 2013/08/19 JVN#75084836 Yahoo!ショッピング Androidアプリ 2013/08/19 JVN#68156832 ヤフオク! iOS/Androidアプリ 2013/06/07 JVN#39218538 ピザハット公式アプリ Androidアプリ 2012/05/25 JVN#39707339 Opera 2012/04/26 JVN#82029095 spモードメールアプリ Androidアプリ 2008/04/23 JVN#76788395 mylo
COM-2 ブラウザ 組み込みブラウザ JVN公表されたアプリは対策済み ベンダが対策してくれたからこそ、JVN公表できている ベンダ自身が届出をしてくることもある ベンダ自身が届出をしたのかどうかは、IPAからのメールで判別可能
10.
10 検証環境 スマートフォン Nexus7(Android4.3) iPhone5s(iOS7.0.3) プロキシ(ノートPC)経由で無線LAN接続する ノートPC Fiddler リモートからのFiddlerへのアクセスを許可 HTTPSをキャプチャする
11.
11 アプリの挙動(証明書検証不備) キャプチャした通信に、HTTPS通信が混じっている エラーが発生せずに、いつも通りにアプリが使える
12.
12 アプリの挙動(証明書エラー) 証明書に関するエラーを表示する アプリ起動時に証明書に関するエラー メッセージを表示し、アプリを終了する 証明書に関するエラーメッセージを表示し、 アクセスするか否かを利用者に選択させる
13.
13 アプリの挙動(その他エラー) 証明書に関するエラーではないものの、通信処理にエラーが発 生した旨をメッセージを表示する アプリ起動時にエラーメッセージを表示し、アプリを終了する SSL通信のページのみ表示されない
14.
14 検証した結果 証明書の検証に不備のあるアプリ 約30アプリ中、2アプリに証明書の検証不備があった 証明書を検証するアプリ 証明書を検証し、問題があればエラーメッセージを出すアプリは多いものの、 証明書に問題があることを通知するアプリは少なかった エラーメッセージの内容によっては、電波が悪かったり、サーバメンテナンス 等の問題と捉えられかねないものもあった (攻撃は防ぐことはできているが)利用者は攻撃されている可能性に気 づけない。メッセージ内容はこれでいいのか?
15.
15 スマホアプリを取り巻く状況 公衆無線LANサービスの利用が一般的になってきた 信用のおけない無線LANアクセスポイントに接続するリスクが増えた スマホアプリにはアドレスバーがないものが多い 利用者が能動的に接続先や接続プロトコルを確かめることが困難である 利用しているスマホアプリを信用するしかない 常時SSLを提供するサービスが増えてきた そのようなサービス用のクライアントアプリは対応が必須 冒頭で、SSLは「お・も・て・な・し」と言いましたが、こと スマホアプリにおいては、必須になっていくかもしれません
16.
16 ご参考 出典:ソニーデジタルネットワークアプリケーションズ株式会社 Android アプリ脆弱性調査レポート 2013年10月版(pdf) http://www.sonydna.com/sdna/solution/android_vulnerability_report_201310.pdf
17.
17 まとめ SSLを使用するならば、適切に使用しましょう スマホアプリを取り巻く状況を鑑み、積極的にSSLを使用してい きましょう 証明書に関するエラーを表示する際には、どのようなメッセー ジがよいのか意見募集中 利用者が安全でない環境でネットワーク接続している可能性を伝えるとよ い?それとも、単純にエラーが出た旨だけ伝えるほうがよい? って今日の話、1年以上前に徳丸さんが日記にほぼ書いてますやん orz スマートフォンアプリケーションでSSLを使わないのは脆弱性か | 徳丸浩 の日記 http://blog.tokumaru.org/2012/02/is-smartphone-application-without-ssl.html