Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OWASP_Top_10_2017_A3機微な情報の露出

34 views

Published on

OWASP Evening Okinawa #9
OWASP Top 10 2017 A3:2017-機微な情報の露出

Published in: Internet
  • Be the first to comment

  • Be the first to like this

OWASP_Top_10_2017_A3機微な情報の露出

  1. 1. OWASP Top 10 - 2017 について学ぼう! (A3: 機微な情報の露出) OWASP Evening Okinawa #9 大城 聖也
  2. 2. 自己紹介 大城 聖也(OSHIRO SEIYA) 出身: 沖縄 Twitter: @togana_ 所属: 株式会社シーエー・アドバンス 3ヶ月前にWEBアプリケーションエンジニアから セキュリティエンジニアになりました 2
  3. 3. 今日の内容 ● OWASP Top 10 について ● 機微な情報の露出 について ● 攻撃シナリオの例 ● 防止するには ● まとめ 3
  4. 4. OWASP Top 10 - 2017 4
  5. 5. OWASP Top 10 - 2017 について ● アプリケーションセキュリティを始めるのに良いスタートに なるように作成されている ● 大規模な組織や、セキュリティの取り組みにおいて高い レベル、厳密な標準が求められているような場合には OWASP Application Security Verification Standard (ASVS) を使うよう勧めています 5
  6. 6. 2013から2017へのアップデート 6
  7. 7. リスクについて(2013) リスクについて(2017) 7 脅威エージェント 攻撃手法 セキュリティー上の弱点 影響 アプリケーションに よる 悪用のしやすさ: 困難 蔓延度: まれ 検出のしやすさ: 平均的 技術面: 深刻 ビジネス依存 脅威エージェント 攻撃手法 セキュリティー上の弱点 影響 アプリケーションに よる 悪用のしやすさ: 平均的 蔓延度: 広い 検出のしやすさ: 平均的 技術面: 深刻 ビジネス依存
  8. 8. TOP 10 に含めるべきアンケート これまでに“最先端”であると特定されたか、Top10メーリングリスト 2017 RC1へフィードバックにおいて言及された脆弱性カテゴリーを 収集しました。 それらカテゴリーを調査内容に含め、回答者にOWASP Top 10 - 2017に含めるべきと考える上位4つの脆弱性を選択するよう促しま した。調査は、2017年8月2日~9月18日まで実施され、516の回答を 得ました。 8
  9. 9. TOP 10 に含めるべきアンケート Exposure of Private Information: 個人情報の漏洩 Cryptographic Failures: 暗号化の失敗 9
  10. 10. A3:2017 機微な情報の露出について 10
  11. 11. A3:2017 機微な情報の露出について “多くのウェブアプリケーションやAPIでは、財務情 報、健康情報や個人情報といった機微な情報を適切 に保護していません。” 11
  12. 12. A3:2017 機微な情報の露出について “攻撃者は、このように適切に保護されていないデータ を窃取または改ざんして、クレジットカード詐欺、個人 情報の窃取やその他の犯罪を行う可能性がありま す。” 12
  13. 13. A3:2017 機微な情報の露出について “機微な情報は特別な措置を講じないでいると損な われることでしょう。” “保存や送信する時に暗号化を施すことや、ブラウ ザ経由でやり取りを行う際には安全対策を講じるこ となどが必要です。” 13
  14. 14. A3:2017 機微な情報の露出について EUにおけるGDPRや各地域のプライバシー関連の法 律など、法律や規則で定められた保護が要求されま す。 14
  15. 15. A3:2017 機微な情報の露出について ● 機微な情報は適切に保護されてない ● 露出するとクレジットカード詐欺、個人情報の窃取 やその他の犯罪が起きる ● 露出を防ぐには特別な措置が必要 ○ 暗号化やハッシュ化、アクセス制御、etc... ● GDPRなどの法律にもとづいた対応も必要 15
  16. 16. 攻撃シナリオの例 16
  17. 17. シナリオ1 あるアプリケーションは、データベースの自動暗号化 を使用し、クレジットカード番号を暗号化します。 しかし、そのデータが取得されるときに自動的に復 号されるため、SQLインジェクションによって平文のク レジットカード番号を取得できてしまいます。 17
  18. 18. シナリオ1 18
  19. 19. シナリオ1 問題 ● SQLインジェクションを利用して、平文のクレジット カード情報を取得できる 対策 ● PCI DSS に準拠する ● トークナイゼーション(別の値に置き換える) ○ 1234-5678-9012→5478-3245-1111 ● トランケーション(値を読めなくする) ○ 1234-5678-9012→xxxx-xxxx-9012 19
  20. 20. シナリオ1 対策 ● カード情報を保持しない ● SQLインジェクションの対策をする カード情報を保持しない or PCI DSS(国際基準)に準 拠することが義務付けられたのでペイメントサービス を使いましょう(割賦販売法) 20
  21. 21. シナリオ2 あるサイトは、すべてのページでTLSを使用したり強 制したりせず、弱い暗号化アルゴリズムをサポートし ています。 攻撃者はネットワーク通信を傍受し、リクエストを盗 聴することで、ユーザのセッションクッキーを盗みま す。そして、攻撃者はこのクッキーを再送し、ユーザ のセッションを乗っ取りそのユーザの個人データを閲 覧及び改ざんできます。 21
  22. 22. シナリオ2 22
  23. 23. シナリオ2 問題 ● 平文通信を監視してセッションを乗っ取ることで、 個人データを閲覧及び改ざんできる 対策 ● TLSを用いて通信を暗号化する ● HTTP Strict Transport Security(HSTS)の設定を 行い暗号化された通信を強制する 23
  24. 24. シナリオ3 あるパスワードデータベースは、ソルトなしのハッシュまたは単純 なハッシュでパスワードを保存しています。 攻撃者はファイルアップロードの脆弱性を利用し、パスワードデー タベースを取得できます。事前に計算されたハッシュのレインボー テーブルで、すべてのソルトなしのハッシュが解読されてしまいま す。そして、たとえソルトありでハッシュ化されていても、単純また は高速なハッシュ関数で生成したハッシュはGPUで解読されてし まうかもしれません。 24
  25. 25. シナリオ3 25
  26. 26. シナリオ3 26 レインボーテーブルとは、平文とそれに対応するハッシュ値で構成さ れたデータベースのテーブルのことです。ハッシュ値で検索すること で平文のパスワードを取得することができます。
  27. 27. シナリオ3 問題 ● ファイルアップロードの脆弱性を利用して、ソルト なしまたは単純なハッシュ関数で作られたパス ワードDBを取得し、復号できる 対策 ● ソルトをつけてArgon2、scrypt、bcrypt、PBKDF2 などを利用してハッシュ化する ● ファイルアップロードの脆弱性の対策する 27
  28. 28. 機微な情報露出しないために ● 起因となる脆弱性の対策 ● 機微な情報を保持しない ● 機微な情報を暗号化する ● 機微な情報をハッシュ化する 28
  29. 29. 機微な情報の露出を 防止するために最低限やること 29
  30. 30. 防止するために最低限やること(1) ● プライバシー関連の法律・規則に該当するか確認する ○ 該当する場合は適切に対応する ● 機微な情報が適切にアクセス制御されているか確認する ● 必要のない機微な情報を保存しない ● クレジットカードの場合、PCI DSSに準拠した トークナイゼーションまたはトランケーションを行う ● 保存時に機微な情報を暗号化しているか確認する 30
  31. 31. 防止するために最低限やること(2) ● 最新の暗号強度の高いアルゴリズム、プロトコル、暗号鍵を利 用しているか確認する ○ 暗号鍵は適切に管理する ● TLSなどセキュアなプロトコルで、通信経路上のすべてのデー タを暗号化する ● HTTP Strict Transport Security(HSTS)のようなディレクティブ で暗号化を強制する ● パスワードを保持する場合は、Argon2,scrypt,bcrypt等を利用し ソルト付きハッシュを保持する 31
  32. 32. 防止 - 詳しくは参考リンク見ましょう! ● OWASP Proactive Controls: Protect Data ○ https://www.owasp.org/index.php/OWASP_Proactive_Controls#7:_Protect_Data ● OWASP Application Security Verification Standard (V7,9,10) ○ https://www.owasp.org/index.php/ASVS_V7_Cryptography ○ https://www.owasp.org/index.php/ASVS_V9_Data_Protection ○ https://www.owasp.org/index.php/ASVS_V10_Communications ● OWASP Cheat Sheet: Transport Layer Protection ○ https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet ● OWASP Cheat Sheet: User Privacy Protection ○ https://www.owasp.org/index.php/User_Privacy_Protection_Cheat_Sheet ● OWASP Cheat Sheets: Password and Cryptographic Storage ○ https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet ○ https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet ● OWASP Security Headers Project; Cheat Sheet: HSTS ○ https://www.owasp.org/index.php/HTTP_Strict_Transport_Security_Cheat_Sheet ● OWASP Testing Guide: Testing for weak cryptography ○ https://www.owasp.org/index.php/Testing_for_weak_Cryptography 32
  33. 33. まとめ ● 機微な情報の露出は最近流行ってる ● 別の脆弱性を利用して機微な情報は露出する ● 機微な情報を保持するか検討する ○ 持ってなければ漏洩しない ● ハッシュ化しても復号できるときもある ● 防止するためにOWASP TOP 10を参考にする 33
  34. 34. 機微な情報露出しないために ● 起因となる脆弱性の対策 ● 機微な情報を保持しない ● 機微な情報を暗号化する ● 機微な情報をハッシュ化する 34
  35. 35. 35 機微な情報 守っていきましょう!
  36. 36. 参考URL ● https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf ● https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.co m/owasptop10/OWASP%20Top%2010%20-%202013.pdf ● https://www.owasp.org/images/2/23/OWASP_Top_10-2017%28ja%29.pdf ● https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf ● https://ja.pcisecuritystandards.org/minisite/env2/ ● http://d.hatena.ne.jp/Kango/20150306/1425651145 ● http://d.hatena.ne.jp/Kango/20120609/1339267874 36

×