広告ブロックの進化のための手続き型コスメティックフィルター
バージョン1.73より、Braveはページ要素の手続き型コスメティックフィルターのサポートを追加することで、広告ブロック機能を大幅に改善します。
この記事を読む →Braveプライバシーチーム寄稿
この記事は、Braveブラウザのプライバシー機能について紹介する継続的かつ定期的なシリーズの第23弾の記事です。この投稿では、(アルファベット順で)フィルターリストエンジニア Ryan Brown、リサーチ&プライバシーエンジニア Arthur Edelstein、シニアリサーチエンジニア Anton Lazarevによる対応を紹介します。この投稿は、プライバシーエンジニアリングVPのPeter Snyderによる投稿の日本語訳です。
Braveは、近日公開予定の(Androidおよびデスクトップの)バージョン1.49から、iOSではバージョン1.44からすでに提供している、多くのWebサイトに表示される「アプリで開く」を非表示にする機能を搭載します。このリンクは、Webを閲覧しようとしているときに、関係のない質問を表示する迷惑なものです。さらに困ったことに、これらの表示は多くのケースでプライバシーを害することがあります。様々なアプリの「ネイティブ」バージョンは、BraveがWebサイトに適用しているようなプライバシー保護を行っていないことをサイト側は知っており、(しばしば)データを浪費するネイティブアプリにユーザーを誘導しているのです。
Braveに在籍しているエンジニアがメンテナンスをしている「Fanboy’s Mobile Notifications List」を有効にすることで、「アプリで開く」という煩わしい表示を非表示にすることができます。この機能を無効にしたい場合は、設定から「Fanboy’s Mobile Notifications List」をカスタムおよび地域フィルターリストのリストから無効にしてください。
バージョン1.49から、Braveのデスクトップ版とAndroid版には、プールパーティ・アタックに対する保護が強化されます。プールパーティ・アタックは、一部のブラウザ機能が意図しない結果をもたらすことを利用して、サイト間で(そして一部のブラウザではプロファイル間で)あなたの閲覧行動をリンクするために高度なトラッカーが使用する攻撃です。以前の記事で述べたように、ほとんどのブラウザはこの攻撃に対して脆弱ですが、一部のブラウザは他のブラウザよりもさらに脆弱です。
Braveは、当時最も深刻な攻撃形態と考えられていたものに対してのプロテクションをバージョン1.35より備えています。しかし、Braveの研究者は、プールパーティ・アタックがより多くの方法で行われ、より速く行われる方法(サイト境界を越えてより速く通信するために最適化される方法)を特定しました。そして、Braveはこれらの攻撃形態から保護するための修正プログラムをリリースしました1。また、他のブラウザベンダーとも、プールパーティ・アタックに対する可能な解決策について引き続き協議しています。
プールパーティ・アタックの詳細については、USENIX Security 2023で発表される研究論文をご覧ください。
Braveは、(Androidおよびデスクトップの)バージョン1.49から、iOSでは1.45からすでに提供している、広告やその他のページの煩わしさをブロックする際に、どのページエレメントを非表示にするかを指定する高度な方法である、プロシージャル・コスメティック・フィルタを部分的にサポートします。ほとんどのコスメティック・フィルターはCSSセレクターで特定します。フィルターリストの管理者は、Webサイトデザイナーがページ上のエレメントのスタイル指定に使用するのと同じシステムを使用して、非表示にする不要なページ要素を指定することができます。多くの場合、このシンプルな機能だけで十分です。
しかし、時々ではありますがWebサイトはコンテンツブロックツールを回避することがあります。このような場合、コンテンツフィルタリングツールは、どのページ要素を非表示にするかを指定する、より高度な方法を必要とします。プロシージャル・コスメティック・フィルタはこの問題に対する解決策であり、ユーザーがブラウザやWebツールによる制御を続けるために重要なツールです。
プロシージャルフィルタには様々なものがありますが、Braveは最も一般的な2つのフィルターに対応しています2。近日中に、より多くのプロシージャルなフィルタールールに対応する予定です。
デスクトップ版バージョン1.48、およびAndroid版バージョン1.50から、Braveはブラウザフィンガープリントの保護を強化し、画面のサイズやブラウザウィンドウの位置に基づいてサイトがユーザーを識別することを阻止します。トラッカーは、ブラウザフィンガープリントを通じて、半識別子(他のユーザーとあなたを区別するもの)を組み合わせて一意の識別子を構築し、ユーザーを特定しようとします。どのブラウザユーザーも、その国で唯一のブラウザユーザーである訳ではありませんが、特定のバージョンのブラウザを使用し、特定の言語を話し、特定のグラフィックハードウェアを使用しているなどの条件を組み合わせると、唯一のブラウザユーザーとなる可能性があります。
画面の大きさも、トラッカーが利用する半識別情報のひとつです。画面の幅と高さは、それだけではあなたを特定するのに十分ではありません。しかし、それらが他の多くのブラウザユーザーと十分に異なれば、トラッカーはWebブラウジングを通じてあなたが誰であるかを絞り込むことができます。さらに、画面上のブラウザウィンドウの位置もユニークで、ブラウザを特徴づけるもう一つの要素です。
これに対抗するため、Braveはトラッカーがあなたのデバイスの画面サイズと画面上のブラウザウィンドウの位置を学習することを防ぎます。まず、BraveはWebスクリプトに、あなたの画面の幅と高さについてブラウザウィンドウとだいたい同じサイズであると報告します。これにより、トラッカーがユーザーの本当の画面サイズを知ることを防ぎます。第二に、Braveのユニークなその他のランダム化ベースの保護と同様に、Braveはブラウザセッションごとに、各サイトにわずかに異なる値を報告します。これにより、トラッカーが異なるサイトや同じサイトへの異なるアクセスでお客様を再特定することを防止します。
具体的には、ChromiumのServer Sent Eventsリソースプールをパーティションで分割します。 ↩︎
具体的には、ネットワークレベルのブロックとコスメティックフィルタリングを適用するためのBraveのライブラリであるadblock-rustが、:hasと:-abp-hasのプロシージャル・コスメティック・フィルタルールに対応しています。 ↩︎
バージョン1.73より、Braveはページ要素の手続き型コスメティックフィルターのサポートを追加することで、広告ブロック機能を大幅に改善します。
この記事を読む →iOSバージョン1.71より、Braveはユーザーの訪問を特定するブラウザデータを素早く削除する Shred(シュレッド) という新機能を搭載します。
この記事を読む →バージョン1.68から、BraveはiOSとして最初の、すべてのサイトをデフォルトでHTTPSにアップグレードするWebブラウザになります。
この記事を読む →