ファームウェアに潜むマルウェア

この記事をシェア

マスターブートレコード(MBR)に感染するマルウェア「ブートキット」は、OSの起動前に動作するため、非常に恐れられている。だが実害レベルではあまり具体的事例はなく、イメージばかりが先行してきた。しかし近年、ファームウェアに忍ばせる手口が現れたことにより、注意が求められている。

この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト「Welivesecurity」の記事を翻訳したものである。

ファームウェアに潜むマルウェア

ESETラボ(南米)ではサイバー脅威に関して、ランサムウェア、バンキングトロージャン(特にブラジル)、ボットネット、ワームなどに着目してきた。その結果、目立たないように活動している別のタイプの危険なマルウェアについては、あまり注目する機会がなかったのではないかと懸念される。ファームウェア向けのマルウェアや「ブートキット」(Bootkit)と言われるものが、そのよい例である。

ブートキットは、OSがロードされる前に実行され、OSのコンポーネントを標的にし、それらの挙動を変更するか破壊することを目的とした脅威である。システムブートの早い段階で実行されることで姿を隠しやすく、また執拗に感染を繰り返すとともに、ドライブの再フォーマットやOSの再インストール後も消えずに残ることを可能としている。

このタイプの脅威は、BIOS(基本入出力システム)やUEFI(Unified Extensible Firmware Interface)といったファームウェアをさまざまな方法で狙っている。幾つかの例を挙げると、ファームウェアの書き込み、アップグレード、脆弱性のエクスプロイトなどの方法が存在する。現在、UEFIを魅力的なプラットフォームにするはずの高度な機能が、より厳格に設計されていたBIOSの時代には存在しなかった脆弱性の存在を許している。例えば、カスタム実行可能ファイルを実行できる機能により、ウイルス対策ソフトまたはOSそのものが起動される前に実行されるマルウェアの存在を可能にしているのである。

これらの特徴は、高度な技術で脅威を与えようとする側からすると、高い関心が持たれている。1986年またはそれよりも以前からブートキットというものは存在してきた。にもかかわらずコンピューターユーザーは今、サイバー脅威側のスキルの進化により新たな挑戦と不安に対峙する必要に迫られているのである。

なぜブートキットについて心配すべきか

私たちがセキュリティについて考える際には、通常、リスクについて考慮する。リスクが発生確率と潜在的なインパクトにより構成されていることはよく知られている。ブートキットのインパクトは疑うことなく甚大であるが、そのような脅威に遭う確率についてはどうだろうか。

この質問に回答するには、2つの事項について考える必要がある。まず、ブートキットにより利益を得られる人物とシナリオを特定する必要がある。そして、それが将来的に多かれ少なかれ日常的に生じるものになるかどうかを考えてみる必要がある。同時に、これらの脅威を検知する私たちの能力を評価する必要がある。これらを考えなければ、発生確率が直感の域を超えることはない。

実行者とシナリオを特定すべく、過去を振り返って著名なブートキットの事例を見てみよう。タイムラインを見ると、この脅威は次第に頻繁に発生していることが分かる。

図1: 「UEFIファームウェアルートキット:神話と現実」の中で紹介されているBIOSルートキットの歴史

図1: 「UEFIファームウェアルートキット:神話と現実」の中で紹介されているBIOSルートキットの歴史

実際に出回った初のブートキットとして知られる「メブロミ」(Mebromi)には、BIOSルートキット、MBRルートキット、カーネルモード・ルートキット、PEファイル感染機能、トロイの木馬ダウンローダーが含まれており、システムがブートするたびに、不正侵入されたシステムが外部コンテンツをリクエストするよう動作する。そして、現実的にはありとあらゆるマルウェアをダウンロードできる。攻撃を成功させようとメブロミは、BIOSへのアクセス権限を取得するためにカーネルモードでコードをロードし、権限昇格を実施する。

興味深いことに、2014年の時点で出回っているほかのブートキットの大半は、直接的または間接的に政府へのクラッキングに密接に関与している。

NSA ANTカタログが暴露された2014年には「デイティバウンス」(DEITYBOUNCE)の存在が明らかになった。これは「Dell PowerEdgeサーバーのマザーボードBIOSをエクスプロイトし、システム管理モード(SMM)を利用してOSロード時に定期的に実行される」アプリケーションである。使い方はメブロミと同様であり、ペイロードをダウンロードしブートプロセス中にシステム上でそれを実行するというものである。

2015年には、ハッキングチーム(Hacking Team)の情報漏えい事件の後に「HT rkloader」の存在が明らかになった。NSAとは異なりハッキングチームは、政府機関ではない。しかし、攻撃性の高い侵入・監視機能を持つ商品をさまざまな国に販売していた。特に、HT rkloaderは世の中に出回った「UEFIルートキット」として最初に発見されたものである。

