ゼロデイ攻撃はなぜ対策が難しいのか? その手法と課題、効果的なソリューションとは

2020.09.03

サイバー攻撃は、年々増加しているだけでなく、その手法も多様化・複雑化しています。特に、脆弱性が公表されてから対策がなされるより前に行われる「ゼロデイ攻撃」に対しては、既存のセキュリティソリューションが無力化してしまうケースも珍しくありません。また、人海戦術によるセキュリティ対策も、コストや手間を考えると現実的ではないでしょう。ここでは、ゼロデイ攻撃の仕組みや危険性、効果的な対策について紹介します。

ゼロデイ攻撃とは?

まず、ゼロデイ攻撃の基礎からおさらいしていきましょう。

■ゼロデイ攻撃とは何か?

ゼロデイ攻撃とは、OSやソフトウェアの脆弱性のうち、防御策が存在しない箇所・経路を狙うサイバー攻撃の総称です。発見されてから日が浅く、修正プログラムが公表されていない/あるいは問題自体が認識されていない脆弱性に対する攻撃ともいえます。こうした未知の脆弱性に対し、発覚からゼロ日目(=ゼロデイ)に攻撃を仕掛ける様から、ゼロデイ攻撃と呼ばれるようになりました。ゼロデイ攻撃は、OS・ミドルウェア・アプリケーションのなどの脆弱性が公になってから、修正パッチなどの防御策が出来上がるまでの「タイムラグ」を利用した攻撃なのです。

■ゼロデイ攻撃の危険性

現在、多くの企業・組織において、こうした未知の脆弱性・欠陥に対するリスクが指摘されています。いわゆる「ゼロデイ脆弱性」と呼ばれるものです。ゼロデイ脆弱性を認識できないまま攻撃を受けると、企業は甚大な被害を受ける可能性があります。また、ゼロデイ攻撃は「攻撃を受けて脆弱性・欠陥が発覚する」ケースが大半であることから、発見・報告・注意喚起・対策(パッチなど)のリリースといった一連のセキュリティ対応が奏功しません。
さらに、官民問わず広く使われるOSやOSSなどを狙った攻撃では、企業活動が停止するだけではなく、社会そのものに甚大な損害を与えやすいことも特徴です。そのため、新しい「ゼロデイ攻撃」の手法はアンダーグラウンド市場でも高値で取引がされており、サイバー犯罪者は新しい脆弱性に対する攻撃手法を確立しようと躍起になっています。また、攻撃を受けた企業・組織は、ミッション・クリティカルな情報が漏えいした場合、損害賠償や謝罪金の支払いによる金銭的損失を被るだけでなく企業イメージや評判が低下し、社会的な責任をも問われかねないでしょう。

■ゼロデイ攻撃の手法とは

ゼロデイ攻撃は、大まかに以下のような流れで行われます。

1. 脆弱性の発見
まだ報告されていない/対応されていない脆弱性を攻撃者が発見します。

2. ゼロデイ攻撃の手法(=ゼロデイエクスプロイト)の作成
攻撃者は、脆弱性を悪用できるようにするスクリプトやキットを作成します。

3. 脆弱なシステムの探索
脆弱性の影響を受けるシステムを自動スキャナー、ボットなどを活用し探索します。

4. 攻撃の計画
脆弱性・エクスプロイトの種類によって、どのように攻撃を仕掛けるか計画をします。標的型攻撃の場合はターゲットの偵察を念入りに行い、標的を絞らない場合はフィッシングキャンペーンやボットなどを活用し、できるだけ多くのターゲットを攻撃しようとする場合が多いでしょう。

5. エクスプロイトの実行
実際にゼロデイ攻撃を実行します。マルウェアを利用することもあれば、直接システムに対し不正アクセスを試みることもあるでしょう。

ゼロデイ攻撃の具体的な手法としては以下のようなものが挙げられます。

・メールの添付ファイルもしくはURLからゼロデイエクスプロイトを組み込んだ不正ファイルを開かせる攻撃
・ユーザがよく訪れるWebサイトを改竄してゼロデイエクスプロイトを組み込む「水飲み場攻撃」
・インターネット上の公開サーバに対し、ゼロデイエクスプロイトを利用した攻撃を仕掛ける不正アクセス攻撃

ゼロデイ攻撃・脆弱性の事例

以下は、近年のゼロデイ攻撃に関する事例です。

Microsoft Wordへのゼロデイ攻撃

2017年4月、Microsoft社は文書作成ソフトウェア「Microsoft Word」に対するゼロデイ攻撃に対応しました。攻撃者はトロイの木馬の亜種であるマルウェアを使用し、パッチの適用されていない脆弱なバージョンのWordを狙いました。Wordに悪意のあるコードを埋め込むことが可能で、文書が開かれると自動的に実行されるというものでした。この脆弱性が報告されるまで、2017年1月頃から既に数百万人のユーザが被害を受けていたと言われています。

