クリプトマイナーに関する分析:クリプトマイニングの内幕
クリプトマイナー(クリプトジャッカー)は、暗号資産(仮想通貨)のマイニングによって利益を得るために被害者のリソースを悪用するマルウェアの一種です。攻撃者が通常の支払い方法として暗号資産を使用するのとは異なり、クリプトマイナーは暗号資産の基礎的基盤であるブロックチェーンマイニング作業を利用して、金銭的利益を生み出します。
暗号資産はもともと、資金を移動し、従来の銀行システムから分離するためのボーダレスな分散型の手段として設計されました。ビットコインの登場以来、他の多くの暗号資産や暗号ベースのトークンが作成されています。どのトークンも、あるテーマや一連の機能に基づいており、それによって他のトークンと区別されます。たとえば、Moneroコインは完全なプライバシーを目的としており、トランザクションの追跡を防止しながら完全性を確保します。Dogecoinのようなミームコインは、実用的なものというより感情的なものです。
攻撃者は匿名性を確保しながら利益を得ようとするため、暗号資産は利益の出やすい選択肢であり、脅威アクターは法執行機関に特定されるリスクを最小限に抑えながら暗号資産ファンドを使用できます。身元を特定されずに金銭的利益を得る最も直接的な方法は、プライバシー重視の暗号資産をマイニングすることです。これにより、攻撃者は被害者に自分をさらけ出すことなく即座に利益を得ることができます(また、その利益を利用したトランザクションを隠すこともできます)。
この3部構成のブログシリーズでは、暗号資産とクリプトマイナーの世界について詳しく見ていきます。この最初の記事では、ブロックチェーンテクノロジーやマイニングの一般的な仕組みなど、暗号資産の基礎について説明します。また、プライバシーと効率性の要件を満たすマイニング可能なコインを選択するという攻撃者の考え方についても取り上げます。
このシリーズの第2部では、クリプトマイナー(特にAkamaiが発見した悪性のクリプトマイナー)について取り上げます。クリプトマイナーに関する統計データ、クリプトマイナーの利益、仕組み、被害者への影響を検討します。 シリーズ最後の第3部では、防御技術について取り上げます。クリプトマイナーを検知して、その影響を緩和し、抵抗して攻撃による利益創出を防止する方法について説明します。
世界に対するクリプトマイナーの影響
ビデオゲーム会社が顧客のマシンをビットコインのマイニングに利用したとされる2013年以降、クリプトマイナーは世界に影響を及ぼしてきました。それから10年以上が経ち、脅威は巨大な規模にまで拡大し、クリプトマイナーは現在、世界的なサイバー犯罪の重要な要素となっています。
数年の間に、クリプトマイナーの数多くのケーススタディが公開されてきました。たとえば、2017年のWannaMineボットネット、Redisを標的とした最近のMigoキャンペーン、クラウド固有のスクリプトやブラウザー・マイニング・スクリプトのバリアントなどです。近年、AkamaiはPanchanやNoaBotなど、いくつかのクリプトマイニングボットネットを発見しました。
攻撃ボリューム
時が経つにつれて、クリプトマイナーに注目する攻撃者が増えているようです。図1は、2023年に悪性のグローバルなクリプトマイニングアクティビティが大幅に増加したことを示しています。この傾向は2024年も続きました。爆発的に増加しているにもかかわらず、分析レポートではクリプトマイナーのふるまいに大きな変化は認められていません。2024年の典型的なクリプトマイナーは、非常に人目を引く非標的型攻撃であり、クラウドリソースや家庭のコンピューターに感染し、プライバシー重視のコインをマイニングするという点で、10年前のクリプトマイナーによく似ています。
クリプトマイナーの産業およびセクター分布
クリプトマイナーは、さまざまな産業やセクターに影響を与えます。Akamaiは独自のインターネット・トラフィック・ビューを使用し、クリプトマイナーによるパブリック・クリプトマイニング・プールへの通信を特定しました。図2は、さまざまなビジネスセクターにおけるクリプトマイニングトラフィックの分布を示しています。
高等教育機関は、最も標的とされているセクターの1つです。その理由はおそらく、膨大な計算リソースがあり、多くの場合そのリソースに人間が介在していないからです。
民間セクターでは、クリプトマイナーはクラウドやホスティングサービスなどの業界を優先的にターゲットとしています。これらのターゲットは、攻撃者に大きな機会をもたらします。なぜなら、攻撃者は広範な計算リソースにアクセスできると同時に、被害者の環境内の副産物(検知につながる可能性のある大きなノイズ、熱、電力消費など)を排除できるからです。
このタイプの攻撃は、被害者に経済的に破壊的な損害をもたらします。Sysdigによると、2022年の時点で、クリプトマイナーの利益1ドルにつき、被害者の損害額は約53ドルでした(図3)。
図3:攻撃者の利益と被害者の損失の比較
生成AIにより、クリプトマイナーの新たなアタックサーフェスが発生
クリプトマイナーの情勢に大きな影響を与えると予測されるもう1つのトレンドは、昨今の生成AIの台頭です。AIの計算はグラフィックス・プロセッシング・ユニット(GPU)に大きく依存しているため、このコンポーネントは組織のネットワークやサーバーによく使われるようになっています。多くのマイニングアルゴリズムもGPU向けに設計されているため、AI業界の基盤となるコンピューティングインフラはクリプトマイナーオペレーターにとって非常に魅力的です。
モデルインタラクションやトレーニングプロセス(またはその両方)を通じてAIインフラを直接的にターゲットとするキャンペーンを目の当たりにするのは、おそらく時間の問題です。
攻撃者の動機
脅威アクターは、主に次の2つの理由でクリプトマイナーを取り入れています。
- 金銭
- プライバシー
金銭的動機
国家の支援を受けている脅威アクターやハクティビズムを除き、ほとんどのサイバー犯罪は金目当てです。 クリプトマイナーは、攻撃者によるネットワークの支配を資本に変換する段階(ランサムウェアによる脅迫や機微な情報の販売など)を追加することなく、簡単かつ直接的に侵害を収益化する方法です。そのため、クリプトマイニングマルウェアは脅威アクターにとって魅力的な資金創出ツールです。
その他にも、攻撃者は暗号資産(仮想通貨)の価値やマイニング・シェア・レートなどを考慮します。たとえば、攻撃者が1年間に生み出す利益が1セントである場合、それは逮捕されるリスクに見合いません。したがって、攻撃者の目標の1つは労力と利益のバランスを取ることです。それを知っていれば、攻撃者がマイニングする可能性のあるコインを絞り込むことができます。
Akamaiは調査中に、少なくとも2018年6月以降に活動していて、毎年平均300 XMRの収益を上げることに成功した攻撃者を特定しました。現在のMoneroの価格(1 XMR 150ドル)で収益を計算すると、約45,000ドルになります。これは、従業員のいない米国の小規模企業の2024年の平均収益額に相当します。
プライバシーの動機
プライバシーはほとんどの暗号資産に本来備わっています。暗号資産は暗号化アルゴリズムを採用しており、対応する公開鍵とペアになった秘密鍵を使用してプライバシーと所有権を保護します。公開鍵は、ウォレットアドレスとして機能します。この暗号資産固有の機能と、取引額、送信者アドレス、受信者アドレスを隠すように設計された追加のプライバシーアルゴリズムを活用することで、攻撃者はアクティビティをほぼ完全に隠蔽することができます。
前述のとおり、攻撃者はボットネットを特定の暗号資産のマイニングにシフトする際に、いくつかのトレードオフを考慮します。そのトレードオフの1つが、攻撃者のプライバシーと利益です。なぜなら、プライバシー性は低いが収益性の高いコインが存在する可能性があるからです。コインのプライバシーは、次の3つの側面でそのコインが提供できる匿名性によって測定されます。
ネットワークとの通信(TorやI2Pなどのプライバシー・ネットワーク・プロトコルに依存するコインがある)
追跡の防止や口座残高の秘匿のための、トランザクション情報(ウォレットアドレスや金額)の保護
プライバシーをサポートする取引プラットフォームでの暗号資産の取り扱い
たとえば、ビットコインにはトランザクションのプライバシーがないため、ユーザーは監視に対して脆弱であり、匿名性が損なわれるリスクが高まります。この制約により、攻撃者が悪用できる暗号資産の範囲は制限されます。そして、採算の取れるプライバシー重視のコインが利用できる限り、攻撃者の意欲は衰えません。
しかし、プライバシーコインが不採算になった場合や、プルーフ・オブ・ステーク(詳しくは以下を参照)への移行など、マイニングプロセスが変更されたことにより、攻撃者がリソースを大量に消費する方法で簡単に利益を生み出せなくなった場合、この意欲は低下する可能性があります。
意欲のある攻撃者はそのようなクリプトマイナーキャンペーンを実行する方法を検討しなければならず、そのためにはマイニングプロセスの基礎を理解することが不可欠です。次のセクションでは、攻撃者がどこに注目しているかを理解するために、マイニングプロセスの概要を説明します。これは、より優れたハンティング手法や検知手法を生み出すために役立ちます。
暗号資産の基礎
暗号資産とは
暗号資産は、暗号化技術を利用してトランザクションのセキュリティを確保し、新しい単位(コインまたはトークン)の作成を制御する、デジタル形式の通貨です。従来の通貨(フィアット通貨)とは異なり、暗号資産はブロックチェーン技術を使用する分散型ネットワークで運用されます。ブロックチェーンテクノロジーは、ノードのネットワークで管理される分散型台帳システムです。
ブロックチェーン上の各トランザクションが1つのブロックに記録され、その前のトランザクションにリンクされます。これにより、ネットワークの計算能力の大部分を支配しなければ改ざんできない、変更不能のレコードチェーンが作成されます。このように分散されているため、銀行などの仲介者の必要性がなくなり、セキュリティと透明性が強化されます。
暗号資産システムの重要なコンポーネントの1つに、ウォレットがあります。これは、ユーザーがブロックチェーン上で資産を取引できるようにする暗号シークレットのセットです。ウォレットは、アドレスと呼ばれる特定の形式の文字列で表されます。これらのアドレス間のトランザクションはブロックチェーンに公的に記録されますが、追加情報がアドレスにリンクされない限り、参加者のアイデンティティは秘匿され続けます。
さらに、MoneroやZcashなどのプライバシー重視の暗号資産は、これをさらに推し進めるために、リング署名、ステルスアドレス、ゼロ・ナレッジ・プルーフなどの高度な暗号化技術を実装して、送信者、受信者、金額などのトランザクションの詳細を隠しています。これらの機能により、サードパーティが特定の個人までトランザクションを遡ることが困難になり、従来の金融システムよりも優れたプライバシー性と匿名性がもたらされます。
コンセンサスアルゴリズム
ブロックチェーンに新しいブロックを適用するためには、すべての人が同意する正しい情報が必要です。コンセンサスアルゴリズムと呼ばれるアルゴリズムファミリーとその特殊なバリアントを使用することで、分散型ネットワークを稼働させ、ブロックチェーントランザクションを検証することができます。これらのアルゴリズムは、二重支出を防止し、台帳の完全性を維持し、管理者の存在しない当事者間での取引を可能にするように設計されています。
さまざまな暗号資産がさまざまなコンセンサスメカニズムを使用しており、それぞれがセキュリティ、スケーラビリティ、エネルギー効率などの要素のバランスを取りながらコンセンサスを達成するための独自のアプローチを採用しています。
プルーフ・オブ・ワーク
最もよく知られているコンセンサスアルゴリズムは、ビットコインやその他のいくつかの暗号資産で使用されているプルーフ・オブ・ワーク(PoW)です。PoWでは、マイナーは競い合って複雑な数学パズルを解きます。これは、膨大な計算能力を必要とするプロセスです。最初にパズルを解いたマイナーはブロックチェーンに新しいブロックを加える権利を獲得し、報酬として暗号資産が与えられます。
このプロセスはエネルギー消費量が多いですが、堅牢なセキュリティをもたらします。なぜなら、攻撃者がブロックチェーンを変更するためにはネットワークのコンピューティング能力の50%以上を支配する必要があり、そのような攻撃は非常に非現実的だからです。
プルーフ・オブ・ステーク
もう1つの一般的なコンセンサスアルゴリズムは、Ethereum 2.0やCardanoなどの暗号資産で使用されているプルーフ・オブ・ステーク(PoS)です。PoSでは、バリデーターが出資できる保有コイン数に基づいて、新しいブロックを作成するバリデーターが選ばれます。
このアプローチは、膨大な計算リソースを必要としないため、PoWよりもエネルギー効率に優れています。しかし、PoSは、ネットワーク内の出資金の多い者ほど、誠実に行動する動機があると仮定しています。
クリプトマイナーが使用するのは、PoWのみ(またはこの記事では取り上げないプルーフ・オブ・キャパシティ)のマイニングアルゴリズムです。なぜなら、この攻撃ベクトルは、リソースハイジャッキングに基づいているからです。そのため、ここからはマイニングという観点からPoWについて検討します。
ASIC耐性アルゴリズム
コンセンサスアルゴリズムの計算には、さまざまな種類のハードウェアが使用されます。中央処理装置(CPU)は、コンセンサスアルゴリズムを簡単に計算するために使用できる汎用集積回路(IC)ですが、効率的ではない場合もあります。そのため、一部のアルゴリズムは、複雑な演算をCPUよりもより効率的に処理できるグラフィックス・プロセッシング・ユニット(GPU)向けに設計されています。
マイナーが使用するもう1つのタイプのハードウェアは、特定のタスクを実行するために最適化された処理ユニットである、特定用途向け集積回路(ASIC)とフィールド・プログラマブル・ゲート・アレイ(FPGA)です。どちらもsha1ハッシュアルゴリズムの計算などの決定性のタスクでは優れていますが、メモリー需要が多い場合や、実行時に発生する可能性のあるブランチの数(過去の反復出力によって決まる)が多い場合は、どちらも役に立ちません。
ほとんどの暗号資産は分散化に依存しており、ブロックチェーンのセキュリティと信頼性を維持するためには分散化が必要です。ネットワークノードの大部分を支配したり、ハッシュレートに関して主要なマイナーになったりすることにより、ネットワークが集中化されれば、攻撃者は51%攻撃を実行する可能性があります。これを緩和するために、多くのコインが特殊なハッシュアルゴリズムを追加し、ASICの設計と生産の経済性を低下させました。
このアルゴリズムは、CPU最適化機能と連携するように設計されたメモリーハードの複雑なアルゴリズムを実行するために汎用プロセッサーを使用する慣行に基づいています。つまり、このアルゴリズムは大容量のメモリーアドレス空間と、可能な限り多くの最新のCPU機能を使用するため、専用のASICを作成することはできなくなります。基本的に、そのようなアルゴリズム向けにASICを作成しようとすると、本格的なCPUに行き着きます。
マイニングプロセス
マイニングプロセスは、大規模な宝くじのようなものです。各参加者には、ブロック情報とノンスからなる、解決すべきジョブが与えられます。マイナーは、ネットワークの目標難易度を満たすナンスを見つける必要があります。これは、特定の時間内で統計的に実行可能です。この時間は目標時間と呼ばれ、将来のブロックに難易度(d)を設定して、マイニング速度を安定させ、目標時間内に維持することで達成されます。
難易度は通常、ターゲット(t)値を満たす有効なハッシュを見つけるために計算する必要のあるハッシュの数を示します。ターゲット値は、すべての有効なハッシュの上限を示します。Moneroコインの場合、可能なハッシュの数をターゲットで除算することにより、難易度を計算します。
多くのコインは独自の難易度計算方法を定めていますが、ネットワークのハッシュレート(fhashrate[hashs])を制限する必要があるため、計算結果は似ています。つまり、難易度を目標時間で除算すれば、ネットワークのハッシュレートが得られます。
たとえば、t = 0x1Fで、tのサイズが1バイトである場合、難易度は0xFF0x1F = 8です。つまり、ランダムなナンスのハッシュ計算を8回行うたびに、一致する値を見つけることが統計的に可能です。
ブロックチェーンの成長率を制御するためにネットワークの目標時間を設定した後、n個のブロックを見つける際の1ブロックあたりの時間の平均値を求め、ハッシュレートを得ることができます。ハッシュレートを使用することで、次の難易度を設定できます。直近のn個のブロックに関連するすべてのブロックでこれが変化するコインもあれば、一定数のブロックごとに変化するコインもあります。
トランザクションのプライバシー
ビットコインは、ブロックチェーンテクノロジーを使用してネットワークトランザクションを記録する暗号資産として初めて広く使用された暗号資産です。これらのトランザクションはプレーンテキストで保存され、ブロックチェーン・エクスプローラー・サービスを通じて(または、必要に応じて手動で)誰でも一般にアクセスできます。ビットコインには匿名性があるというのは、いささか誤解を招く恐れがあります。デジタルウォレットの使用は確かに匿名ですが、サードパーティとのやり取りはそうではありません。
たとえば、フィアット通貨(米ドルなど)をビットコインに交換したい場合は、自分のウォレットを開示する必要があります。これにより、アイデンティティがウォレットにリンクされ、匿名性が損なわれます。アイデンティティを隠すために陽動のトランザクションを実行しようとすると、最終的には同じ結果になります。そのようなトランザクションは、取引プラットフォームを介してネットワークから離れるまで追跡できるからです。匿名性の喪失は、多くの場合、資金がネットワークに入金されるポイントか、資金がネットワークから引き出されるポイントで発生します。
プライバシー重視の暗号資産が登場したのは、トランザクション知識の悪用を緩和するなど、さまざまな合理的な事情でプライバシーが必要とされるからです。しかし、プライバシーを悪用して犯罪行為を隠蔽することも可能です。そのため、プライバシー重視の暗号資産は、クリプトマイナーやその他の攻撃者にとって当たり前の要件となっています。
現在、プライバシー重視のコインは、送信者と受信者のアドレスだけでなく、その間で取引された金額も隠すことができます。このレベルのプライバシーは、不正に取得された資金を含むトランザクションをネットワーク内で追跡できないようにします。
候補となる暗号資産
クリプトマイナーを運用するサイバー犯罪者の能力とニーズを分析することで、サイバー犯罪者の要件を満たす暗号資産のリストを特定することができます。まず、クリプトマイナーは一般的に、さまざまなアーキテクチャで大規模に動作するため、クロスプラットフォームマイニングの実装が不可欠です。これには、x86、AMD64、ARM、その他のCPUアーキテクチャが含まれます。
多くの場合、被害者は強力なGPUや、ASICやFPGAを搭載したマイニングリグを所有していません。そのため、ASIC耐性アルゴリズムが注目されるようになります。ASIC耐性アルゴリズムは、家庭用コンピューターや類似デバイスなど、一般的な従来のプラットフォームにマイニングを制限するように設計されています。
クリプトマイナーが依存するもう1つの重要な要素は、暗号資産ネットワークのプライバシーです。クリプトマイナーはほとんどの国で違法と見なされているため、攻撃者は窃取した資金のロンダリングを試みる際に痕跡を隠す必要があります。
これらの点を考慮することで、次のとおり、クリプトマイナーのコイン選択の必要条件を明らかにすることができます。
- クロスプラットフォームアーキテクチャ
- ASIC耐性のマイニングアルゴリズム
- 高度かつ持続可能な収益性
- 追跡不可能なトランザクションをサポートするプライバシー重視のコイン
- 軽量マイニングアルゴリズムの実装
表1 は、上記の前提に基づいて、最も関連性の高いコインをリストアップしたものです。このリストでは、ASIC耐性かつプライバシー重視のコインに加え、現時点でそのコインを扱っている暗号資産取引所の数に着目しています(クリプトマイナーによって使用される可能性のあるコインの一覧については、付録Aを参照してください)。
表1:クリプトマイナーによる使用に適した暗号資産の比較
表1は、この記事の執筆時点におけるコインの収益性の順に並べられています。この調査では、クリプトマイナーによってよく使用されるコインに主眼を置き、実際のサンプルを分析します。現在の市場価格と報酬レートに基づいて、候補となるコインの表を再作成するために、AkamaiはAkamai GitHubリポジトリに独自のコードを公開しました。
攻撃者の動機と、暗号資産ブロックチェーンおよびマイニングプロセスの基本原則を検証した結果、この候補の表を作成することができました。それでは、以下の3つのコインと、そのコインを取得するために合法的なマイナーと悪性のクリプトマイナーの両方が使用できるマイニングトポロジーについて、詳しく検討してみましょう。
- Monero(攻撃者が使用することでよく知られているコイン)
- Zephyr(有望と思われるコイン)
- Safex(攻撃者が見落としている可能性のあるコイン)
Monero
Moneroは、クリプトマイナーが使用する最も悪名高いコインです。ASIC耐性のRandomXアルゴリズムをベースとしたプライバシー重視のコインであるため、クリプトマイナーに最適です。Moneroは高度な暗号化アルゴリズムを使用して、最先端のプライバシーテクノロジー(リング署名、複数の非対称キー、防弾、RingCTなど)を実現しています。これらのプライバシー技術とアルゴリズムの詳細については、Moneropediaを参照してください。
MoneroはRingCTを実装しています。RingCTは、多数の無効な入力トランザクションと実際の入力トランザクションを組み合わせて、トランザクションに使用される入力と送金額を隠すアルゴリズムです。また、複数の手法を使用して値に署名し、トランザクションの参加者のみが値を読み取れるようにします。送信者と受信者のアイデンティティは暗号で保護されているため、送信者、受信者、金額の3つの主要な要素によってプライバシーが達成されます。
RandomX(およびMonero)にASIC耐性を持たせるために、独自の命令セットとそれを実行する仮想マシン(VM)を定義します。従来のVMとは異なり、これは別個のオペレーティングシステムではなく、カスタム命令セットを基盤となるハードウェアに変換するインタープリターの一種です。
Akamaiの調査のほとんどはMoneroに主眼を置いており、Moneroのネットワーク、プログラム、ブロックチェーンを分析するのと同じ手法を他のあらゆる暗号資産に適用することができます。
Zephyr
Zephyrは、ステーブルコイン業界に革命をもたらすことを目的とするプライバシー重視のプロトコルとして位置付けられています。Moneroの強力なプライバシー機能をベースとし、RandomX PoWマイニングアルゴリズムを使用するZephyrは、コインを4つのトークンに分割することにより、独自のエコシステムを導入しました。その4つのトークンとは、ZEPH、ZSD、ZRS、ZYSです(図4)。
図4:Zephyrトークンの関係。ZEPHのマイニングでは、マイナーに報酬の65%が与えられ、残りはブロックチェーンによって保持されます。
このフレームワークでは、ZEPHは基準通貨として機能するマイニング可能なコインです。ZRSは、対応するステーブルコインであるZSDを裏付ける準備金として機能します。2024年に、ZephyrはZYSを立ち上げました。これは、循環型のZYSトークンの成長から利益を生み出すために設計された収益メカニズムです。
つまり、ZYSの価格はZSDとの関連で常に増加するため、このステーブルコインのパフォーマンスにリンクしていて収益性を秘めた投資がユーザーに提供されます。攻撃者は、マイニング可能なZEPHトークンをターゲットにする動機として他のトークンのトレンドを考慮しながら、マイニング可能なZEPHトークンを使用します。
現時点では、このコインをマイニングしても採算が極めて低いため、クリプトマイナーにとって使用するメリットはありません。しかし、AkamaiはZephyrをマイニングするマルウェアサンプルを見つけました。攻撃者がキャンペーンの一部としてZephyrを使用する理由を推測することはできます。それはおそらく、ブロックの発見に対する見返りが大きいこと(7.896 ZEPH)や、Moneroを対象とした検知エンジンを回避できることです。
SafeX
Safexは、ユーザーが仲介者なしで製品を売買できる分散型のプライベート市場向けに設計されたブロックチェーンプラットフォームです。このプラットフォームでは、2つの主要な暗号資産が使用されます。それは、Safex Token(SFT)とSafex Cash(SFX)です。プライバシーを優先するSafexは、リング署名とステルスアドレスを使用してトランザクションを追跡不能な状態に保ち、ユーザーのアイデンティティを保護します。これは基本的にMoneroをベースとしています。
SafeXは、現時点でマイニングの収益性が最も高いコインであると思われます。そのため、攻撃者にとって魅力的ですが、設定ファイル内にいくつかのウォレットのほかに、アクティブなクリプトマイニングは見つかりませんでした。
Akamaiが作成した専用ツールを使用してSafexネットワークをマッピングすると、Moneroネットワークと比較してネットワークが小さいことがわかります。298個のノードを見つけることができましたが、一般に使用可能なノードは6つしかありませんでした。
このコインのマイニングは採算が取れるようですが、攻撃者は現在、それを見落としています。攻撃者はSafeXの収益性に気付いていないとAkamaiは推測しており、このコインを悪用する悪性のアクティビティが見られるようになるのにさほど時間はかからないと考えています。
マイニングトポロジー
マイナーは、複数のトポロジーでマイニングネットワークを設定できます。すべてのセットアップに長所と短所がありますが、結論を言えば、収益性とセキュリティのトレードオフを最適化するように設計されています。一部のトポロジーは、分散型アーキテクチャを使用してネットワークをサポートし、持続可能性を確保しています。その他に、ハッシュレートの最適化やブロック報酬の収集機会の増加に重点を置いているトポロジーがあります。
異なるトポロジーでも、コンポーネントは基本的に同じです。すべてのトポロジーは、ネットワークプロトコル(IP、I2P、Torなど)とアプリケーションプロトコル(ピアツーピア通信向けのLevinやJSON RPC経由のSTRATUMプロトコルなど)を使用して通信します。Stratumプロトコルは、コンセンサス・ハッシュ・アルゴリズムの計算に必要なすべてのデータを含むシンプルなJSON形式の構造化ジョブを使用してマイナー集団を運営するためのクリプトマイニング標準です。
ケーススタディ
さまざまなマイニングトポロジーのケーススタディとして、Moneroを取り上げます。典型的なMoneroのマイニングトポロジーは、表2に示すコンポーネントのいずれかで構成されています。
表2:典型的なMoneroのマイニングトポロジー
マイニング作業に使用されるトポロジー
以降のセクションでは、以下のような、マイニング作業に使用できるさまざまなタイプのトポロジーについて説明します。
- ソロ
- プール
- P2Pool
- NiceHash
- プロキシ
これらのトポロジーは、正当な目的でも悪性の目的でも、クリプトマイナーのハンティングと検知において重要な役割を果たします。
ソロ
ソロマイニングでは、マイナーが自前のノードや信頼できるノードを使用して直接作業を行います(図5)。ソロマイニングの場合、ブロックが見つかったときに攻撃者が得られる潜在的な収益が増加しますが、報酬を得る可能性は大幅に低下します。攻撃者のボットネットが十分に大きければ、ソロマイニングには価値がある可能性があります。
しかし、1人の個人がかなりのハッシュレートを支配すると、ネットワークに重大なリスクが生じます。
図5:ソロ・マイニング・トポロジー
Akamaiはまだ、ソロマイニング用に設定されたクリプトマイニングマルウェアに遭遇していません。これは、ソロマイニングは必ずしも攻撃者にとって見返りをもたらすわけではなく、他のマイニング戦略の方が長期的に大きな価値をもたらす可能性があるからです。また、ノードの維持にかかる運用コストが高いことや、ノードを所有することで攻撃者の匿名性が損なわれる可能性があることが原因である可能性もあります。
プール
ソロマイニングとは異なり、他のマイナーと力を合わせることで新しいブロックを見つける可能性を高める方法があります。結局のところ、これは統計のゲームです。複数のマイナーが協力してチェーン内の次のブロックを解決する場合、マイナーのハッシュレートをまとめて、ネットワークに参加する単一のマイナーと見なすことができます(図6)。
図6:プール・マイニング・トポロジー
このマイナーはプールと呼ばれ、プールは通常単一のエンティティによって管理されます。参加したマイナーの労力がシェアと見なされ、新しいブロックが見つかった場合の報酬はその労力に応じて分配されます。つまり、プールとは、ブロックをマイニングして報酬を収集する統計的な機会を増やす複数のマイナーのオーケストレーターのことです。
プールによっては参加料金が要求され、すべてのプールに報酬の分配方法を定める支払いモデルがあります。たとえば、Pay-Per-Last-N-Shares(PPLNS)方式などです。多くのプールでは、マイナーからの認証や識別は必要ありません。それは通常、認証と支払いの両方に使用されるウォレットアドレスです。
プールは無数に存在し、さまざまな暗号資産を広くカバーしています。一部のプールは、プライバシーなどの共通機能に基づいて複数のコインを集めており、同じプールで同じように複数のマイニングリグを操作する簡単な方法を提供します。マルチコインマイニングを提供するプールもあります。この場合、NiceHashと同様に、利益に応じて同一のリグで複数のコインを同時にマイニングします。
表3は、クリプトマイナーによって使用される可能性のある上述の3つのコインに関して、既知のマイニングプールをリストアップしたものです。
Monero | Zephyr | SafeX |
|---|---|---|
nanopool.org supportxmr.com c3pool.com hashvault.pro p2pool.io moneroocean.stream skypool.org xmrpool.eu pool.kryptex.com herominers.com p2pool.io solopool.org monerohash.com antpool.com pool.xmr.pt rplant.xyz monerod.org dxpool.com bohemianpool.com prohashing.com mining-dutch.nl gntl.uk fairhash.org volt-mine.com zeropool.io fastpool.xyz xmr-pool.com zergpool.com xmrminers.com monerop.com pool-pay.com solopool.pro frjoga.com infinium.space minorpool.com cedric-crispin.com aikapool.com | herominers.com nanopool.org miningocean.org 2miners.com pool.kryptex.com hashvault.pro h9.com 2miners.com ekapool.com k1pool.com raptorhash.net miningmadness.com solopool.org rplant.xyz zephyrprotocol.com gntl.uk aikapool.com fastpool.xyz pool-pay.com thunderhash.com c3pool.com moneroocean.stream minorpool.com skypool.org zergpool.com newpool.xyz coinminerhub.com
| safex.org safex.ninja pool-pay.com fastpool.xyz skypool.org
|
表3:Monero、Zephyr、SafeXの既知のマイニングプール
Monero | Zephyr | SafeX |
|---|---|---|
nanopool.org supportxmr.com c3pool.com hashvault.pro p2pool.io moneroocean.stream skypool.org xmrpool.eu pool.kryptex.com herominers.com p2pool.io solopool.org monerohash.com antpool.com pool.xmr.pt rplant.xyz monerod.org dxpool.com bohemianpool.com prohashing.com mining-dutch.nl gntl.uk fairhash.org volt-mine.com zeropool.io fastpool.xyz xmr-pool.com zergpool.com xmrminers.com monerop.com pool-pay.com solopool.pro frjoga.com infinium.space minorpool.com cedric-crispin.com aikapool.com | herominers.com nanopool.org miningocean.org 2miners.com pool.kryptex.com hashvault.pro h9.com 2miners.com ekapool.com k1pool.com raptorhash.net miningmadness.com solopool.org rplant.xyz zephyrprotocol.com gntl.uk aikapool.com fastpool.xyz pool-pay.com thunderhash.com c3pool.com moneroocean.stream minorpool.com skypool.org zergpool.com newpool.xyz coinminerhub.com | safex.org safex.ninja pool-pay.com fastpool.xyz skypool.org |
表3:Monero、Zephyr、SafeXの既知のマイニングプール
Monero | Zephyr | SafeX |
|---|---|---|
nanopool.org supportxmr.com c3pool.com hashvault.pro p2pool.io moneroocean.stream skypool.org xmrpool.eu pool.kryptex.com herominers.com p2pool.io solopool.org monerohash.com antpool.com pool.xmr.pt rplant.xyz monerod.org dxpool.com bohemianpool.com prohashing.com mining-dutch.nl gntl.uk fairhash.org volt-mine.com zeropool.io fastpool.xyz xmr-pool.com zergpool.com xmrminers.com monerop.com pool-pay.com solopool.pro frjoga.com infinium.space minorpool.com cedric-crispin.com aikapool.com | herominers.com nanopool.org miningocean.org 2miners.com pool.kryptex.com hashvault.pro h9.com 2miners.com ekapool.com k1pool.com raptorhash.net miningmadness.com solopool.org rplant.xyz zephyrprotocol.com gntl.uk aikapool.com fastpool.xyz pool-pay.com thunderhash.com c3pool.com moneroocean.stream minorpool.com skypool.org zergpool.com newpool.xyz coinminerhub.com | safex.org safex.ninja pool-pay.com fastpool.xyz skypool.org |
表3:Monero、Zephyr、SafeXの既知のマイニングプール
Monero | Zephyr | SafeX |
|---|---|---|
nanopool.org supportxmr.com c3pool.com hashvault.pro p2pool.io moneroocean.stream skypool.org xmrpool.eu pool.kryptex.com herominers.com p2pool.io solopool.org monerohash.com antpool.com pool.xmr.pt rplant.xyz monerod.org dxpool.com bohemianpool.com prohashing.com mining-dutch.nl gntl.uk fairhash.org volt-mine.com zeropool.io fastpool.xyz xmr-pool.com zergpool.com xmrminers.com monerop.com pool-pay.com solopool.pro frjoga.com infinium.space minorpool.com cedric-crispin.com aikapool.com | herominers.com nanopool.org miningocean.org 2miners.com pool.kryptex.com hashvault.pro h9.com 2miners.com ekapool.com k1pool.com raptorhash.net miningmadness.com solopool.org rplant.xyz zephyrprotocol.com gntl.uk aikapool.com fastpool.xyz pool-pay.com thunderhash.com c3pool.com moneroocean.stream minorpool.com skypool.org zergpool.com newpool.xyz coinminerhub.com | safex.org safex.ninja pool-pay.com fastpool.xyz skypool.org |
表3:Monero、Zephyr、SafeXの既知のマイニングプール
P2Pool
MoneroのP2Poolは、従来のマイニングプールでよく見られる集中化の問題に対処する分散型のマイニングプールです。P2Poolは、マイニング作業の管理と報酬の分配を中枢機関に任せるのではなく、マイナーが直接協力するピアツーピアネットワークを構築します(図7)。このアプローチは、Moneroがプライバシーと分散化を重視していることと合致しており、マイニングプロセスにおけるセキュリティと公平性の両方を高めます。
図7:P2Poolマイニングトポロジー
P2Poolシステムでは、各マイナーが完全なMoneroノードを実行し、ネットワークのハッシュパワーに貢献しながら、自身のマイニングアクティビティに対するコントロールを維持します。報酬は、Moneroの強力なプライバシー機能を損なうことなく、各マイナーの貢献度に応じて分配されます。
集中管理を排除することにより、P2PoolはSingle Points of Failureや潜在的な検閲などのリスクを減らし、より回復力のある民主的な環境をMoneroエコシステムのマイナーに提供します。
参加料金がかからないことや、ブロック発見率が高いことなど、P2Poolトポロジーを使用する利点はありますが、Akamaiはこのトポロジーで機能している悪性のサンプルに遭遇したことがありません。攻撃者の観点からは安定したノードの運用がデメリットであるとするなら、それによって攻撃者の匿名性が損なわれる可能性があります。
NiceHash
NiceHashは、計算リソース取引サービスです。マイナーは、単一のアルゴリズムを指定することなく、自身のリグのハッシュレートを固定価格で販売することができます。これにより、マイニングの統計的要素と運の要素の両方が排除され、その代わりに収益が減少しますが、一定の収益が得られます。
このタイプのマイニングはプールマイニングと似ており、複数のアルゴリズムを同時に組み合わせてマイニングジョブが行われます。つまり、マイナーは同時にさまざまなアルゴリズムを使用して、複数のバイヤーのためにマイニングを行います。
セラーとバイヤーの特定を求めるKYC(顧客の本人確認)要件があるため、NiceHashとリンクされているクリプトマイナーが見つかる可能性は低いです。偽のアイデンティティや窃取されたアイデンティティを使用してリンクされている可能性がありますが、それはおそらく長続きしません。
プロキシ
プロキシは、トランスポート層またはアプリケーション層で接続をルーティングする有名なネットワークコンポーネントです。Moneroのマイニングや、マイニング一般では、Stratumプロトコルを使用してマイニングジョブを提供します。また、アプリケーションプロトコルと同様に、必要に応じてプロキシやシンプルなルーティング・テーブル・ルールを使用して別のサーバーにリダイレクトすることができます。
また、マイニング・プロキシ・サーバーは、ジョブをプールやノードから分離して、接続されたマイナーに分配することにより、マイナーに直接サービスを提供できます。たとえば、ジョブ割り当てのためのミドルウェアとして機能するMoneroソフトウェアXMRigプロキシなどです(図8)。
図8:プロキシ・マイニング・トポロジー
Akamaiは、どちらのタイプも攻撃者によって使用されているのを発見することができました。それらの明らかな違いは、一方はマイニング・プール・アドレスを隠そうとしたのに対し、もう一方はプールと使用するウォレットを隠したことです。
結論
サイバー犯罪に暗号資産が使用されることはよくありますが、通常は支払い方法として使用されます。それに対して、クリプトマイナーマルウェアは、利益を生み出す主要な手段として、暗号資産の基本的な側面であるマイニングプロセスを悪用します。
攻撃者は、さまざまなマイニングトポロジーを利用して、プライバシーを強化し、よく使用される検知方法に対する回復力を高めることができます。たとえば、マルウェアサンプルにウォレットアドレスを含めないようにすると、ウォレットアドレスのパターンを識別するように設計された静的分析エンジンの効果が低下します。また、この戦略では、個々のサンプルをより大きなキャンペーンに関連付けることも難しくなり、攻撃の匿名性が守られます。
クリプトマイナーの候補の表を作成することで、攻撃者が選択してクリプトマイナーボットネット内で使用する可能性のあるコインを予測できます。この知見は、気付かれていないキャンペーンを発見し、特定の種類のクリプトマイナーの候補に検知方法を集中させるために役立ちます。
付録A:クリプトマイナーによって使用される可能性のあるコイン
候補の収益性をまとめて算出するソースコードは、GitHubリポジトリで入手できます。