All
SaaS管理
デバイス管理
セキュリティ対策
脅威・インシデント
IT基盤・インフラ
情シス業務・組織形成
AI / テクノロジー
プロダクト
イベントレポート
その他
ガバナンス

新着記事

もっと見る

>

>

クリプトジャッキングとは?クラウド高額請求を防ぐ最新対策

クリプトジャッキングとは?クラウド高額請求を防ぐ最新対策

クリプトジャッキングとは?クラウド高額請求を防ぐ最新対策

クリプトジャッキングとは?クラウド高額請求を防ぐ最新対策

公開日

最終更新日

クリプトジャッキングとは、他人のPCやクラウド環境のCPU・GPUを無断で使い、暗号資産を不正にマイニングするサイバー攻撃です。英語ではcryptojackingと表記されます。

近年の主なリスクは、端末が重くなることだけではありません。漏えいしたクラウド認証情報から高性能インスタンスを大量起動され、短期間で数千万円規模に膨らみ得るクラウド高額請求や、生成AI向けGPUを奪う資源強奪へと攻撃対象が広がっています。

個人利用者(システム管理の専門知識がない方を含む)は発熱や偽警告の見分け方を、情シス・開発担当者は認証情報、全リージョンのリソース、監査ログ、請求額の順に確認すると、被害の早期切り分けにつながります。なお本記事では、コマンド操作やクラウド管理コンソールに不慣れな方向けの説明も「個人端末の初期兆候」「偽の感染警告との判別」に設けています。

不正な暗号資産採掘によるクラウド高額請求を防ぐため、クリプトジャッキングの侵入経路と端末やクラウドアカウントにおける防御・監視手順を解説する図。

クリプトジャッキングとは

クリプトジャッキングは、所有者の同意を得ずに計算資源を占有し、攻撃者の利益に転換する不正マイニングです。

お急ぎの方は該当箇所へ

  • 個人端末が重い・熱い→「クリプトジャッキングの症状セルフチェック」の「個人端末の初期兆候」へ

  • クラウドの請求が急増した→「被害発生時の緊急初動対応」へ

  • Kubernetes・コンテナを運用している→「クリプトジャッキングを防ぐ対策」の「Kubernetesとコンテナの制御」へ

本記事のポイント

  • 現在の主要な標的には、個人端末だけでなくクラウド、コンテナ、CI/CD、AI用GPUが含まれます。

  • ブラウザを閉じれば止まるスクリプト実行と、OSに常駐するマルウェア感染は区別して調査します。

  • 通常の予算アラートは請求のハード上限ではなく、対応が遅れれば課金が継続します。

  • 侵害を疑った場合は、認証情報の無効化、証跡保全、異常リソース停止、事業者への連絡を並行して進めます。

SonicWallは2024 SonicWall Cyber Threat Reportで、2023年に観測したクリプトジャッキング件数が前年比659%増加したと報告しています。これは2023年の観測値であり、現在の件数を直接示す数字ではありませんが、攻撃者が身代金要求だけでなく、気づかれにくい資源搾取を収益源としていることを表します。

一方、IPAの情報セキュリティ10大脅威 2025では、クリプトジャッキング自体は組織向け脅威の独立項目ではありません。脆弱性を突いた攻撃やサプライチェーン攻撃など、不正マイニングにも使われる侵入経路が組織向け上位に含まれているため、情シスではマイナー単体ではなく侵入経路から対処します。

ランサムウェアとの相違点

クリプトジャッキングとランサムウェアでは、収益化の方法と攻撃者が望む滞在期間が異なります。

比較項目

クリプトジャッキング

ランサムウェア

主な目的

CPU、GPU、電力、クラウド利用枠の継続的な搾取

暗号化や窃取を材料とした身代金要求

攻撃者の行動

負荷や通信量を調整して長期潜伏を図る

業務を止め、脅迫文などで被害を認識させる

主な兆候

高いCPU・GPU使用率、発熱、未知のインスタンス、請求急増

ファイルの暗号化、ログイン不能、脅迫文、情報公開の予告

金銭的影響

電力費、クラウド利用料、調査・再構築費

復旧費、休業損失、調査費、賠償、身代金

初動の中心

認証情報失効、リソース停止、永続化の排除

ネットワーク隔離、証拠保全、復旧範囲の判定

