ファームウェア・ベース Rootkit の危険性:MoonBounce を含む3つのマルウェアとは?

Researchers Discover Dangerous Firmware-Level Rootkit

2022/01/21 DarkReading — ファームウェア・ベースの Rootkit は、現時点では珍しいものであるが、標的となるネットワーク上で検出困難なかたちで持続性を維持する手段として、脅威アクターたちの間で注目を集めている。Kaspersky の研究者たちは、顧客のコンピュータの UEFI (Unified Extensible Firmware Interface) ファームウェアの深層で、このような脅威の最新サンプルを発見した。

MoonBounce と名付けられた、この不正なインプラントは、ハードディスク上で検出される他の UEFI ブートキットとは異なり、感染したコンピュータのマザーボード上の SPI フラッシュ・ストレージ内の、UEFI ファームウェアに仕込まれていた。Kaspersky によると、このインプラントは、ハードディスクのフォーマットや交換が行われても、システムに残存することが可能とのことだ。

このインプラントは、感染させたシステム上に、追加のマルウェアを展開できるように設計されている。同じシステム上に存在していた他のマルウェアの痕跡から、MoonBounce はより広範なサイバー・スパイ活動の一環として使用されていたことが判明した。Kaspersky の研究者たちは、中国語を話す APT (Advanced Persistent Threat) グループとして知られる、APT41 の犯行であると確信している。Kaspersky は、この脅威を 2021年末に発見し、APT 検出サービスの顧客に非公開で報告した。

Kaspersky Global Research and Analysis Team (GReAT) の Senior Security Researcher である Mark Lechtik は、「この知識がコミュニティで共有されることに価値があると考え、時間をおいて公表することにした。その目的は、UEFI ファームウェアへの攻撃が、どのように進化してきたかを理解することであり、また、この種の脅威に対して、ブルーチームによる防御力高めるためだ」と述べている。

最近のコンピュータは、起動時に UEFI ファームウェアを使用している。そのインターフェースには、コンピュータが OS をロードする際に使用する情報が含まれている。したがって、悪意のコードが含まれていると、OS が起動する前にマルウェアが実行されてしまうことになる。この事実により、UEFI ファームウェアは、マルウェア検出ツールからインプラントを隠し、感染したシステムに長期的な持続性を持たせようとする攻撃者にとって、極めて人気の高いターゲットになっている。

セキュリティ・ベンダーの ESET は、2018年に最初のファームウェア・レベルの Rootkit を発見し、LoJax と名付けた。このマルウェアは、MoonBounce と同様に、SPI フラッシュ上の UEFI ファームウェアに隠されていた。ロシアを拠点とする APT アクターの Sednit グループが、東欧などの政府組織に対するキャンペーンの一環として、標的にしていた組織のシステムで発見された。

それ以来、セキュリティ研究者たちは、同様の Rootkit をいくつか発見している。MoonBounce は、SPI フラッシュに悪意のファームウェアを埋め込んだものとしては、公に知られている3つ目の事例となる。2つめの事例は、Kaspersky が 2020年に発見した MosaicRegressor であり、アジア/ヨーロッパ/アフリカの外交官や非政府組織を標的としたキャンペーンに使用されていた。

SPI フラッシュ上のファームウェア・ベースの Rootkit に加えて、コンピュータのハード・ドライブに配置されている、いわゆる EFI システム・パーティション (ESP) 上の UEFI コンポーネントに存在するマルウェアも、研究者たちは発見している。

この種の Rootkit の例としては、Kaspersky が 2021年9月に報告した、高度に難読化された監視ツール FinSpy や、ESET が10月に報告した ESP 上の UEFI インプラント ESPectre などがある。

Kaspersky によると、SPI 上の UEFI ファームウェアへのインプラントは、ハードディスク上のファームウェア・ベースの Rootkit と比較して隠蔽性が高いとのことだ。また、通常はハードディスクを再フォーマットすることで消去できる、ESP レベルの Rootkit に比べて、消去するのが難しいという。

MoonBounce が LoJax や MosaicRegressor よりも洗練されているのは、良性の UEFI コンポーネントにバイナリ・レベルの変更を加えるという、非常に繊細な性質を持っているからだと、Kaspersky の Mark Lechtik は言う。この変更により、システムの起動時にマルウェアをロードするロジックが導入され、ブート・シーケンスはそのまま維持される。

彼は、「さらに特筆すべきは、ブートシーケンスのコンポーネントに対して、メモリ上でのみ変更を加え、それにより悪意のあるコードを OS に伝播させていることだ。つまり、ディスク上に痕跡を残さないことを意味しており、従来のものよりも遥かにステルス性の高い攻撃が可能になる」と付け加えている。

UEFI を改ざんした APT41 は、UEFI ブートシーケンスと、攻撃対象となるファームウェア・ベンダー固有の実装を、十分に理解している必要があったと、Mark Lechtik は言う。さらに、基盤となるハードウェア・プラットフォームが、ファームウェアへの書き込みを許可している必要があったが、ファームウェアに脆弱性が存在する場合には、それが起こり得る。

Mark Lechtik は、「今回のケースでは、両方の前提条件が、攻撃者により満たされていた。最も重要なのは、攻撃者が特定のファームウェアを完全に理解していたことであり、また、攻撃を受けたマシンに継続的にアクセスされていたことを示唆する」と述べている。

脅威への対応

2021年の調査では、83% の企業がファームウェア・レベルの攻撃を受けたことがあると回答している。そのため、チップ/ハードウェア/OS のベンダーたちは、この脅威に対するテクノロジー強化を導入している。その一例が、Secure Boot である。このテクノロジーは、信頼できる署名済みのブート・ソフトウェアのみを使用して、コンピューターを起動するように設計されている。他にも、攻撃者がブート・レベルのソフトウェアに不正な変更を加えるという、脅威に対抗するための Intel の Boot Guard がある。また、10年以上前のテクノロジーである TPM (Trusted Platform Module) により、起動時にシステムの整合性を確保することも可能だ。

ただし、Mark Lechtik は、「MoonBounce に対しては、Secure Bootのような仕組みは役に立たない。古典的な Secure Boot では、ブートシーケンスでコンポーネントを認証する際に、ファームウェア・レベルのコンポーネントを考慮していない。MoonBounce 自体は、この仕組みを回避するようなことはしていない。Secure Bootで検査されるイメージに変更を加えるのではなく、これらのイメージがロードされた後に、メモリに反映されるようにパッチを適用するだけだ。しかし、Boot Guard と TPM は、MoonBounce によるファームウェア・レベルの変更に対して、上手く対抗できるはずだ」と述べている。

UEFI って BIOS の後継なんですね。PC Information のサイトでは、「BIOS では OS のインストールデータが入る起動ディスクの容量は約 2TB までという制限があります」とか、「UEFI では、ハードウェア情報や設定項目が今風に並び、キーボードだけでなくマウスでの操作もできるように設定画面を作ることができます」とか、UEFI のメリットが説明されています。たしかに、ファームウェアは正しい方向へと進化しているようですが、サーバー攻撃/防御という観点では、マルウェアの隠れ場所が増えているという感じがします。保護する側での、情報の整理が必要ですね。

%d bloggers like this: