FE EXAM

ゼロデイ攻撃(修正前の脆弱性を突く)

修正プログラムが提供される前の未知の脆弱性を突く攻撃。

DIAGRAM
脆弱性が存在
無防備な期間(危険)
修正プログラムで防御
時間 →脆弱性が発生(誰も知らない)攻撃者が発見攻撃開始開発者が把握修正の開発修正プログラム公開・適用修正プログラムがない=無防備な期間この間にゼロデイ攻撃が行われる🦹未知の脆弱性を突いて攻撃🛡️
脆弱性が攻撃者に見つかってから修正プログラムが公開・適用されるまでの間は、守るための備えがない無防備な期間です。ゼロデイ攻撃はこの隙を突きます。
解説

📌
ゼロデイ攻撃とは

攻撃開始修正公開無防備な期間修正がない隙を突く

ゼロデイ攻撃とは、修正プログラムが提供される前の未知の脆弱性を突く攻撃です。脆弱性(=ソフトウェアに潜む安全上の欠陥のこと)が見つかっても、それを直すための修正プログラム(パッチ)がまだ用意されていない段階を狙います。

ふつう、ソフトウェアの欠陥が見つかると、開発者が修正プログラムを作って配布し、利用者がそれを当てることで安全になります。しかしゼロデイ攻撃は、その修正がまだ存在しないタイミングで行われるため、守る側に有効な手立てがなく、極めて防ぎにくいのです。

身近な例で考えると、家の鍵に欠陥が見つかったのに、まだ交換用の鍵が売られていない状態に似ています。泥棒だけがその欠陥を知っていれば、住人が対策できないうちに侵入されてしまいます。上の図解では、攻撃から修正公開までの時間の流れを示しています。

📌
危険性

守る側🛡️修正なし=無力攻撃側🦹欠陥を独占

ゼロデイ攻撃が特に危険なのは、守る側に準備の時間がまったくないからです。脆弱性の存在を攻撃者だけが知っていて、開発者や利用者が気づいていない状態では、対策のしようがありません。

危険性を高めている主な要因は次のとおりです。
修正プログラムが存在しない:パッチを当てるという基本対策が使えない
検知されにくい:未知の手口のため、既知のパターンに頼るウイルス対策ソフトをすり抜けやすい
標的型攻撃と組み合わさる:特定の組織を狙う攻撃に使われると、被害が深刻化しやすい

身近な例で考えると、誰も知らない抜け道を泥棒だけが知っている状況に似ています。地図(既知の脆弱性一覧)に載っていない道なので、警備員が見回っても見つけられず、対処が後手に回ってしまうのです。

📌
対策

多層で守り、被害を最小化🛡️挙動検知🛡️多層防御🛡️速やか適用1枚突破されても次の壁で食い止める

修正プログラムがない以上「脆弱性そのものを直す」対策は使えません。そこで、攻撃を受けても被害を最小限に抑えるという考え方が中心になります。

代表的な対策は次のとおりです。
挙動検知の導入:EDR(端末の不審な動きを監視・対処する仕組み)などで、未知の攻撃でも「いつもと違う動き」から異常を見つける
多層防御:1つの防御が破られても次の防御で食い止められるよう、対策を何重にも重ねる
迅速なパッチ適用:修正プログラムが公開されたら、できるだけ早く適用して無防備な期間を短くする
最小権限・分離:万一侵入されても被害が広がらないよう、権限やネットワークを区切る

身近な例で考えると、玄関の鍵だけでなく、防犯カメラ・センサー・金庫を組み合わせるのと同じ発想です。1つの守りを突破されても被害を最小限にとどめ、欠陥を直す鍵(修正プログラム)が届いたら速やかに交換するのが、ゼロデイ攻撃への現実的な備えになります。

📌
なぜ防げないのか(構造的な理由)

脆弱性が発生攻撃者が攻撃開始開発者が気づくこの間は対策ゼロ既知の攻撃パターン一覧に載っていないと検知できない

ゼロデイ攻撃が防げない理由は、セキュリティ対策の「仕組みの限界」にあります。普通のウイルス対策ソフト(=マルウェア検知ソフトのこと)は、既知の攻撃パターンを記録したリストと照合することで危険を見つけます。

しかしゼロデイ攻撃はまだ誰も知らない手口を使うため、そのリストに載っていません。結果として、次の構造的な問題が生まれます。
修正プログラムがない:欠陥そのものを直す手段が存在しない
パターン一覧(シグネチャ)に載っていない:既知の攻撃と照合するウイルス対策ソフトが素通りさせてしまう
開発者ですら知らない:誰も気づいていないうちに攻撃が進むことがある

身近な例で考えると、「手配書(既知の犯罪者一覧)に載っていない犯人」のようなものです。警備員がどれだけ手配書をチェックしても、そこに顔写真がなければ入場を止められません。だからこそ、「怪しい行動をしていないか」を見る挙動ベースの監視が有効なのです。

📌
脆弱性・パッチ・ゼロデイの関係

用語意味たとえ
脆弱性ソフトウェアに潜む安全上の欠陥家の鍵の欠陥
パッチ脆弱性を修正するプログラム新しい鍵への交換
ゼロデイパッチが出る前の無防備な期間欠陥を知るのは泥棒だけの状態
ゼロデイ攻撃ゼロデイ期間に脆弱性を突く攻撃その状態で侵入される

この4つの用語はセットで理解するのが重要です。脆弱性が見つかる → 攻撃者がそれを利用する(ゼロデイ攻撃)→ 開発者が気づいてパッチを作る → 利用者が適用して安全になる、という流れが基本です。

なお「ゼロデイ」という名前の由来は、「修正に使える猶予日数がゼロ(0日)」という意味です。守る側に準備する時間がないことを表しています。修正プログラムが出た後に攻撃が続く場合は「ワンデイ攻撃」「Nデイ攻撃」とも呼ばれますが、最も危険なのがパッチのないゼロデイ期間です。

練習問題

🎯
基本情報技術者 練習問題

Q1.ゼロデイ攻撃の説明として最も適切なものはどれか。
A.修正プログラムが提供される前の未知の脆弱性を突く攻撃
B.認証を回避するための裏口を仕掛ける攻撃
C.取引先の供給網を経由して標的に侵入する攻撃
D.感染端末を束ねてDDoSを行う攻撃
Q2.「ゼロデイ」という呼び名の由来として最も適切なものはどれか。
A.修正プログラムが提供されてから0日目に攻撃するため
B.修正プログラムが用意される前の、防御の猶予日数がゼロの状態を狙うため
C.攻撃に0円のコストしかかからないため
D.0種類のマルウェアしか使わないため
Q3.ゼロデイ攻撃への対策として適切でないものはどれか。
A.不審な挙動を検知する仕組み(EDRなど)を導入する
B.多層防御で被害の範囲を限定する
C.修正プログラムが出たら速やかに適用する体制を整える
D.修正プログラムが出るまで一切の対策をせず待つ

関連コンテンツ