Skip to main content

開発者がセキュリティ課題のバックログに優先順位を付けられるよう支援

Prioritisation header feature

2020年7月22日

0 分で読めます

今日、アプリの脆弱性修正に積極的に取り組む開発者が増えているのは、素晴らしいことです。しかし、いざ取り組もうとすると、脆弱性のバックログが長く積み上がっていることに直面します。どの課題から対処すべきかを判断するのは困難で、多くの場合、開発者には十分な時間もセキュリティの専門知識もありません。適切なツールがあれば、優先順位付けに必要な問いを見極める専門知識と、その答えをすばやく導き出すテクノロジーを提供できます。

脆弱性の過多に対処する

オープンソースコンポーネントの脆弱性は増加の一途をたどっており、毎年何千もの新たな脆弱性が公表されています。その状況を示す例として、過去4年間で総数が394%増加したSnyk Vulnerability Databaseを見てみましょう。こうした増加は、今日、組織が抱える脆弱性のバックログにも反映されています。

リソースがすでに逼迫し、ビジネスの競争力を維持するために、機能的かつ安全なコードをすばやく、頻繁にリリースするよう常に求められている開発者にとって、こうしたバックログに対処する唯一の方法は、適切に優先順位を付けることです。リストにあるすべての脆弱性を現実的に修正することはできないため、開発チームは、費やす時間に対して最も効果の高い脆弱性を判断する必要があります。

こうした判断は、組織がリスクを管理・低減する取り組みに大きな影響を及ぼします。優先順位付けを誤ると、結果的に誤検知だった脆弱性に開発時間を割くことになり、開発者との摩擦が生じ、信頼が損なわれる可能性があります。既知のエクスプロイトがない高深刻度の脆弱性を、実際に悪用されている低深刻度の脆弱性より優先すれば、組織全体のセキュリティ態勢を弱めかねません。

適切な問いを立てる

効果的な優先順位付けには専門知識が欠かせません。脆弱性が組織にもたらす脅威を正確かつ深く評価するためのセキュリティ専門知識です。開発者は通常、こうした専門知識を持っていないため、リスクを適切に優先順位付けすることが難しくなります。

そのため、効果的なセキュリティツールは不足している専門知識を補い、適切なタイミングで適切な問いを提示する必要があります。こうした問いはセキュリティの専門家が調整でき、製品を通じてさらに活用できます。

優先順位を正しく設定する

開発者が最初に立てられるようにすべき問いは、一見シンプルです。バックログのどの課題に次に取り組むべきか、ということです。

CVSSはまさにこの目的のために設計されていますが、いくつかの課題もあります。CVSSに基づくスコアの算出には、セキュリティの専門知識が必要です。スコアが最初から提示されていても、その算出方法を理解するには知識が必要で、追加調査が求められることもあります。さらに、どの課題から取り組むかを決める際、脆弱性の深刻度だけが判断材料ではありません。

開発者は通常、CVSSの細かな違いを理解するためのセキュリティ専門知識を持っていません。また、特定の深刻度が付与された理由を詳しく調べる時間もなかなか取れません。開発者が優先順位を付けられるようにするには、スコアを明確で使いやすいものにする必要があります。たとえばSnykは、深刻度、修正プログラムの有無、エクスプロイトの成熟度、脆弱性の経過時間を考慮して優先度スコアを算出します。そして開発者が理解し、活用しやすい形でスコアを提示します。

任意コード実行の脆弱性の詳細ページ。優先度スコア876と、脆弱性の優先度スコアを調整するスライダーが表示されています。

重要な課題と緊急の課題

優先順位を設定したら、次に問うべきなのは、どの課題がほかの課題より緊急かということです。

たとえば、実際に悪用されているエクスプロイトがある脆弱性は、高い優先度を付け、直ちに対処すべき緊急の課題と見なす必要があります。悪名高いEquifaxの情報漏えい事件は、攻撃のわずか数日前に実際に悪用されているエクスプロイトが公開された、既知の脆弱性が発端でした。 

