フィールディングEyeNECフィールディングがお届けする百花繚乱のコラム集

5分で解説!気になるIT用語

2021年10月07日

ゼロデイ攻撃

第21回
「ゼロデイ攻撃」

ゼロデイ攻撃とは?脆弱性を利用した攻撃とその対策を解説

 ゼロデイ攻撃とは、ソフトウェアの脆弱性(ぜいじゃくせい)が発見された際、修正プログラムがリリースされる前に、その脆弱性を突いて行われる攻撃のこと。近年、世界的にゼロデイの攻撃数が増えており、数あるサイバー攻撃の中でも検知しづらいため、特に対策が難しいとされている。

 コンピューターのOSやアプリケーションは日々、進化しているが、それに伴ってさまざまな脆弱性が発見されることも多い。そのため、できるだけ素早く対応できるように、攻撃の内容と基本的な対策は最低限、理解しておく必要がある。

ゼロデイ攻撃とは?

 まずは、ゼロデイ攻撃とはどのような特徴を持ったサイバー攻撃なのか、その概要を押さえておこう。

  • 対処方法が提供されていない脆弱性を利用した攻撃

     通常、ソフトウェアに脆弱性が発見されると、開発元は早急に、それをカバーするための更新プログラムを開発・提供する。
     ベンダーによって更新パッチがリリースされた日のことを「ワンデイ」と言い、それに対して、パッチが開発される前の脆弱性が存在している状態は「ゼロデイ」と呼ばれている。
     即ち、ゼロデイ攻撃とは、ソフトウェアベンダーによって対処法が提供されていない状態を狙った攻撃であるため、他のサイバー攻撃に比べて対策が難しい傾向があるのだ。

    脆弱性(ぜいじゃくせい)とは何か?

     そもそもソフトウェアの脆弱性とは何だろうか?
     脆弱性とは、OSやアプリケーションのプログラムや設計上のミスが発端のセキュリティホールのことだ。いかに優秀な開発元であっても、初めから完璧なソフトウェアをリリースすることはまず不可能であり、リリース後にさまざまなセキュリティ上の欠陥が判明することは珍しくない。
     そういった欠陥は脆弱性と呼ばれており、悪意ある者の攻撃の対象となってしまう可能性があるのだ。

     例えば、Microsoft社が定期的にWindowsのアップデートを行っており、そこで発見されたOSの脆弱性をカバーするプログラムを配布しているのは、多くの人が知るところである。しかし、月1回以上の頻度でセキュリティアップデートを行っているWindowsにおいて、未知の脆弱性を悪用した攻撃が報告されていることからも、脆弱性への対策の難しさが分かるだろう。

  • ゼロデイ攻撃の背景と仕組み

     OSやアプリケーションの脆弱性を悪意ある者が発見した場合、開発元がパッチプログラムを提供する前に、ゼロデイ攻撃が仕掛けられてしまう可能性がある。
     たとえベンダーが脆弱性を早期に発見したとしても、それをカバーするパッチプログラムをリリースするまでには、ある程度の時間が掛かってしまう。ベンダーが対応を行っている間に悪意の第三者によって脆弱性を発見され、情報漏えいやシステムの停止などの攻撃を受けることがあるのだ。

     実際、いわゆるダークウェブと呼ばれる非合法なWebサイトでは、OSやアプリケーションのベンダーが発見していない、未知の脆弱性に関する情報がやり取りされている。
     いわゆる「エクスプロイトキット」などの攻撃ツールも取引されており、専門的な知識を有していなくても、ツールを利用することで、専門的な知識を有さない者でも容易に標的のソフトウェアに攻撃できる。

