ゼロデイ攻撃とは

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

目次

はじめに

ゼロデイ攻撃という言葉を聞いたことがあるでしょうか?この言葉が登場する状況から見て、情報システムに対して何か悪さをするのだろうということは想像できますが、では何をするのかという問いに対して正しく答えられる人はおそらく日常的に情報セキュリティに関わっている人でしょう。

しかし、このゼロデイ攻撃、近年多くの事例が報告されており、かなり厄介な攻撃なのです。
今回はゼロデイ攻撃というセキュリティ脅威を取り上げて、一体どんなものなのか、なぜ厄介なのかを解説し、さらにそれに対応する対策に関して説明します。

ゼロデイ攻撃とは?

ゼロデイ攻撃という言葉を聞いたことがあるでしょうか?この言葉が登場する状況から見て、情報システムに対して何か悪さをするのだろうということは想像できますが、では何をするのかという問いに対して正しく答えられる人はおそらく日常的に情報セキュリティに関わっている人でしょう。

しかし、このゼロデイ攻撃、近年多くの事例が報告されており、かなり厄介な攻撃なのです。
今回はゼロデイ攻撃というセキュリティ脅威を取り上げて、一体どんなものなのか、なぜ厄介なのかを解説し、さらにそれに対応する対策に関して説明します。

ゼロデイ攻撃とは?

ゼロデイ攻撃の内容に入る前に、これがセキュリティへの脅威の分類の中でどこに位置づけられるのかを明確にしておきましょう。大きな分類では人為的脅威でその中でも意図的な脅威として定義されるものの一つで、サイバー攻撃の一つという分類になります。
つまり、特定の人物が対象を攻撃する意図を持って作成した悪意のある攻撃という事になります。

ただ、ゼロデイ攻撃は、攻撃するプログラム自体ではなく、攻撃方法に対する呼称なので、実際の攻撃を行うときにはウィルスやトロイの木馬等のマルウェアを侵入させる事になります。

ゼロデイとは、そもそもOS、アプリケーションソフトウェア、ミドルウェアなどに内在する脆弱性(セキュリティホール)が発見されてからそれに対する対策が策定されて、修正が配布され、ユーザーが適用するまでの間の期間のことを指します。脆弱性対応の初日(ワンデイ)以前という意味です。
脆弱性の発見は、ベンダーやセキュリティ対策を行なっているグループ、ユーザーコミュニティなどが発見する場合と攻撃者自身が発見する場合があります。

ゼロデイ攻撃とはそのゼロデイの期間中にその脆弱性を利用するウィルスやトロイの木馬等のマルウェアを作成して標的に侵入させる攻撃ですが、そもそも利用する脆弱性への対応がなされていない環境を攻撃するので、他の攻撃方法と比べると成功率が高くなります、そこが厄介なところなのです。

さらに、その脆弱性を攻撃者自身が発見したような場合はベンダーとの追いかけっこも無く、余裕を持って攻撃計画を立てられるのでさらに有利になります。
この辺りの要因は近年ゼロデイ攻撃が増加している大きな理由です。

ゼロデイ攻撃の事例として有名なのは2015年のAdobe Flash Playerのケースです。
脆弱性対応の新バージョンにおいて、発見されて公表されている脆弱性への対応を行わないままでアップデートをリリースしました。これによってその脆弱性を狙ったゼロデイ攻撃が続きました。

さらにこのバージョンにはのちにいくつかの新しい脆弱性も見つかりました。
他にもLinux等の管理機能の操作で広く使われているシェルのbashの脆弱性に対する攻撃、Google ChromeやMicrosoft Internet Explorerへの攻撃もありました。

ゼロデイ攻撃への対策

前述のように、ゼロデイ攻撃が厄介なのは、その攻撃への直接の対策が無いという事です。
ですが、以下のような対策を取る事によって、攻撃を回避したり、遅らせたり、検知して取り除いたりすることができます。

使用ソフトウェアは常に最新にする

ウィルス対策ソフトウェアを含む使用ソフトウェアは常に最新の状態にしておくことです。
これによってゼロデイの期間を可能な限り短くすることができます。
また、未発見の脆弱性であっても他の修正が間接的に対応策になる場合もあるし、後に直接対応するパッチが作成された時に、常にアップデートされている環境だと、前提条件で引っかかることも少なくなりますし、パッチ適応の時間も短くなります。

ゼロデイ攻撃に対応したセキュリティソフトを導入する

最近では、ゼロデイ攻撃に対応したセキュリティ対策ソフトやサービスも出てきています。
これらのソフトの中には未知の攻撃やマルウェアに対応するために、ナレッジベースやアナリティクス、AI等を活用して「通常とは違う」動きをするプログラムやユーザー等を検知して、警告を発したり自動的に取り除いたりするものもあります。
また、主にネットワーク経由での外部から侵入を防ぐためにIDS(Intrusion Detection System)や IPS(Intrusion Prevention System)と呼ばれる機能を導入することも有効でしょう。

一般的なセキュリティ対策を実施する

ファイアウォールでの通信のブロック、ネットワーク機器によるゾーニング、適切な権限とユーザーの管理、パスワードの管理、認証方法の複雑化、通信やデータの暗号化等は、ある意味では最も効果のある方法だとも言えるでしょう。

どんな脆弱性を利用したとしても何重にも施された対策を潜り抜けるのは困難です。
この時、重要なのはアクセスコントロールにはブラックリストではなく、ホワイトリストを使用する事によって、未知のものをブロックするという方法を取るという事でしょう。

終わりに

ソフトウェアは人間が作るものなので、今後も未知の脆弱性が無くなることはないでしょう。そして、それを利用したゼロデイ攻撃も増えてゆくでしょう。
そのような状況において最も重要なのは、当たり前のセキュリティ対策をきちんと行うということでしょう。
また、一人一人のセキュリティに対する意識の向上も無くてはならないものです。