はじめに
暗号通貨所有者にとって考えられる脅威の一つであるcryptojackingは、攻撃者が標的のリソースやネットワークの健康を犠牲にして暗号通貨を採掘する攻撃です。初期段階で適切に対策しないと、甚大な被害をもたらす可能性があります。
本記事ではcryptojacking攻撃の内容、攻撃者が用いる手法、そしていくつかの実例を通じて、その深刻さを詳しく解説します。
Cryptojackingはサイバー攻撃の一種で、不正なクリプトマイニングを行う手法です。攻撃者は標的デバイスに悪意あるコードを仕込み、そのリソースを使って無許可の暗号通貨を採掘します。
暗号通貨の採掘は複雑な数式を解く作業で、手間とリソースを多く必要とします。必要なリソースが不足している場合、攻撃者はcryptojacking攻撃を計画し、標的のデバイスやネットワークにアクセスして問題を解決します。
数式を解くことに成功すると、攻撃者は暗号通貨を手に入れ、これを利用して取引を行ったり、他の暗号通貨と交換したり、従来の通貨へ転換したりできます。暗号通貨の普及により、cryptojackingの件数は増加しています。
攻撃者の目的により、cryptojackingで得た暗号通貨は取引に使われる場合もあれば、流動性プールに残される場合もあります。この概念をより深く理解するには、暗号通貨とクリプトマイニングの2つの用語が鍵となります。
2009年に偶然発明された暗号通貨は、高度に暗号化されたデジタル通貨で、端から端までの取引を追跡できる特徴があります。複数のプログラムと処理能力が統合されるブロックチェーン技術の採用により、暗号通貨の取引や発行が可能になりました。
最初に作られた暗号通貨はビットコインで、最も価値の高い通貨の1つです。現在、2,500以上の暗号通貨が存在しており、他にもZcash、Ethereum、Moneroなどが広く知られています。
クリプトマイニングとは、暗号通貨の取引を可能にするための計算処理を指します。通常、取引情報をブロックチェーン台帳に追加し、情報を更新する作業が含まれます。
この作業を行う専門家をクリプトマイナーと呼び、高性能なサーバやハイスペックなハードウェアを駆使する技術を持っています。
暗号通貨に大きな市場需要がある限り、cryptojackingは注目され続けます。必要なリソースを所有していなくても攻撃者が採掘できるため、ハードウェアの購入や強力なネットワークの構築といった負担を回避できます。
cryptojackingは暗号通貨業界の成長に依存していますが、その反面、以下の2点が業界に影響を及ぼしています:
これらの要因がcryptojackingの抑制に寄与しています。理由は、
暗号通貨は大きく発展したものの、依然として利用を支持しない国も多く、合法な地域でも多数の制限が存在するため、デジタル通貨の普及が限定的となっています。
Coinhiveは最大のクリプトマイナーサイトでしたが、2019年に閉鎖され、悪用されたコードがハッカーの標的となったため、一時的に暗号通貨へのアクセスが制限されました。
複数の段階を経て行われるcryptojackingは、高度な技術が求められる作業です。成功する攻撃の主な手順は以下の通りです:
この一連のプロセスは、デバイスの一部分を制御することに重点を置いています。これはランサムウェア攻撃に非常に似ていますが、違いは攻撃の視認性です。ランサムウェアは明確に検出されるのに対し、cryptojackingは隠れて動作します。
この隠蔽性のため、初期段階での検出および対策が難しくなります。
cryptojacking攻撃は主に、ファイルベース、ブラウザベース、クラウド型の3つの方法で行われます。それぞれに異なる動作原理と対策が存在します。
悪意あるファイルをダウンロードし実行する手法です。ファイルに含まれる感染スクリプトがダウンロード後、標的システム全体に影響を及ぼします。主にメールなどを通じてこのようなファイルやリンクが拡散されます。
標的がファイルをダウンロードまたは開くよう誘導されると、スクリプトが作動し採掘を開始します。標的にはその存在が分からず、密かに動作します。
より直接的かつ攻撃的な手法で、標的デバイスのIT環境にブラウザを通じて影響を与えます。
悪意あるスクリプトが生成されると、複数の異なるサイトのウェブページに直接埋め込まれます。スクリプトは完全に自動で動作し、手動で操作する必要はありません。
標的が感染したURLを訪れると、デバイスが自動的にコードをダウンロードし、知らずに採掘に利用されます。
また、第三者の広告や古い(または安全性の低い)プラグインが、悪意あるスクリプトを隠すために使われることも多いです。場合によっては、悪意あるコードがJavaScriptライブラリに組み込まれ、大規模なサプライチェーン攻撃の一環として利用されることもあります。
大規模に重要なリソースへアクセスしようとする攻撃者に好まれる手法です。クラウド型cryptojackingでは、組織がクラウドプラットフォームや関連サービスにアクセスするためのAPIへ不正に接続を試みます。
その後、攻撃者は無制限にCPUリソースを使用できるようになり、不必要なリソース消費と高い運用コストを引き起こします。この手法は、大規模かつ迅速な採掘を可能にします。
これまで大きな被害は報告されていませんが、cryptojackingは実際に企業に影響を与える問題です。その被害は想像以上となる場合があります。ここに、世界で悪名高いcryptojacking攻撃の例をいくつか紹介します:
2019年、著名なMicrosoftストアで、8つのアプリがクリプトマイニング活動に関与していることが確認されました。問題は、これらのアプリで使用されていたリソースが、そのアプリをインストールし利用したユーザーのものであった点です。
アプリは削除されたものの、多大な被害が発生しました。一部には、別々の開発者によって作られたものの、実際には1人または1組織が戦略的に計画して実行したとの憶測もあります。
感染したアプリには不正なJavaScriptコードが含まれ、Moneroの採掘が指示されていました。大量のリソースが消費された結果、標的デバイスは動作の低下などの悪影響を被りました。
2018年、欧州の中央水道管理システムもcryptojackingの被害に遭いました。こちらでも採掘コードはMoneroでの採掘を指示していました。
攻撃者は水道ネットワーク全体の主要な運用システムに感染させ、産業界を対象とした初のcryptojacking攻撃として注目されました。
有力なメディアであるLos Angeles Timesもcryptojackingの被害に遭遇しました。この事件は2018年に発生し、報道ページが狙われました。モバイルなどの端末でこのページを閲覧したユーザーが感染し、不具合が生じました。残念ながら、cryptojackingコードは長期間発見されず、攻撃者がMoneroを採掘することを許しました。
いくつかのCoinHiveマイナーが、YouTubeの広告内で活動しているのが確認されました。
cryptojackingを防ぐためには、まずその存在を見つけ出すことが重要です。
計画的に行われるcryptojacking攻撃は、隠れて大量のリソースを消費します。攻撃者は非常に巧妙にコードを設置するため、標的はその存在に気づかないことが多いです。しかし、少しの注意と意識が初期の検出に大きく役立ちます。
以下のcryptojackingテスト方法が、その検出に大いに役立ちます:
前述の通り、不正なクリプトマイニングコードの実行は、標的デバイスのリソースを著しく消費します。その結果、突然または徐々にパフォーマンスが低下することが確認されます。
不要なリソース消費によりデバイスに過度な負荷がかかり、動作が遅くなるため、処理速度の低下、予期しないシャットダウンや、一部のアプリやプログラムが正常に起動しなくなる現象がみられます。場合によっては、デバイスが正常に起動しなくなることもあります。
過剰なリソース消費がデバイスのOSに負荷をかけ、過熱につながります。
長期間続くと、デバイスの寿命が短くなる可能性があります。ただし、過熱はcryptojacking攻撃特有の症状ではなく、他の要因でも発生することがあるため、他の関連する兆候も確認する必要があります。
採掘などの重い作業を行うと、標的デバイスのCPU状態は悪化します。定期的にCPUの使用状況を確認することが重要です。リッチなメディアがないウェブサイトを閲覧中に異常にCPU使用率が高い場合、背後で疑わしいコードが動作している可能性があります。
個人用パソコンではタスクマネージャーなどで、企業環境では専任のITチームが監視する必要があります。
攻撃者は脆弱でコードが埋め込みやすいウェブサイトを狙います。古いプラグインやアドオンが使用されていないか確認してください。
また、ウェブサイトを所有している場合は定期的に点検し、問題のあるコードを早期に発見することが肝要です。早期の検出が被害の拡大を防ぎます。
cryptojackingは企業にとって大きな問題となり得ます。初期段階で対策を講じなければ、甚大な被害を招く恐れがあります。以下のヒントを参考に、対策を検討してください。
最新情報を購読