「シャドーブローカーズ」(Shadow Brokers)を名乗るグループが(NSAの)ハッカー集団エクエイショングループのツールを漏えいさせたことにより、ブートキットの存在がより着目されるようになったことは別に驚くに値しないだろう。漏えいしたツールのカタログの中には、幾つかの「インプラント」が含まれていた。そのうちの1つは「バナナバロット」(BANANABALLOT)であり、これはインプラント(おそらくバナナグリー)と関連付けられたBIOSモジュールである。も1つ「ジェットプロウ」(JETPLOW)というものが含まれており、これはCiscoのASAとPIXデバイスのファームウェアを標的とし、バナナグリーに対して攻撃をするインプラントである。

最後に、2017年になるとCIAに関する「Vault7」の暴露情報により、政府ツールもファームウェアを標的にしていたことが分かった。この攻撃は、Appleシステム上にUEFIコンポーネントをインストールするために「S3BootScript」の脆弱性を突くものであった。

これらは、主に大きなリーク事件があったおかげで私たちが偶然知ることができたブートキット例である。しかしこれらは、ファームウェアを標的とした高度な攻撃を攻撃者が好んで実施している現状を示している。

以上のことは、私たちの「通常の生活」にどのように影響するのだろうか。ここで私たちは過去を振り返り、自分たちが極めて不安定な土台の上に立っているということを認めなければならない。ランサムウェア「ワナクライ」(WannaCry、別名「ワナクリプター」(WannaCryptor))の大惨事は、高度なハッキングツールが悪者の手に渡ることで何が起こるかを示す好例である。

さらには、サプライチェーンを狙った攻撃も多数発生している。これにより、最終的な所有者が初めて利用するより前に、デバイスが感染してしまう可能性すらある。サプライチェーンを狙った攻撃は潜在的には多くのユーザーに悪影響を及ぼすが、すぐに検知されることがない。

そのため、隠れた感染を検知する能力を保持することは非常に重要である。この側面こそが、本投稿で議論したい第2の側面である。

私たちの防衛能力

セキュリティに関する間違った感覚ほど最悪で危険なことはない。スノーデンの情報漏えい事件と上述の事例は、ファームウェアを標的としたマルウェアの存在について、業界全体に警鐘を鳴らしている。

「ウイルストータル」(VirusTotal)は「ファームウェア・マルウェアにスポットライトを当てる」と題したブログ投稿で、「正当なものか、マルウェアであるものかにかかわらず、ファームウェアイメージの詳細を示す」新機能について紹介している。

図2: 「ウイルストータル」に表示される、BIOSイメージから抽出された追加情報

図2: 「ウイルストータル」に表示される、BIOSイメージから抽出された追加情報

ウイルストータルが新機能を発表した2016年1月27日の時点では、UEFIポータブル実行可能ファイルを分析のために抽出・アップロードすることは可能であった。ブログ投稿者によると、これらのファイルは「潜在的には不正な挙動の原点となる正確な実行可能コード」を保持しているとのことである。

これは、サイバー空間全体のセキュリティに対して非常に大きく貢献する。これにより、シンプルでよく知られている(ファームウェア)マルウェア分析インターフェースが利用可能になった。しかし、それが抱える大きな課題として、分析のためにアップロードする前にファームウェアを取得するプロセスが挙げられる。

ウイルストータルはこのタスクを実行するツール群を推薦しているが、これらはコンピューターの専門家を対象としており、そうでない人々には扱いにくい。さらには、それらのツール群は、攻撃を受ける箇所が拡大してしまったり、思いがけないエラーによりOSに障害を与えたりするなどの理由から、明確にテスト環境用に開発したものになっている。

図3: 推薦されているツール群のうちの1つ(チップセック(Chipsec))が出す警告メッセージ(https://github.com/chipsec/chipsec/blob/master/chipsec-manual.pdf)。テスト用システムのみで使用すべきと書かれている。

図3: 推薦されているツール群のうちの1つ(チップセック(Chipsec))が出す警告メッセージ)。テスト用システムのみで使用すべきと書かれている。

別の方法として、UEFIブートキットに対して新たに保護レイヤーを追加するセキュリティソリューションを選択するという方法もある。この方法の利点は、システムに何かリスクが生じるような追加ツールを用いずに、UEFIが有効化されているファームウェアをスキャンできる点である。そのため、ファームウェア内に潜んでいるマルウェアをスキャンするには、はるかに使いやすいものとなっている。

ファームウェアを標的として出回っている高度な脅威には、確かにいろいろと悩まされる。特にそれらが隠れたシステムで動作している点がとても悩ましい。それに加えこの種の(出回っている)マルウェアを検知することは難しく、多大な労力を要する(少し前までは検知することさえできなかった)。そして、多くの被害者に誤ったセキュリティ認識をさせることであろう。

しかし、どんなときにも希望はある。この、終わることのないゲームにより、私たち自身の防衛能力を高めていくべきである。

この記事をシェア

業務PCのセキュリティ対策に

サイバーセキュリティ
情報局の最新情報を
チェック!