Coinhiveが抱える問題、広告を見るか、CPUに負担をかけるか

2018年6月、あるブログの投稿が話題を集めました。

内容は、自分でWebサービスを運営しているという投稿者がCoinhiveというソフトウェアを使っていたことで警察の取り調べを受けたというもの。警察が動いたのだから法に触れたという事実はあるのですが、該当する法の適用について「これは妥当な適用のしかただろうか」という議論が噴出し、ネット上の各地で賛否分かれた侃々諤々のありさまを見せました。

この記事では、Coinhiveとはなにか、この事件で問題とされている点はどこなのかを見ていった上で、この事件の根本にある本質的な課題に光を当てていきます。

Coinhiveとはそもそも何か

Coinhiveとは、仮想通貨を使ってウェブサイトのマネタイズを行うためのプログラムです。

仕組みとしては、ウェブサイトにアクセスした閲覧者のコンピューターの計算リソースを一時的に使うことで仮想通貨をマイニングし、それをウェブサイト運営者の収益として還元するというものです。直接お金を払うのではなく、コンピューターの計算力という一種の労働力を提供するので、いわば外食をした代金を皿洗いで返すような仕組みに近いかもしれません。

Coinhiveは個人が作ったものではなく、サービス全般を提供する団体が存在します。Coinhiveはもともと、広告を張らなくてもウェブサイトの運営者にお金が行くための仕組みを作ろうという動機で開発されたもので、これを導入したウェブサイトを訪れたユーザーは広告に煩わされることなくコンテンツを楽しめるのです。

広告はユーザーに見てもらわなければ効果がなく、必ず目につくところに配置されます。場合によっては、広告を見なければ記事や動画を見ることができないというケースも増えており、ユーザーエクスペリエンスを低下させる一因となっていました。

一方、Coinhiveが求めるのはユーザー自身のアクションではなく、ユーザーのPCのアクションです。CPUに過度に負担をかけない限りはユーザーは不快な思いをすることがないという点が、Coinhiveのメリットとして喧伝されています。

どんな事件が起きたのか

そんなCoinhiveを、日本において自分のウェブサービスに試験的にCoinhiveを導入していた人が、不正指令電磁的記録取得・保管罪の容疑で警察の捜査を受けました

導入部でも描いたとおり、こちらの記事に当事者がその顛末を書きまとめています。

捜査のきっかけとなった不正指令電磁的記録取得・保管罪とは、つまりどういう罪なのでしょう。条文は以下のようになっています。

不正指令電磁的記録作成・提供罪(不正指令電磁的記録作成等)
第168条の2
正当な理由がないのに、人の電子計算機における実行の用に供する目的で、次に掲げる電磁的記録その他の記録を作成し、又は提供した者は、3年以下の懲役又は50万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか、同号の不正な指令を記述した電磁的記録その他の記録

不正指令電磁的記録取得・保管罪(不正指令電磁的記録取得等)
第168条の3
正当な理由がないのに、前条第1項の目的で、同項各号に掲げる電磁的記録その他の記録を取得し、又は保管した者は、2年以下の懲役又は30万円以下の罰金に処する。

持って回った言い方ですが、要を言えばユーザーが意図しない動作をユーザーのコンピューターに行わせるような指示を与え、かつその「意図しない動作」が社会通念上認められないと判断される場合、指示を与えた側が罰せられる、という法律です。

この法律はコンピューターウイルスの作成・配布などに適用されるもので、仮に有罪になった場合は「Coinhiveはウイルス」だと認定することになってしまいます。

じゃあCoinhiveは悪いものなのか

こうした顛末から誤解されがちですが、Coinhive自体は悪意をもって作成されたものではありません。本来はウェブサイト作成者が自分の意思で自分のウェブサイトに組み込み、そこから収益を得ることを目的としたもので、誰かの個人情報やお金を盗もうという目的で作成されたものではありません。

問題はおおむね外部の要因に根ざしています。

例えば海外ではCryptjackingというサイバー犯罪が問題になっています。これはCoinhiveを改造して勝手にウェブサイトに忍び込み、そのウェブサイトの訪問者のPCリソースを勝手に使ってマイニングするというもので、Coinhiveの悪用例の一つとして名高い手法です。

CryptjackingはCoinhive自体が問題という根拠にはなりません。サイバー犯罪者はCoinhiveをマルウェアに改造してCryptjackingに使うものだからです。悪用されうるから悪いのだと言ってしまえば、そもそもPCもスマホも悪いものになってしまいます。

ウイルスソフトによっては、Coinhiveのプログラムに含まれるファイルが悪意のあるファイルだと検出される場合もあるかもしれません。しかしこれはCoinhiveそのものが悪いから検出されるのではなく、Coinhiveを改造したマルウェアには必ずCoinhiveのデータが含まれており、結果として悪意あるマルウェアの共通の特徴になったから検出されるようになった、という方が適切かもしれません。因果関係が逆なのですから、検出されるから悪いものであるとも断じることはできません。