用語集 / プライバシーとセキュリティ
クリップボードマルウェア
別名はクリッパーマルウェアです。
- クリップボードマルウェアとは?
- クリップボードマルウェアは、感染したパソコンやスマートフォン上に潜み、利用者がビットコインのアドレスをコピーすると、貼り付ける直前に、そのアドレスを攻撃者のものへと気づかれないうちに置き換えます。
これは、これまでに書かれた中で最も手間のかからない収益性の高いマルウェアです。パスワードもシードも、管理者権限さえも必要としません。Kasperskyが2017年11月に発表したトロイの木馬CryptoShufflerに関する報告では、その被害額はおよそ23ビットコインとされ、2018年のある系統は230万件のアドレスを埋め込んだリストを持ち、差し替えに使っていました。置き換えが起きても画面上では何も変化しないため、信頼できる唯一の防御策は、貼り付けた後にアドレスを確認することです。
仕組み
クリップボードは共有の一時記憶領域であり、ほとんどのデスクトップ環境では、実行中のあらゆるプログラムが許可を求めずに読み書きできます。
クリッパーとは、その一時記憶領域を通常は毎秒数回の頻度で監視する、小さなバックグラウンドプロセスです。内容が認識するパターンと一致すると、それを上書きします。パターン照合はごく単純です。暗号資産のアドレスは自ら形式を示すからです。ビットコインのレガシーアドレスは1で始まり、スクリプトアドレスは3、ネイティブSegWitはbc1q、Taprootはbc1p、Ethereumのアドレスは0xに続く40桁の16進数文字です。マルウェアは形式ごとに攻撃者のアドレスを1つ保持するので、置き換えは常にもっともらしく見えます。より作り込まれた版は、利用者がコピーした文字列と先頭の文字を最も多く共有する差し替え先を選び、似たアドレスを通すための手口を流用しています。
感染経路は特殊ではなく、ありふれたものです。クラック版ソフトウェアやゲームのチート、検索広告を通じて配布される偽のウォレットや取引アプリのダウンロード、クリップボードへのアクセス権を持つ悪意あるブラウザ拡張機能、そして人気ライブラリに似た名前でソフトウェアレジストリに公開される汚染されたパッケージです。モバイルでは、かつてアプリがバックグラウンドで気づかれずにクリップボードを読めました。Android12は2021年に、アプリがそれを行うたびに通知を表示するようになり、AppleはiOS14で同様の貼り付けバナーを追加しました。こうした警告があるため、現在のモバイル向けクリッパーは、完全な偽ウォレットアプリの内部で届く傾向があります。
失敗のしかたは完全です。支払いが確認されてからおよそ10分後には、ビットコインのどこにもそれを取り戻す仕組みはなく、攻撃者のアドレスは新しく、何とも関連づけられていません。
どこで見られるか
クリップボードマルウェアが元を取れるのは、利用者がアドレスをコピーするわずかな瞬間だけで、その瞬間は予測できます。
取引所から自分のウォレットへ出金するときが最大の場面であり、同時に最も守りやすい場面でもあります。落ち着いているうちに出金先を取引所の出金ホワイトリストに登録しておけば、差し替えられたアドレスは後で単に拒否されます。Kraken、Coinbase、Binanceはいずれもこの機能に対応しています。
請求書や加盟店への支払いが2番目の場面です。可能な場合はテキストをコピーするのではなくQRコードを読み取ってください。受取人が生成したコードはクリップボードに触れないからです。侵害されたブラウザはウェブページ上のQRコードも描き直せるため、信頼できない機器では両方の経路を同じくらい疑わしいものとして扱ってください。
ハードウェアウォレットから送金するときが、この攻撃の破綻する場面であり、ハードウェアウォレットを持つ理由でもあります。TrezorとLedgerの機器は送金先アドレスを自らの小さな画面に表示し、承認には物理的なボタン操作を要求します。その画面は感染したパソコンではなく機器が制御するため、クリッパーがデスクトップアプリの表示を変えても、確認を求められる内容を変えることはできません。モニターではなく機器を読んでください。
残る隙間は2つの習慣でふさがります。アドレスの先頭と末尾の4文字だけでなく、中央の文字も比較してください。攻撃者は両端に最適化するからです。そして、貼り付けで予期しないアドレスが現れたら、そこで止まり、もう一度貼り付けるのではなくその機器を侵害されたものとして扱ってください。一度失敗したクリッパーは次の試行で平然と再挑戦するからです。