ゼロデイ攻撃とは、システムの脆弱性に対して、修正が行われる前に、それを悪用するサイバー攻撃のことを指します。ユーザの対処期間が0日で行われる攻撃であるため「ゼロデイ攻撃」と呼ばれます。通常、脆弱性はセキュリティテストやユーザーレポートなどにより発見され、システムベンダがその脆弱性に対応した修正プログラムを公開した後に、公表されることになります。
サイバー攻撃者が新たな脆弱性を見つけた場合など、システムベンダが修正プログラムを公開する前に攻撃が行われるような状況になった場合は、その脆弱性に対する攻撃が確実に成功してしまうことになります。この「確実に攻撃が成功する」という特徴が、ゼロデイ攻撃の脅威といえます。特に、利用者の多いシステムであれば、その分攻撃範囲を広げることができるので、被害は甚大になりやすいです。
ゼロデイ攻撃の対義語として「Nデイ攻撃」と呼ばれるものがあります。Nデイ攻撃はシステムベンダが公開済みの脆弱性を悪用する攻撃です。
ゼロデイ攻撃とNデイ攻撃の違いについて、以下の表にまとめています。
特徴 | ゼロデイ攻撃 | Nデイ攻撃 |
---|---|---|
攻撃に用いられる脆弱性の発見者 | 主に、攻撃者や悪意を持った第三者など | 主に、セキュリティテストやユーザーレポートなど |
攻撃の難易度 | 高い(未知の脆弱性を利用) | 低い(公に知られている脆弱性を利用) |
攻撃に用いられる脆弱性の影響範囲 | 広範(対象のシステムが導入された環境全て) | 限定的(修正プログラム未適用のシステムに限定) |
攻撃のタイミング | 修正プログラムの配布前 | 修正プログラムの配布後 |
脆弱性はその悪用により、本来あり得ない攻撃が可能になることから、攻撃者にとって「魔法の杖」のような存在です。その上、ゼロデイの場合には根本的な対応が不可であるため、攻撃者にとっての価値はさらに上がります。ただし、ゼロデイ攻撃に悪用可能な脆弱性を新たに見つけることは一般的には困難であり、高度な技術や知識が必要になります。そのため、サイバー犯罪者同士がコミュニケーションを行っているアンダーグラウンドにおいても、ゼロデイ攻撃に悪用可能な脆弱性は高値で取引される傾向にあります。
ゼロデイ攻撃とNデイ攻撃
世界的に被害を及ぼしたゼロデイ攻撃(ゼロデイ脆弱性)の事例をいくつか紹介します。
ゼロデイ攻撃はその時点で未知の攻撃であり、単一で効果的な対策はありません。そのため、以下のような複数の要素を組み合わせた包括的なアプローチが求められます。
ゼロデイ攻撃を元来発生させない取り組みとして、脆弱性を攻撃者よりも早く見つけ、システムの開発元に通知する活動もあります。それが脆弱性報奨金制度(通称:バグバウンティプログラム)です。バグバウンティプログラムでは、一般のリサーチャーなどの支援を得て、システムに存在する脆弱性を探し出します。脆弱性を発見した人に対しては報奨金が支払われるため、システムベンダとリサーチャーの双方がWin-Winの関係になっています。
バグバウンティプログラムで発見された新たな脆弱性の例
Zero Day Initiativeが公開しているアドバイザリより
主要なバグバウンティプログラムのコミュニティとしてトレンドマイクロが運営する「Zero Day Initiative」などがありますが、最近は独自にバグバウンティプログラムを提供する企業も存在します。例えば、米国国防総省では、2016年より「Hack the Pentagon」と呼ばれる独自のバグバウンティプログラムを開始しており、2,100以上の新たな脆弱性をこのプログラムで発見しています。
バグバウンティプログラムなどの社会的な取り組みは、単一の組織が抱えるリソースや専門知識だけでは限界がある新たな脆弱性の発見において、非常に重要な役割を果たします。システムベンダやソフトウェアメーカが、バグバウンティプログラムなどの社会的な取り組みを活用することは、自社サービスのゼロデイ脆弱性に対する防御力を向上させるための重要な取り組みになるといえるでしょう。