サイバーセキュリティはじめました

ハニーポット(T-POT)の検証や攻撃の実験など、サイバーセキュリティに関して少しずつ勉強しています。

仮想通貨のマイニング(コインマイニング)の問題点をまとめてみました

ある程度、ブログの期間も長くなったということでアクセス解析してみたところ、Googleから、

tk-secu.hateblo.jp

こちらの記事をよく参照されていることが分かりました。やはり、みなさん仮想通貨(暗号通貨)のマイニングにお困りなんですね。

と、いうことで、コインマイニングの現状(2018年3月9日現在)について、まとめてみようと思います。

 

前提知識

前提として、仮想通貨(暗号通貨)は、その取引をブロックチェーンと呼ばれる手法を使って管理しているのですが、その整合性をとるために、コンピュータのリソースが必要となります。

 コインマイニングとは

コインマイニングをGoogleで調べてみると、bitFlyerの解説記事が一番上にヒットします。

bitflyer.com

要約すると、仮想通貨の取引の整合性チェック等を行うために、コンピュータのリソースを提供して、その計算を成功させ、取引データを追記できた場合に、お礼として仮想通貨(暗号通貨)を支払いますよ、という仕組みが、コインマイニングになります。

コインマイニングの問題点

コインマイニングは、自分のコンピュータが休止状態の時に、一時的にリソースを貸し出して、計算の補助を行い、その手数料をいただく。と、いう考えのもとに運用が開始されたものと推測します。全員がこういった運用方法をとれば、問題はなかったのでしょう。

しかし、現に問題は発生し、迷惑をこうむっている人がいます。なぜ、そんなことになったのでしょうか。

個人のコンピュータのリソースでは儲からない。

まずは、こちらの記事をご紹介します。

gigazine.net

こちらの記事は、なんと2013年11月に書かれた記事です。この時点で、Bitcoinをマイニングするために、建物全体を使った水冷システムを導入するなど、個人のPCで対抗できるシステムではなくなっているのです。

もちろん、Bitcoin以外のアルトコイン(第2、第3のBitcoinを目指す仮想通貨、中堅の仮想通貨)草コイン(実用性が低いできたばかりの仮想通貨、ギャンブル要素の強い仮想通貨)であれば、Bitcoinほどのスペックは要求されないものの、信用性・実用性の高い仮想通貨ほど、マイニングに必要なスペックは高くなります。

つまり、個人のPCでマイニングを行ったとしても、あまり儲けを得ることはできないのです。大体、電気代と同じか、それより低い額しか儲からないようですね。

1台でダメなら複数台で

そこで考えられたのが、1台でダメなら、複数台でマイニングしてはどうかという考え方です。もちろん、1台を2台にしたからと言って、劇的に儲けが増えるわけではありませんので、数十台、数百台という規模のリソースを使用して、マイニングを行おうと考える方が出てきました。

その方法の1つが、以前の記事で紹介したCoinhiveです。

Coinhiveとは

Coinhiveは、2017年9月に開始された仮想通貨発掘サービスの1つです。Coinhaiveは、閲覧数の多いWebサイトにJavaScriptを埋め込むことによって、サイトを閲覧している方のリソースを一時的に借りてマイニングを行うという方法です。この方法であれば、閲覧者が非常に多いサイトであれば、一気に数十台、数百台のリソースを使用することができます。

また、これまで、Webサイトを運営して収入を得るためには、広告を埋め込んでアフィリエイト収入を得るか、Wikipediaのように寄付を募るかの手段しかありませんでしたが、Coinhiveであれば、広告を表示せず、寄付によるユーザの手間もいらず、ただWebサイトを見ていただくだけで収入が得られる、画期的なシステムでした。

Coinhiveの問題点①「無断でリソースを消費する」

Coinhaiveは、正しく運用すれば、Webサイトを見てもらうだけで収入を得られる運営者、広告がなく見やすいサイトを閲覧できる閲覧者、双方にメリットのある仕組みでした。無断でサイト閲覧者のリソースを使用するのではなく、しっかりとサイト上に明記したうえでリソースを借りる分には、双方合意の下で運営されているため、大きな問題にはならなかったでしょう。

しかし、「仮想通貨のマイニングを行うため、リソースをお借ります」と書かれたWebサイトは、少なからず閲覧者数減少の影響が出たようです。そこで、そういった明記を行わないWebサイトが登場してきました。

つまり、Webサイトの閲覧者は、知らない間にリソースを消費させられていたということになります。これでは、リソースの「無断借用」に他なりません。

Coinhiveの問題点②「大量のリソースを消費する」

Coinhiveでは、Webサイトの閲覧者が使用するリソースの量を決定することができます。

www.itmedia.co.jp

