PR

クリプトジャッキング入門:仕組み・手口・検知・対策

本記事は学習用です。作成には ChatGPT と GitHub Copilot を使用しています。

  1. 1. クリプトジャッキングの概要と特徴
    1. 1-1. クリプトジャッキングとは何か
    2. 1-2. 他のマルウェアとの違い
  2. 2. 暗号資産マイニングと攻撃者のビジネスモデル
    1. 2-1. マイニングの仕組みとコスト構造
    2. 2-2. なぜ犯罪者はクリプトジャッキングを行うのか
  3. 3. クリプトジャッキングの攻撃形態
    1. 3-1. ブラウザ型(インブラウザ・クリプトジャッキング)
    2. 3-2. エンドポイント型マルウェア(PC・スマホ)
    3. 3-3. クラウド・コンテナ・Kubernetes を狙う攻撃
  4. 4. 侵入からマイニングまでの典型フロー
    1. 4-1. エンドポイント(PC/サーバ)の場合
    2. 4-2. ブラウザ型の場合
    3. 4-3. クラウド・コンテナの場合
  5. 5. クリプトジャッキングによる影響とリスク
    1. 5-1. 性能・可用性への影響
    2. 5-2. コスト・金銭的被害
    3. 5-3. セキュリティリスク(二次被害)
  6. 6. クリプトジャッキングの検知手法
    1. 6-1. ホストベースでの検知
    2. 6-2. ネットワークベースでの検知
    3. 6-3. クラウド・コンテナ監視での検知
  7. 7. クリプトジャッキング対策・ベストプラクティス
    1. 7-1. 共通の基本対策
    2. 7-2. ブラウザ型への対策
    3. 7-3. エンドポイント型への対策
    4. 7-4. クラウド・コンテナ・Kubernetes への対策
    5. 7-5. インシデント発生時の対応の考え方
  8. 8. まとめ:クリプトジャッキングを「異常コストと性能低下のサイン」として捉える
  9. A. 参考サイト
  10. B. 関連書籍

1. クリプトジャッキングの概要と特徴

1-1. クリプトジャッキングとは何か

クリプトジャッキング(Cryptojacking)は、
「被害者の端末やクラウド環境の 計算資源を無断で使用して暗号資産をマイニングする行為」
を指すサイバー攻撃の一種。

IBM や Kaspersky などの定義も、いずれも「ユーザーの同意なしに CPU や GPU を使って暗号資産を採掘する不正行為」と説明している。(IBM)

  • 暗号資産:ビットコインやモネロなど、ブロックチェーン上で管理されるデジタル資産
  • マイニング:ブロックチェーンの取引検証を行い、その報酬として暗号資産を得る計算処理
  • クリプトマイナー:マイニング処理を行うプログラムまたはマルウェア

正当なマイニングは、自分が所有する計算資源を使って行う。
これに対してクリプトジャッキングは、他人の PC・スマホ・サーバ・クラウドインスタンス・コンテナなどを乗っ取り、その CPU・GPU・電力・クラウド料金を盗用する点が本質的な違いとなる。(GMOインターネットグループ株式会社)

1-2. 他のマルウェアとの違い

ランサムウェアや情報窃取型マルウェアと比較したクリプトジャッキングの特徴は次のとおり。

  • データ破壊・暗号化・恐喝を行わない場合が多い
  • キーロガーや情報窃取を行わないケースも多い
  • 主な目的は「計算資源」と「電力」や「クラウド料金」の搾取
  • 被害は一見「性能低下」や「電気代・クラウド課金増加」にとどまるように見える

GMO サイバーセキュリティ byイエラエは、クリプトジャッキングについて「端末の空きリソースを勝手に利用され、発熱や性能低下、停止につながる」と説明している。(GMOインターネットグループ株式会社)

ただし、
「リソース搾取だけを行う比較的“静かな”マルウェア」
として導入され、同一環境でバックドアや情報窃取も並行して行うケースも報告されているため、単純に軽視できるものではない。

2. 暗号資産マイニングと攻撃者のビジネスモデル

2-1. マイニングの仕組みとコスト構造

Proof of Work(PoW)型のブロックチェーン(例:ビットコイン、モネロなど)では、
マイニングは「計算競争」であり、次のような特徴を持つ。

  • 膨大なハッシュ計算を行う
  • 処理量に比例して報酬(暗号資産)を得る期待値が増える
  • 電力・ハードウェア(GPU/ASIC/サーバ)・設置環境などのコストが大きい

