仮想通貨のマイニングを行うプログラムを設置していたサイトの運営者が、不正指令電磁的記録供用などの容疑で相次ぎ摘発された。摘発の是非を問う声が上がる一方で、誤解やデマとも思える情報を流すメディアが相次いでいる。
マイニングは、仮想通貨の運営に必要な計算を行う作業のこと。計算した報酬として仮想通貨が発行されるため、広告の代わりにマイニングプログラムを採用するWebサイトやアプリがある。広告が、「画面の一部を占有して外部から画像や動画を読み込んで表示させる」、「閲覧者情報を収集して外部サイトに送信する」、「クリックによりキャンペーンサイト等に誘導する」といったことで報酬を得るのに対し、マイニングは、閲覧者に計算を行わせ、結果を外部に送信することで報酬を得る。
どちらも報酬を得られることから悪用が後を絶たず、改ざんサイトや攻撃サイトにマイニングプログラムが埋め込まれていたり、悪質なキャンペーンに誘導されたりすることがあるので注意したい。Webサイトの閲覧中には何が起こるか分からないので、次のようなことで身の安全を図っていただきたい。
(1)使用しているシステムやブラウザ、プラグイン、アプリのセキュリティアップデートは欠かさず迅速に適用する。
(2)閲覧中にブラウザが何かをダウンロードしようとしたり、開こうとしたりした場合には迷わずキャンセルする。
(3)閲覧中に何らかの警告が出たら、それ以上先に進まない。
(4)「当選しました」、「会員登録しました」、「感染しました」等の予期せぬ出来事は、真に受けない。
■嘘か真かメディアが報じたマイニングの脅威
今回の一連の報道では、仮想通貨のマイニングに対して以下のようなことが報じられていた。いつになく首を傾げざるをえないような内容が目についたため、検証してみた。
(1)パソコンに高負荷がかかる
(2)動作が止まったり遅くなったりする
(3)端末の通信速度が著しく低下する
(4)余分な電気代がかかる
(5)バッテリーが急減する
(6)PCを遠隔操作される
(7)パソコンが壊れる
(1)(2)について。全力で計算させると、確かにCPUに高負荷をかけることができる。ただし、システムは複数のプログラムを並行して動作できるようになっているため、通常は他のアプリが利用できなくなるほどにはならない。CPUの使用率が100%を超えると、実行時間を分けあうため、それぞれが連続した計算処理を行っている場合には、実行速度が如実に遅くなる。例えば、CPU使用率100%のマイニングプログラムを2つ走らせると、それぞれの処理速度は半減してしまう。
ところが、一般的なアプリの操作は断続的に処理が行われるため、与えられた時間で十分処理がこなせる間は、処理速度の低下はあまり感じない。処理速度の遅いパソコンになると、動作にもたつきを感じるものの、相当古くない限りは、極端な速度低下や動作が止まるという症状が発生するまでには至らない。そのような場合には、何か別の問題がある可能性が高い。
よくある問題が、頻繁にアクセスが発生する処理の遅い部品「ハードディスク」だ。ディスクの読み出しや書き込みは、まとまった処理を終えないと次の処理に移れないことも多いため、しばしば長い待ち時間が生じ、極端な速度低下を招くことがある。例えばアプリのインストールやアップデート、セキュリティソフトのウイルスチェック、メンテナンスツールのディスクチェックなどを行うと、高速なパソコンでもしばしば操作がもたついてしまう。アクセスが競合する場合は特に深刻で、順番が回ってくるまで動作が止まったようになることもある。
このディスクアクセスは、メモリが不足している場合にも発生する。現在のパソコンは、実装している以上のメモリが利用できるようになっており、プログラムやデータが実メモリに収まりきらなくなると、システムがメモリの一部をディスクに書き出し、必要になると読み込むという動作を繰り返すようになる。メモリがひっぱくした状態では、アプリのファイル処理とは別にこうしたディスクアクセスが頻繁に発生し、速度低下を招く大きな要因となっている。
(3)の端末の通信速度が著しく低下するという指摘について。マイニングで通信するデータ量は少量なので、データ量の関係で遅くなることは考えられない。負荷でブラウザの動作が遅くなったのを誤認した可能性があるので、試しにCPU使用率100%のプログラムをブラウザに実行させてみたが、処理が著しく低下するようには見えなかった。何か別の問題があったのだろう。
電力がらみの(4)(5)については、CPUの使用率を調節できるマイニング「AuthedMine」で実測してみた。使用したのは、Core i7のノートパソコンで、何もしていない状態で20W前後の電力を消費する。ここでブラウザGoogle Chromeを使い、CPUの使用率を10%にしたマイニングを実行させると、消費電力は5割増しの約30Wになった。次にHDビデオのストリーミング再生と同じくらいの負荷となる、20~30%のCPU使用率にすると、消費電力は40W前後に上昇した。ビデオ再生のような大量のデータ転送は発生しないので、このレベルでもWebの閲覧には何の支障もない。バックでマイニングを行っているかどうかも気づかないレベルだった。
CPU使用率40~60%で冷却ファンが回るようになり、消費電力は40~50Wへ。CPU使用率70%でファンが高速回転するようになり、動作のもたつきよりもこの騒音が気になりだす。消費電力は60W前後まで上昇し、以後100%までほぼこの状態だった。バッテリーの減りも早くなるようだが、ここまで負荷をかけて閲覧を続けてもらうのは難しいと感じた。電気代を26円/kWhで換算すると、CPU使用率20~30%で1時間あたり約1円。70%越えで約1.6円。電源を入れた状態からの余分にかかる電気代は、1時間あたり0.6円~1.1円。高いと思うかどうかは人それだが、ブラウザベースのマイニングで得られる仮想通貨よりも、電気代の方が高くつくようだ。
(6)のPCを遠隔操作されるという指摘は明らかな間違いで、ブラウザ上で実行するクリプトには、遠隔操作らしいことは一切できない。Windowsのマルウェア感染でよく使われる、Windowsのシステム上で実行するJavaScript互換のJScriptやプログラミング言語のJavaと、ブラウザ内で実行するJavaScriptとを取り違えたのかもしれないが、これらは別物だ。(7)パソコンが壊れるも同様、パソコンの寿命が尽きるまで実行するスクリプトはあっても、実行するとパソコンが壊れるスクリプトはない。
(2018/06/19 ネットセキュリティニュース)
【関連URL】
・仮想通貨を採掘するツール(マイニングツール)に関する注意喚起(警察庁)
http://www.npa.go.jp/cyber/policy/180614_2.html