$30 off During Our Annual Pro Sale. View Details »

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

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

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

OWASP Japan

March 11, 2019
Tweet

More Decks by OWASP Japan

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. View Slide

  6. シフトレフト

    View Slide

  7. OWASP SAMMについて

    View Slide

  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 日本語)

    View Slide

  9. 定量化・可視化
    4つのカテゴリ、12のアクティビティ、77のチェック項目
    プロジェクトメンバーにヒアリングすることで可視化ができる

    View Slide

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

    View Slide

  11. 継続改善
    四半期ごとのサイクル
    目標設定 計画立案
    実行
    評価
    OWASP SAMMで
    可視化する
    OWASPのその他
    のドキュメントを
    活用
    OWASP SAMMの
    ロードマップテン
    プレートを活用
    OWASP SAMMの
    ロードマップテン
    プレートを活用

    View Slide

  12. OWASP SAMMを活用する

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. • 脅威の査定
    – Threat Modeling Cheat Sheet
    • セキュリティ要件
    – OWASP Application Security Verification Standard
    – Webシステム/Webアプリケーションセキュリティ要件書
    • セキュアなアーキテクチャ
    – OWASP Proactive Controls
    • コードレビュー
    – 各種チートシート

    View Slide

  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: さらに高度な信頼性が求められるアプリケーションが対

    アプリケーションの内容によって、満たすべきレベルを決める。

    View Slide

  20. OWASP ASVS
    Application Security Verification Standard

    View Slide

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

    View Slide

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

    View Slide

  23. ◆要件
    ◆実装
    • サーバ側でFormManagerを作成
    • 全ての入力値検証をFormManagerで行うルールとする
    ◆レビュー観点
    • FormManager を使っていること
    • 文字種、文字列、形式をvalidatorに記載していること

    View Slide

  24. 共通フレームワーク
    開発者
    案件開発者
    脆弱性診断
    診断からのフィードバック
    ①実装 ②利用
    ③納品前診断
    ④結果FB

    View Slide

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

    View Slide

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

    View Slide

  27. まとめ

    View Slide

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

    View Slide

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

    View Slide