このため正当なマイナーは、電気代と報酬を比較しながら採算ラインを検討するビジネスになっている。

2-2. なぜ犯罪者はクリプトジャッキングを行うのか

攻撃者にとってクリプトジャッキングが魅力的な理由は次のとおり。

  • コストの外部化
    • 電力・ハードウェア・クラウド料金をすべて被害者に押し付けられる
  • 比較的目立たない
    • ランサムウェアのような派手な画面表示や、露骨な金銭要求が不要
    • ユーザーが「PCが遅い」「クラウド請求が増えた」と感じるだけで、攻撃と気付きにくい
  • 継続的収益
    • ボットネット化した多数の端末から、長期間にわたり少額ずつ収益を得られる
  • モネロなどの匿名性
    • プライバシー重視の暗号資産を使うことで、資金洗浄や追跡回避が容易になるとされる(ResearchGate)

結果として、攻撃者は「できるだけ多くの CPU / コンテナ / インスタンス」を静かに支配し続ける戦略をとる。

3. クリプトジャッキングの攻撃形態

クリプトジャッキングは、大きく以下の 3 パターンに分類できる。

  1. ブラウザ型(インブラウザ・クリプトジャッキング)
  2. エンドポイント型マルウェア(PC/スマホなど)
  3. クラウド・コンテナ・サーバレス環境を狙う型

3-1. ブラウザ型(インブラウザ・クリプトジャッキング)

ブラウザ型は、ユーザーがウェブサイトを閲覧した際、JavaScript などを通じて CPU を利用してマイニングする形態。

  • 代表例として Coinhive などの in-browser mining サービスがあった
  • 正当な利用(広告の代替収益源)をうたうケースもあったが、多数のサイトでユーザーの同意なく利用され問題化した(arXiv)

日本国内でも過去に Coinhive を巡る刑事裁判が行われ、無断マイニングをめぐる違法性が議論になった経緯がある。

現在、Coinhive 自体はサービス停止しているが、同様の in-browser マイニングスクリプトは他にも存在し、攻撃者が改造・悪用するケースが継続しているとされる。(arXiv)

3-2. エンドポイント型マルウェア(PC・スマホ)

エンドポイント型では、一般的なマルウェアと同様の感染経路を通じて、マイナーがインストールされる。

  • フィッシングメールの添付ファイルや URL
  • クラックソフト・海賊版ソフト・不正なゲームクライアントなど
  • 脆弱な RDP や VPN への総当たり攻撃後の侵入
  • OS やブラウザ、プラグインの脆弱性悪用

LANSCOPE の解説でも、端末にマルウェアをインストールして CPU リソースを盗用する形態が紹介されている。(Lanscope)

スマホに対しては、不正アプリを通じてバックグラウンドでマイニングするケースや、広告 SDK に不正コードを埋め込む事例も報告されている。

3-3. クラウド・コンテナ・Kubernetes を狙う攻撃

近年顕著なのが、コンテナ / Kubernetes / Docker / クラウドインスタンスを狙うクリプトジャッキングである。

代表的な手口としては次のようなものが報告されている。

  • インターネットに公開された Docker API(ポート 2375 など)の不適切な公開を悪用し、不正コンテナをデプロイ(SOCRadar® Cyber Intelligence Inc.)
  • Kubernetes の RBAC/認証設定不備や、Dashboard の公開ミスを突いてマイニング用 Pod を起動
  • クラウドインスタンスのアクセスキー漏えい(GitHub などへの誤コミット)を悪用して、大量のインスタンスを起動してマイニング
  • コンテナからホストへのエスケープ脆弱性を悪用し、より広い権限を獲得してマイニングおよびボットネット化(SOCRadar® Cyber Intelligence Inc.)

SOCRadar や Datadog、CrowdStrike などのレポートでは、Docker / Kubernetes 環境を狙った継続的なクリプトジャッキングキャンペーンが指摘されている。(SOCRadar® Cyber Intelligence Inc.)

クラウド環境の場合、単なる CPU 負荷ではなく「クラウド利用料金の急増」という形で直接的な金銭被害が顕在化する点が大きな特徴となる。

4. 侵入からマイニングまでの典型フロー

一般的なクリプトジャッキングのシナリオを、端末・ブラウザ・クラウドの 3 つに分けて整理する。