不正マイニングだけが見つかった場合でも、情報漏えいがないとは断定できません。同じアクセスキーやバックドアを使ってオブジェクトストレージ、データベース、シークレットへ接続されていないかを監査ログで判定します。

Coinhive事件の法的判断

日本で法的な境界が争われた代表例がCoinhive事件です。最高裁判所第一小法廷は2022年1月20日、令和2年(あ)第457号の判決で被告人を無罪としました。最高裁判所のCoinhive事件判決は、プログラムがサイト閲覧者の意図に反して動作したかという反意図性と、社会的に許容できない不正なものかという不正性を分けて検討しています。

この判断は、Web広告と負荷が同程度だったという理由だけで決まったものではありません。CPU使用率、端末機能への影響、運営者が得る利益、利用者への不利益、当時の社会的な受容状況などを総合的に評価した判決です。他人のクラウドへ侵入してインスタンスを起動する行為や、マルウェアを常駐させる行為まで合法化したものではありません。

▶ 関連記事: ランサムウェア対策とは?感染したときの対処法や駆除の手順まで解説

クリプトジャッキングの仕組みと最新手口

現在の不正マイニングは、公開サイトのスクリプト、端末マルウェア、漏えいしたクラウドキー、コンテナイメージ、過剰なIAM権限を組み合わせて実行されます。

ブラウザスクリプトと常駐型マルウェア

ブラウザ型では、改ざんされたWebサイトや広告がJavaScriptを実行し、閲覧中のCPUをマイニングへ利用します。ページを開いている間だけ処理されるケースでは、ブラウザを閉じると負荷が下がり、端末へプログラムが保存されていないこともあります。そのため、Web閲覧中の高負荷を一律に「感染」と表現するのは正確ではありません。

常駐型は、フィッシング、偽の生成AIツール、海賊版ソフト、悪質なブラウザ拡張機能、ドライブバイダウンロードなどから侵入します。OS起動時の自動実行、タスクスケジューラ、サービス、LaunchAgentなどへ登録されると、ブラウザを閉じてもマイニングが続きます。

クラウド認証情報の自動探索

クラウド侵害では、攻撃者がGitHubなどの公開リポジトリ、コンテナイメージ、CI/CDログ、設定ファイルからAPIキーやトークンを探索します。特定企業を選んでから調べるとは限らず、ボットが公開情報を機械的に巡回するため、個人開発者や小規模事業者も同じ条件で攻撃対象になります。

Palo Alto NetworksのUnit 42はEleKtra-Leakキャンペーンの調査で、GitHubに公開されたAWSキーが漏えいから5分以内に悪用されたケースを報告しています。攻撃者は利用可能なリージョンやサービス上限を調べ、EC2を起動してMoneroの採掘へ転用しました。TruffleHogのような検出技術は防御にも使えますが、攻撃者も同様のパターン照合を自動化できます。

この速度では、公開後に担当者が手動でキーを削除する運用では間に合いません。コミット前の検査、プッシュ時の拒否、クラウド側の短期認証、漏えい検知時の自動失効を組み合わせます。履歴からファイルを削除してもキー自体は無効にならないため、必ず認証情報をローテーションします。

クラウド基盤の設定不備

Teslaでは2018年、パスワードで保護されていないKubernetes管理コンソールを起点にクラウド環境が侵害されました。セキュリティ企業RedLock(後にPalo Alto Networksに買収)はTeslaのクラウド侵害調査で、攻撃者が認証情報へ到達し、標準的なマイニングプールのポートを避けて通信を隠したと説明しています。

この事例は2018年時点のものであり、Teslaの現在の環境を表すものではありません。大規模な自動車・IT企業であっても、管理画面の公開、シークレットの格納方法、監視の死角が重なると計算資源を奪われるという教訓として参照できます。

事例・業種

確認時期

課題

攻撃手法

結果と実務上の教訓

Tesla・自動車/大規模企業

2018年

Kubernetes管理画面の保護不備

クラウド認証情報への到達とマイニング通信の隠蔽

設定修正へ移行。管理画面の非公開化とシークレット分離が必要

EleKtra-Leak・複数クラウド利用者

2023年報告

GitHubへのAWSキー露出

5分以内の自動検知、リージョン探索、EC2起動

手動削除では遅く、コミット前検査と即時失効が必要

