Open Source Foundation a introdus suplimentul de browser JShelter pentru a limita API-ul JavaScript

Free Software Foundation a introdus proiectul JShelter, care dezvoltă un supliment de browser pentru a proteja împotriva amenințărilor care apar atunci când se utilizează JavaScript pe site-uri web, inclusiv identificarea ascunsă, urmărirea mișcărilor și acumularea de date ale utilizatorilor. Codul proiectului este distribuit sub licența GPLv3. Suplimentul este pregătit pentru Firefox, Google Chrome, Opera, Brave, Microsoft Edge și alte browsere bazate pe motorul Chromium.

Proiectul este dezvoltat ca o inițiativă comună finanțată de Fundația NLnet. Giorgio Maone, creatorul suplimentului NoScript, precum și fondatorii proiectului J++ și autorii suplimentelor JS-Shield și JavaScript Restrictor, s-au alăturat, de asemenea, dezvoltării JShelter. Suplimentul JavaScript Restrictor este folosit ca bază pentru noul proiect.

JShelter poate fi considerat ca un fel de firewall pentru interfețele de programare JavaScript disponibile site-urilor web și aplicațiilor web. Suplimentul oferă patru niveluri de protecție, precum și un mod de configurare flexibil pentru accesul la API. Nivelul zero permite complet accesul la toate API-urile, primul include blocarea minimă care nu perturbă funcționarea paginilor, al doilea nivel echilibrează între blocare și compatibilitate, iar al patrulea nivel include blocarea strictă a tot ceea ce nu este necesar.

Setările de blocare API pot fi legate de site-uri individuale, de exemplu, protecția poate fi consolidată pentru unele site-uri și dezactivată pentru altele. De asemenea, puteți să blocați selectiv anumite metode, obiecte, proprietăți și funcții JavaScript sau să modificați valorile returnate (de exemplu, să produceți informații false despre sistem). O caracteristică separată este modul NBS (Network boundary shield), care nu permite paginilor să utilizeze browserul ca proxy între rețelele externe și cele locale (toate cererile de ieșire sunt interceptate și analizate).

API-uri blocate sau restricționate:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp și VRFrameData.prototype.timestamp - ieșirea exactă a timpului poate fi utilizată pentru a identifica și a efectua atacuri pe canale laterale .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - folosit pentru a determina caracteristicile subsistemului grafic la identificarea unui utilizator.
  • Audiobuffer și Analysernode (Audiobuffer.getChanneldata (), Audiobuffer.copyfromchannel (), analysernode.getBytimedomaindata (), analySernode.getfloatTimedoma Indata (), analysernode.getbytefrequencydata () și analysernode.getBytimedomaindata () - analiza semnalului de identificare prin sunet ().
  • WebGLRenderingContext - identificarea prin analiza caracteristicilor stivei grafice și GPU.
  • MediaDevices.prototype.enumerateDevices - identificarea prin obținerea parametrilor și a denumirilor camerei și microfonului.
  • navigator.deviceMemory, navigator.hardwareConcurrency - obținerea de informații despre hardware.
  • XMLHttpRequest (XHR) - transferă informațiile colectate de sistem către un server extern după ce pagina s-a încărcat.
  • ArrayBuffer - efectuează atacuri Spectre microarhitecturale.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - efectuarea de atacuri care evaluează întârzierile la accesarea datelor.
  • Geolocation API (navigator.geolocation) - acces la informații despre locație (adăugarea vă permite să distorsionați datele returnate).
  • Gamepad API (navigator.getGamepads()) este unul dintre semnele de identificare care ia în considerare prezența unui gamepad în sistem.
  • Virtual Reality API, Mixed Reality API - utilizarea parametrilor dispozitivului de realitate virtuală pentru identificare.
  • window.name - scurgeri între site-uri.
  • navigator.sendBeacon - folosit pentru analiza web.

Sursa: opennet.ru

Adauga un comentariu