どこまで短くなるのか?2023 年の脆弱性悪用までの時間の傾向分析
Mandiant
※この投稿は米国時間 2024 年 10 月 16 日に、Google Cloud blog に投稿されたものの抄訳です。
Mandiant は、2023 年に明らかになり、実際に悪用されたものとして Google が追跡していた 138 件の脆弱性を分析しました。過去の分析と同様に、こうした脆弱性の大半(97 件)はゼロデイ脆弱性(パッチが提供される前に悪用される脆弱性。サポートが終了したテクノロジーは除く)の悪用でした。41 件は N デイ脆弱性(パッチが提供された後に初めて悪用される脆弱性)の悪用です。ゼロデイの悪用が増加傾向にあることはすでに確認されており、今後もその傾向が続くと思われますが、2023 年にはゼロデイ攻撃と N デイ攻撃の間に大きな差が生じ、これまで以上に、ゼロデイ攻撃が N デイ攻撃を大きく上回りました。
Mandiant のデータは信頼性の高い観察に基づいていますが、脆弱性の悪用の第一報に依存しているため、数値は控えめな推定値であることにご注意ください。初めて悪用された日付が開示されていない場合や、曖昧な時間枠(「7 月中旬」や「2023 年第 2 四半期」など)で示されている場合もよくありますが、その場合は妥当と思われる最新の日付を仮定しています。また、発見されていない脆弱性の悪用が行われている可能性もあります。そのため実際の悪用までの時間は、ほぼ間違いなく、このデータが示している時間よりも短いでしょう。
脆弱性悪用の時期
脆弱性悪用までの時間
脆弱性悪用までの時間(TTE:Time-to-Exploit)は、パッチがリリースされる前、またはリリースされた後に、脆弱性が悪用されるまでの平均時間を定義する指標です。これまでの Mandiant の分析で、脆弱性悪用までの時間が年々短くなっていることが確認されていました。2018 年から 2019 年にかけて、平均 TTE は 63 日でした。これが 2020 年から 2021 年の初頭には 44 日になります。そして 2021 年と 2022 年、平均 TTE はさらに減り、32 日となりました。追跡を開始した 2018 年に比べて、TTE はすでに半分になっています。2023 年には、それまでで最大の減少が確認され、平均 TTE はわずか 5 日となりました。前年に確認された TTE の 6 分の 1 未満です。
Mandiant は平均 TTE の算出にあたり、標準偏差に基づく統計分析から外れ値として特定した、合計 15 個のデータポイント(N デイ 2 件、ゼロデイ 13 件を含む)を除外しています。こうした外れ値を除外しなければ、TTE の平均値は 5 から 47 に増えます。
ゼロデイ攻撃と N デイ攻撃
N デイとゼロデイの比率は、2021 年から 2022 年にかけては 38:62、2020 年から 2021 年の一部にかけては 39:61 であり、2023 年になるまで安定していました。しかし 2023 年、この比率は 30:70 になり、それまでの傾向から大きく逸脱しました。ゼロデイ攻撃が長年にわたって着実に増加していることを踏まえると、こうした比率の変化は、N デイ攻撃が減ったのではなく、最近になってゼロデイ攻撃とその検出が増えたことの影響が大きいようです。また、2023 年は脅威アクターがゼロデイ攻撃を試みて成功するケースが多かった、と考えることもできます。これが顕著な変化の始まりなのか、それとも 2023 年がたまたまそのような年だったのかは、今後のデータと分析によって明らかになるでしょう。
N デイ攻撃
前回の分析と同様に、脆弱性の悪用が発生する可能性が最も高いのは、既知の脆弱性に対するパッチが公開されてから最初の 1 か月間でした。N デイ攻撃の 20%(5 件)は 1 日以内に発生しており、29%(12 件)は 1 週間以内に、半分以上(56%)は 1 か月以内に発生しています。前回のレポートでは、N デイ脆弱性の 25% が 6 か月経過後に悪用されていました。しかし 2023 年には、2 件(5%)を除くすべてが 6 か月以内に悪用されています。
公表、脆弱性利用型不正プログラム、脆弱性悪用の時期
分析された脆弱性のうち 41 件(30%)は、脆弱性が公表された後に初めて悪用されました。このセクションでは、そうした脆弱性に注目します。脆弱性利用型不正プログラムの入手性と脆弱性悪用の時期の関係性について分析することを目指しましたが、Mandiant はこの両者の間に相関は認められないとの結論に至りました。この 2 つのデータポイントの間になんらかの関係性があると考えがちですが、長期的な分析から、この両者の間に関係性はないことが明らかになっています。
悪用されるより前に不正プログラムが入手可能になっていた脆弱性では、公表日(DoD: Date of Disclosure)から最初の不正プログラム公開まで 7 日(中央値)、不正プログラム公開日から最初の悪用が確認された日まで 30 日(中央値)でした。また、脆弱性の公表から悪用までは 43 日(中央値)でした。
悪用された後に初めて不正プログラムが入手可能になった脆弱性では、脆弱性の公表から悪用まで 15 日(中央値)でした。また、悪用から不正プログラム公開までは 4 日(中央値)、脆弱性の公表から不正プログラム公開までは 23 日(中央値)でした。
この統計結果は、既存の不正プログラムが実際の悪用に与える影響に関して非決定的な結果を表してきた、過去の分析と一致しています。これは今後も変わらないと思われますが、特定の脆弱性が悪用される時期に影響を与える他の要因があることにも気をつける必要があります。要因としては、脆弱性を悪用することで得られる価値や悪用の難しさなどが考えられます(ただしこれらに限定されません)。特に、2023 年に公表されメディアで取り上げられた脆弱性のうち 58% は実際の悪用が確認されておらず、さらに少なくとも 1 つの概念実証(PoC)または不正プログラムが公開されているものについては、72% で実際の悪用が確認されていない、ということは注目に値します。以下に Mandiant が確認した例を 2 つ紹介し、不正プログラムの公開が実際の悪用までの期間に与える影響を比較します。併せて、脆弱性の悪用に影響を与える他の要因を説明します。
CVE-2023-28121 の事例
CVE-2023-28121 は、WordPress の WooCommerce Payments プラグインに影響を与える不適切な認証の脆弱性です。この脆弱性は 2023 年 3 月 23 日に公表されましたが、3 か月半後の 7 月 3 日に、事前の認証なしで管理者ユーザーを作成する方法について説明するブログ投稿が行われるまで、最初の概念実証も、技術的な詳細情報も公開されませんでした。その後すぐ、この脆弱性をスキャンし、悪用して管理者ユーザーを新規作成する機能を持つ Metasploit モジュールが 7 月 4 日に公開されました。PoC や Metasploit モジュールの公開直後には、脆弱性を悪用する活動は確認されていません。代わりに、別の武器化された不正プログラムが公開された直後の、7 月 14 日に悪用活動が始まったことが確認されています。この不正プログラムは 7 月 11 日に初公開され、その後、7 月 13 日にアップグレード版が公開されました。どちらのバージョンも、管理者ユーザーを新規作成するために任意の数の脆弱なシステムを悪用する機能を備えています。Wordfence は後に、この悪用キャンペーンは 7 月 14 日に始まり、活動がピークに達したのは 7 月 16 日で、その日だけでも 130 万件の攻撃が確認されたと報告しています。
この脆弱性の時系列で注目すべき点は、脆弱性の公表後 3 か月以上にわたって悪用が発生しなかったことです。大規模な悪用が始まったのは、最初の不正プログラムが公開されてから 10 日後であり、大規模な悪用機能を備えた 2 番目の不正プログラムが公開されてからわずか 3 日後でした。このケースでは、機能的で大規模な、信頼性の高い不正プログラムが公開されたことにより、脅威アクターがこの脆弱性を悪用する動機が高まったものと考えられます。
CVE-2023-27997 の事例
CVE-2023-27997(別名 XORtigate)は、Fortinet FortiOS のセキュア ソケット レイヤ(SSL)/ バーチャル プライベート ネットワーク(VPN)コンポーネントにおける、ヒープベースのバッファ オーバーフローです。この脆弱性が 2023 年 6 月 11 日に公表されるとすぐにメディアから大きな注目が集まり、Fortinet が 6 月 12 日に公式のセキュリティ アドバイザリを公開する前に、「XORtigate」と名付けられました。公表直後の 6 月 13 日、PoC を含む 2 つのブログ投稿が行われ、GitHub には武器化されていない不正プログラムが 1 つ公開(その後すぐに削除)されました。そして 6 月 16 日までに、概念実証コード、スキャナ、武器化された不正プログラム コードがすべて公開されています。すぐに注目が集まって不正プログラムが公開されたのなら、悪用も直ちに始まりそうなものです。しかし Mandiant が初めて悪用活動を確認したのは、脆弱性の公表から約 4 か月後の 9 月 12 日でした。Mandiant が知る限り、この脆弱性の悪用は比較的限定的な、標的を絞ったキャンペーンで行われています。このケースにおいて、世間の関心や不正プログラムの入手性は悪用の時期に影響を与えなかったようです。
事例の比較
今回確認された悪用時期の違いの原因として、最も可能性が高いのは、2 つの脆弱性の間で信頼性と悪用のしやすさに違いがあったことです。不正プログラムが公開されてすぐに悪用が始まった CVE-2023-28121 は、悪用が非常に簡単でした。通常の形式のウェブ リクエストに特定の HTTP ヘッダーを 1 つ追加するだけで済みます。そのため、自動化された大規模な悪用キャンペーンが行われたという見方が一層現実味を帯びます。一方、CVE-2023-27997 は、データ実行防止(DEP)やアドレス空間配置のランダム化(ASLR)など、標準の保護や標準以外の保護を複数備えたシステムに対してヒープベースのバッファ オーバーフローを悪用する必要があります。また、カスタムのハッシュ化および XORing メカニズムのロジックを扱う必要もあります。標的のシステムにはすでに複数の緩和策が講じられている可能性が高いことに加え、複雑な要素が複数あることを考慮すると、この脆弱性の悪用が時間効率や信頼性の面でいかに劣っているかがわかります。
要因としては他にも、標的のプロダクトを悪用することで攻撃者が得られる価値に違いがあることが挙げられます。FortiOS はセキュリティを重視したプロダクトです。通常は機密性の高い環境内で、多くの場合、重要な権限を付与してデプロイされます。そのため CVE-2023-27997 が悪用されると、攻撃者が同じ権限を得ることになり、攻撃者の引き起こす被害がさらに大きくなる可能性があります。WooCommerce Payments はよく使われている WordPress プラグインです。CVE-2023-28121 が悪用されると、このプラグインが動作している、基盤となるウェブサーバーに完全にアクセスできるようになります。しかし、こうしたウェブサーバーは通常、非武装地帯(DMZ)やその他の権限の低いネットワーク セグメント内にあるため、プラグインを運用している大規模な組織を攻撃しようとする攻撃者にとっては、価値があまり高くありません。ここからわかるのは、攻撃者には意図する用途が重要な考慮事項なのだということです。困難さは増しても、「価値の高い」脆弱性を悪用する不正プログラムの開発の方に労力を多く割くのは、それが目的に合致するのであれば、筋が通ります。一方、悪用が簡単な「価値の低い」脆弱性では、攻撃者が日和見的であるほど価値が高くなるでしょう。
ベンダー別に見る脆弱性の悪用
脆弱性を悪用されるベンダーは増え続け、多様化しています。2023 年、脆弱性を悪用されたベンダーの数が、それまで最多だった 2021 年の記録から 17% 増加しました。ここ数年、Microsoft、Apple、Google は、前年比で最も脆弱性を悪用されたベンダーとなっています。しかし、脆弱性を悪用されたベンダーの全体数に占めるこれらのベンダーの割合は減り続けており、この 1 年で 40% をわずかに下回りました。2021~2022 年の 50% 弱から、約 10% の減少です。また、3 社のうち 1 社しか上位に入らなかったのは久しぶりのことでした。Google は 8 つの脆弱性を悪用され、4 位の Adobe は 6 つの脆弱性を悪用されました。さらに、ベンダー 53 社のうち 31 社(58%)では、悪用された脆弱性は 1 つのみでした。攻撃者は標的を多様化させており、またそうすることで成功を収めています。標的となるプロダクトの多様性が悪用の頻度とともに増し続ける中で、防御側は、広大な攻撃対象領域を保護するという課題に対処する必要があります。
ベンダーに影響を与える脆弱性の総数は、ベンダーのセキュリティ ポスチャーの安全性に直接関係するわけではなく、また、競合他社よりも「安全でない」ということを意味するわけでもありません。プロダクトの普及度と、ベンダーが提供するプロダクトの規模の両方が、この数字に影響を与えています。このように多様化したシステムやネットワークの防御に関する昨今の課題の大きさを考えると、業界のベスト プラクティスから学ぶことが、悪用防止を成功させる最善のアプローチにつながるでしょう。
影響
発見される脆弱性の数が徐々に増えていくにつれ、脅威アクターがそうした弱点を突く機会も増えていきます。Mandiant による 2020 年、2021 年、2022 年、2023 年のインシデント対応(IR)活動において、ゼロデイでも N デイでも、不正プログラムが主要な初期感染ベクトルであることがわかりました。そのため、防御側は効率的な検出と対応を行うだけでなく、事象にリアルタイムで適応することが求められます。さらに、N デイ攻撃が素早く多様なプロダクトに行われるようになり、パッチ適用の優先順位付けはますます難しくなっています。このように利用可能なテクノロジーが増えると攻撃対象領域が拡大するため、脆弱性のある単一のテクノロジーがシステムやネットワークに与える横方向の影響について考慮することの重要性が増します。脆弱性の悪用が発生した場合に影響を受けるシステムやデータの範囲を限定するために、セグメント化されたアーキテクチャとアクセス制御の実装を優先する必要があります。
確認された TTE を複数年にわたって追跡したところ、分析するたびに数値が大幅に減少していることがわかりました。ほんの 5、6 年前に 63 日だった平均 TTE が、今や 5 日にまで減少しています。脅威検出機能が向上し普及したことが悪用件数の増加の一因となっている可能性については、Mandiant も認識しています。しかし、攻撃者がパッチ適用サイクルを上回るほど迅速に行動できることが、データから明らかになっています。脅威アクターが TTE を短縮し、ゼロデイ攻撃でさらに多くの成功を収める中で、パッチ適用が遅れて、保護が不十分な攻撃対象領域をさらすことになれば、攻撃の成功確率が高まります。
Mandiant のデータは、不正プログラムの公開とメディアの注目度から悪用の時期は予測できないということを継続的に示しています。これらのデータポイントが相関することもありますが、現在の傾向では、こうした要因によって優先順位を決めたり、特定の脆弱性に対する対応を強化したりすべきだとは示されていません。不正プログラムの公開と脆弱性に対する注目度は、考慮する必要はありますが、悪用の難しさや悪用によって得られる価値など、その他の要因とともにヒューリスティックなデータポイントとして考慮すべきです。
今後の展望
Mandiant の分析から、ゼロデイ攻撃は依然として脅威アクターの切望するアプローチであることがわかります。ゼロデイ攻撃が引き続き件数で N デイ攻撃を上回り、公表後に今より早く N デイ攻撃が行われるなら、平均 TTE は今後さらに減少すると考えられます。さらに、ゼロデイ攻撃の方が発見しにくいため、検出ツールが改善されて普及が進むにつれ、悪用される脆弱性の数が徐々に増えていく可能性があります。
今後数年間で、N デイ攻撃が大幅に減少することも、標的となるベンダーの数が減少することもないと思われます。脅威アクターは N デイ攻撃とゼロデイ攻撃を継続的に行い、悪用がより多くのベンダーやプロダクトに拡大するでしょう。傾向としては、さらに広範囲の標的で悪用の時期が早まることが予想されます。
ゼロデイ攻撃の比率が高まり、概して時期が早まるからといって、脅威アクターが N デイを狙わなくなるわけではないことに注意する必要があります。パッチが公開されてから数か月後、あるいは数年後に、脅威アクターが脆弱性を悪用する様子を何度も目にしてきました。