Docker Hub汚染・開発者/企業

2020年報告

出所を確認しない公開イメージの利用

イメージ内へXMRigなどを混入

署名、SBOM、ダイジェスト固定、実行時監視が必要

コンテナイメージのサプライチェーン汚染

コンテナでは、公開レジストリのイメージにマイナーを埋め込み、利用者自身に実行させる手口があります。Unit 42は2020年の悪意あるDocker Hubイメージの調査で、azurenqlアカウントに関連するイメージ群が合計200万回以上取得されていたと報告しました。これは2020年時点の累計値であり、現在のDocker Hubの状態やダウンロード数を示すものではありません。

イメージ取得数の多さだけでは安全性を判定できません。公式提供元、署名、更新履歴、SBOM、既知の脆弱性、実行時に生成されるプロセスと外向き通信を確認し、条件を満たせないイメージは社内レジストリへ取り込まない運用に切り替えます。

防御機能を停止するGhostEngine

Elastic Security Labsは2024年、GhostEngineマルウェアキャンペーンを公表しました。GhostEngineは脆弱な正規ドライバを持ち込むBYOVD攻撃を使い、EDRやアンチウイルス製品のプロセス停止を試みたうえでXMRigを展開します。

EDRが停止したログ、ドライバの追加、PowerShellの難読化、マイニングプールへのDNS・TLS通信を相関させると、単一製品を回避された場合も調査できます。EDRのアラートがないことは、感染していない証明にはなりません。

2025〜2026年のGPUジャッキング

生成AIの普及に伴い、A100やH100などの高性能GPUを搭載したクラウドリソースも狙われています。GPUジャッキングとは、盗んだ認証情報や過剰な権限を使ってGPUリソースを無断起動し、暗号資産採掘、パスワード解析、計算資源の転売、AI処理などへ転用する資源強奪です。Wiz Researchは2024年に公開した「The AI Security Posture Report」で、AIワークロード向けクラウド資格情報の不正利用が増加していると報告しています。また、CrowdStrikeは2025年版グローバル脅威レポートで、クラウドへの侵害件数が前年比で増加傾向にあり、GPU等の計算資源を狙った攻撃が観測されていると述べています。

請求データだけでは、攻撃者がマイニングとAI処理のどちらを実行したか判別できない場合があります。GPU使用率、起動イメージ、コンテナコマンド、外部接続先、オブジェクトストレージへのアクセスを同じ時間軸で調べます。AI学習用データへアクセスした形跡があれば、課金事故だけでなく情報漏えいとして扱います。

2026年通年のクリプトジャッキング攻撃件数は、通年終了前には確定できません。そのため、本記事では未確定の通年値を「2026年最新件数」として扱わず、確定済みの報告と現行のクラウド公式機能を基準にしています。最新性は、GPU資源、短期認証、シークレットスキャン、請求制御など、現在使われる攻撃面と防御策で判断します。

▶ 関連記事: ドライブバイダウンロードとは?攻撃の仕組み・被害事例・対策を解説

端末高負荷時の原因(ブラウザ型 vs 常駐型 vs 正常処理)判定フロー

▲ 端末高負荷時の原因(ブラウザ型 vs 常駐型 vs 正常処理)判定フロー

クリプトジャッキングで被害が広がる失敗パターン

被害が拡大する主因は、企業規模ではなく、予算通知の過信、長期キーの放置、全リージョンを見ない調査、責任共有モデルの誤解です。

予算アラート設定時の過信による高額請求

通常の予算アラートは、設定額を超えた時点でサービス利用を必ず止めるハードキャップではありません。請求データの反映や通知確認に時間差があるため、夜間や休日に高性能インスタンスを大量起動されると、メールを読むまで課金が続きます。

例えば、不正リソースの合計単価が1時間3,542ドル、稼働時間が48時間なら、請求額は単純計算で170,016ドルです。これは特定の被害企業や現行SKU価格を示す数字ではなく、単価×台数×稼働時間で高額請求が膨らむ仕組みを示す試算です。為替水準によっては数千万円相当になるため、月次請求書で初めて発見する運用は資金繰りにも影響します。