Google Chromeへのゼロデイ攻撃

2019年3月、Google社がゼロデイ攻撃を受けていたとし、同社のWebブラウザ「Google Chrome」のゼロデイ脆弱性を修正したことを発表しました。具体的には、主要なWebブラウザに実装されているAPI「FileReader」にゼロデイ脆弱性があったとのこと。FileReaderは、ユーザーのデバイスに保存されたファイル内容を任意に割り当てられたメモリへ読み込むために使用されます。このとき、ファイル読み込み完了後に解放されたメモリへWebアプリケーションがアクセスしようとすると、メモリエラーが発生し、不正なコードの実行につながるリスクが発生していました。また、攻撃者が不正なコードを実行することで、OS上のコマンドを実行できる(=PCなどを不正にコントロールできる)可能性さえもありました。実際に、修正パッチが適用されるまで攻撃が続いており、世界をリードするGAFAの一角でさえも、ゼロデイ攻撃への対処は難しいという事実が明らかになりました。

iOSメールのゼロデイ脆弱性を突いた攻撃

2020年4月には、iOSデバイス上で実行されるメールアプリに脆弱性が含まれており、実際に攻撃が始まっているとの報道がありました。攻撃者が送信するリッチテキスト形式のメールを受信したときに発生するメモリ消費量の増大を利用し、外部から不正なコードを実行される可能性がありました。また、iOS 13では、メールを実際に開封したタイミングではなく、バックグラウンドで受信したタイミングでも攻撃が可能になることから、無意識のうちに攻撃の対象になるリスクもあります。既にこの問題は修正されているものの、ゼロデイ攻撃自体は2018年5月から発生しており、修正までに2年近いタイムラグが生じていたことになります。

ゼロデイ攻撃への現状での対策は?

ゼロデイ攻撃に対しては、一般的に次のような対策が考えられます。

■コミュニティやベンダーの公式情報を随時チェックする

ゼロデイ攻撃に限らず、あらゆるサイバー攻撃に対する基本的な予防法のひとつです。自社システムで使用しているOS・アプリケーションに関して、OSSコミュニティやベンダーの公式サイトをチェックし、脆弱性が発生していないかをチェックします。しかし、前述した事例からも読み取れるように、ゼロデイ攻撃は「発覚時点から逆算して発生時期を知る」ケースが大半であり、ゼロデイ攻撃を未然に防ぐ方法としては有効とは言えません。

■FW・IPS /IDS・WAFなど多層防御の導入

セキュリティソリューションを活用した予防策としては、FW(Firewall)の設置による「壁」の構築や、IPS /IDSによる「侵入検知・防御」、WAF(Web Application Firewall)の導入などが考えられます。複数のセキュリティソリューションを導入し、多層で防御することで、ゼロデイ攻撃の被害を最小限に抑えることができるかもしれません。しかし、これらセキュリティツールに関しても、未だ誰も知り得ない脅威に対して有効であるかは疑問が残ります。また、日々進化する攻撃手法に対応し続けるための人手・コストの問題も発生するでしょう。

シグネチャファイルの更新

シグネチャとはマルウェアやサイバー攻撃の特徴を記述したデータのことです。データベースに保存されたシグネチャファイルとネットワーク上を流れるパケットの内容とを比較して、一致した場合に攻撃とみなして検知/防御する仕組みをシグネチャ・マッチングと言います。前述のセキュリティソリューションも、FWを除き基本的にシグネチャ・マッチング技術を使用しています。既知の攻撃や不正なトラフィックを見分ける上では有効なのですが、設定されているシグネチャとマッチングして検知するという仕様上「既知」の脅威にしか対応できません。また、誤検知を防ぎ、新しい脆弱性や攻撃に対応していくには随時シグネチャを更新し、場合によってはカスタム・シグネチャを作成する必要があります。その上、最近の攻撃者はシグネチャを隠蔽する技術を持っているため、巧妙に偽装された既存の攻撃の亜種も検出できない場合があります。そうした未知の攻撃への対応という意味では、実は安心できる対策とは言えないのです。

サンドボックスの設置

サンドボックスとは砂場・砂箱といった意味ですが、IT分野ではシステム上に隔離して設けられたソフトウェアの実行環境のことを指します。サンドボックスを設けることで、不審なファイルを隔離した上で検証することが可能になります。
サンドボックスで挙動を確認することで、マルウェアや悪意のあるコードが仕込まれていた場合も、他のファイルやプログラムへの感染や破壊を防ぐことが可能です。安全な環境で実際に挙動を確認するため、未知の攻撃にも対応できるというメリットがあり、基本的に既知の攻撃にしか対応できないシグネチャマッチング方式のセキュリティソリューションの弱点をカバーすることができるといえます。

EDR(エンドポイントでの検知と対応)の導入

