クリプトジャッキング:マシンが他人のためにマイニングするとき
マイニングマルウェアが侵入する経路、リグの所有者には隠すのが最も難しいのにだますのは最も簡単である理由、そしてマシンを正しく確認して駆除する方法。
クリプトジャッキングとは
クリプトジャッキングとは、自分が所有も負担もしていない機材でマイニングソフトを動かすことです。珍しいものではありません。マルウェアがマシンを乗っ取ったときに最もよく行うことで、その後に被害者をだます必要がないまま収益が得られるからです。被害を受けるのは電気代で、その請求は静かに届きます。
ほぼ必ず Monero です。このコインは普通のプロセッサーでも利益が出るようにマイニングできるため、数千台のオフィスのデスクトップを手に入れる価値があり、プライバシー性のためにお金の流れを追跡できません。プログラムはたいてい XMRig で、ごく普通のオープンソースのマイニングソフトの名前と設定を変えたものです。
ほかの誰かのためにマイニングしているマシンは、人が想像するような感染のしかたをしません。暗号化されるものも、消えるファイルも、身代金の要求もありません。ただ熱くなり、性能が落ち、ファンが劣化し、お金がかかるだけです。
すでにマイニングしている場合に違うこと
一般的な記事はどれも同じことを言います。プロセッサーの高い使用率、発熱、ファンの音を探せ、と。リグではその 3 つがすべて普段の状態なので、よくある助言では何も見つかりません。マイナーであることは、これを見つけるのに最も有利な立場であると同時に、最もだまされやすい立場でもあります。
有利な点は、ほとんど誰も持っていないもの、つまり機材が生み出したものについての独立した 2 つ目の記録を持っていることです。プールのダッシュボードは、実際に届いた作業から他人のサーバー上で測定されています。リグが報告するハッシュレートよりダッシュボードが、ステイルシェアを差し引いたうえでも明らかに低いなら、何かがその差を消費しています。
侵入経路
経路はあまり変わっておらず、どれも高度な攻撃者を必要としません。
- クラック版や海賊版のソフトウェア。今も単独では最大の感染源です。有料アプリケーションのキージェネレーターやパッチを当てたインストーラーは、自分の権限で実行することに同意したプログラムであり、マイニングソフトはアーカイブの中に同乗してきます。
- パッチを当てないままインターネットに公開しているもの。サーバーソフトウェアの古くて広く知られた脆弱性は常にスキャンされており、マイニングソフトが好んで使われるのは、盗む価値のあるものが何もないマシンでも収益化できるからです。
- USB。最近の攻撃はリムーバブルドライブに自分自身をコピーし、ドライブのアイコンに見えるショートカットの裏に隠れます。インターネットに公開していないネットワークでも感染するのはこのためです。
- コンテナやビルドのイメージ。公開レジストリから取得したベースイメージに含まれていることがあり、そこから作られたすべての環境の中でマイニングします。
- ブラウザーのタブ。ただし以前よりはるかに減っています。ページを開いている間にマイニングするスクリプトは、最大の提供元が 2019 年に閉鎖されるまで一大産業でした。今もストリーミングサイトやダウンロードサイトに残っていますが、タブを閉じれば止まります。
アイドル状態のはずのマシンでの兆候
- 本当にアイドルになることがない。何も開いていないのにファンが回り続け、ケースが温かいままです。
- 心当たりのないプロセス。本物のシステムプロセスに近い名前が付いていることが多く、見慣れた名前と 1 文字だけ違うのはよくある手口です。
- タスクマネージャーを開いた瞬間に使用率が下がり、閉じると戻る。この動きは意図的なもので、それだけでほぼ証拠になります。
- 誰も作っていないスケジュールされたタスク、サービス、スタートアップ項目。
- 心当たりのないホストへの外向きの接続が、一定のリズムで繰り返されている。
マイニングしているはずのリグでの兆候
ここで問うべきは何かがマイニングしているかどうかではなく、マイニングしているものがすべて自分のものかどうかです。
- ダッシュボードが、リグの報告値より一貫して低く、ステイルシェアでは説明できないほど下回っている。
- 自分が起動したのは 1 つなのに、マイニングのプロセスが 2 つある。複数 GPU のリグでは数えてみる価値があります。
- 起動スクリプトやフライトシートに、自分が入力していないウォレットアドレスやホストが入っている。ちらりと見るのではなく、しっかり読んでください。途中が書き換えられたアドレスは、ひと目見ただけでは同じに見えます。
- カードが熱いのに、自分のプールでは何も生み出していない。1 つのデバイスに固定された 2 つ目のマイニングソフトはこのように見えます。
- 止めたはずなのにマイニングしている。自分のマイニングソフトを止めてもマシンが静かにならないなら、ほかの何かが動いています。
ウォレットのすり替え、電気代より高くつくもの
別系統のマルウェアは、もっと悪質でもっと単純なことをします。クリップボードを監視し、ウォレットアドレスの形をしたものをコピーすると、攻撃者のアドレスに置き換えます。先頭と末尾が同じ文字のアドレスを選ぶので、ざっと確認しただけでは見抜けません。マイニングとはまったく関係なく、これで大金を失った人がいて、この 2 つは一緒にインストールされていることがよくあります。
マイナーには同じ発想のもう 1 つの形があります。起動スクリプトやフライトシートの中のアドレスが一度だけ書き換えられ、以後のすべての支払いが別の場所へ行くのです。何も壊れません。リグは完璧にマイニングします。お金が別のウォレットに届くだけで、多くの人が気づくのは、支払いが届かないのはなぜかと不思議に思ったときです。
対策は地味ですが効果があります。重要な場所にアドレスを貼り付けたら、両端ではなく全体を確認し、ダッシュボードのアドレスが意図したものかを確かめてください。ハッシュレートは止まっていないのに支払いが止まったら、何よりも先にアドレスを確認してください。
確認の手順
- 2 つのハッシュレートを比べる。リグの報告値とプールのダッシュボードを、1 分ではなく 1 日単位で比べます。
- 自分の設定を読む。すべてのリグで、すべてのウォレットアドレスとすべてのホストを 1 文字ずつ確認します。
- マイニングソフトを止めて様子を見る。止めた後も忙しいままのマシンでは、ほかの何かが動いています。
- 自動で起動するものを一覧にする。Windows ではスケジュールされたタスクとサービス、Linux ではタイマーと cron、それにログイン時に実行されるものです。
- 自分のマイニングソフトを止めた状態で外向きの接続を見る。一定のリズムで通信し続けているものは、正体を突き止める価値があります。
- 信頼できるツールでスキャンする。ただし問題なしという結果で終わりにしないでください。マイニングソフトはスキャナーに検出されなくなるまで改変されるのが常で、この手順が最初ではなく最後なのはそのためです。
削除はファイルを消すことではありません
これらは戻ってくるように作られています。起動する仕組みを残したままプログラムを消しても、数分稼げるだけです。スケジュールされたタスク、サービス、スタートアップ項目、cron の行、レジストリキーを削除し、次にファイルを削除し、再起動して何も戻っていないことを確認してください。
大切なマシン、特にウォレットや秘密鍵を保管したことのあるマシンでは、再構築するのが確実な選択だと考えてください。マイニングソフトを入れられたのと同じアクセスで、ほかのものも何でも入れられます。最近の攻撃は通りがかりに認証情報も集めているはずです。そのマシンで使ったパスワードは、別のデバイスから変更してください。
きれいな状態を保つ
本当にこれを防ぐルールは退屈なもので、マイニングでは見知らぬ人の署名のないソフトウェアをダウンロードするため、人が省きがちなものです。
- マイニングソフトはプロジェクト自身のリリースページから入手し、公開されているチェックサムを確認します。フォーラムのリンク、動画の説明欄、再パッケージされたアーカイブから入手したマイニングソフトは、マイニングマシンが感染する最もありがちな経路です。警告が出ると予想していたからこそ、それを無視してしまうからです。
- マイニングするマシンやウォレットを保管するマシンでは、クラック版ソフトウェアを決して実行しないでください。絶対にです。この 2 つの習慣は両立しません。
- インターネットに公開しているものにはパッチを当てます。感染のほとんどは自動化されており、バージョン番号でマシンを選びます。
- 支払いを受けるウォレットは、マイニングするマシンとは別にしておきます。リグに必要なのはアドレスだけで、鍵は決して必要ありません。
- リグに変更を加えた後、そして予期しないことが起きた後には、支払い先アドレスを確認します。