AWSの公式ドキュメントでは、AWS Budgets Actionsを使って、しきい値到達時にIAMポリシーやSCPを適用したり、対象のEC2・RDSを停止したりできます。ただし、すべてのサービスを一律停止する機能ではありません。停止対象に対応できるならBudgets Actionsを使い、対象外サービスまで制御するならSNS、Lambda、EventBridge、OrganizationsのSCP、Service Quotasを組み合わせます。

責任共有モデルの誤解による自己負担リスク

AWSは責任共有モデルの公式説明で、AWSがクラウド自体のセキュリティを担い、利用者がクラウド内のデータ、ID、権限、OS、設定などを担うと説明しています。AzureやGoogle Cloudも名称や分担範囲に差はあるものの、利用者側のID・設定・データ保護を事業者が全面代行する契約ではありません。

ただし、「認証情報を盗まれた請求は常に100%利用者負担」と一律に断定するのも正確ではありません。請求の減額やクレジット対応は、契約条件、侵害状況、初動、再発防止策、過去の救済歴などを基に事業者が個別判断します。公開された公式条件から全額免除を保証する制度は確認できないため、返金を前提に予算を組むことはできません。

全リージョン未確認による課金継続

管理画面で普段使うリージョンだけを見て「異常なEC2はない」と判断すると、別リージョンのインスタンス、コンテナ、サーバーレス処理、スナップショット、固定IP、ロードバランサーが残ります。攻撃者は利用者が監視していないリージョンを選ぶことがあります。

請求明細をサービス・リージョン・アカウント・タグで分解し、組織配下の全アカウントを一覧化します。リソースが確認できれば証跡を保存して停止し、リソースが見つからなければMarketplace購入、データ転送、予約・コミットメント、別の支払いアカウントを調べます。

証跡削除による原因不明化

やってはいけないのは、慌てて不審なユーザー、インスタンス、コンテナ、ログをすべて削除してから調査を始めることです。侵害されたキー、実行コマンド、送信元IP、作成された権限、外部接続先を復元できず、請求相談や再発防止に必要な根拠を失います。

認証情報は直ちに無効化し、ログは書き込み不能な保全先へ複製します。その後、異常リソースの設定、ディスク、メモリ取得の要否を判断して停止します。事業継続への影響が大きい場合でも、課金を続けたまま長時間の解析を行わず、最小限の証跡取得と停止を並行します。

▶ 関連記事: アンチウイルスとは?意味・機能からEDR・IPSとの違いまで解説

予算アラート通知のみの運用とBudgets Actionsによる自動制御の対比

▲ 予算アラート通知のみの運用とBudgets Actionsによる自動制御の対比

クリプトジャッキングの症状セルフチェック

端末の発熱や高いCPU使用率は初期兆候ですが、それだけではクリプトジャッキングと確定できないため、正常な高負荷処理と切り分けます。

個人端末の初期兆候

  • 性能低下:何も操作していないのに入力が遅れ、アプリの起動やWeb表示に時間がかかります。

  • 継続的な発熱:アイドル状態でもファンが高速回転し、端末や充電器が普段より熱くなります。

  • バッテリー消費:同じ使い方でもスマートフォンやノートPCの稼働時間が短くなります。

  • 不審な通信:利用していない時間帯に、未知のドメインやマイニングプールへの通信が続きます。

  • ブラウザ依存の負荷:特定タブを閉じた直後にCPU使用率が下がります。

高負荷の原因には、OS更新、ビデオ会議、検索インデックス、バックアップ、動画処理、正規の開発ツールもあります。発生時刻と利用中のアプリを記録し、同じ操作をしていない状態でも再現するかを見ます。企業端末では、不審なプロセスを独断で削除せず、プロセス名、保存場所、署名、親プロセス、接続先を記録して情シスやSOCへ渡します。

高温状態が続くと、端末の保護機構による性能制限や強制停止が発生します。ハードウェア寿命や故障への影響は、冷却設計、設置環境、保護機構によって異なるため一律には断定できませんが、通気口が塞がれた機器や保護機構が十分でないIoT機器では過熱リスクが上がります。

クラウド環境の初期兆候

  • 通常使わないリージョンでGPU・CPUインスタンスが起動しています。

  • Service Quotasの引き上げ申請や、新規IAMユーザー、ロール、アクセスキーが作られています。

  • 利用額、データ転送量、NAT Gateway、コンテナ実行時間が基準値から急増しています。

  • 監査ログの停止、ログ保存先の変更、検知サービスの無効化が記録されています。

  • マイニングプール、匿名化サービス、未知のコンテナレジストリへの通信があります。

