振る舞い検知やパターンマッチングでは防げない?ゼロデイ攻撃の脅威

公開日:

更新日:

執筆者:山形 陽平(情報処理安全確保支援士)|

Morphisec」ライターチームの山形です。 

ゼロデイ攻撃は、独立行政法人情報処理推進機構(IPA)から発表されている最新の「情報セキュリティ10大脅威 2023」では、組織への驚異としてゼロデイ攻撃が6位にランクインしています。

順位

組織

1

ランサムウェアによる被害

2

サプライチェーンの弱点を悪用した攻撃

3

標的型攻撃による機密情報の窃取

4

内部不正による情報漏えい

5

テレワーク等のニューノーマルな働き方を狙った攻撃

6

修正プログラムの公開前を狙う攻撃(ゼロデイ攻撃)

7

ビジネスメール詐欺による金銭被害

8

脆弱性対策情報の公開に伴う悪用増加

9

不注意による情報漏えい等の被害

10

犯罪のビジネス化(アンダーグラウンドサービス)

参考:https://www.ipa.go.jp/security/vuln/10threats2023.html

本記事では「なぜ振る舞い検知やパターンマッチングでゼロデイ攻撃を防げない?」「ゼロデイ攻撃を対策できるウイルス対策ソフトを探している」といった方に向けて解説します。

目次

ゼロデイ攻撃とは

ゼロデイ攻撃とは、ソフトウェアで脆弱性になっている部分(セキュリティホール)に対して修正パッチが公開される前に、その脆弱性を狙って行われるサイバー攻撃の総称です。

修正パッチのリリース日(1日目)よりも前に行われる攻撃であるため、ゼロデイ(0日目)攻撃と呼ばれています。

ゼロデイ攻撃の仕組み図

脆弱性の存在は、対応策や脆弱性の改修を行うための「修正パッチ」とともに広く知られるようになります。 

しかし、修正パッチの作成や適応までには時間がかかるため、それまでの間はゼロデイ攻撃の脅威にさらされることになります。

さらに、脆弱性を発見したのが攻撃者である場合は、ITベンダーも知らない間に脆弱性を狙った攻撃をされてしまうため、防ぐことが難しくなります。

そもそも、脆弱性(セキュリティホール)とは 

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

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

脆弱性の存在自体が何か悪さをすることはありませんが、攻撃者がこれを悪用することはランサムウェアによる被害を発生させるための手口の1つとなります。

昨今よく見られるネットワーク機器の不具合を悪用してランサムウェアを展開する攻撃などは一例として考えられますので、脆弱性の存在はやはり注意が必要な部分になります。

脆弱性を無くし被害拡大を防ぐため、ITベンダーが提供するシステムのアップデート頻度が多くなっていると私自身は感じています。

振る舞い検知やパターンマッチングでゼロデイ攻撃を防げない理由

ここまでは、ゼロデイ攻撃と脆弱性の基礎的な情報を記載しました。

では、なぜ振る舞い検知やパターンマッチングの防御手法でゼロデイ攻撃は防げないのかを解説していきます。

通常のウイルス対策ソフトは、過去のマルウェア(ここでは脆弱性を悪用する不正プログラム)の知識をベースとした防御手法になっています。

やってくるマルウェアに対して過去の知識から類推して、マルウェアかどうかを判断しようとしますが、ゼロデイ攻撃は公に知られていない未知の脆弱性を悪用した攻撃ですので、過去の知識に頼るやり方では新しい手法の攻撃を防ぐことはできません。

過去の知識を必要とする防御手法の最たる例がシグネチャを用いたパターンマッチングや振る舞い検知で、アンチウイルスソフトの基本的な防御手法です。

シグネチャというのはマルウェアの手配書みたいなもので、あらかじめマルウェアと分かっているものに対して有効な手法となります。

マルウェアと分かるというのはすでにシグネチャ(手配書)が作成されているということです。

マルウェアは大量に自動生成されていますので、同じようにシグネチャを作成する必要がありますが、タイムラグが生じてしまうために未知のゼロデイ攻撃は防ぐことができません。

振る舞い検知はプログラムの動きを監視して、それがマルウェアであるかどうかを解析する手法になります。この手法も過去のマルウェアの動きと比較する手法になるため、新しいマルウェアの知見を取り込んで解析エンジンのアップデートが必要になります。したがって未知のマルウェアを防ぐことができないというパターンマッチングと変わらない課題が存在しています。

プログラムを更新・アップデートしても対策が難しい

脆弱性はアップデートで改修されます。例えばWindows Updateなど、メーカーが提供する修正パッチを適用し、脆弱性を修正しておくことは非常に重要です。

これにより対象の脆弱性が悪用されることはなくなります。しかし、それでもバグはなくならず新しい脆弱性が次々と出てくるため、定期的にアップデートを行っても間に合わない状況があります。

また、端末によっては修正パッチの適用が簡単でないという問題もあります。メールサーバやWEBサーバなど多くの人が利用していたり、様々な役割を持つサーバに対して修正パッチを適用することは業務への影響を恐れて躊躇してしまいがちです。

修正パッチを適用しても問題なくサービスの提供を継続できることのテストが必要になります。

