公衆 Wi-Fi のハッキングと暗号通貨のマイニングを可能にする「CoffeeMiner プロジェクト」

2018.01.22

アルゼンチンのスターバックスで JavaScript による暗号通貨マイニング (採掘) が利用客の PC で行われていた事件を覚えていらっしゃるでしょうか。


この店舗では、利用客のコンピュータが暗号通貨生成のための計算を実行しようとする他人に Web ブラウザを介して利用されていました。


この店舗の Wi-Fi プロバイダーが、暗号通貨をマイニングする JavaScript コードを Wi-Fi 登録ページに勝手に埋め込んでいたようです。


無料のインターネットアクセスを提供する代わりに、Wi-Fi に接続した利用客の CPU を 10 秒間「借りて」小銭を稼いだとしても問題はないだろうと、この Wi-Fi プロバイダーは考えたのだと推測されます。



(当該のコードが採掘していた暗号通貨が Bitcoin ではなく Monero であった点を除いては、上記のツイートの指摘は非常に的を射ていました。)


スターバックスからの回答は素っ気ない(リンク先:英語)ものでしたが、スターバックスは「迅速に対応し、インターネットプロバイダーがこの問題を解決したことを直ちに確認」しました。


スターバックスが直ちにプロバイダーに電話をかけて、対応を強く迫ったことは想像に難くありません。

しかし、心配しなくてはならないのは Wi-Fi プロバイダーとコーヒーショップのオーナーだけではありません。


公共の Wi-Fi ネットワークに接続した際、VPN を使用していなかったり、HTTPS の Webサイトだけにアクセスしていなかったり、あるいはその両方に該当している場合、そのコーヒーショップ (あるいはバス、電車、ホテルのロビー) にいる他人にあなたのコンピュータが覗かれたり、勝手に操作されたりする可能性があります。


学術目的を謳ったプロジェクト CoffeeMiner(リンク先:英語) が登場したおかげで、あなたの地元のカフェでもコンピュータが暗号通貨のマイニングに利用されたり、Web ベースのサイバー犯罪に悪用されたりする可能性が高まっています。



このプロジェクトは、Arnau Code と名乗るバルセロナのソフトウェア開発者が考案したものですが、悪用された場合、中間者 (MiTM) 攻撃が可能です。

HTTPS (ブラウザに南京錠のアイコンが表示されるサイト) の重要性や、コンテンツを提供するのに従来の HTTP ではなく HTTPS を使用すべき理由を理解できていない方は、Arnau の記事をぜひお読みください。CoffeeMiner プロジェクトは、HTTPS が単に秘密を保持するためのものではなく、正規のサイトから正規のコンテンツを受け取るには信頼性の維持と改ざんの防止が重要であることを私たちに思い出させてくれます。


MitM 攻撃とは、ネットワーク要求が宛先に到達するまでの間にネットワーク上の他ユーザーによって盗み見られ、受信する前の応答が傍受されてしまう攻撃です。

ユーザーはアクセス先のサイトと直接やり取りしているのではなく、実際は間に仲介人 (middleman) が存在しており、この仲介人はユーザーからの要求およびサイトからの応答を改ざんすることができます。


このような応答の改ざんを行うのが CoffeeMiner です。CoffeeMiner はさまざまなテクニックを使って、コーヒーショップの Wi-Fi アクセスポイントに到達する前の Web トラフィックを傍受し、ユーザーが要求した Web ページをユーザーに代わって取得します。そして、通貨をマイニングをする JavaScript の行をその応答に忍び込ませます。


つまり、理論上ユーザーがアクセスしたすべての Web サイトは、別人が一時的に暗号通貨をマイニングするために利用される可能性があるということです。


CoffeeMiner の仕組みを箇条書きにすると次のようになります。


  • ネットワークカードをだまして、CoffeeMiner がアクセスポイントであると認識させます。
    この手口にはオープンソース製品である dnsiff が使用されます。

  • Web 要求を除いたすべてのネットワークトラフィックはそのまま渡します。

  • 傍受した Web トラフィックを MitM プロキシに送信します。
    ここでは、オープンソースのツールキット mitmproxy が使用されます。

  • マイニングする HTML を 1 行、Web 応答に挿入します。

CoffeeMiner コードは実際にはマイニングコードを直接挿入するのではなく、次のような行を挿入します。



IP 番号とポート (この例では 192.0.2.42:8000(リンク先:英語)) は、CoffeeMiner のコンピュータで実行されている Web サーバーです (実際には CoffeeMiner ツールキットの一部です)。この Web サーバーは、攻撃者が選んだ任意のマイニングコードを送信できます (Arnaud Code が選んだのは、広く使用されているマイニングツール CoinHive です)。


対策

CoffeeMiner は、暗号通貨のマイニングについて学習するための教材ではありません。

問題なのは、信頼できないネットワーク (全ユーザーと全デバイスの正当性を常に保証することは困難であるため、現在使用されているほぼすべてのネットワークがこれに該当します) においては、攻撃者は HTTPS を使用して暗号化されていないすべての Web トラフィックをいとも簡単に改ざんできるという点です。


HTTPS を使用しなければ機密性はないため、ユーザーが何をしているのかを誰でも覗き見ることができます。身元確認は行われないので、ユーザーは誰からの応答なのか見当もつきません。さらには、マイニングスクリプトをすべての Web ページに埋め込むなどの方法で、ユーザーがダウンロードしたページが改ざんされたとしてもユーザーには分からないため、完全性も保証されていません。


最初にお伝えしたとおり、以下の対策を実施してください。


  • HTTPS を使用しているサイトにのみアクセスする。
    ほとんどの場合、Web ベースの MitM 攻撃では偽装サーバー経由で接続しているという警告が表示されます。
  • HTTPS をまだ使用していないサイトには、HTTPS の使用を要求する。
    少しばかり労力を必要としますが、その価値はあります。
  • 職場で提供されている VPN を使用する。
    VPN では、Web へのアクセスだけではなく、社内でやり取りされるすべてのネットワークトラフィックが暗号化されます。

ちなみに、自宅での VPN の利用を希望していて、予備のコンピュータをお持ちの方は、Sophos XG Firewall Home Edition をお試しください。ウイルス対策、Web フィルタリング、電子メールセキュリティ、IPS、本格的な VPN など、さまざまな機能を無料ライセンスで使用できます。

引用元

おすすめの記事はこちら