そこで、少しでも儲けを出したいWebサイトの運営者は、そのリソースを大量に使用するよう設定を行います。しかし、その方法では、Webサイトの閲覧者側にとっても、すぐに異常が検知できてしまいますので、あまり長続きはしなかったようです。

Coinhiveの問題点③「閲覧後もリソースを消費し続ける」

 Webサイトの閲覧者のリソースを無断で使用したとしても、1つのWebサイトを閲覧するのに1時間や2時間もかける方はあまりいません。ほとんどの場合、開きっぱなしにしない限りは、長くても5分~10分くらいで閉じてしまうのではないでしょうか。

そこで考え出されたのが、自分のWebサイトの閲覧が終わったとしても、リソースを消費し続ける方法です。

www.coindatabase.net

極小のブラウザをタスクバーの下に隠してマイニングを続けるという方法で、問題点②のように、すぐにWebサイトの閲覧者にばれるようなリソースを消費するのではなく、ばれないようにリソースを消費し続けるという方法になります。

 ここまでくると、上で紹介した記事のタイトル通り、マルウェアに近い動きとなっていますね。

Coinhiveはマルウェアなのか?

キヤノンITソリューションズ株式会社の販売する「ESET」では、Coinhiveをマルウェアと位置付けています。以下の記事は、そのキヤノンITソリューションズ株式会社が公表している2018年1月のマルウェア検出レポートですが、圧倒的にCoinhiveの検出が増加しているのが分かります。

【お知らせ】2018年1月のマルウェア検出レポートを公開 ~マイニングマルウェア「JS/CoinMiner」の爆発的流行~

しかし、Coinhiveをマルウェアとするかどうかは、ウィルス対策ソフトベンダーによっても見解が異なるようです。

仮想通貨をマイニングするサイバー攻撃の登場

基本的にCoinhiveは、Webサイトの運営者がマイニングで儲けを出すための方法でした。しかし、みんながみんな、閲覧者が多いWebサイトを運営しているわけではありません。

その上で、複数台で仮想通貨のマイニングを行うためにはどうすればいいのか…答えは、お分かりの通り、マルウェアなどのサイバー攻撃です。

攻撃事例① 他人のWebサイトを改ざん

こちらは、Coinhiveの機能を活用した事例です。自分でWebサイトを運営していないのであれば、脆弱性を抱える他人のWebサイトを改ざんし、自分のCoinhiveを埋め込めば、他人のリソースを勝手に使用することができるという考え方です。

この攻撃では、Coinhiveの問題点③の閲覧終了後にもリソースを消費し続ける方法も併せて使用されていると考えられます。

攻撃方法② マルウェアを作成

Webサイトの介さなくても、PCをつけている限りマイニングし続けてくれれば、攻撃者にとっては大きな儲けにつながります。そこで、マイニングするためのマルウェアが作成されることになります。

このマルウェアは、これまでのマルウェアと同様に、メールで送付されたり、攻撃用のリンクからダウンロードされたりといった手法でばらまかれています。

japan.cnet.com

こちらの記事にある通り、最近はこのマルウェアを使用した攻撃方法が流行しており、ファイルが存在しないため検出が非常に難しくなっています。

攻撃方法③ 仮想通貨の盗難

仮想通貨の盗難と聞くと、やはりピンとくるのはコインチェックのNEMの盗難ではないでしょうか。

news.yahoo.co.jp

 この事件は、根岸さんがすごく分かりやすい図で現状の説明をされておられました。

 仮想通貨の盗難は、コインチェックほど大きくはありませんが、他にも発生しています。例えば、こちらの記事も比較的大きな金額がとられた事件となっています。 

coinchoice.net

攻撃方法④ その他の手段

その他の攻撃手段として、以下の記事をご覧ください。

www.gizmodo.jp

これは、昨日掲載されたばかりの記事なのですが、ソフトウェア的に攻撃を仕掛けるのではなく、物理的に攻撃を仕掛けていますね。

 

まとめ

仮想通貨を運用するにあたって、マイニングは必ず必要となるプロセスであることには間違いありません。そうでなければ、ブロックチェーンという仕組みを維持することができなくなり、仮想通貨の流通がストップしてしまうでしょう。

しかし、報酬が支払われるという点に目をつけて、不正にマイニングをしようとしている者が存在するということも事実です。

これからは、これまでのサイバー攻撃は、「機密性」「完全性」「可用性」のいずれかを狙ってくる攻撃が主流でした。

しかし、仮想通貨のマイニングは、ユーザにばれないようにリソースを使用しています。現状の情報セキュリティとして無理に捉えるのであれば「可用性」の喪失に該当するのでしょうが、ユーザが気付いていないということは、「可用性」=「利用したいときに利用できる」という点は問題なさそうです。

これは、新たに1要素加えて、情報セキュリティの4要素にすべきではないでしょうか?