Mozilla と Apple がプライバシーに関する懸念を表明したにもかかわらず、Google は、ユーザーの非アクティブ状態を検出する「アイドル検出」 API を備えた、デスクトップおよび Android 向けの Chrome 94 をリリースしました。
Chrome 94 の新機能と変更された機能がここにリストされており、その中には「セキュリティと安定性の負担」であり、「Chrome の重要なアーキテクチャ上の取り組みすべてに負担を課してきた」ものとして説明されている AppCache 機能の削除が含まれています。
また、キーボードの形状をより細かく制御できる新しい VirtualKeyboard API や、キーボードがページ コンテンツを覆ったときに発生するイベント、メディア エンコーダーとデコーダーへのより効率的な低レベル アクセス、開発者がエンド ユーザーから JavaScript パフォーマンス プロファイルを収集できる新しい JavaScript Self Profiling API もあります。
「サンプリング プロファイラーを操作するための API を提供することで、アプリケーションは最小限のオーバーヘッドで集約および分析用の豊富な実行データを収集できます」と W3C コミュニティ グループのドキュメントには記載されています。
JS セルフプロファイリング API は、Microsoft、Elastic、Dropbox から熱烈なサポートを受けており、GitHub に記録されています。
アイドル検出: Chrome 94の新機能だが、Mozillaはこれを有害とみなしている
IdleDetection機能はより議論の的となっています。この機能は、会議、チャット、オンラインゲームなどのマルチユーザーアプリケーション向けに設計されています。マウスやキーボードが使用されていない、画面がロックされている、アプリケーションが実行されている画面からユーザーが離れたなどのシグナルを用いて、ユーザーがアイドル状態にあることをWebアプリケーションに通知します。
これらのイベントは、ブラウザ自体の使用のために予約されているのではなく、ブラウザの外部で発生します。
「コラボレーションを促進するアプリケーションでは、アプリケーション自身のタブでのユーザーのインタラクションのみを考慮する既存のメカニズムによって提供されるものよりも、ユーザーがアイドル状態であるかどうかに関する、より多くのグローバル信号が必要です」とリリースノートには記されている。
この API に対する支持は、Slack や Google Chat などの開発者からも表明されました。
私たちの懸念はフィンガープリンティングだけに限りません。このAPIによって、ウェブサイトがデバイスの近くに人がいるかどうかを監視できるようになるという、プライバシーに関する懸念は明らかです。
Mozillaのウェブ標準リーダーであるTantek Çelik氏は、GitHubで次のように述べています。「アイドル検出APIは、監視資本主義を動機とするウェブサイトにとって、ユーザーの物理的なプライバシーの一部を侵害し、ユーザーの物理的な行動を長期記録し、日々のリズム(例えば昼食時間)を識別し、それを積極的な心理操作(例えば空腹、感情、選択[1][2][3])に利用する、非常に魅力的な機会であると考えています。さらに、このような粗いパターンは、ウェブサイトがプルーフ・オブ・ワーク計算のためにローカルコンピューティングリソースを密かに最大限に活用するために利用される可能性があり、ユーザーの同意なしに、あるいは場合によっては気付かれないまま、電力(ユーザーへのコスト、二酸化炭素排出量の増加)を浪費する可能性があります。」
Chromium チームの提案オーナーの 1 人である Google の Reilly Grant 氏は、WebKit メーリング リストでフィードバックを求めた。WebKit は、Apple が Safari で使用しているブラウザ エンジンである。
Appleの丹羽良介氏は、「私たちの懸念はフィンガープリンティングに限りません。このAPIによってウェブサイトがデバイスの近くにいるかどうかを監視できるようになるという、プライバシーに関する明らかな懸念があります。例えば、ユーザーがいないときにビットコインのマイニングを開始したり、セキュリティ上の脆弱性を悪用したりするために利用される可能性があります」と反論した。
グラント氏は、仮想通貨マイニングの脅威に対抗するため、「サイトがバックグラウンドで実行できる作業を制限するためのセマンティクスを定義する」作業が進行中であり、このAPIは非アクティブなデバイスに通知を表示しないことでユーザーにメリットをもたらすだろうと答えた。「ユーザーは、現在使用しているデバイスでのみ通知を受け取りたいと考えています」とグラント氏は述べた。
しかし、丹羽氏は「ここでも他でも提示されたユースケースはどれも説得力がなく、ここで提示された、そして私が他で見つけたプライバシーやセキュリティの軽減策はどれも適切ではありません」と返答した。
「暫定的な成果物」
それでもGoogleは、Chromeの以前のバージョンで2回のオリジントライアルを経て、ついにこのAPIを実装しました。ウェブ標準を定める団体W3CにおけるAPIのステータスは「暫定的な成果物」であり、合意された勧告となるまでにはまだまだ時間がかかることを意味します。
- Google、ユーザーの選択を無視したAndroid検索ボックスを実験中
- マイクロソフトは、古いPCにWindows 11を手動でインストールすることを阻止しないことをユーザーに知らせたいと考えているが、そうではない。
- Flutterをより簡単に?カスタム関数でビジュアルコードビルダーを改善、しかし開発者はまだ不満を抱えている
Idle Detection API はユーザーの許可を必要とします。許可は Chrome 94 の設定で確認できます。ユーザーは、サイトが「デバイスをアクティブに使用しているかどうかを知る」ための確認を要求することを許可するかどうかを指定できます。ただし、このような設定には、許可が与えられない限り特定のコンテンツをブロックすることで、サイトがユーザーを強制しようとする可能性があることが懸念されます。
Chrome 94のアイドル検出設定
GoogleはChromeのメモリセキュリティ強化も計画しており、一部のコンポーネントをRustで書き換える可能性もある。昨日の投稿によると、「深刻なセキュリティバグの70%以上はメモリ安全性の問題である」とのことだ。
チームは、コンパイル時および実行時のチェックによって C++ (Chrome が記述されている言語) をより安全にするとともに、本質的にメモリがより安全な言語である Rust の使用も同時に検討しています。
別の投稿で、Chromium チームは「Rust と C++ の間で型を渡す安全な方法を想像することが最も難しい部分です」と述べており、これが Rust の提案が「背景調査」のままである理由です。®