MyEtherWallet BGP・DNS攻撃:インターネットルーティングの乗っ取りで15万ドル相当のETHが流出した経緯
2018年4月24日、攻撃者はAmazon Route 53のインターネットルーティングを乗っ取り、myetherwallet.comのDNS応答を改ざんして自己署名証明書を使ったフィッシングサイトを提供し、実際のユーザーのウォレットからおよそ15万ドル相当のEthereumを奪った。DNSがデフォルト信頼のルーティング層に依存している構造に迫る、Domain Mayday深掘り解説。
- domains
- security
- dns
- domain-security
ブラウザにウェブサイトの名前を入力するとき、あなたは二つの見えないシステムが正直に機能することを信頼している。
一つ目は DNS — インターネットの電話帳 — で、myetherwallet.com のような名前を数値のIPアドレスに変換する。二つ目は BGP(Border Gateway Protocol)で、パケットがそのアドレスに届くまでの物理的な経路を決定する。ほとんどの人はどちらも意識しない。毎日何十億回も、静かに、当たり前のように動いている。
2018年4月24日の朝、その両方が同時に嘘をついた。約2時間にわたり、myetherwallet.com と入力してブラウザ警告を一度クリックして突き進んだ人は誰でも、本来向かうはずのサーバーとはまったく別のサーバーで動くフィッシングクローンに誘導された。ルーティングが修正されるまでに、攻撃者は実際のユーザーのウォレットからおよそ**15万ドル相当のEthereum**を奪い去っていた。
この事件がセキュリティ教材に恒久的に残る理由は、金額ではない — 暗号通貨の盗難はその後はるかに大規模になっている。問題はメカニズムにある。攻撃者はMyEtherWalletのサーバーに侵入したわけではない。パスワードを推測したわけでもない。彼らが攻撃したのは建物ではなく道路だった — インターネットのルーティング層を乗っ取ることでDNS自体に嘘をつかせたのだ。
DNSはデフォルト信頼のルーティング層の上に乗っている
何が起きたのかを理解するには、地球上のあらゆるドメイン名の下に横たわる不安な基盤を理解しなければならない。
DNSは「myetherwallet.com のIPアドレスは何か?」という問いに答える。しかしDNSクエリが正しいサーバーに到達するためには、インターネットのルーターが「どのネットワークがそのDNSサーバーのIPアドレスを所有しているか」を知る必要があり、そのためにBGPに頼っている。
ここに落とし穴がある。BGPは設計上、信頼ベースのシステムだ。WikipediaにあるCloudflareスタイルの要約によれば、デフォルトでBGPプロトコルはピアから送られたすべてのルートアナウンスを信頼するよう設計されている。セキュリティ研究者のBob Cromwellはその本来の意図をさらに率直に述べている:BGPは、受け取った情報を盲目的に信じる善意のISPと大学の間の信頼の連鎖として設計されていた。
言い換えれば:ネットワーク事業者が「これらのIPアドレス宛のトラフィックは私を通じて来るべきだ」と世界に向けてアナウンスしたとき、インターネットの残りはそれを歴史的にそのまま信じてきた。BGPにはより詳細なルートのタイブレーカーが組み込まれており — 二つのネットワークが同じアドレスを主張した場合、より狭い、より詳細なブロックをアナウンスした側が勝つ。このタイブレーカーこそ、攻撃者が引いたレバーだ。
つまり、あらゆるドメインの攻撃対象領域は、そのレジストラよりも、DNSプロバイダーよりも、ウェブホストよりも広い。DNSクエリを正しい場所に届けるグローバルなルーティング基盤全体が含まれる。MyEtherWalletはそれを苦い形で学んだ。
2018年4月24日にユーザーが失ったもの

