ゼロデイ攻撃とは?防ぐのが最も難しいサイバー攻撃の仕組みと対策
未知の脆弱性を突く「ゼロデイ攻撃」について、なぜ発見と防御が困難なのか、そして被害を最小限に抑えるための多層防御の考え方を解説します。
ゼロデイ攻撃とは?
ゼロデイ(Zero-Day)攻撃とは、ソフトウェアやOSにセキュリティ上の欠陥(脆弱性)が発見されたとき、その修正プログラム(パッチ)が提供される「前」に行われるサイバー攻撃のことです。
メーカー関係者が脆弱性の存在に気づいて対策パッチをリリースする日を「1日目(One-Day)」としたとき、それよりも前の「0日目(Zero-Day)」から攻撃が始まっていることから、このように呼ばれます。
なぜ防ぐのが難しいのか
ゼロデイ攻撃の恐ろしさは「攻撃を完璧に防ぐ手段が存在しない」ことにあります。
通常のサイバー攻撃であれば、ウイルス対策ソフトやファイアウォールが「過去の攻撃パターン(シグネチャ)」と照らし合わせてウイルスを検知・遮断します。しかし、ゼロデイ攻撃は「世界初公開の新しい攻撃方法」であるため、セキュリティソフトもそれが悪意ある攻撃だとは認識できず、システムを素通りさせてしまうのです。
どのような場面で(どうやって)発生するか
ゼロデイ攻撃は、非常に高度な技術と多額の資金を持つ組織的ハッカー集団や国家支援の攻撃グループによって、特定の企業や政府機関の機密情報を盗み出す「標的型攻撃」の一環として使われることが多くあります。
攻撃のライフサイクル
- 攻撃者が脆弱性を発見: Google ChromeやWindows、あるいはWordPressのプラグインなどに未知の欠陥をひっそりと見つけます。
- 攻撃コード(エクスプロイト)の作成: その欠陥を突いてシステムに侵入するためのコードを開発し、攻撃を実行します。
- メーカーが脆弱性を認識: 何らかの被害が報告され、メーカーが急いで調査を開始します。
- 修正パッチの配布: メーカーが修正アップデートを世界に配信します。この時点でゼロデイ攻撃ではなくなります(ワンデイ攻撃に変わる)。
実務上の注意点(対策・防御方法)
前述の通り、ゼロデイ攻撃を「入り口で100%防ぐ」ことは不可能です。 そのため、実務では「侵入されることを前提(ゼロトラスト)」とした「多層防御」の考え方が極めて重要になります。
システム面での多層防御(Defense in Depth)
- EDR (Endpoint Detection and Response) の導入 従来のウイルス対策ソフト(入り口の検知)の代わりに、サーバーやPC上で「何だかおかしな動き(通常とは違う不審なプログラムの実行や通信)」をAIなどで検知し、即座にネットワークから隔離するEDR製品を利用します。
- ネットワークの分割 (VPC等) 万が一Webサーバーがゼロデイ攻撃で乗っ取られても、別のサブネットにあるデータベースサーバーにはアクセスできないよう、内部的なファイアウォール・通信制御で被害の拡大(ラテラルムーブメント)を防ぎます。
運用面(ワンデイ攻撃への迅速な対応)
もっとも恐ろしいのは、メーカーからパッチが公開された後(ワンデイ以降)も「アップデートをサボっている企業」が多く存在することです。脆弱性情報(CVEなど)が公開されたら、インフラエンジニアは自社のサーバーのパッケージ(apt や yum)を数日以内に迅速にアップデートする運用体制を築くことが最大の防御となります。
まとめ
ゼロデイ攻撃は、現代のサイバーセキュリティにおいて最も防ぐのが困難な脅威です。ソフトウェアの新機能追加などに伴い、脆弱性は必ず生まれます。「ウイルスの侵入を防ぐ」という旧来の考え方から、「侵入された後にどう早く気付き、どう被害を最小限に抑えるか」というアプローチへの転換がシステム運用に求められています。
関連する用語 (security)
XSS(クロスサイトスクリプティング)とは?仕組みとフロントエンドの対策
Webの代表的な脆弱性「XSS(クロスサイトスクリプティング)」について、悪意あるJavaScriptが実行される仕組みとReact等のFWによる対策を解説。
SQLインジェクションとは?攻撃の仕組みとWeb開発での対策方法
Webアプリケーションの致命的な脆弱性「SQLインジェクション」について、攻撃の具体的な仕組み(データベースの不正操作)と防止策を解説します。
DDoS攻撃とは?DoS攻撃との違いからWebサーバーを標的にした仕組みを解説
サイバー攻撃の代表格「DDoS攻撃」について、大量のアクセスでサーバーをダウンさせる仕組みと、AWS・CloudflareなどのCDNを用いた防御策を解説。