OWASP(The Open Web Application Security Project)はWebアプリケーションを作成する開発者や、Webアプリケーションに関わる意思決定を行う方々に対し、組織が信頼できるアプリケーションやAPIを開発、購入、維持できるよう支援するオープンなコミュニティです。すべてのOWASPのツール、ドキュメント、ビデオ、プレゼンテーション、そしてチャプター(支部)は自由でオープンなものであり、アプリケーションセキュリティを改善する人なら誰でも活用することができます。
OWASPプロジェクトは、ボランティアのコミュニティによって運営されるWebアプリケーションセキュリティに関連するドキュメントやツールの作成に関する活動です。OWASPには現在100以上のアクティブなプロジェクトがあり、毎週新しいプロジェクトの申請が行われています。主要なプロジェクトの関係性を把握するには、OWASP Integration Standards Projectが作成しているApplication Security Wayfinderが便利です。セキュア開発サイクル(Secure Development Life Cycle)の各段階に役立つプロジェクトがマッピングされています。
これらのプロジェクトの中でも、アプリケーション・セキュリティ全体にとって戦略的な価値を実証したプロジェクトは、Flagshipプロジェクト(最も重要なプロジェクト群)に指定されています。Application Security Wayfinderの中でFlagshipプロジェクトに緑色の枠をつけてみました。SDLCの各工程にFlagshipプロジェクトの成果物が有効であることがわかります。ここでは、これらのFlagshipプロジェクトの中でも最も有名なプロジェクトの1つであるOWASP Top 10について紹介します。
OWASP Top 10とは
OWASP Top 10は、開発者とWebアプリケーションセキュリティのための標準的な啓発文書です。Webアプリケーションに対する最も重大なセキュリティリスクについて、データと有識者の意見をもとに表現されています。2003年から作成され、2021年版が7回目の更新となります。本稿執筆者もOWASP Top 10 2021翻訳チームとしてOWASP Top 10 2021日本語抄訳に協力いたしました。
OWASP Top 10の主なユースケースはApplication Security Wayfinderにもあるように、トレーニングとしての活用や意識向上プログラムです。もしアプリケーションセキュリティにおける要件設計や、検証観点の確認を行う目的とした文書を探している際には、OWASP ASVSを参照してください。
OWASP Top 10 2021
OWASP Top 10 2021では最も重大なセキュリティリスクが10のカテゴリーに表現されています。各カテゴリーに含まれる共通脆弱性タイプ一覧(CWE)が明記されています。
OWASP Top 10 Projectは前回のOWASP Top 10 2017ではTop10のカテゴリーを選別するにあたり、約30のCWEからなるサブセットに焦点を当て、アプリケーションの脆弱性情報提供いただける協力者から情報を収集しました。2021年版ではCWEに制限を設けずに脆弱性情報を収集したため193の脆弱性タイプが10のカテゴリに集約されています。こうして収集したデータセットの中から10項目のうち8項目をTop10のカテゴリとして選定し、残り2項目がコミュニティからの調査によって選定されています。こうしたデータの収集方法が透明化されている点もOWASP Top 10の魅力の1つです。
開発部門とセキュリティチームとの効率的なコミュニケーションを構築し「セキュリティ文化」を組織全体に確立する方法論の1つに、Security Championsプログラムがあります。Securirty Champions Playbookは、OWASP Bucharest AppSec Conference 2017で公開されたドキュメントで、Security Championプログラムを構築するためのステップが解説されています。
Security Championとは、プロダクトやサービスの開発チームに所属するエンジニアのうち、セキュリティプロセスの中核、また単一窓口(Single Point of Contact, SPOC)としての役割を担うメンバーを意味します。Security Championは、各々が普段の業務で従事するプロダクトやシステムに関わる専門知識を主軸として、チームメンバーのトレーニングやセキュリティ要件の定義、設計、検証、実装、運用といった各セキュリティプロセスを開発メンバーとしての立場からセキュリティチームと連携して横断的にリードします。
近年のソフトウェア開発において、「オープンソースソフトウェア」や「クラウド」、「X as a Service」といったキーワードは決して珍しいものではなくなりました。今日のソフトウェア開発プロジェクトの多くは、第三者によって開発・メンテナンスされたプロダクトやシステムを何かしらの形で再利用し、その利便性を享受していると言えるでしょう。一方で、第三者のプロダクトやシステムを再利用すること、すなわちソフトウェアサプライチェーンの形成は、セキュリティ上の第三者への「依存性」も大きく複雑なものとしました。その結果、ソフトウェアサプライチェーンセキュリティの重要性と脅威への関心が以前よりも高まってきています。
OWASP CycloneDXは、OWASPが主導して策定を行っているソフトウェア部品表(Software Bill of Materials, SBOM)のフォーマット標準です。SBOMはプロダクトやシステムが依存するソフトウェアコンポーネントとそのバージョン情報を構造化した文書で、近年ソフトウェアサプライチェーンマネジメントを改善するための新しい概念として注目されています。
本稿ではOWASP Top 10の概要について説明し、2つのカテゴリについて当グループでの活用事例をご紹介しました。OWASPの各ローカルチャプターでは、皆様と一緒にアプリケーションセキュリティを学び、現場の組織での対策に活かすためにさまざまな活動を行っています。本稿が皆様の良きOWASPライフとInternet World Peaceの一助になれば幸いです。