OWASP Night 2019.03 in Tokyo OWASP SAMMを活用したセキュア開発の推進 神戸デジタル・ラボ 松田康司
OWASP SAMMを活用したセキュア開発の推進2019/03/11松田康司
View Slide
自己紹介• 松田康司 (まつだこうじ)• 株式会社神戸デジタル・ラボセキュア開発推進・プロジェクトサポートチーム• カレー好きです
今日の話• 全ての開発プロジェクトをセキュアにするためにOWASP SAMMを活用する話• この活動で活用している他のOWASPドキュメントの紹介
きっかけ• 開発部門の納品前の脆弱性診断を担当した• 似たような診断結果が多く、同じ指摘を何度もしていることが判明• さらに、結果の中には、修正の多く工数がかかるものもあった
シフトレフト
OWASP SAMMについて
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 日本語)
定量化・可視化4つのカテゴリ、12のアクティビティ、77のチェック項目プロジェクトメンバーにヒアリングすることで可視化ができる
定量化・可視化チェック項目の一例(v1.0)◆戦略&指標
継続改善四半期ごとのサイクル目標設定 計画立案実行評価OWASP SAMMで可視化するOWASPのその他のドキュメントを活用OWASP SAMMのロードマップテンプレートを活用OWASP SAMMのロードマップテンプレートを活用
OWASP SAMMを活用する
活用にあたって1. 開発プロジェクトでの活用2. 結果の公開3. やり始めたプロジェクトのサポート
1.開発プロジェクトでの活用◆現状の可視化セキュリティテストに大きく依存した体制
1.開発プロジェクトでの活用◆現状の可視化プロジェクトメンバーに現状を伝えることに役立つ
1.開発プロジェクトでの活用◆目標設定業種別のロードマップテンプレートの活用• 独立系ソフトウェアベンダ• オンラインサービスプロバイダ• 金融サービス機関• 政府機関
1.開発プロジェクトでの活用4つのカテゴリと12のアクティビティ
• 脅威の査定– Threat Modeling Cheat Sheet• セキュリティ要件– OWASP Application Security Verification Standard– Webシステム/Webアプリケーションセキュリティ要件書• セキュアなアーキテクチャ– OWASP Proactive Controls• コードレビュー– 各種チートシート
OWASP ASVSApplication 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: さらに高度な信頼性が求められるアプリケーションが対象アプリケーションの内容によって、満たすべきレベルを決める。
OWASP ASVSApplication Security Verification Standard
Webシステム/Webアプリケーションセキュリティ要件書◆安全なWebアプリケーションの開発に必要なセキュリティ要件https://github.com/ueno1000/secreq (v3.0 日本語)
• 簡単にプロジェクトメンバーに満たすべき要件を伝えられることができた• 要件に対して、実装方法まで議論した• コードレビューの観点が決まり、短時間でコードレビューができた
◆要件◆実装• サーバ側でFormManagerを作成• 全ての入力値検証をFormManagerで行うルールとする◆レビュー観点• FormManager を使っていること• 文字種、文字列、形式をvalidatorに記載していること
共通フレームワーク開発者案件開発者脆弱性診断診断からのフィードバック①実装 ②利用③納品前診断④結果FB
2.結果の公開• 今までの内容を定期的に社内で発信• フィードバックをもらいつつ、やり方を見直す• 自分自身も情報整理ができる
3.やり始めたプロジェクトのサポート• の予定。まだまだ道半ば。
まとめ
まとめ• OWASP SAMMは、成熟したセキュア開発を行うことを支援する• OWASPのドキュメントを使って、簡単化を行う• 結果を常に公開し、フィードバックをもらうことで、生産技術に反映できる
ご清聴ありがとうございました。