Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OWT2017JP - OWASP SAMM

OWASP Japan
September 30, 2017

OWT2017JP - OWASP SAMM

#OWT2017JP
OWASP SAMM by 伊藤彰嗣, サイボウズ

OWASP Japan

September 30, 2017
Tweet

More Decks by OWASP Japan

Other Decks in Technology

Transcript

  1. 開発プロジェクトの現状を
    把握する
    OWASP SAMM の活用
    Akitsugu Ito(@springmoon6)

    View Slide

  2. 自己紹介
    • Akitsugu Ito(@springmoon6)
    • サイボウズ株式会社 CSIRT PoC
    • OWASP 関連のスライド
    Management for Security Life Cycle
    https://speakerdeck.com/owaspjapan/management-for-security-life-
    cycle-number-appsecapac2014
    OWASP Project 使ってみた
    https://www.slideshare.net/akitsuguito/owasp-project

    View Slide

  3. Agenda
    • OWASP SAMM って?
    • 12のセキュリティ対策と OWASP 成果物
    • 適用事例
    • まとめ

    View Slide

  4. OWASP SAMM って?

    View Slide

  5. 要件定義 設計・開発 テスト 運用・保守
    ① 要件定義 OWASP Top 10 Project
    ② 設計・開発 OWASP Proactive Controls
    OWASP Application Security Verification Standard (ASVS)
    OWASP Cheat Sheet Series
    OWASP Security Shepherd
    ③ テスト OWASP Zed Attack Proxy
    OWASP Testing Project(OWASP Testing Guide etc..)
    OWASP Offensive Web Testing Framework (OWTF)
    ④ 運用・保守 OWASP ModSecurity Core Rule Set Project
    OWASP APPSensor
    OWASP CSRFGuard Project
    OWASP Dependency Check

    View Slide

  6. 要件定義 設計・開発 テスト 運用・保守
    ① 要件定義 OWASP Top 10 Project
    ② 設計・開発 OWASP Proactive Controls
    OWASP Application Security Verification Standard (ASVS)
    OWASP Cheat Sheet Series
    OWASP Security Shepherd
    ③ テスト OWASP Zed Attack Proxy
    OWASP Testing Project(OWASP Testing Guide etc..)
    OWASP Offensive Web Testing Framework (OWTF)
    ④ 運用・保守 OWASP ModSecurity Core Rule Set Project
    OWASP APPSensor
    OWASP CSRFGuard Project
    OWASP Dependency Check
    開発ライフサイクルをよりセキュアにすること (OWASP SAMM)

    View Slide

  7. OWASP SAMM
    • OWASP Software Assurance Maturity Model
    • より成熟したセキュア開発を行うことを
    支援するドキュメント
    https://www.jpcert.or.jp/securecoding_materials.html(日本語:v1.0)
    https://www.owasp.org/index.php/OWASP_SAMM_Project (英語:v1.5)

    View Slide

  8. 特徴 – 定量化・可視化
    開発プロジェクトのセキュリティ成熟度を
    定量化・可視化し現状を把握できる
    NISTIR-8151 Dramatically Reducing Software Vulnerabilities
    3.2 Software Assurance: The Object of Software Measures
    http://nvlpubs.nist.gov/nistpubs/ir/2016/NIST.IR.8151.pdf
    A=f(p, s, e)
    A: ソフトウェアセキュリティ保証の価値
    p: 開発プロセス
    s: セキュリティテスト
    e: 実行環境

    View Slide

  9. 特徴 – 継続改善
    現状把握 目標設定
    計画立案
    実施
    一定の期間ごとに上記を繰り返すことで
    セキュリティ品質の改善に繋がる

    View Slide

  10. 文書構成

    View Slide

  11. プロジェクトメンバー
    Developers
    Business Owners
    QA Testers
    Architects Managers
    Security Auditor Support / Operators

    View Slide

  12. ビジネス機能
    開発プロセスにおける主要なビジネス機能を
    4つに整理
    ガバナンス 構築(設計・開発) 検証 運用

    View Slide

  13. セキュリティ対策
    ビジネス機能ごとに3つのセキュリティ対策を定義
    戦略・指標
    ポリシー・コンプライアンス
    教育・指導
    脅威の査定
    セキュリティ要件
    セキュアなアーキテクチャ
    設計レビュー
    実装レビュー
    セキュリティテスト
    課題管理
    環境の堅牢化
    運用体制のセキュリティ対応

    View Slide

  14. セキュリティ対策の例
    定量的な指標の例
    期待結果 コスト

    View Slide

  15. 現状把握 - アセスメント
    Tool-box の活用
    ヒアリング計画を立てることが重要
    プロジェクト体制を把握し、ヒアリング項目・対象を決める

    View Slide

  16. アセスメント項目
    ガバナンス 構築 検証 運用
    Manager 18 19 19 19
    Architect 20 14 19 13
    Security
    Auditor
    12 19 17 8
    Business
    Owners
    16 17 8 11
    Developers 11 10 19 10
    QA Testers 7 7
    Support
    Operators
    14

    View Slide

  17. 成熟度の可視化(1)

    View Slide

  18. 成熟度の可視化(2)

    View Slide

  19. 目標設定~実施

    View Slide

  20. 12のセキュリティ対策と
    OWASP 成果物

    View Slide

  21. セキュリティ対策
    ビジネス機能ごとに3つのセキュリティ対策を定義
    戦略・指標
    ポリシー・コンプライアンス
    教育・指導
    脅威の査定
    セキュリティ要件
    セキュアなアーキテクチャ
    設計レビュー
    実装レビュー
    セキュリティテスト
    課題管理
    環境の堅牢化
    運用体制のセキュリティ対応

    View Slide

  22. OWASP 成果物への参照
    • セキュリティ対策を推進するうえで
    役に立つ OWASP ドキュメントへの参照が
    OWASP SAMM の中には記載されていない
    • 下記の条件で成果物への導線をまとめる
    – OWASP Project Inventory に登録されている
    公式プロジェクト
    – 日本のローカルチャプターから公開されている
    成果物

    View Slide

  23. 戦略・指標(SM)
    組織内でセキュリティ保証プログラムを確立する
    OWASP SAMM を活用すること
    ロードマップの
    策定
    リスク評価の
    実施
    セキュリティ
    支出の算出

    View Slide

  24. ポリシー・コンプライアンス(PC)
    組織のビジネス目的に合致した方法でコンプライアンスを確保
    Policy Frameworks(OWASP Guide Project / OWASP Developer Guide)
    https://www.owasp.org/index.php/Policy_Frameworks (旧)
    https://github.com/OWASP/DevGuide/blob/master/01-
    Foundations/02-Policies%2C%20Standards%20and%20Guidelines.md
    ガバナンスと
    コンプライアンス
    ベースラインの
    確立
    セキュリティ
    監査の実施

    View Slide

  25. 教育・指導(EG)
    ソフトウェアライフサイクルに携わる人材を育成する
    OWASP Education Project
    https://www.owasp.org/index.php/Category:OWASP_Educ
    ation_Project
    教育の機会
    資料の提供
    セキュリティ
    教育の実施
    習熟度を
    認証する

    View Slide

  26. 脅威の査定(TA)
    Application Threat Modeling (OWASP Guide Project / Cheat Sheet )
    https://www.owasp.org/index.php/Application_Threat_Modeling(旧)
    https://www.owasp.org/index.php/Threat_Modeling_Cheat_Sheet
    ソフトウェアの機能と特性に基づきプロジェクトのリスクを把握
    脅威・攻撃者
    の理解・文書化
    脅威分析 脅威と保護機能
    の関連付け

    View Slide

  27. セキュリティ要件(SR)
    OWASP ASVS
    https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verificatio
    n_Standard_Project
    Webシステム/Webアプリケーションセキュリティ要件書 2.0
    https://github.com/ueno1000/secreq
    ソフトウェアのセキュリティ要件を策定する
    要件検討から
    セキュリティを
    考慮
    リスク分析に
    応じて要件を
    調整
    セキュリティ要件
    の監査

    View Slide

  28. セキュアなアーキテクチャ(SA)
    OWASP Proactive Controls
    https://www.owasp.org/index.php/OWASP_Proactive_Controls
    プロアクティブに安全なソフトウェアを構築するための仕組み
    設計プロセスに
    セキュリティを
    組み込む
    設計パターンを
    プロジェクトに
    提供
    再利用可能な
    コンポーネントの
    利用と検査

    View Slide

  29. デザインレビュー(DR)
    Application Security Architecture Cheat Sheet
    https://www.owasp.org/index.php/Application_Security_A
    rchitecture_Cheat_Sheet
    セキュリティ問題に対するソフトウェアとアーキテクチャの評価
    レビュープロセス
    にセキュリティを
    組み込む
    設計レビュー
    プロセスの策定
    レビュープロセス
    に従った
    アセスメント実施

    View Slide

  30. 実装レビュー(IR)
    OWASP Code Review Project
    https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project
    Secure Coding Cheat Sheet
    https://www.owasp.org/index.php/Secure_Coding_Cheat_Sheet
    ソフトウェアのセキュリティをソースコードと構成レベルで検査
    コードレビューの
    実施
    自動コード解析
    ツールの利用
    コードレビュー
    合格基準の策定

    View Slide

  31. セキュリティテスト(ST)
    脆弱性診断士スキルマッププロジェクト
    https://www.owasp.org/index.php/Category:OWASP_Applicatio
    n_Security_Verification_Standard_Project
    ランタイム環境におけるソフトウェアのセキュリティテスト
    テスト実施
    プロセスの構築
    自動テスト
    ツールの利用
    アプリケーション
    固有のテスト実施

    View Slide

  32. 課題管理(IM)
    OWASP Incident Response Project
    https://www.owasp.org/index.php/OWASP_Incident_Resp
    onse_Project
    インシデント報告や対応に関する組織内のプロセス
    報告窓口や
    インシデント対応
    チームの理解
    インシデント対応
    プロセスの理解
    定量データを
    用いたプロセス改善

    View Slide

  33. 環境の堅牢化(EH)
    OWASP Dependency Check
    https://www.owasp.org/index.php/OWASP_Dependency_Check
    OWASP Security Operations Center (SOC) Framework Project
    https://www.owasp.org/index.php/OWASP_Security_Operations_Center_
    (SOC)_Framework_Project
    ソフトウェアが稼働する運用基盤をセキュアに構築する
    運用環境の
    ベースラインを
    理解
    運用の堅牢化
    自動化の推進
    ベストプラクティスを
    用いて運用環境を検証

    View Slide

  34. 運用体制のセキュリティ対応(OE)
    OWASP SAMM のアセスメント項目を Cheat sheet として活用
    良いプロジェクトがあれば教えてください!
    ソフトウェアのセキュリティ情報を収集し情報発信する
    開発・運用間の
    連絡体制の構築
    手順書の伝達と
    変更管理
    運用環境の検証

    View Slide

  35. 活用事例

    View Slide

  36. OWASP SAMM との出会い
    • OWASP Japan Local Chapter Meeting
    – https://owasp.doorkeeper.jp/events/58340
    https://www.slideshare.net/okdt/owasp-samm

    View Slide

  37. View Slide

  38. 活用例
    アドバイス集
    作成
    情報提供
    プロジェクトの
    可視化
    工数小 工数大

    View Slide

  39. アドバイス集の作成
    アセスメント項目ごとに参考になるドキュメントを収集

    View Slide

  40. タイムリーな情報提供(1)
    Web ページを作成する際の JavaScript
    利用に関するルールを緩和したい。
    利便性を維持しながらリスクを軽減できるように
    議論させてください。こんな資料があります。
    安全な Web サイトの作り方
    3rd Party Javascript Management Cheat Sheet

    View Slide

  41. タイムリーな情報提供(2)
    お客様から質問を受けています。
    開発活動は文書化されたセキュアなシステム開発手法
    (セキュリティ要件の定義およびテストを含む)に基づき、
    遂行されていますか?
    OWASP ASVS を用いてサービスのセキュリティ
    要件を精査し、セキュリティ要件に関する標準
    への適合性確認を進めています。
    https://www.slideshare.net/akitsuguito/owasp-project

    View Slide

  42. 新規プロジェクトへの情報提供
    新たにサービスをリリースするチームが
    認証を取得するにあたり事前準備が必要となる
    項目を具体的な活動内容と併せて伝達
    戦略・指標
    セキュリティ要件
    セキュリティテスト
    課題管理
    運用体制のセキュリティ対応

    View Slide

  43. 情報提供例(運用)
    • 日時確認タスクの実施方法(ログの監視など)
    • パッチの適用プロセス(全社基準との差異など)
    • 自動適用の有無(パッチマネージャーの利用など)
    • 追加のセキュリティ緩和策の有無(WAF / IDS etc..)
    • 外部監査の実施頻度(運用環境)
    • 変更管理データベースの運用
    • リハーサルについて(実施基準とコミュニケーション)
    • 鍵管理について

    View Slide

  44. 情報提供例(開発)
    • 機能一覧に関する文書
    • セキュリティ機能一覧に関する文書
    • 運用基盤以外に利用しているサードパーティ
    コンポーネントの把握
    • コードレビューの実施状況
    • ログ管理の実装状況
    • 監視すべきアラートやエラーに関する文書
    • 文書の更新体制

    View Slide

  45. 開発プロジェクトの定量化の試み
    作成したツールキットのアウトプットを元に、
    現在のプロジェクトの状況を可視化
    現在の課題の把握と今後の目標について議論

    View Slide

  46. あるプロジェクトの現状(Pros)
    これまで PSIRT が力を入れてきた領域や、
    オペレーションチームが対応してきた領域は成熟している

    View Slide

  47. あるプロジェクトの現状(cons)
    プロジェクト間を横断して統一された観点に基づいた
    セキュリティ対策を導入する点に課題がある

    View Slide

  48. ロードマップテンプレートの活用
    業種別にロードマップ策定用の
    テンプレートが存在
    ソフトウェアベンダー(独立系)
    サービスプロバイダ
    金融サービス
    政府組織
    テンプレートを元に各組織に適合するように
    カスタマイズすることでロードマップ作成時のコスト削減

    View Slide

  49. まとめ

    View Slide

  50. OWASP SAMM
    • 成熟したセキュア開発を行うことを支援
    • 7つのプロジェクト関係者を定義
    • 4つのビジネス機能、12のセキュリティ対策で構成
    ソフトウェアセキュリティ保証成熟度モデル
    • プロジェクトへの情報提供
    • 開発プロジェクトの定量化
    活用事例
    様々なプロジェクトに参加しませんか!

    View Slide