Google Chromeブラウザにはフォームに入力した情報を保存しておいて、あとで同じようなフォームが出てきた時にその情報を自動的に入力する、オートフィル機能があります。
このオートフィル機能を悪用して情報を窃取する方法について、セキュリティリサーチャーRicardo Martin Rodriguezが2013年に指摘しています。
そして2017年に入ってもそのセキュリティホールが直っていないことをまた別のリサーチャーViljami Kuosmanenが指摘しています。
http://www.forbes.com/sites/leemathews/2017/01/10/this-simple-phishing-attack-tricks-you-into-leaking-browser-autofill-data/
Chromeのオートフィル機能は、簡単な方法で悪用することが可能です。Chromeはオートフィルでフォーム入力を行う際に、ユーザーにどのような情報が入力されているか明示しません。
そのため、たとえばユーザーには氏名と住所を記入するフォームしか見えていなくとも、もしカード情報入力欄が隠れていれば、Chromeはそこにカード情報を入力してしまい、ユーザーはそのことを知ることがありません。
hiddenパラメータやdivタグをhiddenに設定した場合、そこにオートフィルをすることはありませんが、たとえばdiv style ="overflow:hidden;height:25px;"のようにして、問題でdivタグから溢れてしまった部分を非表示に設定して、ブラウザを騙すことはできます。
これにより、過去にカード番号やセキュリティコードを入力したことがあってオートフィルを使っていれば、これを窃取することが可能です。
FirefoxやSafariにもオートフィル機能はありますが、ユーザーに何の情報が入力されるかフィードバックする仕組みになっています。
下記のURLからデモ用ページにアクセスして実際にこの手法の効果のほどを体験することができます。
https://github.com/anttiviljami/browser-autofill-phishing
少々話はずれてしまいますが、たとえばカード業界のセキュリティ基準PCI-DSSでは、いわゆるオートコンプリート機能を明示的に使わないように指示しています。
入力をオートで補助する機能は便利ですが、メールであれば誤送信のもとになるなど、セキュリティと利便性は基本的に相反するものということが改めて納得できる話でした。
- トピックス:
- セキュリティ