モバイル版Chrome、偽アドレスバーを表示するフィッシング手法
2019年5月3日 22:47
モバイル版Chromeに偽のアドレスバーを表示するという新たなフィッシング手法「inception bar」をソフトウェア開発者のJames Fisher氏が公開している(Fisher氏のブログ記事、Neowinの記事、SlashGearの記事)。 Chromeなどのモバイルブラウザーはページをスクロールダウンしたときにアドレスバーを非表示化し、コンテンツの表示エリアを拡大する仕組みを備えている。inception barはこの仕組みを利用したもので、本物のアドレスバーが非表示化されたタイミングで偽のアドレスバーを表示するdivエレメントとページコンテンツを表示するdivエレメントを追加する。ページコンテンツを表示するdivエレメントは画面サイズに応じたサイズが指定されており、CSSプロパティのoverflowにscrollを指定することでコンテンツのスクロールがブラウザー側で検出されないようにしている。これにより、ページをスクロールアップしても本物のアドレスバーが表示されない仕組みだ。 仕組みとしてはChrome以外のブラウザーでも利用可能だが、微妙な動作の差異により本物のアドレスバーが表示されたままになることや、偽のアドレスバーの表示が崩れたり、コンテンツブロッカーでブロックされたりすることもあるようだ。Chromeの場合でも2本のアドレスバーが表示されるといった報告が出ている。また、偽アドレスバー部分はoverflowプロパティが指定されていないため、スクロールしようとしてこの部分に触れると本物のアドレスバーが表示される。 Fisher氏のブログ記事はそれ自体がPoCとなっており、モバイルブラウザーで表示することで動作を確認できる。PoCの偽アドレスバーは画像のみだが、実際にアドレスバーのような機能を追加することも可能だ。コンテンツ領域に偽のUI要素を表示する手法は以前からあるものだが、Fisher氏はinception barに対するChromeの動作をセキュリティ上の欠陥と考えており、わずかなスペースを犠牲にしてでも本物のアドレスバーが隠されていることを示すような修正を提案している。