ゼロデイ脆弱性 ぜろでいぜいじゃくせい
簡単に言うとこんな感じ!
ソフトウェアのバグ(穴)がまだ誰にも知られていない状態で、悪意のある人に先に見つかって攻撃されちゃう状態のことだよ!修正パッチが「0日」しかない、つまり防御の準備時間がゼロってこと!
ゼロデイ脆弱性とは
ゼロデイ脆弱性(Zero-Day Vulnerability)とは、ソフトウェアやハードウェアに存在するセキュリティ上の欠陥(脆弱性)のうち、開発元・ベンダーがまだ把握していないか、把握していても修正プログラム(パッチ)を提供できていない状態のものを指します。「ゼロデイ(0日)」という名前は、「開発者が問題を知ってから対応できる日数がゼロ」という意味から来ています。
通常の脆弱性は、発見→開発元へ報告→パッチ公開→ユーザーが適用、というサイクルで対処されます。しかしゼロデイ脆弱性は、攻撃者が開発元より先に発見・悪用するため、ユーザーが「パッチを当てて守る」という最も基本的な防衛手段を取れない状態になります。
企業のシステム担当者にとってゼロデイ脆弱性は特に厄介な存在です。なぜなら、既知の脅威に対処するだけでは防げないからです。発注したシステムやソフトウェアが突然の攻撃にさらされるリスクを念頭に置き、多層的な防御策を準備しておくことが重要です。
ゼロデイ脆弱性の構造と攻撃の流れ
ゼロデイ脆弱性が悪用されるまでの流れは、以下のように段階的に進みます。
| フェーズ | 状態 | 防御側の対応 |
|---|---|---|
| ① 脆弱性の存在 | ソフトウェアに欠陥が潜んでいる | 気づいていない(対応不可) |
| ② 攻撃者が発見 | 悪意のある第三者が欠陥を発見 | 気づいていない(対応不可) |
| ③ エクスプロイト作成 | 欠陥を突く攻撃コードを開発 | 気づいていない(対応不可) |
| ④ ゼロデイ攻撃発生 | 実際の攻撃が始まる | ここで初めて気づき始める |
| ⑤ ベンダーが把握 | 開発元が脆弱性を認識・公表 | パッチ開発開始 |
| ⑥ パッチ公開 | 修正プログラムが配布される | 適用すれば防御可能 |
| ⑦ パッチ適用 | ユーザーがパッチを当てる | 脅威の解消 |
「ゼロデイ」の危険な本質は、④〜⑥の間(パッチが存在しない期間)に攻撃が行われる点にあります。この期間は数日から数か月、場合によっては数年に及ぶこともあります。
覚え方
「0日=防御の猶予がゼロ」と覚えましょう。試験の前日に問題が漏れているのに、先生(開発元)がまだ知らない状態でテストが始まる、そんなイメージです。
ゼロデイ脆弱性の市場価値
ゼロデイ脆弱性は闇市場で数百万〜数億円で取引されることがあります。主な買い手・用途の分類は以下の通りです。
| 売買先 | 目的 | 合法性 |
|---|---|---|
| 政府・諜報機関 | サイバースパイ・犯罪捜査 | グレー〜合法 |
| セキュリティ企業 | 防御技術の研究・開発 | 合法 |
| サイバー犯罪者 | 金銭目的の不正アクセス | 違法 |
| ハクティビスト | 政治的な主張・妨害 | 違法 |
歴史と背景
- 1990年代後半〜2000年代初頭:インターネットの普及に伴いソフトウェアの脆弱性が注目され始める。脆弱性情報の公開方法(全公開 vs. 非公開)を巡る「責任ある開示(Responsible Disclosure)」の議論が活発化
- 2003年:脆弱性の共通識別子 CVE(Common Vulnerabilities and Exposures)の仕組みが整備され始め、脆弱性情報の共有が体系化される
- 2010年:Stuxnet(スタックスネット)が発見される。イランの核施設を狙った史上初の本格的なゼロデイ兵器と呼ばれるマルウェアで、4つものゼロデイ脆弱性を組み合わせて使用した
- 2014年:Shellshock(シェルショック)が発覚。Bashというシェルの25年以上前から存在していた脆弱性で、ゼロデイが長期間潜伏し得ることを世界に知らしめた
- 2017年:EternalBlue というゼロデイ脆弱性を利用した WannaCry ランサムウェアが世界150か国以上で猛威を振るい、病院・企業・政府機関に甚大な被害をもたらす
- 2021年:Log4Shell(Log4j脆弱性)が公開直後から世界規模で悪用され、ゼロデイの影響範囲の広さと対応の難しさが改めて認識された
- 現在:ゼロデイ脆弱性の発見・売買を行う専門ブローカー企業(Zerodium など)が公然と存在し、脆弱性のビジネス化が進んでいる
ゼロデイ脆弱性と関連する概念・防御策の比較
ゼロデイ脆弱性への対策は「完全に防ぐ」ことが難しいため、多層防御(Defense in Depth)の考え方が重要です。
ゼロデイ vs. N-デイ脆弱性
| 種類 | 定義 | パッチの有無 | 危険度 |
|---|---|---|---|
| ゼロデイ(0-day) | パッチ未公開の脆弱性 | なし | 最高 |
| N-デイ(n-day) | パッチは公開済みだが未適用の組織が残っている | あり(未適用) | 高 |
| 既知の脆弱性 | パッチ公開済みで広く周知済み | あり | 中〜低 |
実はN-デイ脆弱性も油断禁物です。パッチが公開されると攻撃者はパッチを逆解析して攻撃コードを作成するため、パッチ公開後も未適用の組織が次の標的になります。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 9116 | security.txt:脆弱性報告の連絡先をWebサイトに明示するための標準フォーマット |
関連用語
- CVE — Common Vulnerabilities and Exposures。脆弱性に付与される共通識別番号
- パッチ管理 — ソフトウェアの修正プログラムを計画的に適用・管理するプロセス
- エクスプロイト — 脆弱性を実際に攻撃するために作られたコードやツール
- EDR — Endpoint Detection and Response。端末上の不審な振る舞いを検知・対応するセキュリティ製品
- WAF — Webアプリケーションファイアウォール。Webへの攻撃通信を検知・遮断する仕組み
- ランサムウェア — ゼロデイ脆弱性を踏み台にして広がることも多い、身代金要求型マルウェア
- 脅威インテリジェンス — 最新の攻撃手法・脆弱性情報を収集・分析し防御に活かす仕組み
- 多層防御 — 単一の対策に頼らず複数の防御層を重ねるセキュリティ設計の考え方