Project)はWebアプリケーションを作成する開発者や、Webアプリケーションに関わる意思決定を行う方々に対し、組織が信頼できるアプリケーションやAPIを開発、購入、維持できるよう支援するオープンなコミュニティです。すべてのOWASPのツール、ドキュメント、ビデオ、プレゼンテーション、そしてチャプター(支部)は自由でオープンなものであり、アプリケーションセキュリティを改善する人なら誰でも活用することができます。Japanという8つのローカルチャプターが設立されています。コロナ禍で開催頻度は少し落ち着いていますが、各チャプターではローカルチャプターミーティングというカジュアルな勉強会を開催しています。2022と呼ばれるグローバルカンファレンスが8年ぶりにバーチャル形式で開催されます。時差が少ないアプリケーションセキュリティに特化したグローバルカンファレンスはなかなかありませんので、ご興味のある方はぜひご参加ください。2022OWASPプロジェクトとはOWASPプロジェクトは、ボランティアのコミュニティによって運営されるWebアプリケーションセキュリティに関連するドキュメントやツールの作成に関する活動です。OWASPには現在100以上のアクティブなプロジェクトがあり、毎週新しいプロジェクトの申請が行われています。Wayfinderが便利です。Cycle)の各段階に役立つプロジェクトがマッピングされています。Wayfinderこれらのプロジェクトの中でも、アプリケーション・セキュリティ全体にとって戦略的な価値を実証したプロジェクトは、Flagshipプロジェクト(最も重要なプロジェクト群)に指定されています。Wayfinderの中でFlagshipプロジェクトに緑色の枠をつけてみました。SDLCの各工程にFlagshipプロジェクトの成果物が有効であることがわかります。10について紹介します。10は、開発者とWebアプリケーションセキュリティのための標準的な啓発文書です。Webアプリケーションに対する最も重大なセキュリティリスクについて、データと有識者の意見をもとに表現されています。2003年から作成され、2021年版が7回目の更新となります。2021日本語抄訳に協力いたしました。Wayfinderにもあるように、トレーニングとしての活用や意識向上プログラムです。ASVSを参照してください。ASVSはWebアプリケーションおよびWebサービスを設計、開発、テストする際に必要となる、機能的および非機能的なセキュリティの管理策の定義に焦点を当てたセキュリティ要件、および管理策のフレームワークです。2008年に1.0がリリースされ、最新の安定版は2021年10月にリリースされた4.0.3です。Top10の採用者が具体的なセキュリティ標準に容易にステップアップできるように設計されています。2021に対応するバージョンである5.0の初版が公開され、現在フィードバック期間となっています。Enumeration⁠)⁠)に対する検証観点が追加されるなど、より使いやすいドキュメントに仕上がっている印象です。4.0.3にも含まれていますので、正式リリースされるまでの期間は4.0.3を参照して問題ないと考えています。2021では最も重大なセキュリティリスクが10のカテゴリーに表現されています。各カテゴリーに含まれる共通脆弱性タイプ一覧(CWE)が明記されています。2017ではTop10のカテゴリーを選別するにあたり、約30のCWEからなるサブセットに焦点を当て、アプリケーションの脆弱性情報提供いただける協力者から情報を収集しました。2021年版ではCWEに制限を設けずに脆弱性情報を収集したため193の脆弱性タイプが10のカテゴリに集約されています。して収集したデータセットの中から10項目のうち8項目をTop10のカテゴリとして選定し、残り2項目がコミュニティからの調査によって選定されています。10の魅力の1つです。2021年版トップ10では、3つの新しいカテゴリー、4つのカテゴリーの名称とスコープの変更がありました。ソフトウェアとデータの整合性の不具合」について、当グループの事例を交えながら紹介します。安全が確認されない不安な設計」は、さまざまな設計上の欠陥を表す広範なカテゴリーです。根本的な原因と改善方法が異なるため、「⁠実装」における欠陥とは明確に分けられています。安全な設計であっても、実装上の欠陥があると、それが悪用される可能性のある脆弱性につながります。安全でない設計は、完璧な実装によって修正することはできません。セキュリティの専門家は、ビジネス部門と連携してセキュアな開発ライフサイクルを確立する必要があります。常に脅威を評価し、既知の攻撃方法を防ぐためにコードを堅牢に設計しテストする「セキュリティ文化」と方法論を確立することが重要です。Championsプログラムがあります。Championプログラムを構築するためのステップが解説されています。SPOC)としての役割を担うメンバーを意味します。いった各セキュリティプロセスを開発メンバーとしての立場からセキュリティチームと連携して横断的にリードします。Championsプログラムと改め、開発部門とセキュリティチームとの密な連携の構築に活用しています。Committeeには、国内外の楽天グループの開発チームからセキュリティ業務に従事するエンジニアがそれぞれ選出され、現在約300名が所属しています。楽天グループでは70超のサービスが日々開発・運用されていますが、サービスによって技術スタックや開発の体制、運用サイクル、事業要件は大きく異なります。プログラム導入以前は、セキュリティチームが中心となって個々の開発チームのセキュリティプロセスを統一的(=「ガバナンス」的)にマネジメントしていました。近年のソフトウェア開発技術の多様化やグループ組織の規模拡大を背景として、ガバナンス的なマネジメントを行うことが次第に困難になりつつありました。チームの成熟度によって必要なセキュリティトレーニングの内容は異なりますし、eコマースの分野とFinTechの分野で求められるセキュリティ要件も異なります。使用するプログラミング言語やフレームワークが異なれば、最適なセキュリティスキャナーも異なるでしょう。グループ組織全体でセキュアな開発ライフサイクルを維持していくためには、セキュリティチームから開発チームへの一方的なコミュニケーションではなく、双方向のコミュニケーションが必要不可欠でした。Championに移譲され、セキュリティチームがその活動を支援(=「エンパワーメント⁠」⁠)する形に移行しました。Championは単なる社内調整役ではありません。チームの中核メンバーがセキュリティプロセスのリードを行うことで、それぞれのチームで自律的なセキュリティ文化が醸成されました。Championを中心として、開発チームとセキュリティチームが互いの専門領域を生かして双方向にエンパワーメントすることのできるコミュニケーションチャネルと信頼関係が構築され、これらを基盤としてセキュアな開発ライフサイクルをグループ全体に普及・確立することに成功しました。SAMMは、あらゆる種類の組織がソフトウェアセキュリティを分析および改善するために利用可能な自己評価モデルです。執筆時点における最新版は、2.0.6です。Practice)に基づいています。各セキュリティ対策には、3段階の成熟度レベルに分類された一連の活動が含まれています。Wayfinderでも示されているように、組織における現在のセキュリティ成熟度を把握し、自社のセキュリティプログラムのギャップと目標を特定することに役立ちます。運用におけるギャップと、後回しにしてもよいギャップを特定することは、アプリケーションセキュリティプログラムを始めるための第一歩です。安全でないデシリアライゼーション」の内容を踏襲しつつも、新たにCI/CDパイプラインの安全性やソフトウェアサプライチェーンの信頼性についても言及した、アプリケーションの整合性の不具合に関する問題をより広範にカバーする新しいカテゴリです。Service」といったキーワードは決して珍しいものではなくなりました。今日のソフトウェア開発プロジェクトの多くは、第三者によって開発・メンテナンスされたプロダクトやシステムを何かしらの形で再利用し、その利便性を享受していると言えるでしょう。一方で、第三者のプロダクトやシステムを再利用すること、すなわちソフトウェアサプライチェーンの形成は、セキュリティ上の第三者への「依存性」も大きく複雑なものとしました。その結果、ソフトウェアサプライチェーンセキュリティの重要性と脅威への関心が以前よりも高まってきています。ソフトウェアサプライチェーンセキュリティが注目された最近の事例として、2021年末のLog4Shell(CVE-2021-44228)や、2022年3月のSpring4Shell(CVE-2022-22965)は記憶に新しいかと思います。これらのケースでは、セキュリティエンジニアはもちろんのこと、アプリケーションエンジニアやインフラエンジニアなど多くのエンジニアが、プロダクトやシステムへの影響調査やコード修正、マネジメント層や顧客への報告といった作業に対応を追われました。自分が「つくったもの」だけでなく「利用しているもの」も把握し、管理することの必要性に気付かされるケースであったと言えるでしょう。Dependency-Trackを用いてサプライチェーンマネジメントの改善に取り組んでいます。SBOM)のフォーマット標準です。SBOMはプロダクトやシステムが依存するソフトウェアコンポーネントとそのバージョン情報を構造化した文書で、近年ソフトウェアサプライチェーンマネジメントを改善するための新しい概念として注目されています。URL)、チェックサムなど、一意に識別可能な情報を用いてXMLあるいはJSONファイルとしてSBOMを記述することができます。CycloneDXの導入により、ソフトウェアコンポーネントの管理と情報共有がSBOMとして共通言語化され、組織内外との情報のやりとりを標準化・円滑化することができます。Dependency-TrackはSBOMの管理と分析の機能を備えています。Database等の脆弱性データベースと、SBOMファイルを通じて登録されたソフトウェアコンポーネントの情報とを継続的にマッチングすることにより、プロダクトやシステムが抱える脆弱性の早期発見と効率的な管理を行うことが可能です。SCA)と呼ばれます。Security社のTrivyなどといったオープンソースソフトウェアを用いることができます。これらのツールを用いることで、プロダクトやシステムのソースコードリポジトリ、あるいはコンテナイメージからSBOMファイルを生成することができます。2022年7月には、Microsoft社がSBOM生成ツールをオープンソースソフトウェアとして公開し、注目を集めました。楽天グループでは、これまでソフトウェアコンポーネントの管理のために、一部商用ツールや内製ツール等を導入していました。システムやサービス、チームによって、技術スタックや開発の体制、運用サイクル、事業要件が大きく異なるためにSCAに必要となる開発チームおよびセキュリティチームの工数が高くなる傾向にありました。Dependency-Trackを中心としたソフトウェアコンポーネント管理の標準化と自動化に向けた検証を進めています。開発チームとセキュリティチーム双方が開発や運用上の負担のない形でソフトウェアコンポーネント情報を継続的に管理し、Log4Shellのような脅威があった場合に「標準的」で効率の良い運用を行う「セキュリティ文化」の定着を目指しています。Analysis:SCA)SBOMを中心としたソフトウェアサプライチェーンの管理の技術とコミュニティは、近年急速に拡大し注目を集めています。SBOMの普及により、その利用ケースは将来的に脆弱性管理にとどまらず、ソフトウェア資産管理や調達などさまざまな場面に及び、いずれのケースでもSBOMはソフトウェアコンポーネント情報の管理ややりとりの円滑化を我々にもたらしてくれるでしょう。Identification)Taggingなど多岐に渡り、企業やコミュニティ、実装の対応状況も千差万別です。これらの異なる仕様間の差をどのように吸収するかは未だ利用者側に委ねられているのが現状です。今後、これらの仕様の共通化・標準化がより一層進み、また、導入障壁が軽減されることで、業界全体でSBOMの利活用が広がることが期待されます。楽天グループもこうした標準化への取り組みに貢献していきます。10の概要について説明し、2つのカテゴリについて当グループでの活用事例をご紹介しました。OWASPの各ローカルチャプターでは、皆様と一緒にアプリケーションセキュリティを学び、現場の組織での対策に活かすためにさまざまな活動を行っています。Peaceの一助になれば幸いです。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。