結果的にサーバには脆弱性が残りやすくなっています。

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

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

このように、振る舞い検知やパターンマッチングでゼロデイ攻撃の対策は難しいのですが、一般的には下記のような2つの対策方法が考えられます。しかしながら、それでも完璧ではありません。

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

未知の攻撃を防ぐための防御手法としてサンドボックスがあります。

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

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

動的解析:プログラムのふるまいを見てマルウェアらしい動きがあればマルウェアであると判断する手法。
静的解析:ファイルをスキャンしてマルウェアらしい特徴が見つかったらマルウェアとする手法。この手法によって、シグネチャでは検知できなかった攻撃への対応が可能になります。

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

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の脆弱性と同様に修正パッチが緊急でリリースされています。

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

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

直近見つかった脆弱性にCVE-2021-26411があります。当脆弱性は今年見つかったInternet Explorerブラウザの脆弱性です。

攻撃者が当脆弱性を悪用するWEBサイトを作成し、ユーザーがブラウザで接続を行うと、脆弱性を悪用され任意のコードが実行されます。

実際にあった事例として、当脆弱性を経由してユーザーの端末にバンキングマルウェア(オンラインバンキングの認証情報を狙い、不正送金を目的としたマルウェア)やランサムウェアに感染させる事例があります。

マイクロソフト製のブラウザであるInternet Explorerは古くから利用されているブラウザですが、2022615日にサポートが終了することが決まっています*3

サポート終了後は新たな脆弱性が見つかったとしても、修正パッチが適用されない可能性があります。

Internet Explorerの利用ユーザーは他のブラウザに乗り換えて利用することが必要になりますが、Internet Explorerをベースに作られたシステムを利用しており、移行が難しいというような状況もあります。

そうした場合、システム移行までの延命として脆弱性に強いセキュリティの導入を検討する必要が出てくるでしょう。

ゼロデイ攻撃の被害に遭ってしまったときの対処

ゼロデイ攻撃を起因としてマルウェア感染などの被害が発生しますが、その際に実施可能な対応としては以下があります。

  • 感染した端末をネットワークから切断
  • 社内のセキュリティを統括する部署に連絡
  • 不正に暗号化されたファイルのバックアップを取る
  • マルウェアの発見・駆除の可能性を探る

感染した端末をネットワークから切断

感染が確認できる端末をネットワークから隔離することは、感染時の対応としては一番スタンダードな方法です。

感染や被害の拡大を抑えるために効果的な方法であり、かつシンプルであるため、多くの企業が従業員に対してこれを初動対応として周知しているかと思います。

社内のセキュリティを統括する部署に連絡

マルウェア感染が疑われる時には、ネットワークから隔離の他に、上司やセキュリティを統括する部署など会社の規定に基づき相応しい相談先に連絡を行うことが大切です。

報告を行ったうえで、社内規則または指示に従い対応を進めていきます。

また被害の規模などを勘案した結果、場合によっては対外的な情報発信も必要になる可能性もあるため、担当者への早めの情報共有は重要です。

不正に暗号化されたファイルのバックアップを取る

被害発生前にバックアップを取得しておくことは、被害から復旧するための有効な手段です。バックアップがあれば非常に役立ちますが、バックアップがないケースもあると思います。

そういった状況においても改ざん(暗号化)されたファイルのバックアップを取得することは、のちに復元できる可能性もあるため有効な対応になります。

感染後にバックアップを取得する際には、感染が拡大しないよう不要な接続は避けるなどの注意がもちろん必要です。

マルウェアの発見・駆除の可能性を探る

マルウェアの駆除を検討する場合には、まずはセキュリティシステムを用いた対応を模索し、手動での削除に関しては注意を払った対応が必要です。

また当該端末だけではなく、すでに他端末に感染が広がっている可能性も考慮して、各端末でアンチウイルスソフトを用いたスキャンを行うなど、導入済みのセキュリティシステムで可能な対策を実施することも有効です。

Morphisecでゼロデイ攻撃を対策

ゼロデイ攻撃の対策にはMorphisec

当社で取り扱っているMorphisec(モルフィセック)は、プログラムのメモリ構造を変化させ、既知のマルウェア同様、ゼロデイ攻撃によるマルウェア感染も無力化します。

メモリアドレスを変化させる技術は、攻撃内容の解析が不要で、既知、未知問わず、そもそも攻撃を成立させません。

一般的なマルウェア対策ソフトはファイルやプログラムの解析のための解析エンジンやシグネチャのアップデートが必要です。そのため、更新が行えない環境な場合は、保護能力が落ちることがあります。

対して、Morphisecの保護機能はアプリケーションに与えられるメモリ構造のランダマイズです。この防御手法はアップデートを必要としないため、未知の攻撃(ゼロデイ攻撃)にも対応が可能としています。

また、他のソフトウェアとの競合も発生しにくいため、既にEPPEDRなどの製品を導入されている場合でもお勧めできます。

※1 Top 10 Routinely Exploited Vulnerabilities(2021年9月7日時点)
※2 Top 10 most exploited vulnerabilities from 2020(2021年9月7日時点)
※3 Microsoft 製品の脆弱性対策について(2021年9月7日時点)

関連記事の一覧