
CSSの機能を使用してクロスオリジンのiframeから表示内容を読み取るサイドチャネル攻撃 11
ストーリー by headless
攻撃 部門より
攻撃 部門より
CSSの「mix-blend-mode」プロパティを使い、クロスオリジンのiframeに表示されている内容を読み取ることが可能なサイドチャネル攻撃について、発見者の一人が解説している(Evonideの記事、
Ars Technicaの記事、
SlashGearの記事)。
Webページがクロスオリジンのiframe内のDOM要素にアクセスすることはデフォルトで禁じられているが、iframeに別の要素をオーバーレイし、mix-blend-modeプロパティを使用すると色のブレンドが可能となる。「multiply」のように単純なブレンドモードでは処理時間に違いはみられないが、カラーチャネルを分離せずに処理する「saturation」のようなブレンドモードでは下のレイヤーの色によって処理時間が変動するのだという。
これを利用してピクセル単位でレンダリングを実行させ、処理時間を測定すれば、iframe上のターゲットピクセルの色を識別できる。PoCではFacebookのソーシャルプラグインを埋め込んだ攻撃用ページから、Facebookユーザーの名前やプロフィール写真を読み取っている。ただし、1回のレンダリングでは処理時間の違いを測定できないため、多数のsaturationレイヤーを重ねている。また、別のブレンドモードを指定したレイヤーをiframeとsaturationレイヤーの間に入れることで、特定のカラーチャネルを抽出するなどの処理を事前に行っている。
この脆弱性はGoogle ChromeとMozilla Firefoxで確認され、昨年12月リリースのChrome 63と今年5月リリースのFirefox 60でぞれぞれ修正されている。脆弱性は昨年3月に別の発見者がChromiumメーリングリストで報告していたが、Mozillaには手違いで11月まで報告されていなかったため、修正が遅れたとのこと。なお、Safariは発見時点で既に対策済みだったようで、Microsoft Edge/Internet Explorerではmix-blend-mode自体が実装されていない。
Webページがクロスオリジンのiframe内のDOM要素にアクセスすることはデフォルトで禁じられているが、iframeに別の要素をオーバーレイし、mix-blend-modeプロパティを使用すると色のブレンドが可能となる。「multiply」のように単純なブレンドモードでは処理時間に違いはみられないが、カラーチャネルを分離せずに処理する「saturation」のようなブレンドモードでは下のレイヤーの色によって処理時間が変動するのだという。
これを利用してピクセル単位でレンダリングを実行させ、処理時間を測定すれば、iframe上のターゲットピクセルの色を識別できる。PoCではFacebookのソーシャルプラグインを埋め込んだ攻撃用ページから、Facebookユーザーの名前やプロフィール写真を読み取っている。ただし、1回のレンダリングでは処理時間の違いを測定できないため、多数のsaturationレイヤーを重ねている。また、別のブレンドモードを指定したレイヤーをiframeとsaturationレイヤーの間に入れることで、特定のカラーチャネルを抽出するなどの処理を事前に行っている。
この脆弱性はGoogle ChromeとMozilla Firefoxで確認され、昨年12月リリースのChrome 63と今年5月リリースのFirefox 60でぞれぞれ修正されている。脆弱性は昨年3月に別の発見者がChromiumメーリングリストで報告していたが、Mozillaには手違いで11月まで報告されていなかったため、修正が遅れたとのこと。なお、Safariは発見時点で既に対策済みだったようで、Microsoft Edge/Internet Explorerではmix-blend-mode自体が実装されていない。
Spectre/Meltdown (スコア:4, 興味深い)
通常こういうのって対策すると速度が犠牲になって、セキュリティとパフォーマンスの二律背反みたいになりがちなんだけど、これの対策はmixed-blend-modeの処理時間が定数になるようベクトル化することで行われたので、速度もかえって上がっているというのが面白い
日本語訳した (スコア:1)
https://qiita.com/rana_kualu/items/a458cfbdf01be6a3a60d [qiita.com]
てっきり処理時間が線形に変わるのかと思ってたのだけど、
単に色値が10以上か以下かで処理を分けているせいだった。
またlynx/w3m最強伝説か (スコア:0)
IE/Edgeは実装していないから安全だったのね。
人柱の皆様のおかげです的な話であって、ニュースにするほどでもないかもね。
Re:またlynx/w3m最強伝説か (スコア:1)
Safariも対策済みというか、mixed-blend-modeでsaturationを実装していない
Re: (スコア:0)
まだという表現が引っかかる
IEは実装する気がない気がする
Re: (スコア:0)
たぶん内容を理解もせずGoogleは正しい!!!!と言ってるだけ。
Re: (スコア:0)
???
思考停止いくない (スコア:0)
w3mに再び脆弱性発覚、0.3.2.2リリース [srad.jp]
w3mにローカルファイル読み出しの脆弱性 [srad.jp]
どっちかというと「macOSは(誰もウイルスを作らないので)安全です」だろ
Re: (スコア:0)
macOSの話はどっからきた?
Re: (スコア:0)
Safari=macOSと思ってるとかじゃない?
Re:思考停止いくない (スコア:2)
「Macは、ウイルスは、大丈夫」を揶揄した例え話でしょう。
#10年以上前だし、知らない人も少なくないのかも