広告ブロックの進化のための手続き型コスメティックフィルター
バージョン1.73より、Braveはページ要素の手続き型コスメティックフィルターのサポートを追加することで、広告ブロック機能を大幅に改善します。
この記事を読む →Braveプライバシーチーム寄稿
この記事は、Braveブラウザの新しいプライバシー機能を説明する継続的なシリーズの25回目の投稿です。今回は、スタッフエンジニアのAleksey Khoroshilovが行った作業について紹介します。この投稿は、プライバシーエンジニアリングVPのPeter Snyderによる投稿の日本語訳です。
ついに多くのWebブラウザが(Braveほど積極的なブラウザはありませんが)サードパーティ・トラッカーを制限することを検討するようになりました。サードパーティー・トラッカーはこの動きを注意しています。そしてサードパーティ・トラッカーは、ユーザー・トラッキングを続けるために、ファーストパーティのストレージを使用するようになりつつあります。Forgetful Browsingは、Braveユーザーを継続的に保護し、ファーストパーティーの再識別に対応するためにBraveが今後リリースを計画している一連のツールの最初のものです。
デスクトップ版1.53、Android版1.541より、Braveブラウザはサイトを閉じたときにクッキーやその他のストレージを常にクリアできる新機能「Forgetful Browsing」を搭載する予定です。Forgetful Browsingは、以下のような機能を提供します。
Forgetful Browsingは、一般的なブラウザ拡張機能やプライベートモードに似ていますが、それよりも強力で安全です。これは、Braveが一般的なブラウザの中で最も強力なプライバシー機能を提供する新たな例になります。
Web上の多くのプライバシー問題には、共通の根本原因があります。ブラウザはデフォルトで、サイトがユーザーを無期限に再特定できるようにしていますが、ユーザーが再特定の恩恵を受けられるのは、ごく一部のサイトだけなのです。
場合によっては、サイトがあなたを記憶することは非常に有益です(例えば、毎日Eメールにログインし直す必要がないように、あるいはソーシャルメディアのアカウントを簡単に使えるように)。しかし、そのようなサイトはごく一部だけです。これはルールではありません。多くの場合、記事を読んだニュースサイトや、ちょっと立ち寄ったショッピングサイト、かわいい猫の写真を見せた画像ホスティングサイトなどに記憶されることには、ほとんど意味がないでしょう。
このようなケースにおいてWebブラウザは、ユーザーは訪問するすべてのサイトにおいて再特定されることを望んでいると考えており、これがデフォルトとなっています。そしてこのことは、迷惑行為(閲覧制限やペイウォールなど)やプライバシー侵害(信頼できないサイトによって特定されるなど)の原因となります。この問題は、「望まないファーストパーティによる個人識別(unwanted first-party reidentification)」と呼ばれています。
Forgetful Browsing機能は、ブラウザがファーストパーティストレージを管理する方法を改善するためのBraveの進行中プロジェクトの新たなステップであり、個人識別の問題を正面から解決するものになります。
ブラウザにおいて、サードパーティのトラッキングからユーザーを保護する機能は向上していますが、望まないファーストパーティによる個人識別から保護する機能はあまり浸透していません。Braveはすでに、サードパーティのトラッキングに対してクラス最高の保護機能を提供しています。Forgetful Browsingは、ファーストパーティのトラッキングに対して同様に強固な保護を提供する、Braveの様々な新機能のひとつです。
ブラウザは、ユーザーが望まないファーストパーティによる個人識別を防ぐためのツールを提供していますが、これらのツールは不器用で不便で、スコープが広すぎたり狭すぎたりして、望まない–そして取り返しがつかない–個人識別を招くものばかりです。
このような例を考えてみましょう。Khenは2つの電子メールアカウント、dolphinfan4ever@example.com
と serious.guy@example.com
を持っており、どちらもKhenがWebブラウザからアクセスするものです。Khenは、両方のアカウントが同一人物によって所有されていることをメールプロバイダーに知られたくありません。残念ながら、Webブラウザはこのような場合のプライバシー保護を非常に難しくしています。
これは、ブラウザがファーストパーティストレージを管理する方法に起因しています。ブラウザはサイトが他のサイトのクッキーを読むのを防ぎますが(例えば、yahoo.comはoutlook.comのログインクッキーを読めません)、ブラウザは通常、同じサイトが複数のアクセスにおいてクッキーを読む方法を制限しません(もしあなたが昨日chicagotribune.comを訪問したなら、サイトはあなたが次に訪問するとき同じクッキーを再読み取りできます)。ログアウトするようサイトに指示した場合でも、ファーストパーティーのストレージの種類によっては簡単にクッキーをクリアすることができません 2。このため、良識あるサイトであっても、訪問先でユーザーを再特定する能力を持つことになります。さらに問題なのは、ブラウザは(さきほどのKhenの状況のように)意図的にログインアカウントを変えた場合においてもユーザーを再特定しようとするサイトに対する保護をほとんど提供しないことです。
ブラウザには、サイト訪問時に識別値が残っていないことを確認するために使用できるツールがあります。残念ながらこれらのツールは使いにくく、またユーザーの正確さを必要とします。多くの場合、たった一つのミスでトラッカーが異なるアカウントに永久的かつ不可逆的にリンクすることができます。
プライベートブラウジングモード: きれいなストレージ領域でサイトを閲覧できますが、望まないファーストパーティによる個人識別を防ぐには、完璧な操作が必要です。もしKhen(前の例)が一度でもプライベートウィンドウを使うのを忘れて、間違って通常のウィンドウで2つ目のメールアカウントにログインしてしまったら、メールプロバイダーは2つのメールアカウントを、無期限かつ不可逆的にリンクすることができます。
ブラウザ拡張機能: ユーザーがサイトを閉じるたびにファーストパーティストレージをクリアできますが、キャッシュされた値やネストされたドキュメントの値をクリアする機能は、拡張機能では制限されています。
すべてのストレージをクリアする: ほとんどのブラウザにはこのような機能があり、ブラウザを閉じるとすべてのサイトのファーストパーティストレージをクリアできます。しかしこの機能は、ほとんどのユーザーにとって、非常に不便なものです。また、ブラウザを長時間開いたままにしがちな人にはあまり役に立ちません。この機能は例えるなら、手術で使用するメスが必要な状況における金槌のようなものです。
サイト毎の細かな制御: 一部のブラウザにはこのような機能があり、上級ユーザーはこれを使用してサイトのファーストパーティストレージを手動でクリアしたり、その他の方法で管理したりすることができます。この機能は便利ですが、(ブラウザによっては)発見が難しかったり、特定されないように完璧に使用する必要があったり、上級者以外のユーザーには不向きな場合があります。
これに対しForgetful Browsingは、望まないファーストパーティによる個人識別を簡単に防ぐことができ、便利で、正しく動作させるために常に警戒する必要がない方法です。 Brave Shieldsを使用すると、ユーザーはサイトが閉じられたときに「忘れ去られること」を設定することができます。このオプションを設定すると、サイトを開いているタブを閉じて数秒後に、Braveがそのサイトのファーストパーティストレージをクリアします。Forgetful Browsingは、明示的に保存された値(Cookie、localStorage、indexedDBなど)と間接的に保存された値(HTTPキャッシュやDNSキャッシュなど)の両方をクリアにします。
Forgetful Browsingは以下のいずれかの方法で有効にすることができます。
特定のサイトについて、以下の操作により、画面を閉じた際にそのサイトから忘れ去られるように設定することができます。
以下の操作により全てのサイトに対してForgetful Browsingを有効にすることができます。
brave://settings/shields
と入力し、Shields設定画面を表示しますなお、ユーザーはこれをグローバルなデフォルトとして設定し、上記の手順(“特定のサイトでForgetful Browsingを設定する” セクション)で例外を作成することができます(特定のサイトでのみForgetful Browsingを無効にする)。このようにすると、メールサイトやよくログインするソーシャルメディアサイトなどを除き、サイトを閉じるたびにストレージをクリアするように設定することができます。
Forgetful Browsingは、Brave Shieldsの他の設定と異なるスコープとなります。Brave Shieldsのほとんどの設定はドメインごとの設定なのですが、Forgetful Browsingは、サイトごとに設定されます。例えばfirst.site.exampleで全てのフィンガープリント保護を適用し、second.site.exampleでは標準的なフィンガープリント保護を使用するように設定することができますが、site.exampleのすべてのサブドメインは同じForgetful Browsing設定を共有することになります。Brave(および他のほとんどのブラウザ)がストレージの境界を強制する方法にForgetful Browsing設定をあわせるために、このようになっています。
Forgetful Browsingは、BraveがWeb上の望まないファーストパーティによる個人識別から保護するいくつかの方法の1つです。Braveのアンリンカブル・バウンス機能は、ブラウザが既知のトラッキングドメインを経由してバウンスされるたびに、ファーストパーティ・ストレージを自動的にクリアします。また、BraveのCNAMEアンクローク機能は、トラッカーがファーストパーティ・リソースのように見せかけようとしてもブロックします。そのほかBraveは、JavaScriptで設定されたクッキーの有効期間を7日間に制限し、一部の形式のファーストパーティ・トラッキングを防止します。
Forgetful Browsingは、Web上のファーストパーティストレージに関するプライバシーをさらに管理・改善するための、今後予定しているいくつかの機能の最初のものです。これらの機能を組み合わせることで、ファーストパーティストレージが悪用されてユーザーに損害を与えかねないさまざまな方法に対処することができます。今後数週間から数ヶ月の間に、更なる機能について詳細をお伝えさせていただきます。
Braveは、1.53および1.54のリリースプロセスにおいて、ユーザーに対して段階的にForgetful Browsingを有効にします。今すぐこの機能をテストしたいユーザーは、brave://flags
にアクセスし、“Enable First Party Storage Cleanup support” フラグを有効にしてください。Forgetful Browsingはまだ実験的な機能であり、このような機能を有効にすることにはリスクが生じますので、あらかじめご了承ください。 ↩︎
HTTPキャッシュ値、(Brave以外のブラウザの)サードパーティ製iframe埋め込み用ストレージなど。 ↩︎
バージョン1.73より、Braveはページ要素の手続き型コスメティックフィルターのサポートを追加することで、広告ブロック機能を大幅に改善します。
この記事を読む →iOSバージョン1.71より、Braveはユーザーの訪問を特定するブラウザデータを素早く削除する Shred(シュレッド) という新機能を搭載します。
この記事を読む →バージョン1.68から、BraveはiOSとして最初の、すべてのサイトをデフォルトでHTTPSにアップグレードするWebブラウザになります。
この記事を読む →