IWI
search

検索SEARCH

製品ページ内検索

製品以外のサイト内検索

×
採用情報

ゼロデイ攻撃とは?その仕組みや特徴と対策方法、被害事例

ゼロデイ攻撃とは?その仕組みや特徴と対策方法、被害事例

ゼロデイ攻撃とは

ゼロデイ攻撃とは発見されたセキュリティホールの修正パッチが公開されるまでのタイムラグをついた攻撃の総称です。修正パッチのリリース日(1日目)よりも前に行われる攻撃としてゼロデイ(0日目)として表現されます。

セキュリティホールの存在やその修正パッチが公に知られていない中で発生するため、ゼロデイ攻撃は防ぐことが困難であり、サイバー攻撃の中でも大きな脅威となっています。

ゼロデイ攻撃の仕組み・特徴

ゼロデイ攻撃はOSやアプリケーションなどのソフトウェアのバグを悪用しています。

バグとはプログラムに含まれるミスのことです。アプリケーションには必ずと言っていいほどバグが存在しており、これによりアプリケーションが意図しない動作をし、正しい結果が得られなくなることがあります。

例えばドキュメント作成ツールにおいて特定のフォントが正しく読み込めなかったり、アプリケーション起動時に必要以上にリソースを確保してしまったり、発生する事象は様々です。

バグの中には攻撃者によって悪用されるものがあり、こうしたバグは脆弱性と呼ばれています。バグ(脆弱性)を悪用することにより、意図的に悪意あるプログラムを実行することが可能となってしまいます。

アプリケーションに内在する脆弱性は利用者などによって発見され、ベンダーや受付機関に報告されています。脆弱性の存在は、対応策やバグの改修を行う修正パッチとともに広く知られるようになります。しかし、修正パッチの作成や適応までには時間がかかりますので、それまでの間はゼロデイ攻撃の脅威にさらされることになります。そのため、脆弱性を発見したのが攻撃者である場合には、ベンダーも知らない間に攻撃に悪用されてしまいます。

ゼロデイ攻撃の対策が難しい2つの主な理由

セキュリティソフトの対策を強化しても・・・

セキュリティソフトの導入によりゼロデイ攻撃は防げるでしょうか。残念ながらゼロデイ攻撃を防ぐことのできるセキュリティソフトは多くありません。

通常セキュリティソフトは過去のマルウェア(ここでは脆弱性を悪用する不正プログラム)の知識をベースとした防御手法になっています。やってくるマルウェアに対して過去の知識から類推して、マルウェアかどうかを判断しようとしますが、ゼロデイ攻撃は公に知られていない未知の脆弱性を悪用した攻撃ですので、過去の知識に頼るやり方では新しい手法の攻撃を防ぐことはできません。

プログラムを更新・アップデートしても・・・

脆弱性はアップデートで改修されます。例えばWindows Updateなど、メーカーが提供する修正パッチを適用し、脆弱性を修正しておくことは非常に重要です。これにより対象の脆弱性が悪用されることはなくなります。しかし、それでもバグはなくならず新しい脆弱性が次々と出てくるため、定期的にアップデートを行っても間に合わない状況があります。

また、端末によっては修正パッチの適用が簡単でないという問題もあります。メールサーバやWEBサーバなど多くの人が利用していたり、様々な役割を持つサーバに対して修正パッチを適用することは業務への影響を恐れて躊躇してしまいがちです。修正パッチを適用しても問題なくサービスの提供を継続できることのテストが必要になります。結果的にサーバには脆弱性が残りやすくなっています。

そのほかに、クライアントPCなど全端末に対して即座に修正パッチを適用するのは難しいなどの問題もありますが、もとよりゼロデイ攻撃は修正パッチが公開される前に発生するため、修正パッチを頼りにして攻撃を未然に防ぐことはできません。

ゼロデイ攻撃の主な対策方法

このように、2つの理由からゼロデイ攻撃の対策は難しいのですが、一般的には下記のような3つの対策方法が考えられます。しかしながら、それでも完璧ではありません。

1.シグネチャで対策する方法

過去の知識を必要とする防御手法の最たる例がシグネチャを用いたパターンマッチングで、アンチウイルスソフトの基本的な防御手法です。シグネチャというのはマルウェアの手配書みたいなもので、あらかじめマルウェアと分かっているものに対して有効な手法となります。マルウェアと分かるというのはすでにシグネチャ(手配書)が作成されているということです。マルウェアは大量に自動生成されていますので、同じようにシグネチャを作成する必要がありますが、タイムラグが生じてしまうために未知のゼロデイ攻撃は防ぐことができません。

2.サンドボックスで対策する方法

未知の攻撃を防ぐための防御手法としてサンドボックスがあります。サンドボックスは、エンドユーザが利用する実環境から分離された環境です。この環境で疑わしいプログラムを動作させることで、実環境に被害を及ぼすことなくマルウェアの解析が行えます。

サンドボックスにおける解析手法は様々ですが、主に動的解析や静的解析が用いられます。

・動的解析:プログラムのふるまいを見てマルウェアらしい動きがあればマルウェアであると判断する手法。
・静的解析:ファイルをスキャンしてマルウェアらしい特徴が見つかったらマルウェアとする手法。

この手法によって、シグネチャでは検知できなかった攻撃への対応が可能になります。