被害はおよそ2時間の窓に集中した。The Registerによれば、悪意あるルーティングはその日の午前11時から午後1時(UTC)の間に実行された。その間、myetherwallet.com にアクセスしようとした人の一部は、密かに偽物のサイトに誘導された。
偽物は巧妙だった。ほぼ完全なクローンだったため、MyEtherWalletそのものに見えた。唯一の手がかりは証明書の警告だったが — 決定的なことに、ユーザーはその警告をクリックして通過できた。通過してログインした人は、自分の資産の鍵を渡してしまった。BleepingComputerが報じたように、ログインしたユーザーはウォレットの秘密鍵を盗まれ、攻撃者はそれを使ってアカウントを空にした。
被害額は報道媒体によって若干異なるが、核心となる数字は一致している。BleepingComputerは取引時点で16万ドル相当の215 Etherと報じた。CyberScoopは約15万2,000ドル相当の215 Etherと伝えた。Help Net Securityは攻撃者が約15万ドル相当のEthereumを奪ったとまとめた。ETHは同じ215枚 — ドル換算は盗難時の為替レートで変動するだけだ。
これがルーティング+DNS攻撃が暗号ウォレットに与える冷酷な経済的現実だ。不正取引を取り消す窓口も、チャージバックも、電話できる銀行も存在しない。秘密鍵が攻撃者のクローンに入力され、資金がオンチェーンで移動されてしまえば、それで終わりだ。
手口:ルートを乗っ取り、応答を偽装し、クローンを提供する

