Chrome

グーグルは、長年にわたって、ウェブサイトが過去に訪問したリンクからユーザーの閲覧履歴を特定することを可能にしていたプライバシーの問題を修正する。

この問題は、サイトがリンクを「:visited(訪問済み)」として表示することを許可していることに起因している。

システムは、ユーザーがリンクをクリックしたときにどのサイトにいたかに関係なく、この色の変更を表示するため、他のサイトがユーザーの閲覧履歴を漏らす独創的なスクリプトを使用できる可能性がある。

Overview of the problem
問題の概要
出典グーグル

この問題は、ユーザーにとっての理論的なプライバシーの懸念にとどまらず、追跡、プロファイリング、フィッシングを可能にする一連の現実的なセキュリティ上の負債をもたらす。

研究者は過去に、タイミングピクセルユーザーインタラクションプロセスレベルの攻撃など、このプライバシーギャップに関連する複数のクラスの攻撃を実証した。

今度リリースされるグーグル・クロームのバージョン番号136は、「訪問した」リンクのトリプルキー分割を実装することで、20年来の問題に最終的に対処する。

Chromeでは、リンクの訪問をグローバルに保存する代わりに、リンクURL(リンク先)、トップレベルサイト(アドレスバーのドメイン)、フレームオリジン(リンクがレンダリングされるフレームのオリジン)の3つのキーを使用して、訪問したリンクを分割します。

これにより、リンクは、ユーザーが以前にクリックした同じサイトと同じフレームオリジンでのみ訪問済みとして表示されるようになり、クロスサイト履歴の漏れがなくなります。

The implemented solution
実装されたソリューション
Source:グーグル

ユーザビリティを維持するため、グーグルは「自己リンク」例外を追加した。これにより、あるサイトの訪問済みリンクは、ユーザーが別のサイトからクリックした場合でも、そのサイトで訪問済みとして表示される。

ウェブサイトは、ユーザーがどのページを訪問したかをすでに把握しているため、この例外によって不要な履歴が漏れることはない。

グーグルによれば、:visitedセレクタを完全に非推奨にすることは、貴重なUXの手がかりをなくすことになるため、提案の目標から除外された。もうひとつの却下された解決策は、パーミッションベースのモデルを使用することだった。

有効にする方法

新しい:visited isolationはChromeのバージョン132で実験的に導入された機能で、Chrome 136(近日公開予定)ではデフォルトでオンになる予定です。

Chrome 132から135(最新)では、アドレスバーにchrome://flags/#partition-visited-link-database-with-self-linksと入力し、オプションを「enabled」に設定することでこの機能を有効にできる。

Enabling the experimental feature on Chrome
Chromeで実験的な機能を有効にする
ソースは こちら:

この機能はまだ安定していないので、すべての状況で期待通りに動作するとは限りません。

他の主要なブラウザでは、:visited stylesのリスクはまだ部分的に対処されていません。

Firefoxは、:visitedに適用されるスタイルを制限し、JavaScriptがそれらを読み取るのをブロックしますが、高度な攻撃ベクトルから分離するためのパーティショニングはありません。

Safariも制限を適用し、Intelligent Tracking Preventionのような積極的なプライバシー保護を使用することで、リークをいくらか緩和していますが、すべての攻撃をブロックするパーティショニングはありません。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .

攻撃の93%を支えるMITRE ATT&CK©テクニック・トップ10

1,400万件の悪意のあるアクションの分析に基づき、攻撃の93%の背後にあるトップ10のMITRE ATT&CKテクニックとその防御方法をご覧ください。