Bootkitty

BootkittyはUEFI bootkitです。
UEFIにいろいろなシステム要素が読み込まれる際に、あらかじめマルウェアを読み込んでしまっておけば、検出する機構もまだ動作する前なので悪事を検出されない、という作戦のマルウェアです。
これまでいくつものUEFI bootkitが登場してきています。
しかし、それらはこれまではWindows環境を想定したものでした。
今回注目しているBootkittyは想定環境がLinuxになっているという点が異なります。
Linux環境を想定したUEFI bootkitは1つ目ということになります。
どんな特徴があるでしょう。

  • 強制的な読み込み
    UEFI機構には読み込ませるモジュールを制限するための機構が搭載されています。
    このBootkittyはこれを回避します。
    UEFIセキュリティ認証プロトコルであるEFI_SECURITY2_ARCH_PROTOCOLとEFI_SECURITY_ARCH_PROTOCOLをフックし、セキュア ブートの整合性検証チェックをバイパスします。
    そして、セキュリティ ポリシーに関係なくブートキットが読み込まれるようにします。
  • GRUBの署名検証の回避
    現在利用されている多くのLinuxの起動にはGRUBが使用されます。
    そのGRUBに搭載されているバイナリのブートローダーの整合性チェックの機構をGRUBのなかの関数をフックすることで回避します。
  • kernel moduleの署名検証の回避
    さらに、通常では動作の期待できるものとしてkernelがkernel moduleを読み込む際に使用される署名検証機構も回避します。
    通常であれば、module_sig_check関数が署名を確認して判定結果を戻し、不正なものは読み込まない動きをできるのですが、Bootkittyの動作する環境においては、この判定結果が常に正常値を返すようになってしまいます。
    これにより、不正なモジュールも読み込ませてしまうことができる状態になります。
  • 共有オブジェクトの読み込み
    そして、さらにOSの起動時にマルウェアの指定する共有オブジェクトを読み込ませる設定を仕込んでしまいます。

これらの活動の組み合わせにより、Bootkittyは動作可能な状態となります。
これらの機能が整うと、このマルウェアは非常に強力なものとなりそうです。

現時点では開発段階にあるためか、いろいろな点が十分な状態になっていません。
特定のディストリビューションのみが対象で、さらに特定のGRUBのバージョンのみが対象の状態になっています。
各種機能もまだ実装中のためか、システムクラッシュとなってしまうことも多いようです。
しかし、開発が進めば、いずれこれらの問題は解消していってしまうでしょう。

Bootkittyの登場によって、UEFI bootkitはWindows環境においてだけ注意していればよい、という認識は過去のものとなってしまいました。
実施しなくてよい脅威対策などというものはない、ということなのかもしれません。

Bootkitty: Analyzing the first UEFI bootkit for Linux

https://www.welivesecurity.com/en/eset-research/bootkitty-analyzing-first-uefi-bootkit-linux/

一緒によく読まれている記事

最新の脅威情報
をお届け

BLOGブログ

情報セキュリティに対する啓蒙のため、
3つのメディアを運用し、
情報発信を行っています。

わたしたちはサイバー領域や
認知領域の未知なる脅威に、
テクノロジーとインテリジェンスで対抗します。

私たちが選ばれる理由

CONTACT リスクマネジメントサービスの
ご相談窓口

コンステラ セキュリティ ジャパンは
最先端のサービスを
お客様のニーズに
カスタマイズして提供し、
効果が出るまで寄り添います。