脆弱性の優先順位付けによるデベロッパー疲労対策

By 清水 孝郎 - FEBRUARY 14, 2023

SHARE:

脆弱性の優先順位付けによるデベロッパー疲労対策

本文の内容は、2023年2月14日にMIGUEL HERNÁNDEZが投稿したブログ(https://sysdig.com/blog/vulnerability-prioritization-fatigue-developers)を元に日本語に翻訳・再構成した内容となっております。 2023年初頭の現在、CVEに登録された新しい脆弱性は2700件を超えています。開発者が継続的に脆弱性の優先順位付けを行い、新たな脅威を軽減するための疲労に耐えることは、依然として困難な課題です。 Sysdig 2023年度クラウドネイティブセキュリティおよび利用状況レポートの調査結果は、ランタイムにロードされる脆弱なパッケージに集中すれば、対処すべき脆弱性の数を絞れる事を示すもので、負担の大きい開発者たちに希望の兆しを与えています。修正プログラムが提供されている深刻度の高い、または重要な脆弱性のうち、実際にランタイムに使用されているのはわずか15%です。 使用中のパッケージによるフィルタリングに基づく脆弱性管理の優先順位付けにより、チームは際限なく続く脆弱性の山を追いかけるサイクルを大幅に削減することができます。コードを早期にかつ頻繁に評価するシフトレフトセキュリティ戦略の採用が進んでいるにもかかわらず、依然として組織にはランタイムセキュリティが必須です。

デベロッパー疲労とは?

Log4ShellText4Shell のような有名な脆弱性と悪用、および、サイバーセキュリティに関する政府組織からの指導の増加により、多くのチームがアプリケーション・セキュリティ・テストに重点を置くようになりました。しかし、これらの著名な脆弱性をもってしても、このリスクへの対処が実際に進んでいることを示す証拠はほとんどありません。さらに、開発チームは、オープンソースソフトウェアやサードパーティのコードにますます依存するようになっており、既知および未知のセキュリティ脆弱性にさらされるリスクも出てきています。 イメージの87%にHighまたはクリティカルな脆弱性が含まれており、昨年報告した75%から増加しているという衝撃的な結果が出ています。 脆弱性のあるイメージの数ではなく、イメージに含まれる脆弱性の数でデータを見ると、71%の脆弱性には修正プログラムが用意されていますが、まだ適用されていません。イメージによっては、複数の脆弱性を持つものがあることに留意してください。組織はその危険性を認識していますが、ソフトウェアのリリースの速いペースを維持しながら脆弱性に対処するという緊張感に悩まされています。 修正すべきソフトウェアの脆弱性は無限にあるように見えますが、無駄な時間を減らし、サイバーセキュリティプログラムの有効性を向上させる機会があるのです。私たちの調査によると、修正プログラムが提供されているクリティカルかつHighな脆弱性のうち、ランタイムにロードされるパッケージの脆弱性はわずか15%であることがわかりました。実際に使用されている脆弱なパッケージをフィルタリングすることで、組織チームは、真のリスクを表す修正可能な脆弱性のごく一部に労力を集中させることができます。 これは、組織が関連するセキュリティ機能を使用している場合、リリース決定に関する不安を和らげ、修正作業に焦点を当てることができる、より実用的な数字です。

脆弱性緩和手法としての優先順位付け

脆弱性は、毎日イメージから発見されています。しかし、複数のワークロードを大規模に管理している場合、一つ一つを修正することは現実的ではありません。最新の脆弱性管理を成功させるには、セキュリティチームが、組織に対する実際のリスクまたは現実のリスクに基づいて、脆弱性の優先順位を決定する必要があります。 脆弱性改善作業の優先順位付けによく使われるインプットはいくつかあり、それらは以下の通りです:
  • Common Vulnerability Scoring System(CVSS):既知の問題の深刻度を指定します。
  • Exploitability: 脆弱性を悪用するための既知の経路があるかどうかを示します。
  • Fixable(修正可能):脆弱性に対処するための修正プログラムが存在するかどうかを示します。
既知の脆弱性が存在するパッケージへの対応は、最優先事項です。弊社のお客様は、悪用される可能性のある、ランタイムにロードされるパッケージの脆弱性の修正に積極的であることがわかりました。脆弱性の複数の基準(修正可能性、悪用可能性、ランタイムにロードされるパッケージ内の存在)を組み合わせた場合、残るのは分析した25,000のイメージから見つかった脆弱性の2%です。 一部の脆弱性には、攻撃者が利用できるエクスプロイトが存在しますが、潜在的な脅威を軽減するための修正プログラムが容易に入手できないものがあります。セキュリティチームは、CVE(Common Vulnerabilities and Exposures)パッチや修正プログラムがなくても、悪用可能な脆弱性のリスクを評価し、別の緩和策を決定しなければならないため、この小さな、しかし重要なカテゴリーは影響を及ぼします。 悪用可能な脆弱性を環境に残しておかなければならない場合、セキュリティチームが苦痛を和らげ、侵害のリスクを減らす方法の1つは、ランタイムセキュリティ検出を実装することです。ランタイム保護は、多くの場合、ルールによって実現されますが、動作異常検出とAIまたはMLベースの検出を組み込んだ多層的なアプローチも採用する必要があります。このアプローチにより、ゼロデイエクスプロイトやまだ知られていない脅威の検出と緩和が改善されます。 また、ランタイム保護機構は、組織特有の環境において脆弱なワークロードを標的とする新たな脅威を検出するように調整することができます。また、脅威リサーチチームによる脅威インテリジェンスで検出を補強し、新しい情報や行動に関する知見が得られると定期的に更新することも可能です。 630万以上の実行イメージのパッケージタイプを調査し、最もよく使用されている4種類のパッケージタイプを特定しました。
  • Javaパッケージは最もリスクが高く、ランタイムに公開される脆弱性の60%以上を占めています。
  • また、JavaScriptパッケージは、実行時に使用されているパッケージの1%未満にとどまりました。
オペレーティングシステム(OS)パッケージのリスクも高く、多くの人がベースイメージを使用しているのは、自分で作成するよりも簡単だからです。お客様の利用状況を見てみると、Red Hat UBI (Universal Base Image) を含む Red Hat Enterprise Linux (RHEL) が圧倒的に多く、ベースイメージの 46% が利用されていることがわかります。これは前年比10%増です。これは、RHELが企業で長く使われてきた歴史があり、組織がクラウド・ネイティブなワークロードに移りましょうというときに選びやすいからでしょう。興味深いことに、軽量なLinuxディストリビューションであるAlpineを使用しているのは16%に過ぎません。 Alpineのようにスリム化されたベースイメージを使用することで、組織はコンテナ環境を97.5%削減することができ、それによってアタックサーフェース(攻撃される側面)を減らすことができます。また、OSの脆弱性のうち、ランタイムにロードされるパッケージの脆弱性は8%に過ぎないため、修正すべきOSの脆弱性の数も減らすことができます。

まとめ

企業は、イノベーションを加速するために、コンテナ化されたマイクロサービス、CI/CD、オンデマンドクラウドサービスを急速に導入しています。しかし、クラウドの乱立やクラウドネイティブアプリケーションの複雑化により、DevSecOpsプロセスの成熟度が低いことが露呈し、変化のスピードがリスクへの扉を開いています。 脆弱性の優先順位付けは、継続的な脆弱性の開示に直面する開発者チームのストレスと疲労を軽減するために不可欠な方法となります。 最後に、設定ミスや脆弱性によるサプライチェーンリスクは、主要な懸念事項として浮上しています。私たちの調査は、必要なツールやゼロ・トラスト・アプローチの利点は認識されているものの、クラウドのセキュリティプロセスは、クラウド導入の速いペースにまだ遅れをとっていることを示しています。 もっと詳しく知りたいですか?Sysdig 2023年度クラウドネイティブセキュリティおよび利用状況レポートをダウンロードして、詳細をご確認ください。また、過去のレポートもこちらからご覧いただけます。