「最近サーバーの動きが重くなった。でもウイルススキャンには何も引っかからない…」
そんな経験はないでしょうか。
それ、クリプトジャッキングの可能性があります。データを人質に取るランサムウェアや認証情報を盗むフィッシングと違い、クリプトジャッキングは「静かに・継続的に」リソースを奪い続ける攻撃です。被害に気づかなければ、電気代と機器の寿命だけが静かに失われ続けます。
この記事では、クリプトジャッキングの仕組みから、サーバー管理者・中小企業情シス担当者が今日から実践できる検知・防御手順まで、現場で使えるレベルで解説します。
クリプトジャッキングとは?
クリプトジャッキング(Cryptojacking)とは、攻撃者が他人のコンピューターを無断で乗っ取り、仮想通貨(暗号資産)のマイニング(採掘処理)に悪用するサイバー攻撃です。
仮想通貨のマイニングとは、膨大な計算処理を行ってトランザクション(取引記録)を検証し、報酬として仮想通貨を得る作業です。本来は専用の高性能ハードウェアを使うものですが、攻撃者は他人のサーバーやPCを大量に乗っ取ることで、その電力・処理コストを被害者に丸投げします。
被害者に届く損害の4形態
・電気代の増加: CPUがフル稼働し続けるため、電力消費量が跳ね上がります
・処理速度の低下: 業務システムやWebサービスの応答が遅くなります
・ハードウェアの寿命短縮: 高負荷が続くことでCPUや冷却ファンが早期劣化します
・セキュリティリスクの拡大: 侵入された環境は、他の攻撃への踏み台にもなります
なぜ今もクリプトジャッキングが問題なのか。それは「攻撃者のコスパが良い」からです。ランサムウェアと違って被害者への直接的な接触がなく、長期間気づかれないまま収益を得られます。2020年代以降、仮想通貨の価格変動に連動して発生件数も増減していますが、依然として継続的な脅威として観測されています。セキュリティ企業の観測データでは、2022~2024年にかけてクラウドインスタンスを狙うクリプトジャッキングが増加傾向を示しています。
攻撃の仕組み(敵を知る)
クリプトジャッキングの手口は大きく2種類に分かれます。それぞれの特徴を理解することが、適切な防御策の選択につながります。
手口1: ブラウザベース(Webマイニング型)
悪意あるWebサイトにアクセスした場合、または正規サイトが改ざんされた場合に、JavaScriptのマイニングスクリプトがブラウザ上で動作します。ページを開いている間だけ、利用者のCPUがマイニングに使われます。
2018年に大きく問題になった「Coinhive」というサービスは、多数の日本語サイトに不正設置され、日本でも刑事摘発事例が生まれました。現在も類似サービスや自作スクリプトを使った改ざん事例が継続しています。
・ページを閉じれば停止するため、痕跡が残りにくい
・正規サイトが改ざんされている場合、利用者には回避が難しい
・ブラウザのCPU使用率がスパイク(急上昇)することで気づけることがある
手口2: マルウェアベース(ファイル感染型)
フィッシングメールの添付ファイルや、脆弱性を突いたドライブバイダウンロードによってマルウェアがインストールされるタイプです。システムに常駐するため、PCを再起動しても復活します。
・OSのcronジョブやsystemdユニットに登録されて自動起動する
・C2サーバー(攻撃者の指令サーバー)と暗号化通信して制御される
・既存のセキュリティツールを無効化するコードを持つ亜種も存在する
攻撃者が特に狙うターゲット
個人PCよりも「常時稼働しているサーバー」や「クラウドインスタンス」が狙われやすいです。処理能力が高く、停止させると業務に影響が出るため管理者も気づきにくい—攻撃者にとって理想的な環境が揃っています。クラウドでは、GitHubなどに誤ってアップロードされた認証情報を悪用してインスタンスを乗っ取り、マイニングに使う手口が国内外で多数報告されています。
具体的な防御手順
1. サーバー・PCのCPU使用率を継続監視する
クリプトジャッキングの最もわかりやすい兆候は「理由のないCPU使用率の高止まり」です。Linuxサーバーであれば次のコマンドで即座に確認できます。
# CPU消費上位プロセスをリアルタイム表示(qキーで終了) top # htop(より視覚的なUI、要インストール) htop # CPU使用率上位20プロセスを一覧表示 ps aux --sort=-%cpu | head -20 # 不審プロセスの実行ファイルパスを確認(
は対象のプロセスIDに置換) ls -la /proc/ /exe
不審なプロセス名(ランダムな英数字・/tmp以下で実行されるバイナリなど)が高いCPU使用率でリストされている場合は、即刻調査が必要です。
継続的な監視には、ZabbixやPrometheusなどの監視ツールでCPU使用率の閾値アラートを設定することをお勧めします。クラウド環境ではAWS CloudWatch・Azure Monitorで「CPU使用率が5分間80%超え」といった条件のアラートを必ず設定してください。
Linuxのプロセス監視・ログ監視の基礎については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。
2. ブラウザ拡張機能でWebマイニングスクリプトをブロックする
ブラウザベースのクリプトジャッキングは、広告ブロッカーやマイニングブロッカー拡張機能で大幅に防げます。
・uBlock Origin: 広告ブロックと同時にマイニングスクリプトもフィルタリング可能。フィルタリストを定期的に更新することが重要です
・MinerBlock / NoCoin: マイニングスクリプトの検知に特化した拡張機能。uBlock Originと組み合わせても有効です
社内PCを管理する情シス担当者は、グループポリシーや端末管理ツール(MDM)を活用して、承認済み拡張機能のみ許可するポリシーの導入も検討してください。「拡張機能の無制限インストール」を許可している環境では、マルウェア入り拡張機能による別の被害にもつながります。
3. EDR・エンドポイント対策ツールを最新状態に保つ
多くのEDR(Endpoint Detection and Response)やエンドポイント保護ツールは、既知のクリプトマイニングマルウェアを検知する機能を持っています。しかし、定義ファイルの更新が滞っていると新しい亜種を見逃します。
・定義更新の自動化: 手動管理に頼らず、スケジュールによる自動更新を設定する
・定期スキャンの強制: 週1回以上のフルスキャンをシステムで自動実行する
・検知ログのレビュー: 「検知したが放置」を防ぐ、月次のログレビューフローを用意する
LinuxサーバーでのClamAV導入と自動スキャン設定については、当サイトの「ClamAV入門」記事も参考にしてください。
中小企業でも今日からできること
予算・人手が限られた環境でも、次の対策は今日から実行できます。
| 対策 | 具体的な行動 | コスト |
|---|---|---|
| CPUモニタリング設定 | サーバーは定期的にtop/htopで確認する習慣を作る。クラウドはリソース監視アラートを設定 | 無料 |
| ブラウザ対策の全社展開 | 社内PC全台にuBlock Originを展開。管理者ポリシーで利用者による無効化を防ぐ | 無料 |
| OSとアプリのパッチ適用 | マルウェア感染の侵入口となる脆弱性を塞ぐため、自動更新を有効化する | 無料~低コスト |
| CMSとプラグインの更新 | WordPressなどCMSの脆弱なプラグインが改ざんの入口になるため、常に最新状態を保つ | 無料 |
クラウドを利用している場合は認証情報の管理が特に重要です。APIキーやアクセスキーがGitHubに誤ってアップロードされたことでインスタンスを乗っ取られ、クリプトジャッキングに悪用された事例は国内外で多数報告されています。認証情報は環境変数や専用のシークレット管理サービスで管理し、コードリポジトリには絶対にコミットしないことを徹底してください。
よくある誤解と注意点
誤解1: 「ウイルス対策ソフトが入っていれば安全」
クリプトジャッキングのマルウェアは亜種が頻繁に登場します。定義ファイルの更新が滞っていると、新しい亜種を見逃すことがあります。「入れてある」ではなく「常に最新の定義で動いている」状態を維持することが前提です。
誤解2: 「クラウド環境は安全だから大丈夫」
クラウドインスタンスこそ、常時稼働・高処理能力という点でクリプトジャッキングの格好のターゲットです。セキュリティグループの設定ミスや認証情報の漏洩を起点にした乗っ取りは、オンプレミスより攻撃者にとって効率が良い場合もあります。
誤解3: 「外部向けサイトを持っていないから関係ない」
社内向けのWebシステムでも、WordPressやその他CMSで運用している場合は改ざんリスクがあります。改ざんされたサイトにアクセスした社内ユーザーのブラウザでマイニングが実行されるため、「社外からアクセスできないから安全」とは言えません。
注意点: 不審プロセスを停止するときの手順
不審なプロセスを単純にkillするだけでは、自動再起動の仕組みがある場合に意味がありません。次の順序で対応してください。
1. プロセスIDと実行パス(ls -la /proc/<PID>/exe)を記録する
2. crontab・systemdユニット・/etc/rc.localなどの自動起動設定を確認して削除する
3. フォレンジック(証拠保全)目的で、実行ファイルのSHA256ハッシュ値を記録してから削除する
4. ウイルス対策ツールで全体スキャンを実施し、他の感染がないか確認する
本記事のまとめ
クリプトジャッキングは「見えにくい被害」だからこそ、気づいたときには長期間リソースを搾取されていたというケースが少なくありません。次の対策を参考に、今日から実行できるものから着手してください。
| 脅威の種類 | 主な対策 | 優先度 |
|---|---|---|
| マルウェア感染型 | EDR導入・定義更新の自動化・OSパッチ適用 | 高(すぐやる) |
| Webマイニングスクリプト | uBlock Origin等ブラウザ拡張機能の全社展開 | 高(すぐやる) |
| クラウドインスタンスの不正利用 | CPU使用率アラートの設定・認証情報の厳格な管理 | 中(今月中に) |
| Webサイト改ざんによる第三者被害 | CMSとプラグインの定期更新・WAF導入 | 中(今月中に) |
セキュリティの基本は「見えない脅威を見えるようにすること」です。CPU監視の仕組みを整えることが、クリプトジャッキングをはじめとするあらゆる攻撃への第一歩になります。
CPUの異常に気づいたとき、次に何をすべきか迷いませんか?
クリプトジャッキングをはじめ、見えにくい脅威への対処法は体系的な知識があって初めて迷わず動けます。
正しいセキュリティ知識を体系的に身につけたい方へ、メルマガで実践的なセキュリティ対策ノウハウをお届けしています。