経理の請求アラートだけでなく、情シスがAPI操作とIDイベントを確認できる状態にします。利用額が増えたのに対応する業務変更がなければインシデントとして調査し、業務部門の予約済み処理が確認できれば誤検知として記録します。

偽の感染警告との判別

ブラウザに突然「ウイルスに感染しました」「今すぐ電話してください」と表示される画面は、サポート詐欺である可能性が高い警告です。本物のクリプトジャッキングは長く潜伏するほど攻撃者の利益が増えるため、自ら電話番号や支払い画面を表示する合理性がありません。ただし、警告が偽物でも、閲覧ページに悪質なスクリプトが含まれていないとは断定できません。

  1. 表示された電話番号へ連絡せず、パスワードやカード情報を入力しません。

  2. タブを閉じられない場合は、タスクマネージャーやアプリ切替画面からブラウザを終了します。

  3. 再起動時は「前回のタブを復元」を選ばず、問題のページを再表示しません。

  4. ブラウザ設定から不審なサイトの通知許可、拡張機能、ダウンロード履歴を確認します。

  5. ソフトをインストールした場合はネットワークを切り、別の安全な端末でパスワードを変更したうえでフルスキャンへ進みます。

クリプトジャッキング被害の確認方法

感染確認では、CPU使用率だけで断定せず、プロセス、永続化設定、ネットワーク、クラウド操作履歴、請求データを順番に突き合わせます。

WindowsとMacのプロセス確認

WindowsではCtrl、Shift、Escを同時に押してタスクマネージャーを開き、CPU、GPU、電力消費、ネットワークで並べ替えます。Macでは「アプリケーション」「ユーティリティ」「アクティビティモニタ」の順に開き、CPU、エネルギー、ネットワークを確認します。

使用率90〜100%が続いても、それだけで感染確定にはなりません。不審なプロセスを見つけたら、ファイルの保存場所、デジタル署名、作成日時、親プロセス、コマンドラインを記録します。ブラウザを閉じた後に負荷が消えるならWebページや拡張機能を調べ、再起動後も復活するならサービス、タスクスケジューラ、スタートアップ項目を調べます。

業務端末でプロセス名が不明な場合は、即座にファイルを削除しません。正規の業務アプリやOS機能を消すと障害を増やすため、ネットワーク隔離が可能なら隔離し、ハッシュ値とEDRのタイムラインを保存してから判定します。

ブラウザと端末の追加確認

拡張機能は、提供元、要求権限、最終更新日、インストール元を確認します。閲覧履歴、Service Worker、通知許可、プロキシ設定、DNS設定にも不審な変更がないかを見ます。その後、最新の定義ファイルを適用したセキュリティ製品でフルスキャンを実施します。

スキャンで検出されなくても、負荷や外部通信が再現するなら調査を終了しません。EDRがある場合はPowerShell、WMI、ドライバ読み込み、スケジュールタスク、資格情報アクセスを確認し、EDRがない場合はOSログとネットワーク機器のDNS・通信ログを保全します。

クラウドの横断確認

クラウドでは、請求ダッシュボードから利用額をサービス、リージョン、アカウント、タグ、日付、可能なら時間帯で分解します。次にCloudTrailなどの監査ログで、インスタンス起動、ロール引き受け、キー作成、権限変更、ログ停止、上限緩和の操作を時系列化します。

普段使わないリージョンや子アカウントも対象です。異常な操作が見つかれば送信元IP、ユーザーエージェント、セッション、元の認証方式を追跡し、異常がなければ請求の反映遅延、予約購入、Marketplace、データ転送、正規のバッチ処理へ調査範囲を移します。

被害発生時の緊急初動対応

クラウド侵害を疑った場合は、最初の数十分で認証情報を止め、証跡を保全しながら全リージョンの異常リソースを停止します。

順番

実施内容

判断基準と注意点

1

アクセスキーとセッションの即時無効化

侵害が疑われるキーを無効化し、関連する一時セッションを失効させます。ファイルをGitHubから削除するだけでは不十分です。

2

ルートアカウントと管理者IDの保護

