
拓海先生、最近部下から「ブラウザの挙動でうちの顧客情報が漏れる」と聞かされまして、正直ピンと来ないのですが、どのくらい深刻なんでしょうか。

素晴らしい着眼点ですね!大丈夫、簡単に整理しますよ。結論を先に言うと、ブラウザの「キャッシュの使われ方」だけで、訪問サイトを高い精度で特定できる場合があるんです。要点は三つ、観察対象はネットではなく端末内部、機械学習で識別する、そして防御が難しい点です。

端末内部を観察するって、うちのサーバーに侵入されるんですか。それとも顧客のPCに何か仕掛けられるということですか。

いい質問です。今回の着眼点は、被害者が攻撃者のサイト(あるいは広告)を訪問した際に仕込まれたごく短いJavaScriptが、被害者のブラウザ内部のキャッシュの振る舞いを測ることで間接的に他タブの閲覧先を推定する、という点です。要点は三つ、攻撃はネット経路ではなく端末側で起きる、JavaScriptのみで実行可能、最新のブラウザの制限にも耐えるという点です。

それは怖いですね。で、具体的に何を見ているんですか。ネットの通信量とは別物ですか。

素晴らしい着眼点ですね!要点を三つで整理します。まず「キャッシュ占有チャネル(cache occupancy channel)」は、ページ表示時にCPUキャッシュがどれだけ使われたかという痕跡を示します。次に、この痕跡はページの読み込みパターンに依存するためサイト固有の“指紋”になります。最後に、これを機械学習で学習させると高精度にサイトを特定できるんです。

これって要するに、ブラウザのキャッシュの利用パターンから「どのページが開かれたか」を当てられるということ?それならうちのサイトがバレるだけでなく、顧客の購買履歴や閲覧履歴も推定される恐れがありますね。

その理解で合っていますよ。要点を三つだけ補足します。今回の研究ではネット上のトラフィック解析(network-based fingerprinting)に匹敵する精度で、しかもブラウザがキャッシュを保持している状況でも高い精度を保てる点を示しています。最後に、多くの従来対策はネットワーク側を捉えるものだったため、端末内部を見るこの手法は回避が難しい可能性があります。

対策はあるんでしょうか。投資対効果を考えると、すぐに大がかりな対策をする余裕はありません。現場の負担を最小にした防御策はありますか。

素晴らしい問いです。要点は三つで整理できます。まずブラウザ側でJavaScriptの実行を制限するのが効果的ですが、社内のユーザビリティに影響します。次に広告や外部スクリプトを管理して信頼できないコードを排除する運用ルールの整備が現実的です。最後にログ監視や異常検出で不審なスクリプト呼び出しを検出する仕組みを段階的に導入するのが無難です。

なるほど。要点を整理すると、端末内部のキャッシュ利用パターンが漏えいの原因になり得て、完全に防ぐにはブラウザや運用の見直しが必要ということで理解しました。自分の言葉で言うと、要は「ブラウザの内部挙動の痕跡を拾われると、どのサイトを見たか特定されるリスクがある」ということですね。


