De Open Source Foundation introduceerde de JShelter-browseradd-on om de JavaScript-API te beperken

De Free Software Foundation introduceerde het JShelter-project, dat een browser-add-on ontwikkelt om te beschermen tegen bedreigingen die ontstaan ​​bij het gebruik van JavaScript op websites, waaronder verborgen identificatie, het volgen van bewegingen en de accumulatie van gebruikersgegevens. De projectcode wordt gedistribueerd onder de GPLv3-licentie. De add-on is voorbereid voor Firefox, Google Chrome, Opera, Brave, Microsoft Edge en andere browsers op basis van de Chromium-engine.

Het project wordt ontwikkeld als gezamenlijk initiatief, gefinancierd door Stichting NLnet. Giorgio Maone, maker van de NoScript-add-on, evenals de oprichters van het J++-project en de auteurs van de JS-Shield- en JavaScript Restrictor-add-ons, hebben zich ook aangesloten bij de ontwikkeling van JShelter. De JavaScript Restrictor add-on wordt gebruikt als basis voor het nieuwe project.

JShelter kan worden gezien als een soort firewall voor JavaScript-programmeerinterfaces die beschikbaar zijn voor websites en webapplicaties. De add-on biedt vier beschermingsniveaus, evenals een flexibele configuratiemodus voor toegang tot de API. Niveau nul biedt volledige toegang tot alle API's, het eerste omvat minimale blokkering die de werking van pagina's niet verstoort, het tweede niveau balanceert tussen blokkering en compatibiliteit, en het vierde niveau omvat strikte blokkering van alles wat niet nodig is.

API-blokkeringsinstellingen kunnen aan individuele sites worden gekoppeld. De bescherming kan bijvoorbeeld voor sommige sites worden versterkt en voor andere worden uitgeschakeld. U kunt ook selectief bepaalde JavaScript-methoden, objecten, eigenschappen en functies blokkeren, of retourwaarden wijzigen (bijvoorbeeld valse informatie over het systeem produceren). Een aparte functie is de NBS-modus (Network boundshield), waarmee pagina's de browser niet kunnen gebruiken als proxy tussen externe en lokale netwerken (alle uitgaande verzoeken worden onderschept en geanalyseerd).

Geblokkeerde of beperkte API's:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp en VRFrameData.prototype.timestamp - de exacte tijduitvoer kan worden gebruikt om zijkanaalaanvallen te identificeren en uit te voeren .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - gebruikt om de kenmerken van het grafische subsysteem te bepalen bij het identificeren van een gebruiker.
  • Audiobuffer en Analysernode (Audiobuffer.getChanneldata (), Audiobuffer.copyfromchannel (), analysernode.getBytimedomaindata (), analySernode.getfloatTimedoma Indata (), analysernode.getbytefrequencydata () en analysernode.getfloatfrequency ()) - identificatie door middel van geluidssignaalanalyse.
  • WebGLRenderingContext - identificatie door analyse van kenmerken van de grafische stapel en GPU.
  • MediaDevices.prototype.enumerateDevices - identificatie door parameters en namen van de camera en microfoon te verkrijgen.
  • navigator.deviceMemory, navigator.hardwareConcurrency - informatie over hardware verkrijgen.
  • XMLHttpRequest (XHR) - verzendt verzamelde systeeminformatie naar een externe server nadat de pagina is geladen.
  • ArrayBuffer - voert microarchitecturale Spectre-aanvallen uit.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - voert aanvallen uit die vertragingen evalueren bij de toegang tot gegevens.
  • Geolocatie-API (navigator.geolocation) - toegang tot locatie-informatie (door de toevoeging kunt u de geretourneerde gegevens vervormen).
  • Gamepad API (navigator.getGamepads()) is een van de identificatietekens die rekening houdt met de aanwezigheid van een gamepad in het systeem.
  • Virtual Reality API, Mixed Reality API - gebruik van virtual reality-apparaatparameters voor identificatie.
  • window.name - cross-site lekken.
  • navigator.sendBeacon - gebruikt voor webanalyse.

Bron: opennet.ru

Voeg een reactie