安全な端末からパスワードを変更し、MFA、連絡先、請求先、追加された認証器を確認します。未知のMFAがあれば削除します。

3

証跡保全と異常リソースの停止

監査ログ、設定、ディスク情報を保全し、全リージョン・全アカウントの未知のリソースを停止します。停止後もスナップショットや固定IPの課金を調べます。

4

クラウド事業者への緊急連絡

不正利用の時刻、金額、操作ID、停止内容、警察等への相談状況を伝え、アカウント保護と請求調査を依頼します。減額は保証されません。

5

漏えい元の特定とシークレット再発行

Git履歴、CI/CD、端末、コンテナ、チャット、チケットを調べ、同じシークレットを使う全システムで再発行します。

アクセスキーの封じ込め

漏えいした可能性があるキーは、削除前にキーID、所有者、最終利用時刻を記録し、直ちに無効化します。攻撃者が一時認証情報を取得済みなら、元キーを止めてもセッションが有効な場合があるため、ロールセッション、フェデレーション、SSO、CI/CDトークンも失効対象に含めます。

キーの所有者が不明でも有効なまま調査を続けません。影響する業務が特定できれば代替の短期認証へ切り替え、特定できなければインシデント対応を優先して無効化し、失敗したジョブから依存先を逆引きします。

ルートアカウントの保護

ルートや全体管理者のパスワード、MFA、回復用メール、電話番号、請求先情報を安全な端末から確認します。MFAが未設定なら登録し、身に覚えのない認証器、アクセスキー、管理者ユーザー、外部IDプロバイダーを排除します。

管理者自身のメールが侵害されていると、クラウドだけを直しても再侵入されます。メールのセッション、転送ルール、回復先、OAuth連携を同時に点検し、異常があればメール側のセッションも失効させます。

証跡保全とリソース停止

監査ログ、請求明細、構成履歴、セキュリティアラートを、侵害された管理者が変更できない保管先へ複製します。不審なインスタンスでは、インスタンスID、イメージ、セキュリティグループ、IAMロール、ユーザーデータ、実行中コンテナ、接続先を記録します。

証拠取得に長時間をかけて課金を継続させないよう、最小限の保全後に停止します。情報漏えいの疑いがある場合はディスクスナップショットやメモリ取得の要否をインシデント対応担当が判断し、課金だけが問題なら構成とログを保存して停止へ進みます。

クラウド事業者への連絡資料

問い合わせには、最初に異常を認識した日時、攻撃開始と推定する日時、影響アカウント、リージョン、サービス、概算額、侵害された認証情報、停止済みの対策を記載します。事業者から追加対策を指定された場合は対応日時も残します。

請求減額の申請では、単に「身に覚えがない」と伝えるだけでなく、監査ログ、漏えい経路、封じ込め、再発防止策を提示します。全額、部分額、不承認のいずれもあり得るため、支払期限と調査期間についても同じ窓口で協議します。

原因究明と再発防止

漏えいしたキーだけを交換しても、Git履歴、CI/CD変数、端末、コンテナレイヤー、ログ、チャットに同じ値が残れば再発します。検索対象を現行ファイルに限定せず、履歴と成果物まで広げます。

攻撃者が作成したバックドア用ユーザー、ロール、ポリシー、SSH鍵、起動テンプレート、サーバーレス関数、スケジュールも削除します。最後に、漏えい前から再構築後までの操作を時系列化し、どの検知が何分遅れたかを測定します。

クラウド侵害発生時に実施すべき緊急初動の5ステップ

▲ クラウド侵害発生時に実施すべき緊急初動の5ステップ

クリプトジャッキングを防ぐ対策

効果的な対策は、端末、ソースコード、ID、クラウド課金、コンテナ、ネットワークの各層で、侵入前の制限と侵入後の自動封じ込めを重ねる構成です。

端末とブラウザの防御

  • OS、ブラウザ、ドライバ、業務アプリへセキュリティ更新を適用します。

  • 出所不明の生成AIツール、求人関連ファイル、海賊版ソフト、ブラウザ拡張機能を実行しません。

  • WebフィルタリングやDNS制御で、既知のマイニングプールと悪性ドメインへの通信を遮断します。

  • EDRの停止、除外設定の追加、脆弱なドライバの読み込みを管理者アラートにします。

