Albabat ランサムウェア
Albabat ランサムウェアは、2023年11月に初めて登場し、「Alba」がラテン語で「白い」を意味するため、英語圏では「WhiteBat」とも呼ばれるランサムウェアです。当初はバージョン0.1.0として発見されましたが、2023年12月下旬にはバージョン0.3.0、2024年1月中旬にはバージョン0.3.3がリリースされています。
このランサムウェアは主に、偽のWindows 10デジタルアクティベーションツールや「Counter-Strike 2」というゲームのチートプログラムといった不正プログラムとして配布されています。Windows 10デジタルアクティベーションツールは、PCのハードウェア変更などによってライセンス認証から外された場合に使うツールであり、チートプログラムはゲームプレイで「ズル」をするために使用されます。
Albabatランサムウェアのサンプルは、アルゼンチン、ブラジル、チェコ共和国、ドイツ、ハンガリー、カザフスタン、ロシア、米国などで検出されており、攻撃者がターゲットを選んで攻撃を仕掛けるフィッシングではなく、前述のような偽プログラムとして配布しているため、どの国のユーザーでも感染する危険性があります。
攻撃手法
Albabat ランサムウェアが配布・実行されると、まず暗号化対象となるファイルを探し始めます。暗号化されるファイルは5MB未満のものであり、OSの挙動に影響を与えるファイルも暗号化対象から除外されます。暗号化対象のファイルが決まると、それらのファイルを暗号化し、「.abbt」というファイル拡張子を付け、その後「Counter-Strike 2」のプログラムやOneDriveなど、複数のサービスを停止します。
さらに、バージョン0.3.0以降ではウォレットや各種設定ファイルを盗もうとし、バージョン0.3.3ではいくつかのWebサイトへのアクセスをブロックします。
そして、ランサムノート(README.html)などの複数のファイルを残し、以下のようにデスクトップの壁紙を変更します。
README.htmlの内容は、以下の通りです。被害者に対して電子メールを送るように指示し、ファイルを復号するために0.0015ビットコイン(2024年2月のレートで1万円強)を要求します。金額から、個人をターゲットにしているのではないかと推測できます。
翻訳先言語のデフォルトはポルトガル語ですが、このランサムノートにはGoogle翻訳サービスを使用するオプションがあるため、100以上の言語に翻訳可能です。また以下のような、FAQを表示するオプションも用意されています。
Rustがランサムウェア攻撃者にも好まれる理由
Albabat ランサムウェアは、他のランサムウェアと多くの共通点を持っていますが、中でも注目すべきポイントが「Rust」というプログラミング言語で開発されていることです。
Rustとは、著名なWebブラウザの1つである「Firefox」の開発元として知られる「Mozilla Foundation」が2009年から開発に関わり、2015年にバージョン1.0がリリースされた、比較的新しいプログラミング言語です。
登場以来、多くの開発者から注目されており、プログラミング関連のQ&Aサイトである「Stack Overflow」の調査では、2016年~2022年の7年間、「Loved(愛されている)」言語のトップに君臨しています。2023年の調査では「Loved」ではなく「Admired(称賛されている)」に変更されていますが、ここでも85%近くがRustを選択しており、実質8年連続で最も好まれている言語となっています。
Rustがこれだけ好まれる代表的な理由を以下に列挙します。
基本的な文法がC言語やC++に似ている
C言語はUNIXやLinuxで使われることの多い言語であり、その派生言語がC++です。C++は電子工作で使用されることの多い「Arduino」にも採用され、利用者の裾野がかなり広い言語です。
強力なメモリ管理機能を備えている
C言語やC++はきめ細かなハードウェアの操作が可能ですが、不適切なメモリ操作も可能なため、メモリ関連のバグが発生しやすいという弱点があります。これに対し、Rustには強力なメモリ管理機能が備わっているため、「メモリの安全性」を保証しやすいという利点があります。
実行時の処理速度が高速
これまで多くのマルウェア開発では、実行時に1行ずつ命令を解釈して実行する「インタプリタ」型のスクリプト言語が使用されていました。これに対して、Rustは、実行前にプログラム全体を機械レベルに近い言語に翻訳する「コンパイラ」型言語となっており、実行時の処理が極めて高速になっています。
C言語のような「低レベル(ハードウェアに近いレベル)の処理」が可能な一方、オブジェクト指向や関数型言語のような「抽象度の高い記述」も可能
抽象度の高い記述が可能であれば、より少ない行数でプログラムを記述でき、作成後のメンテナンスも容易になります。
開発者が使いやすいツールキットなどが用意されている
開発を効率的に行うには、このような周辺環境も重要となります。
これら、開発者にとってのRustのメリットはそのままランサムウェア開発者にとってもメリットです。特に実行時に高速処理できることは、短時間でファイル暗号化を行いたいランサムウェアにとって、大きな魅力です。同様の特徴は、第6回でも触れた「Go」というプログラミング言語にもあり、最近ではGoで開発されたランサムウェアが増えていますが、今後はRustで開発されたランサムウェアも増えていくと考えられます。
開発者にとって便利で生産性の高い言語やツール、サイバー犯罪者や攻撃者の武器にもなってしまうのです。
これらのランサムウェアについて、もっと詳しく知りたい方に
今回紹介したランサムウェアは、FortiGuard Labsが隔週で公開するブログシリーズ「Ransomware Roundup」から以下の記事を選定し、フォーティネットジャパンのスペシャリストが概要を平易に解説したものです。より詳細な技術情報は、以下のページを参照ください。
8baseランサムウェア
「Ransomware Roundup - 8base」(Shunichi Imano and Fred Gutierrez、2023年12月28日)
Albabatランサムウェア
「Ransomware Roundup - Albabat」(Shunichi Imano and Fred Gutierrez、2024年1月26日)
著者プロフィール
今野 俊一(フォーティネットジャパン 上級研究員)、Fred Gutierrez