見出し画像

Coinhive(コインハイブ)が罪に問われることは明らかにおかしいと思う

今回は社会的にも大きな話題になっているCoinhiveについて、
僕の個人的な見解を書きます。

Coinhive設置騒動について

マイニングツール「Coinhive」を閲覧者の同意を得ずに設置したとして、全国の10県警によって不正指令電磁的記録供用容疑などで16人が摘発されているそうです。

また下記のようなWebサイトで大変分かりやすくまとめられています。

本件は、Twitter等のSNSでも大きな話題となっています。
前提として、僕の意見も今回の警察の対応は、「訳がわからず不当なもの」と考えています。

2019年1月15日現在、下記記事によると公判が行われれているとのことです。

Coinhiveとは何か

そもそもCoinhiveとはなんなんでしょうか。一言で言えば、
「サイト閲覧者に仮想通貨をマイニングしてもらうことでサイト運営者が収益を得ることができるスクリプト」です。

これは、Webサイト閲覧者によって運営者が利益を得ることができるため、Web広告と似た仕組みであると一般的に言われます。

私たちはWeb閲覧する際に、Webサイトにアクセスすると一般的に言いますが、
実はこれは目的のWebサーバにあるファイルを取得し、PCのWebブラウザ(Google Chromeなど)を使ってレンダリング処理を実施しているだけです。
その時にhtmlファイル、cssファイル、javaScriptファイルなどが実行され、Webブラウザ上に表示されます。
今このnoteを見れているのも、上記と同様の仕組が動いているからです。

Coinhiveはその中でもJavaScript(一般的にJS)ファイルと呼ばれるものであり、これはクライアント側つまりWeb閲覧者側で実行されるプログラミング言語です。
このJavaScriptファイルの用途は何かと言うと、ちょっとした動的な処理(この表現は語弊あるかも)を実施することが多いです。
例えば、値チェック、広告(GoogleAdsenseなど)、アクセス解析(GoogleAnalysisなど)、ですね。

今このJavaScriptが使われていないWebサイトはほとんど存在しないといっていいでしょう。これは重要なので認識しておいてください。
そしてCoinhiveにおいては、これがクライアント側でマイニング(ハッシュ計算処理)を実行するということになります。

またCoinhive自体の導入は容易であり、導入したいWebページに規定のScriptタグを入れるだけです。(導入したことがないため詳しくは知りません。)
GoogleAdsenseやGoogleAnalysisも同様の方法で導入することができます。

僕の記憶では、Coinhiveは一昨年から話題になっており、そもそもは視覚的に迷惑でない新たな広告といった考えで誕生しています。

しかし当初からこれはマルウェアではないか?といった意見も多くあり、
大手セキュリティベンダーである、TrendMicroやSymantecなどが実際にマルウェアとして検知するようになりました。

Coinhiveは不正ではないのか?

先ほどから説明していますが、Coinhiveが実行する処理は単なるマイニング(ハッシュ計算)です。つまりこの挙動自体が不当で不正なものであるとは到底言えません。

つまりCoinhiveが不正であると主張する人の大半が、マイニングという処理を正しく理解できていないだけではないかと思います。少し調べればマイニングとはハッシュ計算であり、足し算や引き算と本質的には変わらないものであることがわかるからです。

さらにこれらの挙動はWebブラウザのタブを閉じれば停止します。つまり本来は嫌ならアクセスしなければいいだけの話です。
平成も終わりを迎える今日この頃に、インターネットを使っていない人はいないと思いますが、もし広告だらけだったり、いつまでたってもページが表示されてないサイトにアクセスした場合、多くの人がブラウザバックするはずです。
それと全く同じことがCoihiveにも言えます。
Coihiveが悪性であるといった主張には、「この人はインターネットを使ったことがないのかな?」と考えてしまいますね。

しかしCoinhive犯罪になりうるわけ

そんなCoinhiveを使用すると罪に問われるようです。なぜそのようなことが起こり得るのか考えてみます。
まず今回該当した罪は「不正指令電磁的記録に関する罪」と呼ばれるもので下記に該当します。

人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
上記に掲げるもののほか、上記の不正な指令を記述した電磁的記録その他の記録

Coinhiveが上記の"意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令"に該当したのだと思われます。
ここで疑問が出てきます。

まず先ほど説明したようにCoinhiveが実行する処理はマイニング(ハッシュ計算)であるため、その挙動自体が悪性である一般的なランサムウェアなどのマルウェアと異なります。
つまり実際にCoinhiveを実行した場合に、どの処理が"意図に反する動作"となるのか不明なのです。

例えば、CoinhiveはWeb閲覧者のCPUを消費しハッシュ計算を実施することでマイニングを行います。そしてそれがWeb運営者の利益となる仕組みです。
それは一般的な広告であっても同様のことが言えます。
Web広告もWeb閲覧者のCPUを消費し、広告の表示を行います。そしてそれがWeb運営者の利益となります。
これの何が異なるのでしょうか。

これに対して警視庁は"明示的ではなく社会的コンセンサスがない"と主張しているそうです。
しかし例えばGoogle Analysis等のアクセス解析ツールも多くのWebサイトに導入されていますが、これもほとんどの場合で明示的ではないでしょう。
これらとの違いが不明であり、
またそもそもソースコードを表示させればそこに明示されているといった主張もありえます。

やはり逮捕はおかしい

つまりここでの"社会的コンセンサス"の有無自体はとても曖昧なものであり、その曖昧な単語を持ち出す以上は、現状どういったことに社会的なコンセンサスがあり、コンセンサスがないのか明示的に示すべきだと僕は思います。
そして明確に示し、事前にCoinhiveを明示的に示さずに使用することは犯罪であると注意喚起した上で、罪に問うべきではないでしょうか。

今回のような独断逮捕は真っ当なWeb開発をも萎縮させてしまう対応であると言えるでしょう。なぜなら単なるハッシュ計算が罪に問われる可能性があるということは、あらゆるJavaScriptの処理が罪に問われかねないからです。
















この記事が気に入ったらサポートをしてみませんか?