ゼロデイ脆弱性にはどのような対抗手段があるのか、Googleはこう考える:その場しのぎの修正で終わらせない
Googleの脆弱性調査専門チーム「Project Zero」は、「FIRST」カンファレンスで行った講演の概要をブログで報告した。対処方法がないと考えられがちなゼロデイ脆弱性にも有効な対策があるという。
Googleの脆弱(ぜいじゃく)性調査専門チーム「Project Zero」は2022年6月30日(米国時間)、2022年6月に開催された「FIRST」カンファレンスで行った講演「0-day In-the-Wild Exploitation in 2022...so far」の概要を公開した。
2022年の年初から2022年6月15日までに検出、公開されたゼロデイ脆弱性は18件に達した。これらを分析したところ、少なくとも9件は、過去にパッチが公開された脆弱性の亜種だと分かった。2022年冒頭から6カ月以内に見つかったゼロデイ脆弱性の少なくとも半分は、より包括的なパッチ開発と公開、リグレッション(回帰)テストが行われていれば、悪用を防ぐことができたはずだという。
さらに、2022年に見つかったゼロデイ脆弱性のうち4件は、2021年に実際に悪用されたゼロデイ脆弱性の亜種だった。元のゼロデイ脆弱性のパッチ公開からわずか12カ月で、攻撃者は元の脆弱性の亜種を悪用するようになった。
製品名 | 2022年のゼロデイ | 亜種 |
---|---|---|
Windows(win32k) | CVE-2022-21882 | CVE-2021-1732 |
iOS(IOMobileFrameBuffer) | CVE-2022-22587 | CVE-2021-30983 |
Windows | CVE-2022-30190("Follina") | CVE-2021-40444 |
Chromium(property access interceptors) | CVE-2022-1096 | CVE-2016-5128, CVE-2021-30551 CVE-2022-1232 |
Chromium(v8) | CVE-2022-1364 | CVE-2021-21195 |
WebKit | CVE-2022-22620("Zombie") | バグは2013年に修正され、パッチが2016年に公開 |
Google Pixel | CVE-2021-39793 | Linuxのサブシステムで同じバグが見つかる |
Atlassian Confluence | CVE-2022-26134 | CVE-2021-26084 |
Windows | CVE-2022-26925("PetitPotam") | CVE-2021-36942 |
脆弱性の不完全な修正に起因する問題
ゼロデイ脆弱性を悪用するエクスプロイト(攻撃コード)について、「技術的に非常に高度なものであり、これを捕捉し、防ぐのは不可能だ」と思われがちだ。これは間違っている。なぜなら2022年の年初以降に見つかったゼロデイ脆弱性の少なくとも半数が、これまでに確認された脆弱性と密接に関連しているからだ。
すなわち、2022年に実際に悪用されたゼロデイ脆弱性の多くは、以前の脆弱性の完全なパッチが公開されなかったことに起因している。こうしたパッチが公開され、適用されていれば、これらの脆弱性を突く攻撃は、未然に防げたことになる。
例えば、前出の表に挙げた「Windowsのwin32kのゼロデイ脆弱性」(CVE-2022-21882)と「Chromiumのプロパティアクセスインターセプタのゼロデイ脆弱性」(CVE-2022-1096)だ。
どちらも元の脆弱性の概念実証(PoC)エクスプロイトが取った実行フローについては、パッチが公開されたものの、もともとの脆弱性を生み出していた根本原因への対処はなされなかった。その結果、攻撃者は別の経路で元の脆弱性を突くことが可能になった。
「WebKitのゼロデイ脆弱性」(CVE-2022-22620)と「WindowsのPetitPotamのゼロデイ脆弱性」(CVE-2022-26925)、「iOSのIOMobileFrameBufferのゼロデイ脆弱性」(CVE-2022-22587)についても同じことがいえる。いずれも元の脆弱性の修正が不十分だったことで、攻撃者に付け込まれた。
ゼロデイ脆弱性を実際に悪用したエクスプロイトが検出されるのは、攻撃者にとっては失敗事例だといえる。なぜなら、ソフトウェアの提供元とユーザー企業のセキュリティチームは、これらのエクスプロイトからできるだけ多くのことを学び、この攻撃ベクトルが再び使われないようにするための行動を起こすことができるからだ。これを効果的に行うには、見つかった脆弱性を正確で、包括的に修正することが必要になる。
対応策の提言
Project Zeroは脆弱性の正確で包括的な修正に向けて、対応する組織が次のような取り組みを行うことを推奨しており、支援していくと述べている。
根本原因分析
悪用されている根本的な脆弱性を理解し、脆弱性がどのようにコードに紛れ込んだのかを理解しようとする。この分析を通して、修正が根本的な脆弱性に対処するものであって、単に概念実証コードが動かないようにするためのものではないことを確認する。根本原因の分析は、亜種分析とパッチ分析が成功するための前提となる。
亜種分析
報告された脆弱性と類似した他の脆弱性を探す。この取り組みには、他の場所で同じ脆弱性パターンを探したり、脆弱性を含むコンポーネントを徹底的に監査したり、以前に脆弱性を発見できなかった理由を理解するために、ファジングツールに変更を加えたりする、といった取り組みが含まれる。
パッチ分析
提案された(またはリリースされた)パッチが、根本原因の脆弱性を完全に修正しているかどうかを分析する。
エクスプロイト手法の分析
脆弱性の分析から得られたプリミティブ(低レベルのアルゴリズムで、より高度な操作やスキームの基本構成要素として使用される)と、その使用方法を理解する。
透明性を持ったこれらの分析の共有が、業界全体にとっても有益だと、Project Zeroは述べている。Project Zeroはこれらの分析結果を公開しており、ベンダーや他の企業にも同様に公開することを勧めている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 脆弱性を突いたサイバー攻撃にも有効な予行演習――ペネトレーションテストとゼロトラストセキュリティ
デジタルトラストを実現するための新たな情報セキュリティの在り方についてお届けする連載。今回は、ゼロトラストによるセキュリティ構築を進めている状況でも非常に有効なペネトレーションテストについて解説する。 - 脆弱性を突いたサイバー攻撃にも有効な予行演習――ペネトレーションテストとゼロトラストセキュリティ
デジタルトラストを実現するための新たな情報セキュリティの在り方についてお届けする連載。今回は、ゼロトラストによるセキュリティ構築を進めている状況でも非常に有効なペネトレーションテストについて解説する。 - IPAが「情報セキュリティ10大脅威 2022」を発表
IPAは「情報セキュリティ10大脅威 2022」を発表した。1位は「フィッシングによる個人情報等の詐取」と「ランサムウェアによる被害」だった。今回初めて「修正プログラムの公開前を狙う攻撃(ゼロデイ攻撃)」が7位に入った。