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

4,491 views

Published on

YAPC::Kansai 2017発表資料

Published in: Engineering
  • Hello! High Quality And Affordable Essays For You. Starting at $4.99 per page - Check our website! https://vk.cc/82gJD2
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

今だからこそ振り返ろう!OWASP Top 10

  1. 1. 今だからこそ振り返ろう! OWASP Top 10 2017/3/4 YAPC::Kansai @mahoyaya
  2. 2. アジェンダ  自己紹介  OWASPについて  OWASP Top 10について  OWASP Top 10の概要  OWASP Top 10の詳細  OWASP Top 10を振り返って  OWASPの成果物を活用しよう
  3. 3. @mahoyaya  Name: 一ノ瀬 太樹  Work : セキュリティエンジニア  Twitter: @mahoyaya  blog: http://mahoyaya.hateblo.jp  GitHub: https://github.com/mahoyaya  Affiliation: Perl入学式 東京 サポーター OWASP Japan プロモーションチーム 脆弱性診断研究会 OWASP ZAP User Group HASHコンサルティング株式会社
  4. 4. What is OWASP? OWASPは安全なソフトウェアの設計・開発・習 得・運用と維持 に関する活動を支援する、非営利の団体。 OWASPのツールやドキュメントなど、すべての成果物は無料で 利用可能。 誰でも参加可能。
  5. 5. 国際的なコミュニティ
  6. 6. 日本では? OWASP Japan 2012.3 OWASP Kansai 2014.3 OWASP Kyushu 2015.3 OWASP Sendai 2016.1 OWASP Fukushima 2016.2 OWASP Okinawa 2016.2 OWASP NightやOWASP DAYといった定期的な勉強会を実施し ています。
  7. 7. どんなプロジェクトがあるの? 現時点で100以上の成果物が公開されています https://www.owasp.org/index.php/Category:OWASP_Project
  8. 8. 工程別に活用可能な資料・ツールの紹介 https://speakerdeck.com/owaspjapan/owasp-contents-reference
  9. 9. 日本独自の成果物
  10. 10. OWASPの成果物で最も規模が大きい!!CHEAT SHEET SERIES 概要 Builder(開発)、Breaker(テスト)、Defender(運用・保守)を対象にセキュ リティを高めるための知識/機能を実装するための方法論を紹介 特徴 ドラフト版を含めて2015年10月時点で48ものチートシートが公開され、いずれ も頻繁に更新されている
  11. 11. OWASPの成果物で最も規模が大きい!!CHEAT SHEET SERIES 設計・開発時に活用したいチートシートが多数存在 機能の安全な実装手法や脆弱性への対策などを紹介
  12. 12. OWASPの成果物で最も規模が大きい!!CHEAT SHEET SERIES 2016年12月、チートシートシリーズ概要日本語版(2016年版)を公開しました! 「JPCERTの資料へのリンク付き」 「JPCERT以降に公開されたチート シートにも対応」 2016年版では全部で60のチートシートに なっています。 短縮URL: https://goo.gl/fNPGwB
  13. 13. WEB以外は・・・  OWASP Mobile Top 10  https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10  OWASP IOT Top 10  https://www.owasp.org/images/7/71/Internet_of_Things_Top_Ten_2014-OWASP.pdf  OWASP Embedded Application Security  https://www.owasp.org/index.php/OWASP_Embedded_Application_Security
  14. 14. OWASP Top 10
  15. 15. OWASP Top 10とは? OWASP Top 10 の主要目的は、最も重要なWebアプリケー ションセキュリティ上の弱点を、開発者、デザイナー、アー キテクト、 管理者および組織に教育すること。 Top10は、リスクの高い問題に対する基本的な保護手法、お よび次ステップへのガイダンスを提供します。 OWASP Top 10 2013 日本語版 https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  16. 16. OWASP Top 10 概要
  17. 17. OWASP Top 10 – 2013 概要 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  18. 18. OWASP Top 10 詳細
  19. 19. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  20. 20. A10-未検証のリダイレクトとフォワード Webアプリケーションは、頻繁にユーザを他の画面やウェ ブサイトへリダイレクト・フォーワードしますが、信頼さ れていないデータを用いて、転送先画面を決定しています。 適切な検証がないと、攻撃者は被害者をフィッシングサイ トやマルウェアサイトへリダイレクトできたり、フォー ワードで閲覧権限のない画面へアクセ スできます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  21. 21. A10-未検証のリダイレクトとフォワード • 信頼境界をこえて入ってきた外部入力値をそのまま利用 • hiddenフィールドにURLを埋め込んでいるなど • 悪意のあるURLに書き換えたリンクに付け替えて罠を設 置できる • 被害者はフィッシング詐欺やマルウェア感染被害の 恐れがある • ユーザー入力値の転送先がパラメータ指定されており、 改変によって送信先を変更できる • 情報漏えい • 脆弱性を利用されたサイトは風評被害のリスクも
  22. 22. A10-未検証のリダイレクトとフォワード 対策 • 可能であればリダイレクトやフォワードの利用を避ける • 外部入力値を直接パラメータに利用しない • 数値などを利用してマッピングする • URLの確実な検証 • 外部アクセスの場合はクッションページを挟む
  23. 23. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  24. 24. A9-既知の脆弱性を持つコンポーネントの使用 ライブラリ、フレームワーク、および他のソフトウェアモ ジュールなどのコンポーネントは、ほとんど常にフル 権限 で実行されます。脆弱なコンポーネントが悪用される場合、 深刻なデータ損失やサーバ乗っ取りまで に至る攻撃ができ ます。既知の脆弱性を持つコンポーネントを使用するアプ リケーションは、アプリケー ションの防御を弱体化し、 様々な攻撃と影響も可能になります。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  25. 25. A9-既知の脆弱性を持つコンポーネントの使用 • 古いバージョンのソフトウェアは大体脆弱性がある • パッチは新しいものにだけ出る場合が多い • 1つの脆弱なコンポーネントがあることにより、全体が 侵される場合も
  26. 26. A9-既知の脆弱性を持つコンポーネントの使用 対策 • 常に最新バージョンを使う(希望) • 使用コンポーネントとバージョン、依存関係をすべて把 握する(希望) • 最新のセキュリティ情報を把握(希望) • イケてるエンジニアはvuls • OWASP Dependency Check(Perlは非対応) • 某人気CMSなんかは特に最新バージョンを使いましょう • プラグイン系もサポート状況を確認すること
  27. 27. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  28. 28. A8-クロスサイトリクエストフォージェリ(CSRF) CSRF攻撃は、脆弱性のあるWebアプリケーションに対し、 ログオンしている被害者のブラウザから、偽造さ れた HTTPリクエストを送信させます。そのリクエストには、被 害者のセッションクッキーや他の自動的に組 み込まれた認 証情報が含まれています。これにより、攻撃者は脆弱性の あるアプリケーションに、ユーザ からの正当なリクエスト として認識されるリクエス トを被害者のブラウザに生成さ せることができます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  29. 29. A8-クロスサイトリクエストフォージェリ(CSRF) • 攻撃者が被害者になりすまして機能を実行する攻撃 • 偽造したリクエストを被害者のブラウザが持っている情 報を利用して送信させる • 被害者のブラウザが持っている正規の情報で送信される ため、受信したサーバ側では攻撃と判断できない(しに くい) • 標的型攻撃で使われると厄介 • CSRF脆弱性のあるパスワード変更機能など • 間接的な攻撃でわかりにくく理解できていない人も多い • 被害者の操作が必要になるため、危険度は低くなりがち
  30. 30. A8-クロスサイトリクエストフォージェリ(CSRF) http://www.ipa.go.jp/security/vuln/websecurity.html より引用
  31. 31. A8-クロスサイトリクエストフォージェリ(CSRF) http://www.ipa.go.jp/security/vuln/websecurity.html より引用
  32. 32. A8-クロスサイトリクエストフォージェリ(CSRF)対策 • 機能を実行する前のページでトークン(予測できないラ ンダムな文字列)をhiddenフィールドに発行! • 機能実行時にトークンチェック! • トークンは最低でもユーザセッション毎にユニークに! • 機密情報を扱う場合は某超巨大ECサイトのように再認証 処理 • 環境的に問題ないことがわかっていればRefererの確認も よいが、正規表現で m/^www.example.com.*/ みたいな 判定はNG
  33. 33. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  34. 34. A7-機能レベルアクセス制御の欠落 ほとんどのWebアプリケーションは、機能をUIで表示する 前に、機能レベルのアクセス権限を検証していま す。但し、 各機能がアクセスされる際に、アプリケーションはサーバ 上で、同じアクセス制御チェックを実行 しないといけませ ん。リクエストが検証されていない場合、適切な承認もさ れていないため、攻撃者はリク エストを偽造して、狙った 機能にアクセスできます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  35. 35. A7-機能レベルアクセス制御の欠落 • リクエストに対する適切なアクセス制御処理を実施して いない • ログインしていなくても、URLを直打ちすれば機能が 利用できる • ログインさえしていれば、URLを直打ちしてロールの 制限を超えた機能が利用できる • ゲストや一般ログインユーザーの不正行為 • 機微情報の閲覧・改ざん、チート行為、不正送金
  36. 36. A7-機能レベルアクセス制御の欠落 対策 • 全ての機能で認可制御のテストを実施 • 統一された利用しやすい認可制御モジュールの設計 • 全ての機能で認可制御を行う • 制御メカニズムはデフォルトですべてを拒否し、相応し いロールを要求 • 機能を表示しない設計は緩和策であり、対策ではない
  37. 37. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  38. 38. A6-機密データの露出 多くのWebアプリケーションは、クレジットカードや納税 者番号、認証情報などの機密データを適切に保護 していま せん。攻撃者は、これらの脆弱に保護されているデータを 窃取・改変して、クレジットカード詐欺や 個人情報盗難な どの犯罪を犯します。機密データは、保存時や転送時に関 わらず、特別な保護をされる べきです。また、ブラウザと の間で取り交わされる際に、特別な注意も払うべきです。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  39. 39. A6-機密データの露出 • 機密情報の平文保存 • 危殆化した暗号化術の利用 • 不適切なヘッダ情報 • キャッシュ制御の不備 • バックアップファイル • wp-config.php.bak, wp-config.php~
  40. 40. A6-機密データの露出 対策 • 不要な機密情報を持たない • 保護する機密情報の把握と暗号化 • 強いアルゴリズムと鍵の利用 • FIPS 140 validated cryptographic modules • 扱うデータに対して適切なヘッダ情報を付与する • キャッシュ対象を正しく見極める • 機密情報は含まれていませんか? • バックアップファイルの保存ルールを策定 • 公開ディレクトリには保存しない
  41. 41. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  42. 42. A5-セキュリティ設定のミス 認証とセッション管理に関連するアプリケーション機能は、 しばしば正しく実装されていません。そのため、攻撃者は パスワード又は鍵、セッショントークンを漏洩させたり、 他の実装の不備を悪用してなりすますこ とができます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  43. 43. A5-セキュリティ設定のミス • 脆弱なソフトウェア利用 • HSTSの利用不備 • HTTPアクセス時にリダイレクトしていない • 不要な機能の有効化 • SSHでのrootログイン、管理画面のアクセス制限 • httpdのディレクトリスティング • デフォルトのログインアカウント • フレームワークやライブラリのセキュリティ • スタックトレースなどエラー情報が表示設定のまま • サンプルアプリケーションの脆弱性 • セッションIDのURLパラメータ化
  44. 44. A5-セキュリティ設定のミス 対策 • ソフトウェアの適時更新 • HSTSはhttpsに301 リダイレクトをお忘れなく • OpenVASなどの診断ツール利用 • フレームワークやライブラリのセキュリティ設定につい てよく確認
  45. 45. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  46. 46. A4-安全でないオブジェクトの直接参照 オブジェクトの直接参照は、開発者がファイル又はディレ クトリ、データベースのキーなど、内部に実装され ている オブジェクトへの参照を公開する際に発生します。アクセ ス制御チェックや他の保護が無ければ、攻撃者はこれらの 参照を用い、アクセス権限のないデータへアクセスするこ とができます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  47. 47. A4-安全でないオブジェクトの直接参照 • いわゆる認可制御の不備 • 権限を持たないユーザーが情報を参照したり、機能を実 行したりできる状態 • ユーザーが入力するパラメータを改変することにより、 利用できないはずの機能が利用できてしまうなど
  48. 48. A4-安全でないオブジェクトの直接参照 対策 • ユーザーが改変可能なパラメータをオブジェクトの呼び 出しに直接利用しない • ユーザーがパラメータを改変しても意味がないようにホ ワイトリストにする • ドロップダウンリストで番号選択させ、DBで機能と マッピングする • ユーザーが機能を利用する際は、必ず認可状態を確認す る
  49. 49. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  50. 50. A3-クロスサイトスクリプティング(XSS) XSS欠陥は、アプリケーションが信頼されていないデータ を受け取る時、適切な検証やエスケープをせずに、 ウェブ ブラウザに送信する際に発生します。XSSにより、攻撃者 は被害者のブラウザでスクリプトを実行で き、ユーザセッ ションのハイジャックやウェブサイトの改竄、またユーザ を悪意のあるサイトにリダイレクトすることが可能です。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  51. 51. A3-クロスサイトスクリプティング(XSS) • セキュリティエンジニアが大好きな脆弱性(誤 • 信頼境界を越えて入力された値を適切に検証していない、 入力データの中身をエスケープせずにブラウザに送ると おこる • 反射型、蓄積型、DOMベースの3種類 • 内部ソースを含め、ほぼ全てのデータソースに攻撃可能 • セッションIDの窃取、コンテンツ改ざん、リダイレクト、 マルウェア感染 • 正規サイトのドメインを利用したフィッシング • DOMベースはサーバ通信を介さない
  52. 52. A3-クロスサイトスクリプティング(XSS)対策 • 全ての外部入力データは出力するタイミングで適切にエ スケープする必要がある • 具体的には実体参照やURLエンコード、HEXエンコード、 Unicodeエンコードなど目的に合わせて利用 • XHRのブラウザ直接参照にも対策を! • 適切なContent-Type • X-Content-Type-Options: nosniff • JSONの場合は念のため<>もエスケープ • 可能であればContent Security Policy(CSP)を利用する
  53. 53. A3-クロスサイトスクリプティング(XSS)対策 • HTMLの実体参照 エスケープ対象 実体参照 & &amp; < &lt; > &gt; “ &quot; ‘ ' / /
  54. 54. A3-クロスサイトスクリプティング(XSS)対策 • 主なパターンごとの対策 エスケープ対象 対策 HTML HTML Entity Encoding GET Param URL Encoding CSS HEX Encoding JavaScript HEX Encoding Unicode Encoding Backslash Encoding DOM Based XSSはこちらを参照 https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet
  55. 55. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  56. 56. A2-認証とセッション管理の不備 認証とセッション管理に関連するアプリケーション機能は、 しばしば正しく実装されていません。そのため、 攻撃者は パスワード又は鍵、セッショントークンを漏洩させたり、 他の実装の不備を悪用してなりすますこ とができます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  57. 57. A2-認証とセッション管理の不備 • ECサイトなどセッション管理が必要なアプリケーション でおこる • ログイン情報の平文送信 • 手作りのセッション管理機能 • セッションIDの漏洩 • アプリケーション機能を利用時の認証状態確認不備 • ログアウト機能の実装不備 • パスワード関連機能の実装不備
  58. 58. A2-認証とセッション管理の不備 対策(?) OWASPのApplication Security Verification Standard (ASVS) エリアV2 (認証)とV3 (セッション管理)において定義された すべての認証とセッション管理の要件を満たす OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  59. 59. A2-認証とセッション管理の不備 対策(?) OWASPのApplication Security Verification Standard (ASVS) エリアV2 (認証)とV3 (セッション管理)において定義された すべての認証とセッション管理の要件を満たす OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf なるほど!
  60. 60. A2-認証とセッション管理の不備 (脱線) OWASP Application Security Verification Standard (ASVS) OWASPアプリケーションセキュリティ検証標準 3.0.1 https://www.jpcert.or.jp/securecoding/OWASP_ASVS_20160 623.pdf
  61. 61. A2-認証とセッション管理の不備 対策 • セッションマネージャーを自作しない • セッションIDをURL、エラーメッセージ、ログから漏洩させない • ログイン前後で必ずセッションIDを変更する • HSTSを利用し、クッキーにHttpOnlyとsecureを設定する • 機能を実行する前には認証状態を確認(現実には認可状態も) • ログアウトを実装し、ログアウト処理ではセッションクッキーの 削除とセッション情報の削除を確実に実施する • パスワードリマインダ機能でパスワード設定URLをメール送信す る際は予め登録された宛先に限定する • パスワード変更には旧パスワードを求める • アカウントロック機能
  62. 62. OWASP Top 10 – 2013 A1 – インジェクション A2 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング(XSS) A4 – 安全でないオブジェクト直接参照 A5 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 機能レベルアクセス制御の欠落 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード
  63. 63. A1-インジェクション SQLとOS、LDAPなどのインジェクション欠陥は、信頼され ていないデータがコマンド又はクエリの一部としてインタ プリタに送信される際に発生します。攻撃者の悪意のある データは、意図しないコマンドの実行や適切な権限のない データアクセスをさせるように、インタプリタを騙すこと ができます。 OWASP Top 10 日本語版より https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
  64. 64. A1-インジェクション • 不動の1位である危険な脆弱性 • 多くの場合、信頼境界を越えて送信されるデータをアプ リケーションがそのまま利用することで起こる • インジェクションの 問題は、SQLクエリ、LDAPクエリ、 XPathクエリ、NoSQLクエリ、OSコマンド、 プログラム 引数などで発見される • インジェクションの欠陥は、コードを検査すれば検出が 容易な場合が多い • memcachedなど外部公開不要なサービスを公開した結 果、直接値を入力されることもあるので注意
  65. 65. A1-インジェクション 対策 • 信頼境界を越えて入力されるデータとは、サービス利用 者が書き換え可能な全てのデータ(クッキー、ヘッダ、 フォーム入力値など) • SQLインジェクションは必ずプレースホルダを使う(可 能であれば静的にする) • OSコマンドは極力利用しない もしくは、シェルから起動しない方法を利用 • 各言語やフレームワークで定められたエスケープ構文を 利用 • 外部に公開しなくてよいサービスは公開しない • サーバ実装では予期せぬパラメータがきたら切断
  66. 66. OWASP Top 10を振り返って
  67. 67. OWASP Top 10を振り返って 今回紹介した内容を一気にこなすのはなかなか難しいものの、セ キュリティ需要は増加の一途です。 そこで、まず開発者がまず何をするべきかという部分に重点を置い たOWASP Proactive Controls 2016というものがあります。 OWASP Proactive Controls 2016では「早期に、繰り返しセキュリ ティを検証する」を一番大切なこととしています。 本来はテストシナリオやテストコードを準備している段階からセ キュリティを考慮する必要があるということです。 また、さまざまなセキュリティ機能を十分に活用するためには、要 件定義の時点でセキュリティ要件を整理することが重要です。セ キュリティ要件についてはOWASP ASVSがガイドラインとして役に 立ちます。
  68. 68. OWASPの成果物を活用しよう • 反復可能なセキュリティプロセスと標準セキュリティ制 御の確立が重要 • 要件定義にOWASP ASVSの活用 • 設計にOWASP Cheat Sheet • フレームワークのセキュリティ機能を最大限に活用 • セキュアな開発ライフサイクルのスコアリングフ レームワークにOpenSAMM • ペネトレにOWASP Testing Guide
  69. 69. さいごに OWASP Proactive Controls 2016 https://www.owasp.org/images/a/a8/OWASPTop10ProactiveControls2016-Japanese.pdf 今回はOWASP Top 10 2016が待ちきれなかったので、私見と診断あ るあるを含めてOWASP Top 10 2013を振り返りました。 そして、どのような脆弱性が潜んでいるのか、どのような対策が効果 的なのか紹介しました。 また、OWASP Top 10に加えて簡単に紹介したOWASP ASVS v3や OWASP Proactive Controls 2016はOWASP Japanによって日本語化され ていますので、是非活用してください。 OWASP ASVS 3.0.1 https://www.jpcert.or.jp/securecoding/OWASP_ASVS_20160623.pdf
  70. 70. ありがとうございました WEBをたしかなものに

×