ただし、脆弱性が悪用可能かどうかを知るだけでは、部分的な解決にすぎません。悪用される可能性を示す情報ではありますが、脆弱性全般と同様、すべてのエクスプロイトが同じというわけではありません。理論上のもので、実際の攻撃に使われたことがないエクスプロイトもあります。一方で、より成熟し、エクスプロイトコードが公開されているものもあります。成熟したエクスプロイトは攻撃者の参入障壁を下げるため、試す攻撃者が増えます。さらに重要なのは、成熟したエクスプロイトは自動化されたボットネットにすばやく組み込まれることです。ボットネットは被害者を問わず、悪用しやすい弱点を求めて常にウェブを巡回しています。こうした穴を放置すれば、ボットネットにすぐ発見される可能性があります。

膨大な脆弱性バックログに対処する際、開発者は、簡単に見つけられ攻撃に利用されるエクスプロイトがある脆弱性をすばやく特定できる必要があります。この情報があれば、脆弱性を優先すべきかどうかを、より簡単に判断できます。

悪用の成熟度、概念実証、既知のエクスプロイト、データなしで脆弱性を絞り込むダッシュボード

適切なコンテキストに基づいて修正する

既知の脆弱性にエクスプロイトがあっても、それがアプリ内で悪用可能とは限りません。アプリで悪用できるかどうかは、コードや使用しているほかのライブラリが、脆弱なコンポーネントとどのように連携するかによって異なります。

こうしたコンテキストを把握するには、セキュリティの専門知識だけでなく、分析能力も必要です。開発者がこの両方を利用できることはまれで、自分たちで身に付ける時間もありません。こうした機能を備えたツールを使えば、脆弱なメソッドが実際にアプリケーションの実行パスに含まれているかどうかを確認し、それに応じて優先順位を付けられます。 

たとえばSnykは、ユーザー環境内のすべてのコンポーネントを事前に分析し、実行中のアプリケーションを監視できます。これにより、脆弱性にアプリケーションから到達可能かどうかを開発者に提示します。

依存関係の問題57件と脆弱なパスを示すターミナルのスキャンレポート。到達可能な脆弱性41件と、強調表示されたデシリアライゼーションの警告を含む

ゲートは減らし、ガードレールを強化

開発者にはますます多くのセキュリティ責任が求められていますが、適切な脆弱性に時間とリソースを使えていると確信できなければ、それを果たすことはできません。適切な優先順位付けは、開発者とセキュリティチームの摩擦を減らすことにもつながります。今すぐ修正が必要なリストに入る誤検知が少ないほど、開発者はプロセスを信頼できます。

一方、セキュリティチームは、開発者が安全に優先順位を付けられるようにする必要があります。ガードレールを設けることで、セキュリティチームは、安全な範囲内で判断が行われていると確信できます。こうしたガードレールは、規模に応じたガバナンスを支えられる十分にきめ細かなポリシーを活用し、セキュリティチームが整備すべきです。ポリシーを自動化できるほど、より効果的です。  

効果的な優先順位付けに必要な問いを開発者が立てられるよう、Snykは開発者を第一に考えた優先順位付け機能を提供しています。必要な問いを提示し、答えを見つけ、その後の修正作業をシンプルにします。詳しくはこちらをご覧いただくか、無料でお試しください。

Capture the Flagを始めよう

オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。

カテゴリー:

続きを読む

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

illustration hero ai
Blog

Agentic AppSecとは?

Agentic AppSecが、根拠に基づき、範囲を限定され、独立して検証されるAIエージェントを活用して、アプリケーションセキュリティの一連のプロセスを実行する方法をご紹介します。

Blog

Evo ADSのエージェント動作ガバナンスが一般提供開始:MCPの利用を管理

Evo ADSのエージェント動作ガバナンスが、MCPガバナンスから一般提供を開始しました。主要なAIコーディングエージェント全体で、MCPサーバーの利用を検出、承認、監視、記録、ブロックできます。