本ブログ記事は、2021年11月4日に米国で公開されたBlackBerryのブログ記事の抄訳版です。原文はこちらからご覧頂けます。
概要
Karma は即効性のあるランサムウェアであり、侵害したマシンのデータを素早く暗号化するように設計されています。2021 年半ばに出現した当初は ChaCha20 として知られるストリーム暗号が使用されていましたが、最近のサンプルではこれが Salsa20 に置き換わっており、マルウェアが今なお開発中であることを示唆しています。
Karma ランサムウェアグループは、Onion ページによってホストされるリークサイト「Karma Leaks」を開設しています。このサイトでは、組織のネットワークに侵入してランサムウェアを展開することをほのめかすブログ形式の投稿が見られます。これは、グループが身代金の金額を設定するにあたって被害者のデータの価値をより良く理解するための手法です。このサイトは二重脅迫の手段としても利用されており、被害を受けた組織が身代金の支払いを拒否するか、あるいは支払いを期日内に行わなかった場合、組織のデータが公開されます。
2021 年 10 月、Karma ランサムウェアは複数回にわたって修正され、サンプルサイズの縮小や暗号化ルーチンの変更など、急速な進化を遂げました。最新バージョンのランサムウェアによって暗号化されるファイルには、旧バージョンで使われていたファイル拡張子「.KARMA」の代わりに「.KARMA_V2」が付加されます。
オペレーティングシステム
リスクと影響
技術的解析
感染経路
Karma ランサムウェアの感染経路は明らかになっていませんが、この脅威グループが被害者に対して行った偵察行為に関する初期調査結果から、その経路は多岐にわたると考えられます。いったん足場を確立すると、グループはおそらく横展開して価値のあるデータを持ち出そうと試みています。そして偵察と情報窃取が完了すると、Karma ランサムウェアを実行し、侵害した被害者のシステムを暗号化します。
ファイルの解析
ランサムウェアのファイル自体は小さく、サンプルのサイズは 15 KB から 130 KB です。しかしその小ささとは裏腹に、実際に確認されたいずれのサンプルでもソフトウェアパッカーは使用されていませんでした。これらのサンプルはすべて Windows® の 32 ビット Portable Executable(PE)ファイルで、コンパイル時のタイムスタンプは 2021 年、コンパイラは Microsoft® Visual C++ でした。
Karma のサンプルのほとんどはデジタル証明書を持たない未署名のものでしたが、既知のサンプルのうち少なくとも 1 つには、まだ失効していないデジタル署名が含まれていました。
図 1:Karma_V2 サンプルの静的情報
すでに述べたように、Karma は今なお開発中のようです。BlackBerry はこれまで、初期のサンプルから KARMA_V2 に至るまで、Karma が明らかに幅広い進化を遂げていることを確認してきました。解析対象の Karma のサンプルは短期間のうちに段階的に小さくなり、暗号化ルーチンが変更され、より複雑になっています。
Karma の初期のサンプルでは、暗号化中にコンソール画面がポップアップしていました。つまり、注意力の高いユーザーであれば、すべてのデータが暗号化される前にプロセスを終了させようとすることも可能でした。しかし、このマルウェアの暗号化ルーチンの速度を考えると、データが一切損なわれずに済むほど迅速に行動するのは困難だったと思われます。
図 2:初期の Karma に見られるコンソール画面
より新しいサンプルには Karma_V2 という静的文字列が含まれています。これらのサンプルは以前のバージョンと多くの共通点を持っていますが、初期に被害者のデバイス上で表示されていたコンソール画面は見えなくなっています。暗号化の速度と方式は変わっていないようです。
Karma のミューテックス
Karma_V2 は元のバージョンと同じく、最初に「KARMA」というミューテックスを作成します。このミューテックスは、ランサムウェアのインスタンスがすでに実行されている場合に別のインスタンスの実行を防ぐ措置として機能します。これはおそらく再感染を防ぐためと、ランサムウェアが誤って 2 回実行された場合に起こり得る二重暗号化を防ぐために使用されています。
システム上でランサムウェアが 2 回実行されると、二重に暗号化されたデータは壊れて復旧不可能になる可能性があります。これでは、ユーザーデータの復号と復旧のために支払いを要求するというマルウェアの目的が果たせません。
図 3:ミューテックス「KARMA」の作成
Karma の実行には crypt32.dll が必要です。このダイナミックリンクライブラリ(.DLL)は、Windows の CryptoAPI で暗号化通信や認証機能を実装するために使われるネイティブモジュールであり、Karma では暗号化の際に使用されます。
図 4:crypt32.dll のロード
マルウェアは DLL をロードした後、被害者のデバイスに接続されており、かつ利用可能なすべてのドライブを走査します。論理ドライブを認識してドライブの検証が済むと、その内容を暗号化しようと試みます。
暗号化
Karma のサンプルのすべてが同じ目的を持っているわけではありません。サンプルの動作は同じでも、対象とするファイルやフォルダーが異なる場合があります。
Karma のサンプルでは、暗号化から除外するファイル拡張子やフォルダーに違いが見られます。この情報はマルウェアの内部に静的にハードコードされ、各サンプルの .rdata セクションに格納されています。
図 6:マルウェアが実行時に除外項目を参照している様子
これらの除外項目は、Windows のコアおよび重要コンポーネントを誤って暗号化しないようにするために用意されていると考えられます。
図 7:ファイル拡張子の除外リスト
KARMA (ChaCha20)
SHA1: |
a9367f36c1d2d0eb179fd27814a7ab2deba70197
|
ファイルサイズ: |
127 KB |
除外される拡張子: |
|
除外されるフォルダー: |
|
暗号化済みファイルの拡張子: |
.KARMA |
脅迫状: |
KARMA-AGREE.txt |
KARMA (Salsa20)
SHA1: |
08f1ef785d59b4822811efbc06a94df16b72fea3 |
ファイルサイズ: |
19 KB |
除外される拡張子: |
|
除外されるフォルダー: |
|
暗号化済みファイルの拡張子: |
KARMA |
脅迫状: |
KARMA_ENCRYPTED.txt |
KARMA_V2
SHA1: |
338cff5f17663b7552fb0d687d3b67e9b47fca95 |
ファイルサイズ: |
18 KB |
除外される拡張子: |
|
除外されるフォルダー: |
|
暗号化済みファイルの拡張子: |
KARMA_V2 |
脅迫状: |
KARMA_V2_ENCRYPTED.txt |
ファイルがマルウェアの暗号化ルーチンで処理され、ファイル拡張子が付加されると、そのファイルには暗号化が成功したことを示す以下の 8 バイトのデータが追記されます。
図 8:Karma_V2 によって暗号化されたファイル
壁紙の変更
これまでに解析した Karma ランサムウェアのすべてのサンプルでは、暗号化の完了後に「background.jpg」というファイルが作成されています。このファイルは実行時に生成され、%Temp% ディレクトリに保存されます。
図 9:「background.jpg」の生成
マルウェアが暗号化を終えると、被害者のデスクトップ画像が以下のように変更されます。
図 10:Karma の被害を受けたシステム
脅迫状
図 11:Karma の脅迫状の例
Karma の脅迫状にはいくつかの違いが見られますが、形式はどのバージョンでも基本的に同じです。
通常、脅迫状の内容は Base64 でエンコードされており、ファイル内の静的文字列に格納されています。この内容はメモリ上にデコードされ、その後 KARMA-ENCRYPTED.txt または KARMA-AGREE.txt というテキストファイルに出力されます。脅迫状はマルウェアが暗号化したファイルを含むすべてのフォルダーに対して作成され、各フォルダー内に置かれます。
脅迫状には脅威アクターのリークサイトへの Onion リンクが含まれています。また、Karma の特定のサンプルごとに固有のメールアドレスも記載されています。
多くの場合、これらのアドレスは以下のメールサービスのうち少なくとも 1 つを含むというパターンに従っています。
- OnionMail
- Tutanota
- ProtonMail
リークサイト
他の有力ランサムウェアの脅威アクターは、悪意のあるコードを RaaS(Ransomware-as-a-Service)として別の脅威アクターに販売していることが確認されています。その一方で、Karma は作成者によってのみ使用されているようです。
Karma の脅威アクターが 2021 年 5 月に Onion ページへの投稿を開始して以来、この簡易な WordPress サイトには、身代金の支払いを拒否した被害者の名前とデータが盛んに掲載されています。
図 12:記事執筆時点での「Karma Leaks」サイトの内容(編集済み)
2021 年 11 月の時点では、グループの要求を拒否したか、あるいは連絡を取らなかったためにデータを公開された 4 つの被害組織のデータがサイトに掲載されています。図 12 に示した各投稿には、脅威アクターによって窃取された機密情報のダウンロードリンクが複数含まれています。このサイトでは、身代金を支払えばこれらの「二重脅迫」の投稿が削除されることが示唆されています。つまり、Karma の被害者数は実際にはさらに多い可能性があるということです。
Karma ランサムウェアグループは、大規模な多国籍企業、特に従業員が 1,000 人以上で収益が 10 億ドル規模の企業を標的にする傾向があるようです。
図 13:Karma のリークサイトの「About」ページ
Karma のサイトにはブログ形式の投稿がいくつかあり、近日中にデータを公開する予定の被害者についてや、グループに連絡を取るための他の方法について記載されています。図 13 に示したように、「About」ページにはいくつかの追加情報が掲載されています。
具体的な身代金の金額は脅迫状にもサイト上にも公開されていません。通常、ランサムウェアはファイルの復号に対し、被害者ごとに設定した金額か、あるいは一定額の支払いをすぐに要求します。
Karma ランサムウェアグループは RaaS モデルのサービスを介さず組織に侵入していると考えられるため、身代金の金額はランサムウェアがもたらす被害だけで決まるのではなく、被害者の支払い能力や被害データの重要度によっても変わる可能性があります。
まとめ
Karma ランサムウェアの活動は進化が著しく、また容赦のないものです。Karma は他に知られているランサムウェアファミリーと多くの共通点を持っていますが、開発が速く技術の進歩も目覚ましいため、このマルウェアとその背後の脅威アクターは極めて危険な存在であると言えます。二重脅迫の手段として利用されている「Karma Leaks」からは、支払いに応じない被害者をさらし者にしようとする脅威グループの意思が読み取れます。
「Karma Leaks」の投稿と KARMA_V2 の開発状況から、この脅威アクターは活動をさらに活発化させており、次に標的とする大規模な組織を積極的に探していると考えられます。
YARA ルール
以下の YARA ルールは、この記事で説明した脅威を捕捉するために BlackBerry の Research & Intelligence Team が作成しました。
import "pe" rule Mal_Ransom_Win32_Karma_2021 strings: condition: //PE File //Base64 Karma Note //All Strings |
侵入の痕跡(IOC)
Ransom Note: Encrypted Files: Mutex: Malware Digital Cert: Payment Email IoC’s: SHA256: KARMA |
BlackBerry によるサポート
もし Karma ランサムウェアのような脅威にさらされているなら、BlackBerry にお任せください。現在 BlackBerry 製品を利用していなくても問題ありません。
BlackBerry のインシデント対応チームは、世界的に活躍するコンサルタントから構成され、ランサムウェアや持続的標的型攻撃(APT)など、さまざまなインシデントへの対応と封じ込めのサービスを専門としています。
弊社はグローバルコンサルティングチームを常に待機させており、ご希望があれば、24 時間サポートと現地支援を提供できます。次の URL からご相談ください。
https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
・お問い合わせ:https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
・イベント/セミナー情報:https://www.blackberry.com/ja/jp/events/jp-events-tradeshows
・BlackBerry Japan:https://www.blackberry.com/ja/jp