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

OWT2017JP - OWASP SAMM

D2c0774c30304e4970b502118aa791fe?s=47 OWASP Japan
September 30, 2017

OWT2017JP - OWASP SAMM

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

D2c0774c30304e4970b502118aa791fe?s=128

OWASP Japan

September 30, 2017
Tweet

More Decks by OWASP Japan

Other Decks in Technology

Transcript

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

  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
  3. Agenda • OWASP SAMM って? • 12のセキュリティ対策と OWASP 成果物 •

    適用事例 • まとめ
  4. OWASP SAMM って?

  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
  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)
  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)
  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: 実行環境
  9. 特徴 – 継続改善 現状把握 目標設定 計画立案 実施 一定の期間ごとに上記を繰り返すことで セキュリティ品質の改善に繋がる

  10. 文書構成

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

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

  13. セキュリティ対策 ビジネス機能ごとに3つのセキュリティ対策を定義 戦略・指標 ポリシー・コンプライアンス 教育・指導 脅威の査定 セキュリティ要件 セキュアなアーキテクチャ 設計レビュー 実装レビュー

    セキュリティテスト 課題管理 環境の堅牢化 運用体制のセキュリティ対応
  14. セキュリティ対策の例 定量的な指標の例 期待結果 コスト

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

  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
  17. 成熟度の可視化(1)

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

  19. 目標設定~実施

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

  21. セキュリティ対策 ビジネス機能ごとに3つのセキュリティ対策を定義 戦略・指標 ポリシー・コンプライアンス 教育・指導 脅威の査定 セキュリティ要件 セキュアなアーキテクチャ 設計レビュー 実装レビュー

    セキュリティテスト 課題管理 環境の堅牢化 運用体制のセキュリティ対応
  22. OWASP 成果物への参照 • セキュリティ対策を推進するうえで 役に立つ OWASP ドキュメントへの参照が OWASP SAMM の中には記載されていない

    • 下記の条件で成果物への導線をまとめる – OWASP Project Inventory に登録されている 公式プロジェクト – 日本のローカルチャプターから公開されている 成果物
  23. 戦略・指標(SM) 組織内でセキュリティ保証プログラムを確立する OWASP SAMM を活用すること ロードマップの 策定 リスク評価の 実施 セキュリティ

    支出の算出
  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 ガバナンスと コンプライアンス ベースラインの 確立 セキュリティ 監査の実施
  25. 教育・指導(EG) ソフトウェアライフサイクルに携わる人材を育成する OWASP Education Project https://www.owasp.org/index.php/Category:OWASP_Educ ation_Project 教育の機会 資料の提供 セキュリティ

    教育の実施 習熟度を 認証する
  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 ソフトウェアの機能と特性に基づきプロジェクトのリスクを把握 脅威・攻撃者 の理解・文書化 脅威分析 脅威と保護機能 の関連付け
  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 ソフトウェアのセキュリティ要件を策定する 要件検討から

    セキュリティを 考慮 リスク分析に 応じて要件を 調整 セキュリティ要件 の監査
  28. セキュアなアーキテクチャ(SA) OWASP Proactive Controls https://www.owasp.org/index.php/OWASP_Proactive_Controls プロアクティブに安全なソフトウェアを構築するための仕組み 設計プロセスに セキュリティを 組み込む 設計パターンを

    プロジェクトに 提供 再利用可能な コンポーネントの 利用と検査
  29. デザインレビュー(DR) Application Security Architecture Cheat Sheet https://www.owasp.org/index.php/Application_Security_A rchitecture_Cheat_Sheet セキュリティ問題に対するソフトウェアとアーキテクチャの評価 レビュープロセス

    にセキュリティを 組み込む 設計レビュー プロセスの策定 レビュープロセス に従った アセスメント実施
  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 ソフトウェアのセキュリティをソースコードと構成レベルで検査 コードレビューの 実施 自動コード解析 ツールの利用 コードレビュー 合格基準の策定
  31. セキュリティテスト(ST) 脆弱性診断士スキルマッププロジェクト https://www.owasp.org/index.php/Category:OWASP_Applicatio n_Security_Verification_Standard_Project ランタイム環境におけるソフトウェアのセキュリティテスト テスト実施 プロセスの構築 自動テスト ツールの利用 アプリケーション

    固有のテスト実施
  32. 課題管理(IM) OWASP Incident Response Project https://www.owasp.org/index.php/OWASP_Incident_Resp onse_Project インシデント報告や対応に関する組織内のプロセス 報告窓口や インシデント対応

    チームの理解 インシデント対応 プロセスの理解 定量データを 用いたプロセス改善
  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 ソフトウェアが稼働する運用基盤をセキュアに構築する 運用環境の ベースラインを 理解 運用の堅牢化 自動化の推進 ベストプラクティスを 用いて運用環境を検証
  34. 運用体制のセキュリティ対応(OE) OWASP SAMM のアセスメント項目を Cheat sheet として活用 良いプロジェクトがあれば教えてください! ソフトウェアのセキュリティ情報を収集し情報発信する 開発・運用間の

    連絡体制の構築 手順書の伝達と 変更管理 運用環境の検証
  35. 活用事例

  36. OWASP SAMM との出会い • OWASP Japan Local Chapter Meeting –

    https://owasp.doorkeeper.jp/events/58340 https://www.slideshare.net/okdt/owasp-samm
  37. None
  38. 活用例 アドバイス集 作成 情報提供 プロジェクトの 可視化 工数小 工数大

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

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

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

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

  43. 情報提供例(運用) • 日時確認タスクの実施方法(ログの監視など) • パッチの適用プロセス(全社基準との差異など) • 自動適用の有無(パッチマネージャーの利用など) • 追加のセキュリティ緩和策の有無(WAF /

    IDS etc..) • 外部監査の実施頻度(運用環境) • 変更管理データベースの運用 • リハーサルについて(実施基準とコミュニケーション) • 鍵管理について
  44. 情報提供例(開発) • 機能一覧に関する文書 • セキュリティ機能一覧に関する文書 • 運用基盤以外に利用しているサードパーティ コンポーネントの把握 • コードレビューの実施状況

    • ログ管理の実装状況 • 監視すべきアラートやエラーに関する文書 • 文書の更新体制
  45. 開発プロジェクトの定量化の試み 作成したツールキットのアウトプットを元に、 現在のプロジェクトの状況を可視化 現在の課題の把握と今後の目標について議論

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

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

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

  49. まとめ

  50. OWASP SAMM • 成熟したセキュア開発を行うことを支援 • 7つのプロジェクト関係者を定義 • 4つのビジネス機能、12のセキュリティ対策で構成 ソフトウェアセキュリティ保証成熟度モデル •

    プロジェクトへの情報提供 • 開発プロジェクトの定量化 活用事例 様々なプロジェクトに参加しませんか!