Pro Yearly is on sale from $80 to $50! »

OWASP SAMMを活用したセキュア開発の推進

OWASP SAMMを活用したセキュア開発の推進

OWASP Night 2019.03 in Tokyo
OWASP SAMMを活用したセキュア開発の推進
神戸デジタル・ラボ 松田康司

D2c0774c30304e4970b502118aa791fe?s=128

OWASP Japan

March 11, 2019
Tweet

Transcript

  1. OWASP SAMMを活用した セキュア開発の推進 2019/03/11 松田康司

  2. 自己紹介 • 松田康司 (まつだこうじ) • 株式会社神戸デジタル・ラボ セキュア開発推進・プロジェクトサポートチーム • カレー好きです

  3. 今日の話 • 全ての開発プロジェクトをセキュアにするため にOWASP SAMMを活用する話 • この活動で活用している他のOWASPドキュメ ントの紹介

  4. きっかけ • 開発部門の納品前の脆弱性診断を担当した • 似たような診断結果が多く、同じ指摘を何度 もしていることが判明 • さらに、結果の中には、修正の多く工数がか かるものもあった

  5. None
  6. シフトレフト

  7. OWASP SAMMについて

  8. OWASP SAMMとは? Software Assurance Maturity Model • 開発プロジェクトの成熟度を評価し、定量化・ 可視化を実現 •

    継続改善に向けたツールを提供 • より成熟したセキュア開発を行うことを支援す るドキュメント https://owaspsamm.org/ (v1.5 stable, v2.0 beta) https://www.jpcert.or.jp/securecoding_materials.html (v1.0 日本語)
  9. 定量化・可視化 4つのカテゴリ、12のアクティビティ、77のチェック項目 プロジェクトメンバーにヒアリングすることで可視化ができる

  10. 定量化・可視化 チェック項目の一例(v1.0) ◆戦略&指標

  11. 継続改善 四半期ごとのサイクル 目標設定 計画立案 実行 評価 OWASP SAMMで 可視化する OWASPのその他

    のドキュメントを 活用 OWASP SAMMの ロードマップテン プレートを活用 OWASP SAMMの ロードマップテン プレートを活用
  12. OWASP SAMMを活用する

  13. 活用にあたって 1. 開発プロジェクトでの活用 2. 結果の公開 3. やり始めたプロジェクトのサポート

  14. 1.開発プロジェクトでの活用 ◆現状の可視化 セキュリティテストに大きく依存した体制

  15. 1.開発プロジェクトでの活用 ◆現状の可視化 プロジェクトメンバーに現状を伝えることに役立つ

  16. 1.開発プロジェクトでの活用 ◆目標設定 業種別のロードマップテンプレートの活用 • 独立系ソフトウェアベンダ • オンラインサービスプロバイダ • 金融サービス機関 •

    政府機関
  17. 1.開発プロジェクトでの活用 4つのカテゴリと12のアクティビティ

  18. • 脅威の査定 – Threat Modeling Cheat Sheet • セキュリティ要件 –

    OWASP Application Security Verification Standard – Webシステム/Webアプリケーションセキュリティ要件書 • セキュアなアーキテクチャ – OWASP Proactive Controls • コードレビュー – 各種チートシート
  19. OWASP ASVS Application Security Verification Standard ◆Webアプリケーションの開発、設計、テストで必要となるセキュリティ要件 https://github.com/OWASP/ASVS/tree/master/4.0 (v4.0) https://www.jpcert.or.jp/securecoding/materials-owaspasvs.html

    (v3.0.1 日本語) レベル1: 全てのアプリケーションが対象 レベル2: 機微なデータを扱うアプリケーションが対象 レベル3: さらに高度な信頼性が求められるアプリケーションが対 象 アプリケーションの内容によって、満たすべきレベルを決める。
  20. OWASP ASVS Application Security Verification Standard

  21. Webシステム/Webアプリケーション セキュリティ要件書 ◆安全なWebアプリケーションの開発に必要なセキュリティ要件 https://github.com/ueno1000/secreq (v3.0 日本語)

  22. • 簡単にプロジェクトメンバーに満たすべき要 件を伝えられることができた • 要件に対して、実装方法まで議論した • コードレビューの観点が決まり、短時間でコー ドレビューができた

  23. ◆要件 ◆実装 • サーバ側でFormManagerを作成 • 全ての入力値検証をFormManagerで行うルールとする ◆レビュー観点 • FormManager を使っていること

    • 文字種、文字列、形式をvalidatorに記載していること
  24. 共通フレームワーク 開発者 案件開発者 脆弱性診断 診断からのフィードバック ①実装 ②利用 ③納品前診断 ④結果FB

  25. 2.結果の公開 • 今までの内容を定期的に社内で発信 • フィードバックをもらいつつ、やり方を見直す • 自分自身も情報整理ができる

  26. 3.やり始めたプロジェクトのサポート • の予定。まだまだ道半ば。

  27. まとめ

  28. まとめ • OWASP SAMMは、成熟したセキュア開発を行 うことを支援する • OWASPのドキュメントを使って、簡単化を行う • 結果を常に公開し、フィードバックをもらうこと で、生産技術に反映できる

  29. ご清聴ありがとうございました。