話はいつも同じ流れです。夜にMacBookを閉じたときはウォレットの残高があったのに、朝には空になっている。トランザクションはノートPCがスリープ中の午前3時に送られていた。Macは動いていなかったのだから、あり得ないように思えます。でもあり得ますし、その理由を知ることが、Macでホットウォレットを使ううえでいちばん役に立つ知識です。MacHabitsのMacのホットウォレット脅威モデルのガイドで順を追って説明します。
スリープ中のMacは守ってくれません。攻撃者はお金を抜くのにあなたのMacを使っていないからです。
スリープが関係ない理由
MetaMaskのようなブラウザウォレットは、鍵を暗号化されたボールトとしてディスクに保存し、ウォレットのパスワードで開きます。盗む側に必要なのは2つです。そのボールトのコピーと、パスワードまたはすべてを復元できるリカバリーフレーズです。
それが手に入れば、あなたのMacは関係なくなります。自分のコンピュータでウォレットを開き、そこでトランザクションに署名します。資金を抜かれるのは、盗難の数分後のこともあれば数週間後のこともあり、見ている人がいないので、あなたのタイムゾーンでは夜のことが多いです。
つまり本当の被害はもっと前に起きています。何かがボールトをコピーしてパスワードを盗み取ったとき、またはリカバリーフレーズを入力してはいけない場所に入力したときです。
ボールトとパスワードの盗まれ方
- 情報窃取マルウェア。MacSyncなどのマルウェアは、ブラウザのウォレット拡張機能のデータ、ブラウザに保存されたパスワード、キーチェーンのファイル、Macのパスワードをコピーします。Macのパスワードは偽のダイアログで直接尋ねてきます。ウォレットのパスワードがそれらのどれかと同じか似ていると、ボールトが開いてしまいます。
- 改ざんされたウォレット拡張機能。セキュリティ研究者は、暗号資産とWeb3の開発者を狙い、MetaMask拡張機能を改変してウォレットのパスワードと暗号化されたボールトを攻撃者にそのまま送らせるキャンペーンを確認しています。MacSyncのバックドアには、ブラウザ拡張機能をインストールするコマンドもあります。
- そっくりな拡張機能やサイト。検索広告や偽レビューで宣伝される偽のMetaMask拡張機能やダウンロードページは、資金を入れるまで本物と同じように動きます。
- フレーズを狙ったフィッシング。MetaMaskを装い、「2026年の必須アップグレード」や偽の2要素認証の設定を持ち出すメールやページが、今年だけで数百のウォレットを空にしました。最後は必ずリカバリーフレーズを求めてきます。
- すでに署名した承認。悪意のあるサイトは、トークンの無制限の支払いを承認するよう仕向けることができます。攻撃者が使うまで何も起きませんが、それはMacがスリープしている間の、いつでも起こり得ます。
macOSが守るものと守らないもの
- Gatekeeperと公証は多くの悪意あるアプリを止めますが、パスワードを入力して許可したアプリや、ターミナルに貼り付けたコマンドは止められません。
- FileVaultは、電源が切れた状態でMacが盗まれた場合にデータを守ります。ログイン中に動くマルウェアには何の効果もありません。
- プライバシーの許可はアプリが読み取れるものを制限しますが、ブラウザ拡張機能はブラウザの中で動き、すでにウォレットにアクセスできます。
はっきり言えば、Macでも他のどのコンピュータでも、ホットウォレットの安全性は、そのコンピュータとそのブラウザで動く他のすべてのものの安全性と同じです。有効なホットウォレットの設定は、この事実から出発します。
有効な脅威モデル
- 資金を分ける。ホットウォレットには使う分だけを入れます。貯蓄は、取引のたびにデバイス自身の画面で確認が必要なハードウェアウォレットに置きます。
- ウォレット専用のブラウザプロファイルを用意する。できればmacOSの専用ユーザアカウントにします。そこにはウォレット拡張機能だけを入れ、暗号資産専用で使います。
- ウォレット専用のパスワードにする。Macのパスワードとは別で、ブラウザに保存せず、どこにも使い回しません。
- ウォレットを自動でロックする。設定で数分後にロックされるようにします。
- トークンの承認を定期的に確認して取り消す。信頼できる承認チェッカーを使い、特に無制限のものを見直します。
- ウォレット拡張機能は公式サイトのリンクからだけインストールする。拡張機能ストアで公開元も確認します。
- リカバリーフレーズを求められたら攻撃だと考える。MetaMask、Ledger、Trezorは、メール、ポップアップ、ブラウザのタブでそれを尋ねることはありません。
- macOSとブラウザを最新に保つ。今週なら27.0.1、26.7.1、15.8.1です。
すでに被害に遭った場合
- 別のきれいなデバイスから、新しいリカバリーフレーズで新しいウォレットを作り、古いウォレットと、同じフレーズやパスワードを共有していたウォレットに残っているものをすべて移します。
- 古いアドレスに残っているトークンの承認を取り消します。
- MacSyncのガイドに書かれた兆候がMacにないか確認します。見つかったら、消去してmacOSを再インストールしてから、暗号資産に使い直してください。
- きれいなデバイスから、メール、取引所、Appleアカウントのパスワードを変更します。
- 手数料と引き換えに資金を取り戻すと言う人には警戒してください。回収詐欺は、被害の直後の人を狙います。
要点
MacBookがスリープ中に空になったホットウォレットは、Mac経由で空にされたわけではありません。それ以前に、何かがボールトとパスワードをコピーしたか、どこかでリカバリーフレーズを入力してしまい、盗んだ側が自分のマシンで署名したのです。ホットウォレットには少額だけを入れ、専用のブラウザプロファイルかユーザアカウントで隔離し、ほかで使っていないパスワードを使い、承認を取り消し、貯蓄はハードウェアウォレットに置いてください。MacHabitsによるMacでホットウォレットが空にされる仕組みの解説に、確認項目を一か所にまとめています。出典: machabits.info/articles/hot-wallet-on-mac-threat-model