エンドポイント保護とアンチウイルスは端末層の一部であり、クラウドキーの漏えいや公開されたKubernetes APIまでは単独で防げません。端末の検知結果をIDログやクラウド監査ログと関連付けます。

ソースコードのシークレットスキャン

GitHubの公式ドキュメントでは、Secret scanningがリポジトリ履歴などから既知パターンのシークレットを検出すると説明しています。GitHubの機能に加え、TruffleHogやGitleaksを開発端末のpre-commit、プルリクエスト、CIへ組み込みます。

検出時に警告だけを出すと、納期を優先して無視されることがあります。高信頼度のクラウドキーはプッシュを拒否し、誤検知が疑われる値はセキュリティ担当の承認へ回します。過去履歴から見つかった有効なキーは、コードを消す前に失効させます。

長期アクセスキーを発行しない設計も有効です。GitHub Actionsからクラウドへ接続するならOIDCを使った短期認証へ移し、端末ではSSOと期限付きロールを使います。長期キーが存在しなければ、公開リポジトリへ誤って貼り付ける対象自体を減らせます。

IAMとMFAの最小権限

開発者やCI/CDへ全リージョン・全サービスの管理権限を付けず、担当業務に必要なAPI、リソース、リージョン、期間へ絞ります。GPUインスタンスの起動、Service Quotasの変更、IAM作成、ログ停止は通常業務から分離し、MFAや承認条件を加えます。

利用実績がない権限を権限分析で抽出し、段階的に削ります。監査ログをAPIで取得できるなら日次で未使用権限を集計し、取得できない環境では権限棚卸しのCSVを定期出力して差分管理へ切り替えます。

予算検知と自動停止

予算アラートには、前月比、日次増加額、サービス別、リージョン別、アカウント別の条件を設定します。固定額だけでは、通常利用が増えたときにしきい値を上げ続けて形骸化するため、異常検知と併用します。

AWSではBudgets Actionsの対応範囲に入るリソースなら公式機能を先に使います。対応外サービスでは、予算通知をSNSからLambdaへ渡して隔離用ポリシーを適用する方法や、EventBridgeで高額リソースの作成イベントを捉えて承認外の起動を停止する方法があります。Azureでは「Azure Cost Management + Billing」の予算アラートとAction Groupを組み合わせ、しきい値到達時にAutomation RunbookでVMを停止できます。Google Cloudでは「Cloud Billing の予算とアラート」でPub/Subへ通知し、Cloud Functionsでリソース操作へつなぐ構成が公式ドキュメントで紹介されています。

ただし、請求情報には反映遅延があり、Lambdaによる一括停止は正規業務も止めるおそれがあります。タグ、アカウント、リージョン、承認済み起動テンプレートで対象を限定し、停止前に監査ログへ操作理由を残します。24時間運用できない組織では、夜間だけ承認外GPUを停止する制御から始めると、業務影響を限定できます。

Kubernetesとコンテナの制御

Kubernetesの公式ドキュメントは、RBACによるアクセス制御を提供しています。管理APIをインターネットへ直接公開せず、RBACでサービスアカウントの権限を名前空間と操作単位に絞ります。特権コンテナ、ホストPID、ホストパス、不要な外向き通信も制限します。

イメージは信頼済みレジストリからダイジェスト固定で取得し、署名とSBOMを検証します。実行時には、コンテナ内で新たにダウンロードされた実行ファイル、XMRigに似たコマンド、CPU上限に張り付くPod、未知の外部接続を検知します。

クラウド設定と上限管理

使わないリージョンや高額サービスはOrganizationsのSCPなどで利用を拒否し、GPUや大規模CPUのService Quotasを業務に必要な範囲抑えます。通常はGPUを使わないアカウントであれば起動を拒否し、AI開発アカウントでは承認済みロールとタグがある場合だけ許可します。

CSPMを利用できるなら、公開管理画面、過剰権限、ログ無効化、暗号化されていないシークレットを継続検査します。CSPMがない場合は、クラウド標準の設定評価と監査ログを集約し、管理画面の公開と管理者権限の変更から優先して日次点検します。

運用体制と連絡経路

請求アラートを経理だけへ送ると、技術的な停止までに時間がかかります。経理、情シス、クラウド管理者、セキュリティ担当が同じ通知を受け、誰が認証情報を止め、誰がリソースを停止し、誰が事業者へ連絡するかを事前に決めます。

