チェック・ポイントの脅威情報分析チームは、Bitcoinでの金銭の支払いを要求するサイバー攻撃をしばしば目にしています。その多くは、Cerberなどのランサムウェアを使用してユーザのデータを暗号化した後、データを元に戻すためとして「身代金」を要求します。Bitcoinで金銭を受け取った攻撃者は、さまざまなミキシング・サービスを利用して金銭の流れを隠蔽しようとします。そこで今回の記事では、ミキシング・サービスを分析してその仕組みを把握し、サイバー犯罪の舞台裏で繰り広げられる複雑なプロセスの解明を試みたいと思います。

ミキシング・サービスとは

「Bitcoinは、送り手と受け手の双方を匿名化する決済手段であり、取引しているユーザの特定は不可能である」。多くの人は、Bitcoinをこのように捉えているようです。しかし、Bitcoinは完全に匿名化されているわけではありません。あるアドレスを使用しているユーザは誰なのか、取引の際にプライバシーが露呈する可能性は否定できません[1]。このため、Bitcoinネットワークで取引を行う際、身元が表に出ないよう対策を講じることは、ユーザ自身の責任となります。プライバシーを守るための手法や技術は多数存在していますが[2]、Bitcoinの取引は匿名化されていないという事実には変わりません。

Bitcoinの取引を匿名化するサービス(および関連する詐欺行為)には、Bitcoin自体と同じくらいの歴史があります。この種のサービスでは、Bitcoinネットワークの特徴を巧みに利用して、データベースの取引記録を残したまま、ブロックチェーンからの情報推測を極めて困難にします。

背景にある考え方自体はシンプルです。あるユーザのBitcoinを他のユーザのBitcoinと混ぜ合わせ、元のアドレスの追跡を困難にするのです。通常の金融システムでいえば、複数の口座を経由しての送金に相当します。ミキシング・サービスを信頼してBitcoinを送ると、そのサービスが一連の取引を介して別のユーザのBitcoinを送り返してきます[3]。この仕組みにより、ブロックチェーンを通じて数千から数百万もの取引を辿らなければ、ユーザの活動を追跡できないようにしています。それぞれの取引は、ミキシング・サービスのリレーとして機能する多くのBitcoinアカウントに結びついており、これらのアカウントを介して最終的なアドレスにBitcoinを送金します。最終的なアドレスに届くBitcoinは「洗浄」された状態であり、元のアドレスとの結びつきは一切持っていません。

はじめに

注意事項:

  1. 個々のBitcoinアドレスや取引が正規のものであるか、攻撃者に属するのか、ミキシング・サービスで使用されるものであるかは判別不可能です。
  2. 今回の分析では、取引を日付順に調査するのではなく、取引の関連性に着目しています。この方が、労力を抑えつつ、より広い視野で分析できると考えられるためです。

図の見方:

  1. 赤いノードはBitcoinアドレスを表しています。
  2. 2つのノードの間のリンクは、そのノード間で取引が発生していることを示しています。矢印を向けられている側のノードが、Bitcoinの受け手です。
  3. オレンジ色のリンクは、ある特定のノードにつながるリンクを表しています。

ミキシング・サービスの追跡

ミキシング・サービスを追跡する最も簡単な方法は、Bitcoinの流れを、ランサムウェア攻撃などによるマルウェア感染段階から、一見無秩序なミキシング・サービスによる一連の取引まで辿っていくことです。

概要:

ステップ1: ピンクで示した攻撃者のBitcoinアドレス(L0)が、被害者からの支払いを受け、そのBitcoinをミキシング・サービスの最初のアドレス(L1)に送金します。

ステップ2: そのBitcoinの流れを追跡したところ、L1は25個のBitcoinアドレスと取引していることが判明しました。これは、取引の追跡を困難にすることを目的としています。

ステップ3: 確認された各Bitcoinアドレスを追跡すると、各アドレスがランダムな数の別のアドレスとやり取りする非常に複雑な構図が浮かび上がりました。

 

image1
imgae2

 

step3

一見すると、ここでは何の秩序もない不規則な取引が行われているように思えます。しかし、よくよく目を凝らすと、あるパターンが浮かび上がってきます。

多数のアカウント間でBitcoinをやり取り

