暗号通貨イーサ(ETH)を保管し送金するウェブベースのウォレットMyEtherWalletがDNS攻撃を受け、無防備なユーザがロシアの偽装サイトに誘導されログイン情報を入力させられる事件が発生した。
証明されていないSSL証明書はユーザーが偽のサイトに入る前に警告を発したが、誰かがその警告を無視し、資金を損失する結果となった。MyEtherWalletは声明の中で、攻撃が行われたのは2018年4月24日だったことを発表した。
ハッカーはMyEtherWallet自体を攻撃したのではなく、一般に使われるDNSサーバーの脆弱性を利用した。MyEtherWalletはユーザーに対し、当分の間CloudflareのDNSサーバーに切り替えるよう勧めている。
DNSサーバーはインターネットのサイト名に対して正しいIPアドレスを提供する。“www.myetherwallet.com”と入力すると、DNSサーバーはこのサイトのIPアドレスを返す。
SSL証明書は、入力したホスト名と証明書に記載されたホスト名を比較することで、嘘のDNS応答からシステムを保護する。一致するホスト名がなければSSLは警告のポップアップを表示する。
ユーザーがmyetherwallet.comを訪れると通常はこのホストが存在するAmazon Web Servicesに向かうよう指示される。しかし、サイバーセキュリティ会社CloudFlareによると今回の攻撃ではロシア国内のIPアドレスに誘導されたとのことだ。
Oracle社のInternet Intelligence部門によると、ハッカーはBGP(Border Gateway Protocol)ルートハイジャック攻撃を実行してAmazonのサーバーに向かうはずだった通信の行き先を変更した後でDNSエントリーを乗っ取りできるようになった。
BGPはインターネットで利用されるルーティングプロトコルだが、脆弱性があることが分かっている。被害を受けたユーザーのほとんどはGoogleが提供する再帰的DNSサービスを利用していた。
「DNSとBGPに内在するセキュリティ上の弱点を悪用して暗号通貨を盗む手法についてはほとんど分かっていませんが、注目すべきシナリオが使われたようです。」Oracle社のDoug Madory氏はブログへの投稿でこのように書いている。
DNSの乗っ取りは珍しいものではない。今年初めにハッカーらは暗号通貨Stellar Lumensのウェブベースのウォレットを提供するBlackWallet社のDNSサーバーを乗っ取り40万ドル相当のルーメン(XLM)を自分たちのサーバーに送金した。2017年末にはEtherDeltaがDNSハイジャックを受け少なくとも26万7,000ドルの資金を失った。