訓練では「GitHubへキーが公開され、別リージョンでGPUが起動した」という想定を使い、検知からキー無効化までの時間を測ります。30分を超えた場合は承認経路を短縮し、夜間に担当者が不在になる場合は自動失効または隔離アカウントへの移動を追加します。

よくある質問

クリプトジャッキング、不正マイニング、クラウド高額請求について、実務で判断に迷いやすい疑問をまとめました。

Q:不正マイニングの手口はどれでしょうか?

A:代表的な手口は、Webページ上のスクリプト実行、端末へのマイナー常駐、漏えいしたクラウドキーによるインスタンス起動、汚染されたコンテナイメージの実行です。ページを閉じても負荷が続く場合は、常駐プログラムや拡張機能まで調べます。

Q:高額請求が発生した場合、クラウド事業者に返金・免除してもらえますか?

A:減額やクレジット対応を受けられる場合はありますが、全額免除を保証する公式制度ではありません。侵害時刻、監査ログ、封じ込め内容、再発防止策を添えて直ちに申請し、支払いは不承認の場合も想定します。

Q:個人開発者や中小企業でも標的になりますか?

A:企業規模に関係なく標的になります。攻撃ボットはGitHubや公開IPを自動走査するため、露出したキーや管理画面があれば数分で悪用される可能性があります。

Q:スマホに感染警告が表示された場合はどうしますか?

A:電話番号や支払いを示す警告はサポート詐欺の可能性が高いため、連絡やインストールを行わずブラウザを終了します。閉じられない場合はアプリを強制終了し、再起動後に通知許可とダウンロード履歴を確認します。

Q:正規のマイニングとの違いは何ですか?

A:所有者の明確な同意と費用負担の認識があるかどうかが主な違いです。他人の端末、クラウド契約、電力を無断で使って採掘する行為がクリプトジャッキングです。

Q:予算アラートがあれば高額請求を防げますか?

A:通常の通知だけでは利用を自動停止しないため、高額請求を完全には防げません。Budgets ActionsやLambdaなどによる制御、サービス上限、使わないリージョンの拒否を組み合わせます。

Q:情報が盗まれていなければマイナーを消すだけでよいですか?

A:マイナーが動いた時点で、認証情報や脆弱性が悪用された可能性があります。監査ログでストレージ、データベース、シークレットへのアクセスを調べ、バックドア用のIDやスケジュールも排除します。

まとめ

クリプトジャッキング対策の第一歩

クリプトジャッキングは、PCを重くするだけの攻撃ではありません。漏えいしたクラウドキー、公開された管理画面、汚染コンテナ、過剰なIAM権限を起点に、CPUやGPUを大量起動されれば、短期間でクラウド高額請求へつながります。

最初の一歩は、個人端末ならアイドル時のCPU・GPUと不審な拡張機能の確認、クラウド利用組織なら全アカウント・全リージョンの請求明細とアクセスキーの棚卸しです。異常が見つかった場合の手順は「被害発生時の緊急初動対応」の表に5ステップでまとめています。

今日から使える点検チェックリスト

  • 端末の高負荷プロセスについて、署名、保存場所、親プロセス、通信先を記録しました。

  • GitHubとCI/CDでシークレットスキャンを実行し、有効な長期キーを失効しました。

  • クラウド請求をサービス、リージョン、アカウント別に分解しました。

  • 使わないリージョン、高額GPU、上限変更をポリシーで制限しました。

  • 予算通知に加え、対応可能なリソースの自動停止または隔離を設定しました。

  • Kubernetesの管理API、RBAC、特権コンテナ、外向き通信を点検しました。

  • 夜間・休日を含むクラウド事業者への緊急連絡経路を文書化しました。

本記事の内容に誤り等がございましたら、こちらからご連絡ください。

監修

Admina Team

情シス業務に関するお役立ち情報をマネーフォワード Adminaが提供します。
SaaS・アカウント・デバイスの管理を自動化し、IT資産の可視化とセキュリティ統制を実現。
従業員の入退社対応や棚卸し作業の工数を削減し、情報システム部門の運用負荷を大幅に軽減します。
中小企業から大企業まで、情シス・管理部門・経営層のすべてに頼れるIT管理プラットフォームです。