4-1. エンドポイント(PC/サーバ)の場合

  1. 初期侵入
    • フィッシングメールの添付ファイルを開く
    • 脆弱性を突くエクスプロイトキット経由でダウンロード
    • クラックソフト等にバンドルされたマルウェアの実行
  2. マイナーの設置
    • OS に応じたマイニングバイナリ(例:xmrig など)を設置
    • 設定ファイルに「マイニングプールの URL」「ウォレットアドレス」「スレッド数」などを記述
  3. 永続化
    • Windows のレジストリ Run キーやサービス登録
    • Linux の systemd サービス / cron / rc.local など
    • 自己更新・自己防御機能(アンチウイルスの停止など)
  4. 隠蔽
    • プロセス名をシステムプロセス風に偽装(例:kworker、systemd-helper など)
    • CPU 使用率が 100% にならないよう、しきい値を決めて動作を調整
    • ユーザー操作中は負荷を抑え、アイドル時にフル稼働
  5. マイニングと C2 通信
    • マイニングプールとの通信(Stratum プロトコルなど)
    • C2 サーバから設定更新や停止指示を受け取る場合もある(カスペルスキー)

      4-2. ブラウザ型の場合

      1. ユーザーが攻撃者の制御するサイト、もしくは改ざんされた正規サイトにアクセス
      2. HTML 内に埋め込まれた JavaScript が読み込まれ、ブラウザ上でマイニング開始
      3. ユーザーがタブを閉じるまで、CPU などがマイニング処理に利用される
      4. 多数のユーザーアクセスを集めることで、1 人あたりの負荷は小さくてもトータルで収益化する(ResearchGate)

      ブラウザ型は、インストール不要で即座にマイニングを開始できる一方、タブを閉じると終了してしまうため、継続的な収益性は限定的であり、現在はエンドポイント型やクラウド型の方が主流とされる。

      4-3. クラウド・コンテナの場合

      1. 攻撃者がインターネット上をスキャンし、公開 Docker API や脆弱な Kubernetes、漏洩したアクセスキーなどを探索
      2. 侵入に成功すると、不正なコンテナイメージやマイナー入りの Pod/インスタンスを起動
      3. 可能であればホスト OS にエスカレーションし、より広い権限を取得
      4. マイニングを開始しつつ、Masscan 等でさらなる脆弱ホストをスキャンして自己拡散(SOCRadar® Cyber Intelligence Inc.)

      Akamai などのレポートでは、Docker API のポート 2375 を狙うキャンペーンが継続していると報告されており、クラウド側の設定ミスが主要な入り口となっている。(TechRadar)

      5. クリプトジャッキングによる影響とリスク

      5-1. 性能・可用性への影響

      クリプトジャッキングの直接的な影響は、以下のような「性能と可用性」の問題として現れる。

      • CPU / GPU 使用率の恒常的な高止まり
      • ファンの常時最大回転、端末の異常発熱
      • バッテリー消費の急増(モバイル端末)
      • アプリケーション応答遅延、タイムアウト
      • サーバリソース枯渇によるサービス停止

      GMO や LANSCOPE の解説でも、「熱暴走」「端末停止」「業務影響」が典型的な結果として挙げられている。(GMOインターネットグループ株式会社)

      5-2. コスト・金銭的被害

      クラウド・データセンターを含む環境では、性能以上に「コスト」が重大な被害となる。

      • 電気料金の増加(オンプレミスの場合)
      • クラウド利用料金(コンピュート・電力・ネットワーク)の急増
      • 追加のハードウェア保守・交換費用(高負荷による寿命短縮)

      特にクラウドでは、攻撃者が大量のインスタンスやコンテナを自動起動することで、1 か月の請求が平常時の数十倍に膨らむケースも報告されている。(SOCRadar® Cyber Intelligence Inc.)

      5-3. セキュリティリスク(二次被害)

      クリプトジャッキングは「リソース搾取」が主目的だが、実際のマルウェアは次のような機能を併せ持つことも多い。

      • 追加マルウェアのダウンロード(ランサムウェアや情報窃取型)
      • ボットネットとしての DDoS 攻撃やスパム送信
      • ブラウザデバッグポートや Telnet などを悪用したさらなる侵害(TechRadar)

      Akamai の報告した Docker API 悪用キャンペーンでは、暗号資産マイニングに加えて、将来的なボットネット機能(DDoS やデータ窃取)を示唆するコードも確認されている。(TechRadar)

      つまり、クリプトジャッキングは「電気代の問題」にとどまらず、環境がすでに攻撃者に乗っ取られていることのシグナルであり、他の攻撃の踏み台となるリスクが高い。

      6. クリプトジャッキングの検知手法

      6-1. ホストベースでの検知

      6-1-1. CPU・メモリ・GPU の異常な利用

      クリプトジャッキングは計算資源を酷使するため、リソース監視が基本となる。

      • CPU 使用率が常に 80〜100% 付近
      • 夜間や休日も変わらず高負荷
      • 特定プロセスが常に高い CPU 使用率を示す

      Linux での簡易確認例:

      # CPU 使用率のリアルタイム確認
      top
      
      # CPU 使用率の高いプロセス上位10件を表示
      ps aux | sort -nr -k3 | head
      
      # GPU 使用率(NVIDIA の例)
      nvidia-smi

      Windows であれば、タスクマネージャーや PowerShell(Get-Process)で同様の観点で確認する。

      6-1-2. 不審なプロセス・サービス・永続化設定

      よくあるパターンは、プロセス名・サービス名をシステム系に偽装するケースである。

      例:

      • 「svchost.exe」「system32.exe」など、正規っぽいが実際には別パスにあるバイナリ
      • 「kworker」「systemd-helper」など Linux のプロセス名を装ったマイナー(Malwarebytes)

      Linux で永続化設定を確認する例:

      # systemd サービスに怪しいものがないか確認
      systemctl list-units --type=service | grep -Ei 'miner|xmrig|crypto'
      
      # cron に怪しいジョブがないか確認
      sudo crontab -l
      ls /etc/cron.d

      6-2. ネットワークベースでの検知

      6-2-1. マイニングプールへの通信

      マイナーは通常、マイニングプールと Stratum などのプロトコルで通信する。
      そのため、以下のような観点でネットワーク監視を行う。

      • 不審なドメイン名・IP アドレスへの継続的なアウトバウンド通信
      • 既知のマイニングプールドメインや、過去に悪用報告のあるドメインへの接続
      • 特定ホストからの長時間にわたる一定量の TCP 通信(カスペルスキー)

      IDS/IPS・次世代ファイアウォール・DNS フィルタリングなどで、既知のマイニングプールやクリプトジャッカーの C2 ドメインをブロックしつつ、アラートを上げる運用が有効。

      6-2-2. TOR・プロキシ・隠蔽通信の利用

      最近のコンテナ向けクリプトジャッキングキャンペーンでは、TOR やプロキシを利用して C2 サーバを隠蔽する例も報告されている。(TechRadar)

      • サーバから TOR の .onion アドレス宛の通信が発生していないか
      • 不審な SOCKS プロキシや SSH トンネルが張られていないか

      といった点も確認ポイントになる。

      6-3. クラウド・コンテナ監視での検知

      クラウド・コンテナ環境では、以下のようなメトリクスとログを組み合わせて検知する。

      • 異常な CPU 使用率・Pod 再起動回数・スケールアウト頻度
      • 予期しないコンテナイメージのデプロイ(社内で承認されていないイメージ名)
      • 「最新タグ(:latest)かつ出所不明」のイメージを勝手に pull していないか
      • Docker API / Kubernetes API への不審な外部アクセス(認証なし・海外 IP からのアクセス)(SOCRadar® Cyber Intelligence Inc.)

      クラウドプロバイダの課金アラートも有効で、
      「コンピュート費用や電力相当コストが急増したときに通知する」
      運用を設定しておくことで、クリプトジャッキングに早く気付ける可能性が高まる。

      7. クリプトジャッキング対策・ベストプラクティス

      7-1. 共通の基本対策

      クリプトジャッキングは、基本的なセキュリティ対策の徹底でかなりの割合を防げる。

      • OS・ミドルウェア・ブラウザ・プラグインの最新化
      • 不要なサービス・ポートの停止
      • エンドポイント保護製品(EDR/アンチウイルス)の導入と定義更新
      • メールフィルタや Web フィルタによる不審 URL・添付ファイルのブロック
      • ユーザー教育(不審なリンクや海賊版ソフトを実行しない)(カスペルスキー)

      LANSCOPE や GMO の解説でも、OS 更新・セキュリティソフト・フィルタリング・教育が組み合わされた「多層防御」が推奨されている。(GMOインターネットグループ株式会社)

      7-2. ブラウザ型への対策

      ブラウザ型クリプトジャッキングに対しては、次のような手段がある。

      • 広告ブロッカーやスクリプトブロッカーアドオンの利用(企業ではポリシー設計要)
      • 不審な JavaScript を検知・ブロックする Web ゲートウェイ/プロキシ
      • 社内ブラウザ標準の統一と、不要なプラグインの禁止
      • JavaScriptベースのマイニングスクリプトを検知するセキュリティ製品の利用(ResearchGate)

      7-3. エンドポイント型への対策

      • マルウェアマイナー(xmrig など)の既知シグネチャや挙動を検知する EDR
      • 不正プロセスや永続化設定を監視するホスト型 IDS
      • 高負荷プロセスを自動検出する運用監視(Zabbix, Prometheus など)
      • 管理者権限の適正化(ローカル管理者権限を必要最小限にする)(Malwarebytes)

      7-4. クラウド・コンテナ・Kubernetes への対策

      近年の重要ポイント。

      • Docker / Kubernetes API をインターネットに直接公開しない
      • 必ず TLS・認証・RBAC を設定し、信頼できるネットワークからのみアクセスさせる
      • 不要なクラウド権限(IAM ロール・サービスアカウント)を削減する
      • コンテナイメージの署名検証 / レジストリ制限(信頼済みレジストリのみ pull を許可)
      • Kubernetes の PodSecurity / PodSecurityPolicy(もしくは後継機能)で特権コンテナを制限
      • クラウドの課金アラート・利用制限(予算上限・アラート)を設定(SOCRadar® Cyber Intelligence Inc.)

      Sysdig や Fortinet などの解説では、クラウドネイティブ環境におけるクリプトジャッキングのリスクと、コンテナセキュリティプラットフォームによる検知・防御の重要性が強調されている。(Sysdig)

      7-5. インシデント発生時の対応の考え方

      クリプトジャッキングが発覚した場合、単にマイナーを削除して終わりにするのは危険である。

      • 侵入経路の特定(ログ解析・フォレンジック)
      • 侵害範囲の特定(どのホスト・コンテナ・アカウントが影響を受けたか)
      • 追加マルウェアやバックドアの有無の確認
      • 必要に応じたパスワードリセット・鍵のローテーション
      • 関係者・顧客・規制当局への報告が必要かどうかの判断

      8. まとめ:クリプトジャッキングを「異常コストと性能低下のサイン」として捉える

      • クリプトジャッキングは、暗号資産マイニングを目的に他人の計算資源を不正使用する攻撃であり、主な被害は「性能低下」と「電力・クラウド料金の増加」
      • しかし実際には、環境がすでに攻撃者に掌握されていることを意味し、二次的なマルウェア感染・ボットネット化・情報窃取などのリスクも高い
      • 攻撃形態は
        • ブラウザ型
        • エンドポイント型マルウェア
        • クラウド・コンテナ・Kubernetes 型に大別され、近年はクラウド・コンテナを狙うキャンペーンが活発化している(SOCRadar® Cyber Intelligence Inc.)
      • 検知のキーは
        • ホストの CPU/GPU・永続化設定
        • ネットワークのマイニングプール通信
        • クラウド課金やコンテナ挙動の異常を組み合わせて監視すること
      • 対策としては、パッチ管理・EDR・Web/メールフィルタ・クラウド/コンテナの設定強化・課金アラートなど、既存のセキュリティ基盤と運用を組み合わせることが重要

      クリプトジャッキングは、ランサムウェアほど派手な被害を表面化させないが、
      「環境が静かに乗っ取られていることを知らせるシグナル」
      と捉え、根本的な侵入対策・可観測性の向上・クラウドネイティブセキュリティの強化に結びつけることが、組織にとって実務的なアプローチになる。

      A. 参考サイト

      1. IBM – What is Cryptojacking?(英語)(IBM)
      2. Kaspersky – What is Cryptojacking and how does it work?(英語)(カスペルスキー)
      3. Malwarebytes – Cryptojacking – What is it?(英語)(Malwarebytes)
      4. GMOサイバーセキュリティ byイエラエ – クリプトジャッキングとは?意味や対策方法について(GMOインターネットグループ株式会社)
      5. LANSCOPE – クリプトジャッキングとは?手口や事例・対策をわかりやすく解説(Lanscope)
      6. Fortinet – クリプトジャッキングとは? 定義と説明(Fortinet)
      7. Sysdig – クリプトジャッキングとは?(クラウドネイティブ視点)(Sysdig)
      8. Datadog Security Labs – Threat actors leveraging Docker Swarm and Kubernetes to mine cryptocurrency(securitylabs.datadoghq.com)

      B. 関連書籍

      コメント