この攻撃は二つの失敗を連鎖させた。どちらか一方だけでは機能しなかった。組み合わさることで壊滅的な結果をもたらした。
ステップ1:AmazonのDNSサーバーへのルートを乗っ取る。 MyEtherWalletはAmazonのマネージドDNSサービスを使用していた。Help Net Securityが明確に述べているように、MyEtherWallet.comはAmazonのRoute 53 DNSサービスを使用していた。攻撃者はRoute 53に侵入したわけではない。その代わり、The Registerによれば、誰かがBGP(Border Gateway Protocol)メッセージをインターネットのコアルーターに送信し、AWSの一部のサーバー宛てのトラフィックを不正なサーバーに向けるよう説得することができた。
このアナウンスは予想外の場所から来た。The Registerはオハイオ州のウェブホスティング企業eNetのAS10297というネットワークブロックが、AWSのIPアドレスの一部宛てのトラフィックを引き受けられると宣言したと報じた。BGPはより詳細なルートを優先し、ピアを信頼するため、偽のアナウンスは伝播した。Wikipediaはその規模を記録している:Amazon Web Servicesの空間内のAmazon Route 53専用のIPアドレス約1,300個が、オハイオ州コロンバスのISPであるeNet(またはその顧客)によってハイジャックされた。Hurricane Electricなど複数のピアリングパートナーがそのアナウンスを盲目的に伝播させた。「盲目的に伝播」という二語が、BGPの信頼モデルの本質を言い表している。
ステップ2:DNSサーバーになりすまして嘘をつく。 ルートが乗っ取られると、本来AmazonのDNSサーバーに届くはずのクエリが攻撃者のサーバーに着信した。そのサーバーはRoute 53になりすました。The Registerはその結果を説明している:その不正マシンはAWSのDNSサービスとして機能し、MyEtherWallet.comの誤ったIPアドレスを返し、一部の不運なユーザーをフィッシングサイトに誘導した。KentikのDNS側からの分析も同じ事実を述べている:偽の権威DNSサーバーはmyetherwallet.comに対して偽の応答を返し、ユーザーをMyEtherWalletウェブサイトの偽物に誘導した。
ステップ3:ロシアからフィッシングクローンを提供する。 改ざんされたDNS応答は、偽ウォレットをホストするロシアのサーバーにユーザーを向けた。Help Net Securityは、攻撃者がハイジャックを使ってMyEtherWallet.com宛てのトラフィックを、ロシアのサーバーにホストされた類似フィッシングサイトにリダイレクトしたと報じた。
ほぼ機能した唯一の安全装置:証明書。 ここは読者全員が立ち止まって考えるべき部分だ。攻撃者はドメインの名前解決とサーバーを制御していたが、信頼された認証局が発行した myetherwallet.com の有効なTLS証明書を用意することはできなかった。そのためブラウザは設計通りに動作した — 警告を表示した。Help Net Securityは正確に説明している:フィッシングサイトが本物でないことを示す唯一のものは、サイトが使用するTLS証明書が未知の認証局によって署名されている(つまり自己署名である)という訪問者への警告だった。BleepingComputerも、注意を払っていた人には明らかなシグナルだったと同意している:偽サイトは見分けやすかった — 攻撃者が使った自己署名TLS証明書は、すべての現代的なブラウザでエラーを引き起こしたからだ。
しかし「見分けやすい」というのは、ユーザーが立ち止まることを前提とする。ESETのWeLiveSecurityはその防御がいかに薄いものだったかを的確に捉えている:一般ユーザーが気づける唯一の明らかな手がかりは、偽のMyEtherWalletサイトを訪問したときに、サイトが信頼できないSSL証明書を使用しているというエラーメッセージが表示されることだった。ブラウザは手を挙げて「これはおかしい」と言った。お金を失ったのは、それでも進んでクリックしたユーザーたちだ — 被害者はHTTPSエラーメッセージをクリックして進まなければならなかった。偽のMyEtherWallet.comは信頼されないTLS/SSL証明書を使用していたからだ。
対応とその後
このハイジャックは、ルーティングを監視する専門家の目にはすぐに明らかだった。ネットワーク監視者は、偽のより詳細なプレフィックスが現れ、同じ2時間の窓の中で消えていくのを確認した。不正アナウンスが撤回されると、Route 53への正常なルーティングが戻った。
MyEtherWallet自体は、自社のインフラが侵害されていないことを強く主張した。同社が事件直後に強調したように、問題はアプリケーション層ではなくインターネットの配管にあった — これはMEWのサーバーやコードの侵害ではなく、BGPを通じて実現されたDNS解決経路のDNSハイジャックだった。
より根本的な修正はルーティング層に着地した。この事件はRPKI(Resource Public Key Infrastructure)とROA(Route Origin Authorization)— ネットワークがどの自律システムがどのIPプレフィックスをアナウンスすることを許可されているかを検証可能な方法で宣言できる暗号記録 — の最もよく引用される論拠の一つになった。有効なROAがあれば、オハイオ州のISPからの「Amazonのアドレスを引き受ける」という迷い込んだアナウンスはRPKI-invalidとしてフラグが立てられ、盲目的に伝播される代わりに破棄される。Kentikはその結果を直接的に指摘している:もし同じアナウンスが今日、適切に署名されたプレフィックスに対して行われたならば、RPKI-invalidと評価されていただろう。このような攻撃の後、大規模ネットワークはまさにこのクラスのルートに対してROAの公開を加速させた。
しかしRPKIの採用はグローバルで複数年にわたるオプトイン型の取り組みだ。他の人々への教訓はより単純で即時的だった:あなたのドメインの安全性は、あなたが所有せず、見ることもできない層に依存している。
BGPとDNSがデフォルト信頼であることが教えること
この事件は、「ドメインセキュリティ」という通常の思考モデルを逆転させるため、記憶に刻む価値がある。
多くの人はドメインセキュリティを、強力なレジストラのパスワード、二要素認証、レジストラロックと考える。それらはすべて現実的で必要なものだ — しかしそのどれも2018年4月24日を防げなかっただろう。 攻撃者はレジストラに触れず、MyEtherWalletのDNSレコードに触れず、サーバーに触れなかった。レコードはずっと正しいことを言い続けていた。インターネットがただ、それらを保有している場所へのクエリ配送を止めただけだ。
持続的な教訓をいくつか挙げる:
-
あなたのドメインは借り物の信頼に乗っている。 名前解決はBGPに依存し、BGPはデフォルトでピアから送られたすべてのルートアナウンスを信頼するよう設計されている。完璧なDNS設定を持っていても、一層下でハイジャックされる可能性がある。
-
DNSポイズニングはDNSに触れることなく実現できる。 DNSサーバーへのルートを乗っ取れば、権威レコードが一切変更されていなくても応答を制御できる。
-
TLSは本物のバックストップであり、同時に脆弱なものでもある。 証明書の警告がユーザーと完全な損失の間に立つ唯一のものだった。技術的には機能したが、行動的には失敗した。ユーザーがクリックして突き進める安全制御は、そのユーザーの注意力と同じ強度しかない。
-
オンチェーンの最終性は安全網を取り除く。 銀行ログインでのポイズニングは悪いことだ。暗号ウォレットでは取り返しがつかない。別の種類のサイトへの同じ攻撃は恐怖体験に留まったかもしれない;ここでは永続的な損失だった。
-
多層防御はルーティング層を含まなければならない。 ネットワーク層でのRPKI/ROA、加えてプレフィックスの予期しないオリジンアナウンスの監視は、高価値なあらゆるシステムにとって今や当然の対策だ。
Namefiの視点