しかし、マルウェアらしいふるまいや特徴というのは、過去のマルウェアの知識から得られるものになるため、結局新しい攻撃手法への対応が難しくなり、誤検知も発生してしまいます。

3.EDRを導入する

攻撃をブロックするセキュリティソフトは飽和状態にありますが、どの製品においてもゼロデイ攻撃を防ぐことは前述の理由から困難です。そういった状況から攻撃の発生を防ぐアプローチではなく、攻撃が発生した後でもその影響範囲を特定し、回復に役立てるEDREndpoint Detection and Response)というソリューションができました。

EDRは基本的に各端末のログを取得する製品ですので、攻撃をブロックする製品ではありません。攻撃が発生し終わったあとで効力を発揮する製品になりますので、少なからず被害が生じます。例えば、近年流行しているランサムウェアの被害を考えますと、まずは暗号化されないための対策が重要です。攻撃の発生を防ぐ部分と攻撃発生後の対応、どちらの対策に優先的に力を入れるべきかはトレードオフを鑑みて検討する必要があります。

今後は過去の事例にとらわれない防御手法が必要

上述の通りゼロデイ攻撃のような未知の攻撃をブロックするには過去の事例にとらわれない防御手法が必要です。過去発生した攻撃手法に依存して似た攻撃手法を検知する手法では、過去の知識を取り入れるためのアップデートが必要になってくるため、未知の攻撃手法の検知が困難になります。また、誤検知も発生してしまいます。

ゼロデイ攻撃の有名な被害例・攻撃事例

過去発生したゼロデイ攻撃は数多くあり、多大な影響を及ぼしています。

そのうちの一つとして、Microsoft Officeの数式エディタの脆弱性(CVE-2017-11882)が例として挙げられます。この脆弱性に対しては201711月に深刻度が緊急なものとして修正パッチがリリースされています。

数式エディタはOfficeで利用される数式の作成や描画を行うツールです。細工した数式が埋め込まれたドキュメントを開くと数式エディタが起動し、数式を読み込むことで脆弱性が悪用され、任意のコードが実行されます。Officeファイルを利用した攻撃においてはマクロを有効にさせることでマルウェアを展開する方法が主流でしたが、当脆弱性ではOfficeファイルのマクロを有効にさせることなく攻撃を成立することが可能です。攻撃が容易に実行できることから最も悪用された脆弱性の一つとされ[1]、今も様々なマルウェアの配布に利用されています。

過去に公開されたWindows10の脆弱性とゼロデイ攻撃

Windows OSの脆弱性を悪用されたゼロデイ攻撃としてはWannaCryがあります。WannaCryMS17-010でナンバリングされる脆弱性(通称EternalBlue)を悪用したランサムウェアです。2017年に流行したマルウェアであり、自己増殖機能を用いて世界中の脆弱な端末に感染しました。マイクロソフト社は当脆弱性の修正のためにほとんどのWindows OSに対して修正パッチを配布し、当時サポートが終了していたWindows XPなどのOSに対しても修正パッチをリリースするほど、大きな被害を及ぼしていました。感染のために悪用された脆弱性はSMB(ファイル共有プロトコル)のバージョン1にあったことから、当バージョンのSMBは無効化することが強く推奨されています。

その後WannaCryの感染被害は縮小しましたが、2020年にはWannaCryに似た新しいゼロデイ脆弱性が発見されています。SMBバージョン3の脆弱性であり、SMBGhostCoronaBlueCVE-2020-0796)と呼称されています。WannaCryと比べ被害事例の報告は少ないですが、それでも2020年以降最も悪用された脆弱性の一つであると報告されています[2]SMBのバージョン3はバージョン1と比べセキュリティリスクが削減されたプロトコルでしたが、やはり危険性の高い脆弱性が見つかり、当時のバージョン1の脆弱性と同様に修正パッチが緊急でリリースされています。

過去に公開されたブラウザ(IEChrome)の脆弱性とゼロデイ攻撃

どんなアプリケーションにも脆弱性は存在しますが、中でもブラウザは最も脆弱性が発見されているアプリケーションです。そのため脆弱性を修正するためのアップデートが頻繁に発生し、ユーザーは定期的に適用を行う必要があります。

直近見つかった脆弱性にCVE-2021-26411があります。当脆弱性は今年見つかったInternet Explorerブラウザの脆弱性です。攻撃者が当脆弱性を悪用するWEBサイトを作成し、ユーザーがブラウザで接続を行うと、脆弱性を悪用され任意のコードが実行されます。実際にあった事例として、当脆弱性を経由してユーザーの端末にバンキングマルウェア(オンラインバンキングの認証情報を狙い、不正送金を目的としたマルウェア)やランサムウェアに感染させる事例があります。

マイクロソフト製のブラウザであるInternet Explorerは古くから利用されているブラウザですが、2022615日にサポートが終了することが決まっています[3]。サポート終了後は新たな脆弱性が見つかったとしても、修正パッチが適用されない可能性があります。Internet Explorerの利用ユーザーは他のブラウザに乗り換えて利用することが必要になりますが、Internet Explorerをベースに作られたシステムを利用しており、移行が難しいというような状況もあります。そうした場合、システム移行までの延命として脆弱性に強いセキュリティの導入を検討する必要が出てくるでしょう。

[1] Top 10 Routinely Exploited Vulnerabilities

[2] Top 10 most exploited vulnerabilities from 2020

[3] Microsoft 製品の脆弱性対策について(20213)