「ゼロデイ(zero-day)」とは、「セキュリティ上の問題点が発見された日」のことです。
「ゼロデイ脆弱性」は、悪用されたときのリスクは大きいですが、比較的 早期に修正されます。
定期的にシステムのアップデートを実行しておくことが対策になります。
基本的には「問題が発見された時だけ(ゼロデイ)」の脆弱性と言えます。
「グラウンド・ゼロ」が「爆心地」を指すように、この場合「ゼロ」は「攻撃された点」を意味しています。
効率性(スピード)のために生じるチェック漏れ

どうして、そんな脆弱性があるの?
コンピュータのシステムは複雑なので、どうしても不具合が見落とされたまま残ってしまいます。
これは人間が管理している以上、完全にはなくすことができません。
また、機械的にすべての条件をチェックするのでは、今度は速度が遅くなって実用的でなくなってしまいます。
もっともシンプルな例は C言語の scanf関数です1。
scanf(“%s”, szName);
scanf関数は、入力された文字数をチェックせずにデータ領域に書き込むため、しばしば範囲外に書き込んでしまいます。
作為的に長いデータを入力すると、範囲外に大事なデータがあっても、勝手に書き換えてしまい、予期せぬ動作の原因になるのです。
しかし、すべての入力の整合性をチェックすると、計算処理に時間がかかるため、開発者がチェックタイミングを管理する設計になっています。
現在は、より安全な設計の関数を利用することが主流ですが、システムの深い部分では残っていることがあります。
見落とされた不具合は「脆弱性」として残り、しばしば攻撃者に悪用されてしまいます。
しかし、このような「見落とし」は、見つけてしまえば修正は容易です。
システム開発会社が不具合に気づくと、すぐに修正のアップデートがなされます。
従って、この「ゼロデイ脆弱性」が悪用される期間は、比較的 短い期間ということになります。
このような「ゼロデイ脆弱性」で標的とされるのは、政治家やジャーナリスト、反体制派、その他のリスクの高い個人と言われています。一般人を対象としたフィッシング詐欺などとは少し違います。
こちらもどうぞ。

