「ゼロデイ脆弱性」への素朴な疑問
サムネイルはStableDiffusionWebで生成した画像。なんとなくそれっぽいですね。
この記事を書いているのは9月22日。iPhone15の発売に喜んでいる人もいらっしゃるかもしれませんが、古いiPhoneのセキュリティ対策も怠りなく。
iPhone/iPadにまたゼロデイ脆弱性 ~iOS/iPadOS、macOS、watchOSなどにセキュリティパッチ
この記事タイトルを読んで、不思議に思ったことがありました。 記事のタイトルにある「ゼロデイ(0-day)脆弱性」とは、ソフトウェアに見つかったセキュリティ上の脆弱性の中でも、その存在が公表される前や、修正用プログラムがリリースされる前の脆弱性を指します。分かりやすい言葉で説明すると、”『このようなバグがあり(このような攻撃手段により)このような問題が発生する』と判明しているにもかかわらずパッチが存在しない”、つまり無防備な状態にする脆弱性を意味します。 一方、脆弱性を解消するパッチのリリースから、実際にパッチをユーザが適用するまでの期間を「Nデイ(N-day)脆弱性」と呼びます。(3日経過したら3-day脆弱性と呼ぶ、ということはありません)
ところで、今回のiOSにおけるセキュリティアップデートは、以下の脆弱性を解消することを目的としています。
- CVE-2023-41992:カーネルにおけるローカル特権昇格(iOS 16/17、watchOS 9/10、macOS Ventura/Monterey)
- CVE-2023-41991:証明書の検証不備(iOS 16/17、watchOS 9/10、macOS Ventura)
- CVE-2023-41993:「WebKit」における任意コード実行の問題(iOS 16/17、Safari 16.6)
上記の脆弱性はいずれも9/21に発表された脆弱性になります。「脆弱性が発表された同日にセキュリティパッチが公開されたということは、先ほど太字で記載したゼロデイ脆弱性の定義に合わないのでは」と考えたのです。そこで例のごとくChatGPT先生に聞いたところ得心したので以下に解説します。
厳密には今回の脆弱性や、ニュースリリースでよく聞く「ゼロデイ対応した緊急リリース」の対象となった脆弱性はゼロデイとは異なります。しかし、重要なのは 「その脆弱性が悪用される前にパッチがリリースされたかどうか」 です。今回の場合、
誰かがこの脆弱性を悪用→被害が発覚 → 調べた結果脆弱性が判明 → セキュリティパッチを作成+採番した脆弱性をアナウンスと同時にパッチをリリース
という流れになります。記事内にある「今回修正された脆弱性は、悪用された可能性が高いと報告されており、一刻も早い対処が必要」という文章には上記のような意味があります。
過去には「このような脆弱性が存在するが、まだパッチはできていない。急いで作って公開する」とアナウンスされたこともあるそうです。 そんなこと言われても、サービスを停止させるわけにもいかないシステムもあるはず。現場としては戦々恐々ですよね。
AdobeがFlash Playerの臨時パッチを公開、なお未解決の脆弱性も 2014年シェルショック脆弱性
なお、ゼロデイ脆弱性を利用した攻撃を「ゼロデイ攻撃」といいます。