ミキシング・サービスの仕組みは、多少の相違点を除けば、どのサービスも基本的な部分は同一です。攻撃者がミキシング・サービスの最初のアカウント(「ミキシング・サービス・ゲート」)に送金したBitcoinは、アカウント間をあちこち移動する過程で、1つ以上の大規模ノード(「プール」)を通過します。

figure2

図2は、Bitcoinが多数のアカウント間でやり取りされる様子を示しています。

ステップ1: 制御ノードが別の5つのノードに送金しています(太線のリンク)。

ステップ2: 5つのノードがさらに別のノードに送金し、送金を受けたノードも別のノードに送金します。

この過程で、大規模ノードであるプールが送金に関与します。プールは、多額のBitcoinを収集し、さらに別の小規模ノードに再分配します。このプロセスを繰り返して、最終的な送金先に近づいていきます。図3と4に示したのは、プールの例です。それぞれ「Total Received」と「Total Sent」に、やり取りしたBitcoinの額が示されています。

figure3

figure4

ここから、次の結論を導き出すことができます。

  • 多数のアカウント間でBitcoinをやり取りするこのプロセスは、取引の流れを隠蔽し、金銭の追跡を妨害する目的で行われている。この過程では、数千件に及ぶ取引が行われ、数千件に及ぶ新規アカウントが作成されている。
  • プールは、要素の代替性を高め(つまり、各要素が別の要素の代わりになることができる)、攻撃者が使用する最初のアカウントと最後のアカウントのつながりを排除するという役割を果たしている。Bitcoinは非常に多くのアカウント間でやり取りされるため、アカウントの関連付けは極めて困難。

以上の点が明らかになったのは朗報とはいえ、攻撃者がミキシング・サービスを悪用し、数千単位の取引を経由してBitcoinを洗浄していることは周知の事実です。以降では、今回の分析で明らかになった手法をいくつか紹介し、分析結果についての仮説を示します。

Bitcoinの分配

ミキシング・サービスは、まるでポットのお茶を複数のカップに注ぐかのように、Bitcoinを複数のアカウントに分配していきます。以下の図は、ミキシング・サービスが使用するもう1つの手法を示しています。ミキシング・サービスは、少額のBitcoinを大規模ノードに送金し、残りのBitcoinを新規ノードに送金します。送金を受けたノードも、まったく同じプロセスを繰り返します。つまり、お茶にことよせれば、通常サイズの各カップから、特大サイズのカップに少量だけお茶を注ぎ、残ったお茶を別の通常サイズのカップに注いでいるのです。

figure5

送金パターンを読み解く

ブロックチェーンのグラフ解析結果を確認してすぐに気付いたのは、各ノードのサークル関係を探した方がノード間の関係を理解しやすいという点です。多くのBitcoinアドレスは、各ノードがさまざまな順番で配置されるツリー型を取るのではなく、ツリーのあらゆる階層のアドレスと直接Bitcoinをやり取りしています。例えばあるノードは、3階層も上の大規模ノードから送金を受けていました。

グラフをサークル関係で検証すると、興味深いパターンが見て取れます。

figure7

上の図では、1つのノード(青い四角形で示したノード)から2つの中心的なサークルが形成されている様子が見て取れます。左側のサークルでは、メンバー間でBitcoinをやり取りし、その一部を外部に送金して新たなサークルを形成しています。

左上のサークルでは、3つのノードがピンクの四角形で囲まれています。この3つのノードはおそらく「出口ノード」であり、これ以上の送金を停止して所有者による受け取りを待機します。以下の図は、これらのノードがBitcoinを受信するだけで、送信していないことを示しています。

image8

もう1つ興味深いのが、次に示すサークルです。ここでは、Bitcoinの全額が最終的に1つのノードに送金されています。送受信したBitcoinの額を見て分かるように、このノードは巨大なプールとなっています。

figure8

次に示すように、まるで雪片のようなパターンも確認されています。

snowflake

まとめ

今回の調査の目的は、ミキシング・サービスの仕組みを分析し、サイバー犯罪者によるBitcoinの悪用方法を把握する点にあります。サイバー犯罪者は、身代金など不正な金銭のやり取りや利益分配のプロセスを隠蔽し、身元の特定を妨害するためにBitcoinを利用しています。ただし、ミキシング・サービスは、不正な目的に利用できる一方、暗号通貨による取引において重要な役割を担っている事実を忘れてはなりません。チェック・ポイントは、今後も各種ミキシング・サービスの調査を続けていく予定です。ご質問やご意見などありましたら、お気軽にお寄せください。