Table of Contents

JavaScript実装の仮想通貨(Monero)マイナーであるCoinhiveが登場してから数ヶ月たちました。

毀誉褒貶あるこのCoinhiveについて振り返って見ましょう。

Coinhiveとは?

Imgur

CoinhiveはJavaScriptで実装された仮想通貨(Monero)マイナーです。

Webサイトの管理者はCoinhiveを用いることでユーザーのCPUリソースを使用してマイニングを行い、マネタイズすることができます。

Coinhiveのコンセプト自体は興味深いものであり、広告を代替するものとして期待が寄せられました。しかし、Coinhiveはユーザーの同意なくマイニングを行います。Opt-outもできません。

このため、多くのAVベンダーはこれをマルウェアと見なします。

2018/01/08時点においてCoinhive(coinhive.min.js / 7a4ed680d5e94d437d2c9d41b07349d308a2e724d3c26c51a420dbbff49adadd)のVirusTotalにおける検知率は30/59となっています。

Imgur

主な出来事

広がる用途、広がる悪用

Coinhiveのまっとうな使用事例として、広告の代替として使用されている事例が挙げられます。

  • Hextris(パズルゲーム)
    • 広告の代わりに使用、ゲームプレイ中にマイニングが行われる
  • b3log/solo(OSS)
    • OSSプロジェクトへのコントリビューションとして、Coinhiveをビルトインしている
    • 設定によりOpt-out可能
  • etc.

一方、Webサイトの改ざんによりCoinhiveを埋め込むなど、悪用される事例は枚挙に暇がありません。

Webサイトの改ざん事例

PDFファイルの事例

PDFファイルにCoinhiveが埋め込まれた事例。

  • e-Receiptmen%iCLoud%purchse-stored#ID91239849.pdf(1cbf2cdd487e30595f22e1e1dd504201035edf816c1b7c1aee51e1a8314f8ae6)
    • ref. Hybrid Analysis
    • URL短縮サービスBit.do(https://bit.do/)経由でCoinhiveを取得
    • Appleからの領収書に偽装

Imgur

Exeファイルの事例

.exeファイルにCoinhiveが埋め込まれた事例。

  • 5d33b8a363d6edaad6e02e9a73a44c8cd3eddf87a9fa8686763e91830427a9ab
    • ref. Hybird Analysis
    • upload-center.byethost4[.]com/server-cccam.html?i=3からCoinhiveを取得

Andrdoiアプリの事例

まとめ・私見

coinhive はウェブサイトの訪問者のCPUでマイニングするスクリプトを仕込むサービスです。coinhive はユーザーのCPU資源を奪うスパム扱いされることが多いんですが、自分の意見はちょっと別で、広告か coinhive かを選ぶ自由がユーザーにあってもいいと思います。あくまで選択肢として、です。

無許可の coinhive がよくないのはそうなんですが、その理屈で言うと、無許可の広告も良くないってことになりますよね。ユーザーに無許可で視界と動線とユーザー体験とCPUを奪っています。営利サイトで課金か広告かマイニングかユーザーが選ぶ権利はあってもいいと思うんですよね。(現状 coinhive の monero のCPUマイニングは効率悪すぎなんですが)

@mizchi (via https://monappy.jp/memo_logs/view/mizchi/1888)

自分もこの意見には基本的には賛成です。 しかし、Opt-inでマイニングができるAuthedMineが登場した以上、Opt-outすることもできないCoinhiveを使うものはすべてMaliciousである、というのが自分の意見です。

@mubixブログは理想的な使用事例の1つですが、ユーザー側のリテラシーも含めて、広告の代替として使用するというのは現実的とは思えません。

一方、繰り返しになりますが、Coinhiveを悪用される事例は枚挙に暇がありません。

CSO Onlineは「Top 5 cybersecurity concerns for 2018」という記事において、Cryptojackingの拡大を予測しています。

エンドユーザーとしてのCryptojacking対策としては、主に以下の2点が挙げられます。

以上です。