Open Source Foundation は、JavaScript API を制限するために JShelter ブラウザ アドオンを導入しました

Free Software Foundation は JShelter プロジェクトを導入しました。このプロジェクトは、Web サイトで JavaScript を使用するときに発生する、識別情報の隠蔽、移動の追跡、ユーザー データの蓄積などの脅威から保護するためのブラウザ アドオンを開発しています。 プロジェクト コードは GPLv3 ライセンスに基づいて配布されます。 このアドオンは、Firefox、Google Chrome、Opera、Brave、Microsoft Edge、および Chromium エンジンをベースとするその他のブラウザー用に用意されています。

このプロジェクトは、NLnet Foundation からの資金提供による共同イニシアチブとして開発されています。 NoScript アドオンの作成者、J++ プロジェクトの創設者、JS-Shield および JavaScript Restrictor アドオンの作成者である Giorgio Maone も、JShelter の開発に参加しました。 JavaScript Restrictor アドオンは、新しいプロジェクトの基礎として使用されます。

JShelter は、Web サイトや Web アプリケーションで使用できる JavaScript プログラミング インターフェイス用のファイアウォールの一種と考えることができます。 このアドオンは、XNUMX つのレベルの保護に加えて、API にアクセスするための柔軟な構成モードを提供します。 レベル XNUMX ではすべての API へのアクセスが完全に許可され、最初のレベルではページの操作を中断しない最小限のブロックが含まれ、XNUMX 番目のレベルではブロックと互換性のバランスがとられ、XNUMX 番目のレベルでは不要なものすべての厳密なブロックが含まれます。

API ブロック設定は個々のサイトに関連付けることができます。たとえば、一部のサイトでは保護を強化し、他のサイトでは保護を無効にすることができます。 また、特定の JavaScript メソッド、オブジェクト、プロパティ、関数を選択的にブロックしたり、戻り値を変更したりすることもできます (たとえば、システムに関する誤った情報を生成する)。 別の機能は NBS (ネットワーク境界シールド) モードで、ページが外部ネットワークとローカル ネットワーク間のプロキシとしてブラウザを使用することを許可しません (すべての発信リクエストは傍受され、分析されます)。

ブロックまたは制限された API:

  • window.Date、window.performance.now()、window.PerformanceEntry、Event.prototype.timeStamp、Gamepad.prototype.timestamp、および VRFrameData.prototype.timestamp - 正確な時間出力を使用して、サイドチャネル攻撃を識別して実行できます。 。
  • HTMLCanvasElement (canvas.toDataURL()、canvas.toBlob()、CanvasRenderingContext2D.getImageData、OffscreenCanvas.convertToBlob()) - ユーザーを識別するときにグラフィック サブシステムの機能を決定するために使用されます。
  • Audiobuffer および Analysernode (Audiobuffer.getChanneldata ()、Audiobuffer.copyfromchannel ()、analysernode.getBytimedomaindata ()、analySernode.getfloatTimedoma Indata ()、analysernode.getbytefrequencydata ()、およびanalysernode.getfloatfrequency ()) - 音声信号分析による識別。
  • WebGLRenderingContext - グラフィックス スタックと GPU の機能の分析による識別。
  • MediaDevices.prototype.enumerateDevices - カメラとマイクのパラメータと名前を取得することによる識別。
  • navigator.deviceMemory、navigator.hardwareConcurrency - ハードウェアに関する情報を取得します。
  • XMLHttpRequest (XHR) - ページが読み込まれた後、収集されたシステム情報を外部サーバーに転送します。
  • ArrayBuffer - マイクロアーキテクチャの Spectre 攻撃を実行します。
  • WebWorker (window.Worker)、SharedArrayBuffer (window.SharedArrayBuffer) - データにアクセスする際の遅延を評価する攻撃を実行します。
  • Geolocation API (navigator.geolocation) - 位置情報へのアクセス (追加により、返されたデータを歪めることができます)。
  • ゲームパッド API (navigator.getGamepads()) は、システム内のゲームパッドの存在を考慮した識別記号の XNUMX つです。
  • 仮想現実 API、複合現実 API - 識別のための仮想現実デバイス パラメータの使用。
  • window.name - サイト間のリーク。
  • navigator.sendBeacon - Web 分析に使用されます。

出所: オープンネット.ru

コメントを追加します