ゼロデイ攻撃の対策としては、サーバにセキュリティソリューションを導入するだけでなく、ネットワークにつながっているユーザのPCやスマートフォンといった「エンドポイント」を監視することも有効です。
EDR(Endpoint Detection and Response)とは、アンチウイルスのような感染を防ぐための従来のエンドポイントセキュリティと異なり、端末のログやプロセスを監視することで不審な挙動を検知することに長けたソリューションです。サイバー攻撃が高度化した現在、マルウェアへの侵入や感染を完璧に防ぐのは難しいと言われており、万が一侵入されてしまったとしてもEDRによっていち早く検知し除去することで事態の深刻化を防ぐことができるのです。

ゼロデイ攻撃対策の課題とは

こうした一般的に講じられるセキュリティ対策は、いずれも「既知の情報」を元にしたものであり、「ゼロデイ攻撃」に対する有効な対策とは言えません。攻撃者との情報・技術格差を埋める決定打にはなりにくく、攻撃者の先手を取って防御することはほぼ不可能だと言えるでしょう。一般に、ゼロデイ攻撃が発見されてからその対応パッチがリリースされるまでには数ヶ月を要し、個別にカスタム・シグネチャを作って対応するとしても、脆弱性の詳細・攻撃方法などの情報を収集し、検証を行う高度なスキルが必要です。いずれにしても対処が完了するまでの期間、システムは危険な状態のまま晒されてしまうことになります。

そもそも、あらゆるサイバー攻撃の根底には「攻撃側は一度でも侵入が成功すれば良いが、防御側は一度の失敗(=侵入)も許されない」という非対称性があります。攻撃者は防御側の対策を分析しながら試行錯誤を繰り返し、ただ一度の成功に全力を尽くすため、中長期的に見れば圧倒的に有利なのです。また、システムの規模が大きくなるほどに、セキュリティ関連の作業(脆弱性情報のチェックやそれに応じたアップデート対応・ログ収集と分析・セキュリティイベントのチェックなど)は膨大となります。特にITセキュリティ人材の不足が叫ばれる日本では、こうしたセキュリティ関連作業に従事する専任人材の確保が難しいこともあり、もはや人力でのサイバー攻撃対策には限界がきていると言わざるを得ません。

ゼロデイ攻撃のリスクを低減する
AIセキュリティソリューション」

以上のことから、ゼロデイ攻撃を人の手だけで防ぐことは、情報量・技術力・人的リソースなどの観点からほぼ不可能に近く、これまでとは異なるアプローチが必要だと考えられています。そこで注目すべきが「AIを活用したセキュリティソリューション」です。ここでは、AIエンジンを搭載したセキュリティソリューション「CloudCoffer(クラウドコッファー)」を紹介します。

■CloudCofferとは

CloudCofferは、カーネギーメロン大学CyLabのAI技術を用いて開発されたゲートウェイ型セキュリティ製品です。AIを用いることで既存のWAFやIPSなどでは防御が困難だったゼロデイ型の攻撃や、既知の攻撃の亜種、難読化されたマルウェアなどの検知・遮断に優れています。CloudCofferが行うアプリケーショントラフィックデータの分析は、既知のデータを元にするだけではなく、AIによる予測が含まれるため、未知の脅威に対しても効果が見込めます。

CloudCofferに搭載されたAIエンジンは、インターネット上に配置された 16 万以上のハニーポット(※1)から得られた膨大な攻撃サンプルを用いて、専任のAIトレーナーが学習を施したものです。さらに、250 名に及ぶホワイトハッカーによる疑似攻撃や先進的な脆弱性診断ツールによって鍛え上げられており、学習に使われた攻撃を正しく判別することが確認されています。AIを使用するメリットとして、既知の脅威との類似性を認識し、亜種を見つけ出すことができるという点があります。既存の脆弱性や攻撃パターンを元に、どのような発展形に成長するか、どのような偽装が行われるかを推測することが可能です。つまり「攻撃者に近いレベルの情報を持ち、自動的に防御策を講じる」という新しい防御策を可能にするソリューションなのです。

※1 ハニーポット:不正なアクセスを誘いだし、攻撃者の行動パターンなどの収集を行うシステム・ネットワークのこと

まとめ

本稿では、ゼロデイ攻撃の概要やリスク、実例などをもとに、それに対する新しいセキュリティソリューションの解説を行いました。ゼロデイ攻撃の本質は「攻撃者と防御側の情報格差」にあります。どれほど手間とコストをかけて対策を講じようとも、攻撃を受けてしまった「事後」では手遅れなのです。サイバー攻撃が高度化する現代においては、単純に既知の情報を参照する対策だけでは不十分です。AIセキュリティソリューションのように、未知のリスクを予測できる対策の導入を検討すべきではないでしょうか。

ベアメタルクラウドは、CloudCoffer on Cloudのプラットフォームとして選定されました。詳しくはリリースをご覧ください。