ゼロデイ攻撃の事例

 ゼロデイ攻撃の概要を理解したところで、実際に起こった攻撃の事例を確認してみよう。

  • GNU bashの脆弱性(シェルショック)を狙ったゼロデイ攻撃事例

     2014年9月に発表された「シェルショック(Shellshock)」と呼ばれる脆弱性に対する攻撃のことで、ゼロデイ攻撃の事例として必ず挙げられるほど有名な事件である。
      LinuxなどのOSが搭載していた「GNU bash」と呼ばれるプログラムの脆弱性が狙われた事例で、アメリカの企業や政府機関の被害が相次いだ。日本でも、システムを遠隔で操作されてしまう被害が起こっている。

  • Adobe Flash Playerの脆弱性を狙ったゼロデイ攻撃事例

     2015年にAdobe Flash Playerに対してゼロデイ攻撃が仕掛けられた。もともとFlashはセキュリティ上の問題が多いと指摘されており、それを受けてベンダーが同年1月にセキュリティ面を改良したFlashの「バージョン16.0.0.257」をリリースしたが、そこにも重大な脆弱性があり、さらに「バージョン16.0.0.287」をリリース。だが、「バージョン16.0.0.287」にも別の脆弱性が潜んでおり、それを悪用したゼロデイ攻撃が確認されていると発表した。

     このゼロデイ攻撃は、2015年頃に攻撃者の間で活発に利用された「Angler Exploit Kit(Angler EK)」と呼ばれるエクスプロイトキットによるものである。Angler Exploit Kitは、ユーザーがWebサイトにアクセスしただけでマルウェアに感染する「ドライブバイダウンロード攻撃」に頻繁に利用されており、多くのユーザーに影響が出る可能性が高いとして危険視されていた。
      なお、エクスプロイトキットを利用したサイバー攻撃は一時減少傾向にあったが、2021年以降日本のユーザーを標的とした「Bottle Exploit Kit」の観測が増えるなど、再び脅威を増している。

  • Google Chromeの脆弱性を狙ったゼロデイ攻撃事例

     2019年3月に、Google Chromeの脆弱性を突いたゼロデイ攻撃が確認されている。原因はアプリケーションがメモリにアクセスした際に起こるエラーと言われており、ベンダー側もエラーを突いたゼロデイ攻撃があったことを認めているようだ。

     大規模な被害が発生したわけではないようだが、世界で30億人以上のユーザーがいると言われる人気ブラウザだけに、もし対応が遅れていれば深刻な被害がもたらされた可能性もある。

ゼロデイ攻撃の対策

ゼロデイ攻撃の対策

 それでは、ゼロデイ攻撃の対策について解説していこう。上述のように、ゼロデイ攻撃はソフトウェアベンダーがパッチプログラムをリリースする前の脆弱性を狙った攻撃であるため、ユーザー側は対策が難しい。

 セキュリティ専門家や政府機関等からは、このような特性を持つゼロデイ攻撃の被害を抑えるために、基本的なセキュリティ対策を含めた複数の対策を組み合わせる「多層防御」の考え方が、推奨されている。

  • 入口対策・内部対策・出口対策

     多層防御は、入口対策・内部対策・出口対策の3つに大別することができる。

     入口対策とは攻撃を受けるシステムをできるだけ減らすための施策であり、ファイアウォールを設置したり、サンドボックスやWAF(Web Application Firewall)、IPS(Intrusion Prevention System、侵入防止システム)などを利用したりする方法が挙げられる。
     そして、万が一攻撃者にシステムへの侵入を許してしまった場合でも、システム内部に侵入したマルウェアのふるまいを検知できる内部対策も必要だ。次世代型ウイルス対策(NGAV)やEDR(Endpoint Detection and Response)などが内部対策にあたる。
     さらに、マルウェアによる攻撃を許してしまった場合に備え、機密情報のアップロードなどを未然に防ぐことで情報流出を防ぐといった出口対策も求められる。

     このような異なる種類のセキュリティ対策を重ねることで、ゼロデイ攻撃の被害を最小限に抑えることにつながる。

  • セキュリティツールの導入

     前述の通り、既知のマルウェアなどを未然に防ぐセキュリティ対策だけでなく、万が一サイバー攻撃を受けた際に備えたセキュリティ対策も導入することが望ましい。

     近年は、ネットワークに接続されたエンドポイント(パソコンやタブレット端末、サーバーなど)がサイバー攻撃を受けたことを検知し、対処する、EDR(Endpoint Detection and Response)と呼ばれるセキュリティシステムが注目されている。
      ゼロデイ攻撃に利用される不正プログラムは未知のマルウェアであることが多いため、
    万が一入口対策が突破されて侵入を許した場合であっても、不審な振る舞いを検知し、対処することができるEDRの導入は有効な対策と言えるだろう。

     例えば、NECフィールディングのEDR運用サポートサービス「EDR Quick Support」は、未知のマルウェアに対して素早く対応できるEDR、「VMware Carbon Black Cloud Endpoint Standard」の運用を、セキュリティの専門家が代行してくれるサービスだ。特に、セキュリティの担当者がいない企業におすすめしたい。

※この記事は2021年10月07日時点のものです。

コラム「フィールディングEye」へ戻る