ランサムウェアビジネスの観点から考えるSodinokibiとGandCrabの類似点
MaAfeeの調査機関 McAfee ATR(Advanced Threat Research) Lab より、Sodinokibiに関する調査記事が公開されました。
https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/mcafee-atr-analyzes-sodinokibi-aka-revil-ransomware-as-a-service-what-the-code-tells-us/securingtomorrow.mcafee.com
https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/mcafee-atr-analyzes-sodinokibi-aka-revil-ransomware-as-a-service-the-all-stars/securingtomorrow.mcafee.com
McAfee ATRでは、Sodinokibi(別名REvil)に関する調査内容を昨年流行したGandCrabとの関連性に言及しつつ、全4回に分けて記事を公開しました。
現在、Episode1「検体のコードや機能面での類似点」とEpisode2「RaaS運用モデルの類似点」が公開されています。
特に、Episode2が個人的には面白いと思ったので、感想を交えつつ、記事にしたためます。
目次
Sodinokibiに関するおさらい
- その後、RaaS(Ransomeware as a Service)の一端として、配布が確認され始めた
- 主な被害地域に日本も含まれている
参考:McAfee
- 検体実行後の大まかな流れ
参考:McAfee
コードから見るSodinokibiとGandCrab
リバースエンジニアリングツールのIDA Proおよびバイナリ比較ツールのBinDiffを用いて、SodinokibiとGandCrabの類似性を確認した結果が以下で、40%程度の類似性が確認されたとのことです。
参考:McAfee
BInDiffで可視化した結果からも分かる通り、確かに似ていますよね。
参考:McAfee
また、SodinokibiおよびGandCrabは、C2サーバへの通信を行う際、ランダムなURLを生成するのですが、その生成方法についても類似性があるとの言及しています。
参考:McAfee
RaaS(Ransomware-as-a-Service)としての比較
RaaSのビジネスモデルについて
まず、GandCrabのRaaSモデルとして、以下のような流れになります。
- 開発者がアフィリエイターと呼ばれる人たちにランサムウェアを提供する
- アフィリエイターはランサムウェアの拡散と感染拡大を目的とする
- 被害者が支払った額は開発者に支払われ、開発者はアフィリエイターに収入を分配する
この流れを表したのが以下の図です。
記事中でも言及されていますが、RaaSには攻撃者にとって、以下のメリットがあります。
- 開発者は自らが手を下さずともお金が勝手に入ってくる
- アフィリエイターは技術を要さずとも手軽に稼げる
このスキームで、そのとき最も効率よくお金を稼げるランサムウェアがRaaSとして採用されているとも言えます。
アフィリエイターへの還元方法
開発者がランサムウェアをアフィリエイターに渡しても、どのアフィリエイターが感染させたものか分からない!
そんな悩みを解消する鍵はマルウェアのソースコードにありました(笑)
GandCrabを例に挙げると、実は検体自体に以下のパラメータがハードコードされています。
- id
- アフィリエイターの識別id
- sub_id
- アフィリエイターのキャンペーン管理id
- version
- GandCrabのバージョン
ちなみに抽出した値を整理するとこんな感じだとのことで。
参考:McAfee
そして、sub_idはidに一意に紐付く一方で、idは様々なsub_idに結び付いていることから、idとsub_idには親子関係があると言えます。
これらのパラメータはGandCrabのバージョン4から付与されているのですが、GandCraberの皆さまお気づきの通り、バージョン4は大きな変化があったバージョンです。
というのも、バージョン4からWannaCry の感染拡大をもたらした、EternalBlue を使った感染拡大も可能になっており、一気にその力を強めたと言えるからです。
詳しくは過去の記事をご参考にしていただければと思います。
そして、実はsodinokibiが生成するjson形式のconfigファイル(設定ファイル)を確認すると、同様のアフィリエイト用idが確認できます。
そして、GandCrabのid,sub_idを検体に結びつけたものと、sodinokibiのpid,subを検体に結びつけたものを図示すると、ツリー構造をとる辺りが類似しています。
- GandCrab
- Sodinokibi
これだけでは類似性として薄いように感じるかもしれませんが、検体とアフィリエイターの結び付かせ方の管理方法が似ていることは言えます。
同時に、RaaSの運用としてほぼ同じような方法をとっていることもわかります。
そして、以下の画像のように、GandCrabからsodinokibiへ乗り換えるアフィリエイターの動きもフォーラムにて確認されています。
参考:McAfee
詳しくはBleepingComputerの記事に書いてあるのでご参考まで。
まとめ
sodinokibiの勉強として、色々調べていましたが、結果としてRaaSの仕組みやGandCrabやSodinokibiがどうやって流行ってきたかを知ることができました。
しばらくはSodinokibiの勢いが続きそうだなと感じつつ、今後も要観察ですね。