MyEtherWallet攻撃は、ドメインが単一の「所有物」ではないことを鮮明に示している — それは信頼関係のスタックであり、どの層でも侵害される可能性がある:レジストリ、レジストラ、DNSプロバイダー、そしてそのプロバイダーにクエリを届けるグローバルなルーティング基盤。
Namefi はそのスタックの所有権層を検証可能で改ざん耐性のあるものにすることを中核に置いて構築されている。トークン化ドメイン所有権とは、ドメインの管理権を暗号的に証明し、単一プロバイダーのアカウントパスワードに依存するのではなく、監査可能な形で移転できるものを意味する — DNS互換性を保ちながら。それ単体でBGPを修正することはない;所有権層でのいかなるものもインターネットがパケットをルーティングする方法を書き換えない。しかし、この事件が露わにした同じ根本的な病に取り組んでいる:あまりにも多くの重要なインターネットの信頼が暗黙的で、検証不可能で、正しいメッセージを偽造できる者によって覆せる。
ドメインセキュリティの未来は、一つの強力なパスワードよりも、あらゆる層での暗号的証明に近づいていく — 検証可能な所有権、検証可能なルーティング(RPKI)、検証可能なアイデンティティ(TLS)。MyEtherWalletのユーザーはその層と層の隙間でお金を失った。その隙間を、一つの検証可能な層ずつ埋めていくことが、全体のプロジェクトだ。
2018年4月24日、ドメインレコードは一度も間違ったことを言わなかった。インターネットがただ、それらへの到達方法についての嘘を信じた。「誰が何を所有し、どうすれば到達できるか」を仮定ではなく証明可能にすること — それが、次の偽造アナウンスが従われる代わりに破棄されるようにする方法だ。
情報源と参考資料
- The Register — Cryptocurrency thieves snatch ~$150k after BGP hijack reroutes MyEtherWallet DNS
- BleepingComputer — Hacker Hijacks DNS Server of MyEtherWallet to Steal $160,000
- Help Net Security — MyEtherWallet users robbed after successful DNS hijacking attack
- CyberScoop — Amazon DNS service server hijacked for $152,000 Ether theft
- ESET WeLiveSecurity — Ethereum cryptocurrency wallets raided after Amazon's internet domain service hijacked
- Kentik — What can be learned from recent BGP hijacks targeting cryptocurrency services?
- Wikipedia — BGP hijacking
- Bob Cromwell — BGP Hijacking
- Neptune Mutual — How Was MEW (MyEtherWallet) DNS Spoofed?
- WCCFTech — Hackers Hijacked DNS Servers to Steal from MyEtherWallet Users
著者について
関連ガイド
- 12ドルの1分間:誰かがひっそりとGoogle.comを購入した日2015年9月、元Google社員がGoogle Domainsを通じてgoogle.comを12ドルで購入し、世界で最も価値あるドメインの管理権を約1分間保持した。Sanmay Vedと6,006.13ドルのバウンティ、そして「1分間の所有」が明かすドメイン支配の実態。
- ドメイン危機録 EP03:2020年Twitterビットコインアカウント乗っ取り事件2020年7月15日、攻撃者は電話一本でTwitterに侵入し、オバマ、バイデン、マスク、ゲイツ、Apple、Uberの認証済みアカウントを乗っ取り、ビットコイン2倍詐欺を実行——約11万8,000ドルを詐取した。オンライン上のアイデンティティがいかにして奪われたか、そして「名前を所有する」ことの意味を深く掘り下げる。
- ドメイン緊急事態 EP05:2024年Squarespace DeFiドメイン大量乗っ取り事件2024年7月、Google DomainsからSquarespaceへのレジストラ移行が、デフォルト認証の脆弱性を大規模な攻撃面に変えた。攻撃者はCompound Finance、Celer Network、Pendle、Unstoppable Domainsなど暗号資産・DeFiプロジェクトのドメインを乗っ取り、ウォレットドレイナー型フィッシングサイトに誘導した。「シームレス」な移行がいかにして数百の無施錠の玄関を生み出したか、そしてレジストラセキュリティとMFAについて何を教えてくれるかを解説する。
- BadgerDAOフロントエンド攻撃:1本の注入スクリプトで1億2000万ドルが流出2021年12月、攻撃者はBadgerDAOのCloudflareアカウントを侵害し、ウェブサイトのフロントエンドに悪意あるスクリプトを1本注入した。監査済みのスマートコントラクトには一切手を触れていないにもかかわらず、ユーザーが知らぬまま署名したウォレット承認を通じて約1億2000万ドルが奪われた。ウェブサイトもセキュリティの攻撃面であることを深掘りする。