ハードウォレットのLedgerが、Ledger Nano Sに向けた攻撃について警告をしています。その警告ツイートはこちらになります。
To mitigate the man in the middle attack vector reported here https://t.co/GFFVUOmlkk (affecting all hardware wallet vendors), always verify your receive address on the device’s screen by clicking on the “monitor button” pic.twitter.com/EMjZJu2NDh
? Ledger (@LedgerHQ) 2018年2月3日
起こり得る被害
本対象はビットコイン(Bitcoin, BTC)の入金操作時に被害にあう可能性があります。
Ladger Walletでは、Google Chrome上で動作するアプリを使用し、ウォレットのアドレスを確認、仮想通貨の入金を行うことができます。
この攻撃では、Chrome上に表示されている入金アドレスが、攻撃者が指定したものになります(本来はLedger Walletのアドレスになるべきです)。
手元のLedger Walletに資金を移動しようとする際に、攻撃者のアドレスに資金を移動してしまうことにつながります。
2018年2月19日追記:実際にそのような被害に直面しそうな方がいました。
Ledger NanoSをElectrum連携でトランザクション生成→認証しようとすると・・・
LedgerにアドレスもBTC数量も異なるのが表示されるんですがこれはどういうことだ??? pic.twitter.com/BVpYanhJcH— DEG@仮想通貨ブログ (@DEG_2020) 2018年2月19日
[the_ad id=”7916″]
攻撃に関する内容
- Ledger WalletのソフトウェアはAppDataフォルダにあるため、管理者権限を持たないマルウェアでも内容を変更できます。
- Ledger Walletは、ソフトウェアの完全性/改ざんチェックを行っていないため、誰でも変更することができます。
- すべてのマルウェアは、Ledgerソフトウェアの1行のコードを書き換える必要がありまうが、10行未満の簡単なPythonコードでそれが実現できてしまいます。
- 新しいLedgerユーザーは、多くの場合初回利用時にすべての資金をLedger Walletに送るため、事前にマシンが感染すると資金が攻撃者のアドレスに移動し、すべての資金を失う可能性があります。
- 攻撃では、入金アドレス生成のプロセスにおいて、アドレスとQRコード共に攻撃者のアドレスに変えられてしまいます。
対策方法
入金時にLedger Wallet本体側にも入金先のアドレスを表示させます。本体側に表示されているアドレスと、PC画面に表示されているアドレスが一致していれば送金を実行します。
Ledger Wallet本体に入金先のアドレスを表示さる場合は、入金時に以下の画像の「モニターボタン」をクリックします。
入金のたびに生成されるアドレスが異なるため、この作業は入金のたびに行う必要があります。
Ledgerの公式Twitterより画像を引用:
筆者の手元環境で動作確認を試みたところ、モニターボタンが表示されない現象が発生しました。詳しい内容は確認中なので、確認でき次第お伝えします。