ゼロデイ攻撃・ゼロデイ脆弱性とは?その手口と被害対策
ゼロデイ攻撃とはセキュリティホールの欠陥(ゼロデイ脆弱性)が発見されて、それに対する修正がおこなわれる前におこなわれるサイバー攻撃です。
脆弱性が見つかって修正がされるまでは、攻撃を防ぐ事・攻撃を察知する事もできない最も深刻な脅威と言えます。
できるだけ攻撃を察知できる様ソフトウェアのバージョンアップはこまめに行い、不審な動きを察知するシステムを導入するようにしましょう。
ゼロデイ攻撃とは
OSやアプリケーションなどのソフトウェアは、常に新たな脆弱性(セキュリティホール)が発見されます。
常に発生するのには主に以下2つの原因があります。
・新しい機能やセキュリティ対策のためのバージョンアップや改変による
・潜在的な脆弱性が存在し、まだ誰も気づいてない
スピード勝負のサイバー攻撃
「ゼロデイ攻撃」とはこの発見された脆弱性に対して、公表および修正プログラムが提供される「前」に行われるサイバー攻撃のことです。
このサイバー攻撃は対策が取られた後では効果が無いため、対策されるより前にスピーディーに行われます。
初日1dayの前なので「0day」
対策を取られる日が初日の1日目(ワンデイ)とカウントされるとすると、その前の0日目の攻撃という事で「ゼロデイ攻撃」と呼ばれているのです。
ゼロデイ脆弱性とは
「ゼロデイ脆弱性」とは、先述したOSやアプリケーション等のソフトウェアに存在するセキュリティ上の欠陥の事です。
そしてまだ修正の対策が取られておらず、脆弱なままの状態を指します。
まだ未対応であるが故に、この脆弱性を攻撃されるとサーバーに格納されている個人情報が盗まれたりPCが乗っ取られたりしてしまいます。
公開後に発見されるリスクは避けられない
この欠陥がソフトウエア提供前に発見されていれば、提供前に修正をおこなえばそれで済みます。
しかしセキュリティ上の欠陥は提供後もどんどん見つかる場合があります。
公開前にどんなに準備をしていても、一般公開されて世界中のユーザーに利用されてみないとわからない事もあるのですね。
ですので稼働開始後にこの脆弱性が発見されれば、そのソフトウェアの提供元が対策用の修正パッチ(アップデート)を配布して対応します。
修正データを反映させるまで脆弱性が無防備
ただし提供元による修正データが配布されるまでの間、この脅威に対してほぼ無防備な状態になります。
つまり世界中の利用ユーザーが一定の期間の間、無防備な状態にさらされてしまう事になるのです。
この間の脅威にさらされたままの状態を「ゼロデイ脆弱性」と呼び、この間に行われる攻撃をゼロデイ攻撃と呼ぶのです。
ゼロデイ攻撃は「最も深刻な脅威」
この脆弱性が発見されて、その部分修正するためのアップデートを配布する場合、内容によってはそれなりに時間が掛かります。
配布されるまでの間、応急対応をしようにもカバーできる訳がありません。
どのような脅威なのか、あるいは対応策など全てが明確にならない期間を過ごす事になります。
敵がわからない・攻撃がわからない状態
全てが判明しないという事はその間に何が起こるかわからない、つまりどのような被害に遭うかがわからないのです。
どのように突いてくるかもわからず、今まで受けた事のない攻撃となる可能性もあります。
ですのでゼロデイ攻撃は、あまたあるサイバー攻撃の中でもっとも深刻な脅威であるとされています。
ゼロデイ脆弱性が非常に危険な脅威である理由
これには主に以下の2つの理由があります。
・攻撃を検知することが難しい
・攻撃を防ぐことが難しい
攻撃の検知ができない
基本的には提供元による修正プログラムが提供されて初めて、セキュリティ対策側も初動対応、つまり「攻撃の検知」ができるようになります。
コロナウイルスと同じように、相手の研究が進めば何をされるのかもわかってきますよね。
逆に言えば、攻撃相手の様相がわかるまではどのような攻撃かもわからないと言えます。
ですので修正プログラムが提供される前の段階では、残念ながら「攻撃を防ぐ」事はもちろんの事「攻撃されたことを知る」事もできない場合があるのです。
ゼロデイ脆弱性への対応というのは決して簡単ではないのです。
脆弱性への対応のタイムラグ
特にOSやアプリケーションの提供元が知らない未知の脆弱性があった場合、攻撃者にとって格好の標的になってしまいます。
この脆弱性が発見された際一般的には次のような流れで対策が取られます。
・脆弱性が見つかる
・提供元が修正プログラムを作る
・修正プログラムが配布される
・ユーザーが修正プログラムを適用する
しかし修正プログラムを作って配布するまでには必ずタイムラグが生じます。
各工程間のタイムラグ
・脆弱性が見つかるまでの間
↓(脅威)
・脆弱性が見つかって修正プログラムが作られるまでの間
↓(脅威)
・修正プログラムが作られて、修正プログラムが配布されるまでの間
↓(脅威)
・修正プログラムが配布されてユーザーが修正プログラムを適用するまでの間
このように各工程間で必ず一定の時間が掛かります。
特に修正プログラムを作るのが簡単でなかった場合は、その間のタイムラグが長くなりがちです。
そして配布されてもそれが浸透するまでにもある程度時間が掛かります。
誰がその脆弱性を発見するのかによって違う
このOSやアプリケーションの脆弱性は必ずしも提供元が発見するとは限りません。
攻撃者が最初に発見する場合も大いにあります。
攻撃者が発見者だったらやりたい放題
もし最初にゼロデイ脆弱性を見つけたのが攻撃者だった場合、先手を打たれて全く無防備なソフトウェアはその攻撃者に好き勝手に攻撃されてしまいます。
提供元がその脆弱性に気づいた時には既に大きな被害が出た後だったという事になりかねません。
公表後も危険
そして脆弱性が発覚し、提供元を含め多くの人に公表されたとしても油断はできません。
例え「利用を止めて下さい」とアナウンスしても、その通知が届かない・守らないユーザーは一定以上います。
公表されるという事は他の攻撃者にも一斉に知れ渡る訳ですから、複数の攻撃者からターゲットにされやすいと言えるでしょう。
修正プログラムが作られて配布されるまでに時間がかかれば、やはりその間にゼロデイ攻撃が行われる可能性があるのです。
常に攻撃者は脆弱性を探していますし、提供元やセキュリティ対策会社側も脆弱性がないかどうか調べているのです。
脆弱性の危険度・深刻度にも影響する
その提供元も把握していない「未知の脆弱性」が発見されるとしても、その度合いにも寄ります。
簡単な他愛のない物ならばいいですが、最も危険度の高いゼロデイ脆弱性であった場合はどうでしょうか。
それ専用に作成された「未知のマルウェア」による攻撃が実行されれば、ユーザーはなす術なく感染・乗っ取りに遭ってしまいます。
そうなると被害が急速に拡大してしまい、対応が後手に回ってしまいます。
ゼロデイ攻撃による被害の実例
実際に被害にあった主な事件を時系列でご紹介します。
2014年4月:ハートブリード攻撃
国内の大手信販会社がゼロデイ攻撃されました。
SSL暗号化通信ソフト「OpenSSL」の脆弱性を悪用する「ハートブリード攻撃」によるものです。
2012年から存在していたこの脆弱性により894人のWEB会員の個人情報が流出したとされています。
対策前の攻撃ではないという主張
攻撃された企業は、この脆弱性に対する修正パッチが公開された直後に不正アクセスを検知していたという事で、厳密にはゼロデイ攻撃ではないとしています。
2014年:シェルショック事件
レンタルサーバー「Linux」のシェル部分の脆弱性を突いた攻撃です。
多くのサーバーが遠隔リモートを受けてしまう危険性を示唆され、警視庁からも注意が呼びかけられるなど大きな騒ぎとなりました。
2015年:Adobe Flash Playerの脆弱性攻撃
「Adobe Flash Player」の脆弱性を突き、Flashコンテンツを読み込む際に故意に悪意のあるプログラムをダウンロードさせられるという被害が報告されています。
当時は他にも多くの脆弱性事例が報告され、より警戒が強まりました。
Flashがスマホに採用されなかった致命的な欠点
このセキュリティホールの存在が、FlashがiPhoneなどのスマホ端末に導入されなかった理由の一つとされています。
2017年4月:Office・WordPadの脆弱性攻撃
Microsoft社が月例セキュリティ更新プログラムを公開しました。
この更新プログラムで修正されたOffice・WordPadに脆弱性があり、それを突いたRTF形式文書ファイルが登場します。
メール一斉送信された悪意スクリプトファイル
ファイルは開封すると組み込まれたスクリプトが実行される危険性があるものでした。
4月10日から12日にかけてこの文書がメールに添付され、80万通以上不特定多数のユーザーに送信がされています。
2019年3月:Google Chromeへのゼロデイ攻撃
GoogleはGoogle Chromeに危険度「高」の脆弱性があることを発表し、即座に修正パッチを公開していました。
しかしその間にゼロデイ脆弱性を突く攻撃の可能性があったとも公表しています。
この脆弱性は即更新を行わないとPCを不正にコントロールされてしまう程、危険性の高いものでした。
2019年5月:IE(Internet Explorer)ゼロデイ脆弱性
この脆弱性を利用した攻撃で、PC内に保存されているローカルファイルを窃取されるなど重大な被害がもたらされる可能性がありました。
MS側「単体ではあり得ない」
ただしMicrosoft側はInternet Explorer単体でゼロデイ攻撃が行われることはあり得ないとしています。
フィッシングメールなどによってマルウェアをダウンロードされる事も条件として必要だと主張しました。
2019年6月:Firefoxの脆弱性を突いたゼロデイ攻撃
米国の暗号資産取引所「Coinbase」がサイバー攻撃を受けました。
この攻撃は大学関係者になりすました標的型攻撃メールと、ブラウザ「Firefox」の脆弱性を突いたゼロデイ攻撃の組み合わせによるものとされています。
迅速な対応で実害無し
「Coinbase」の迅速な対応もあり実害はありませんでした。
しかしWEBブラウザの脆弱性が深刻なセキュリティホールとなり得ることが改めて示されました。
攻撃を受けると実質被害・信用被害など広範囲におよぶ
ゼロデイ攻撃の被害にあうと、他のサイバー攻撃と同様で不正アクセスやフィッシング詐欺など様々な被害が起こります。
・金銭的被害
・データ資産の流出
・業務上の損失
・社会的信用の失墜
社会的な信用は復旧に時間がかかる
金銭的な被害は何とかリカバリーできても、社会的な信用を失うとそれを取り戻す事は非常に困難です。
実際にFlashがスマホに採用されなかったのはこの脆弱性によるものです。
欠陥があった事は事実ですが信用を失った事の方が深刻だったと言えます。
結果Flashは復活を遂げること無く、2020年にFlashは終了する事になります。
2次被害の拠点にされる
自分のPCが攻撃され感染してしまうと、他の関係者のPCを攻撃する中継拠点にされてしまうなど、さらなる二次被害を与えてしまう恐れがあります。
自分のPCが動かなくなるよりも、被害が拡大してより深刻な状態になってしまいますよね。
ゼロデイ攻撃への対策
相手の様相がわからないため阻止しずらいゼロデイ攻撃ですが、事前にできる対策は常に万全にしておくべきです。
ソフトウェアのアップデート
ゼロデイ攻撃を回避する上で重要なのは、まずは各種ソフトウェアを最新のバージョンに保つ事です。
攻撃トリガーにされやすいWEBブラウザはもちろん、WindowsやMacなどのOSの更新はきちんと行いましょう。
まだWin7を使っていませんか?
サポートが切れたWindows7をまだ使っている人は早めにWin10へとバージョンをあげるべきです。
諸事情があるとは思いますが、できるだけ早くWin10への移行をお勧めします
情報取得と適用はスピード命
また企業のセキュリティ担当者は、ソフトウェア提供元から受ける修正パッチ情報をいち早くキャッチして社内PCに適用させましょう。
修正パッチがあるのに適用していないのは「修正パッチが無い」との同じです。
スピード命です、遅ければ攻撃を受けてしまう可能性があります。
Wordpressのバージョンも同様です
Wordpressも同様にバージョンはきちんと上げていきましょう。
全世界の3割のWEBサイトがWordpressサイトであるという現実もあり、常に攻撃者はWordpressの脆弱性は狙っています。
これだけのユーザーがいるのですから公表スピード・反応スピードも迅速かも知れませんが、油断は禁物です。
あなたは常にWordpressの脆弱性に気を払っていますか?普通はそれ程気にしませんよね。
その油断に付け込むのです。バージョンアップは確実に行いましょう。
ホワイトリスト式セキュリティの使用
企業のセキュリティ対策として有効なのが「ホワイトリスト式セキュリティ」です。
これは事前に安全だと判断された特定のソフトウェア(ホワイトリスト)のみが起動・利用できるようになるセキュリティです。
これによりゼロデイ攻撃の多くを未然に防ぐ事ができますね。
フィルタリングサービス利用される
ホワイトリスト方式が使われている身近な例の一つに、携帯事業者の提供するフィルタリングサービスがあります。
例えば保護者が子どもにスマホを所持させる場合、ホワイトリストを元に適切なサイトと判断されているサイトのみスマホで閲覧可能にできます。
ホワイトリスト方式で特定の安全なサイトだけをフィルタリングし、それ以外のサイトへのアクセスはブロックする訳です。
ブラックリスト方式もある
一方ブラックリスト方式では特定の有害なサイトをブロック指定し、その他のサイトへのアクセスを許可します。
法人企業では会社が従業員に貸与するPCのアクセス制限のためにこのブラックリストを利用する事があります。
※もちろん完ぺきではないと思います。
サンドボックスの使用
サンドボックスとはPC内に作成された「あえて攻撃されても良いゾーン」を指します。
事前に検査したいプログラムがある時、コンピューター上でこの安全な仮想環境を設けて、その中でプログラムを動作させて分析をします。
サンドボックス内は安全なので、もし実行されたプログラムが悪意のあるものだったとしても、コンピューターの安全は保たれます。
安全な仮想領域内で悪意あるプログラムを事前診断
セキュリティ対策ソフトにこのサンドボックス機能は組み込まれています。
例えばメールに記載されていたURLへのアクセスや、添付ファイルの実行はこのサンドボックス内でおこなえます。
この中でシステムのファイル変更を強制したり、不正な外部通信をしようとする様な悪意のあるプログラムでないかどうかをチェックするのです。
セキュリティ対策ソフトはサンドボックス内で実行されたプログラムがそのような不審な動きを検知した時に、そのプログラムに悪意があると判断します。
ただしプログラム側もサンドボックス環境を読み取ってすり抜ける仕組みを持つものも現れました。まさにイタチごっこですね。
多層防御
サイバー攻撃対策においては多層防御を敷くことが大切だとされています。
それはどんなに強固なものでも「突破できないセキュリティはない」という考えがベースになっていますね。
実るほど首を垂れる稲穂かな状態ですね。
防御を何重にも重ねておけば、仮に1つ目のセキュリティが突破されても、2つ目・3つ目のセキュリティがせき止めてくれる可能性があります。
ゼロデイ攻撃においても、この多層防御の有無で被害の度合いが変わるとされています。
EDR導入
EDR(Endpoint Detection and Response)を導入すると、従来型のエンドポイント対策では検知できない不審な挙動の検知が可能です。
EDRはもともと不正な挙動の検知やマルウェア感染後の対応や復旧を迅速に行うための製品です。
監視対象のエンドポイント(PCやサーバー)に専用のエージェントソフトウェアを導入する事で利用できます。
エンドポイントのログデータを常時取得してサーバー上に集約し、まとめて分析処理が行われます。
ここでもし疑わしい挙動が検知された場合、その旨をすぐに管理者に通知する仕組みです。
ゼロデイ攻撃などのセキュリティ侵害をいち早く検知・可視化することによって、迅速に侵害後の対応を図り、被害を最小限に抑える効果があります。
ネットワークファイヤーウォール
さらにはネットワーク経由での攻撃を回避するため
・不正アクセスを検知するIDS(Intrusion Detection System)
・不正アクセスを防止するIPS(Intrusion Prevention System)
等のファイアーウォールをサーバーへ導入する方法も考えられます。
まとめ
以上、ゼロデイ攻撃およびゼロデイ脆弱性についておさらいをしました。
ソフトウェアに脆弱性がある限り、悪意をもった攻撃者は日々ソフトウェアの脆弱性を探し続けます。
そして対策がおこなわれる前にいち早く脆弱性を突いた様々なマルウェアを作成して攻撃を行ってきます。
ゼロデイ脆弱性の「修正に必要な期間」や「脆弱性の内容」「誰が気づくか」によって被害状況が違ってくる変わったサイバー攻撃と言えるでしょうか。
このようなゼロデイ攻撃による未知の脅威がある事を知り、サイバー攻撃の被害を受けないよう前もって備えておくことが大切です。