- DOM-based Extension Clickjacking: Your Password Manager Data at Risk | Marek Tóth
- DOM-based Extension Clickjacking
- ほとんどのパスワード管理アプリから機密情報を盗み出せる ~拡張機能を狙う攻撃手法が明らかに - 窓の杜
- パスワードマネージャへのクリックジャッキング攻撃に対して、いま私たちが出来ること
それぞれの記事の内容は正しいのですが、特に1Passwordについては勘違いしている人が多そうな印象なので書いておきます。
最初にまとめ
1Passwordユーザーへ:以下のうちどっちかをやっといた方が安全だよ。あとは利便性と安全性を秤にかけて自分で選ぼうね
- 拡張機能を有効化するタイミングを「拡張機能をクリックしたとき」にする
- クレカ番号や個人情報を削除しておく
細かい話
1Passwordにはいくつかの種類の情報を入力できます。
- ID/パスワードのようにドメインに紐付く情報
- クレジットカード番号や個人情報のようにドメインに紐付かない情報
- その他Webブラウジングと無関係な情報
問題なのは2番目です。
デモ動画
報告者が動画を用意してくれているので何が起きるか一発で分かります。親切ですね。
DOM-based Extension Clickjacking: Your Password Manager Data at Risk | Marek Tóth
クレジットカード番号
クレジットカード番号の入力フォームを表示した際、1Passwordは自動入力を促してきます。これはドメインに紐付かない情報なので、ありとあらゆるWebサイトで攻撃が可能です。 Webサイトの改変などは必要ありません。
ただし、1Passwordはさらに続けてポップアップを出して本当にクレカ番号を自動入力して良いか聞いてきます。ここで気付ければ無事で済みます。脊髄反射でOKを押すとアウトです。(まあそういうときのためのCVVだという考え方もあります)
個人情報
クレジットカード番号のようなポップアップはありません。クリックジャッキングが成立して自動入力を許可した瞬間に氏名・住所等の1Passwordに保存していた情報が抜き取られます。
ただ、筆者の環境では同一バージョンでもopacity:0.5ではクリックジャッキングが成功したものの、opacity:0ではうまく行きませんでした。環境起因なのかもしれません。
ID/パスワード等
ドメインに紐付く情報については影響は割と限定的です。
- Webサイト側に悪意がない場合
- XSSが成立した場合
- Webサイトが改変された場合
- などなど
- Webサイト側に悪意がある場合
どれもクリックジャッキング以外の攻撃があり得るので、そこまで気にしなくてもいいかなと個人的には思っています。