Open Source Foundation ngenalake add-on browser JShelter kanggo mbatesi API JavaScript

Yayasan Perangkat Lunak Gratis ngenalake proyek JShelter, sing ngembangake browser tambahan kanggo nglindhungi ancaman sing muncul nalika nggunakake JavaScript ing situs web, kalebu identifikasi sing didhelikake, nelusuri gerakan lan akumulasi data pangguna. Kode proyek disebarake miturut lisensi GPLv3. Add-on disiapake kanggo Firefox, Google Chrome, Opera, Brave, Microsoft Edge lan browser liyane adhedhasar mesin Chromium.

Proyek iki dikembangake minangka inisiatif gabungan sing didanai dening Yayasan NLnet. Giorgio Maone, pencipta add-on NoScript, uga pendiri proyek J ++ lan penulis tambahan JS-Shield lan JavaScript Restrictor, uga melu pangembangan JShelter. Tambahan JavaScript Restrictor digunakake minangka basis kanggo proyek anyar.

JShelter bisa dianggep minangka jenis firewall kanggo antarmuka pemrograman JavaScript sing kasedhiya kanggo situs web lan aplikasi web. Add-on nyedhiyakake papat tingkat proteksi, uga mode konfigurasi fleksibel kanggo akses menyang API. Tingkat nol kanthi lengkap ngidini akses menyang kabeh API, sing pisanan kalebu pamblokiran minimal sing ora ngganggu operasi kaca, tingkat kapindho saldo antarane pamblokiran lan kompatibilitas, lan tingkat kaping papat kalebu pamblokiran ketat kabeh sing ora perlu.

Setelan pamblokiran API bisa disambungake menyang situs individu, contone, proteksi bisa dikuatake kanggo sawetara situs, lan dipateni kanggo wong liya. Sampeyan uga bisa kanthi selektif mblokir metode, obyek, properti, lan fungsi JavaScript tartamtu, utawa ngganti nilai bali (contone, ngasilake informasi palsu babagan sistem kasebut). Fitur kapisah yaiku mode NBS (Network boundary shield), sing ora ngidini kaca nggunakake browser minangka proxy antarane jaringan njaba lan lokal (kabeh panjalukan sing metu dicegat lan dianalisis).

API sing diblokir utawa diwatesi:

  • window.Date, window.performance.now (), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp lan VRFrameData.prototype.timestamp - output wektu sing tepat bisa digunakake kanggo ngenali lan nindakake serangan saluran sisih. .
  • HTMLCanvasElement (canvas.toDataURL (), canvas.toBlob (), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob ()) - digunakake kanggo nemtokake fitur saka subsistem grafis nalika ngenali pangguna.
  • AudioBuffer lan AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData() lan AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData () lan AnalyserNode.
  • WebGLRenderingContext - identifikasi liwat analisis fitur saka tumpukan grafis lan GPU.
  • MediaDevices.prototype.enumerateDevices - identifikasi kanthi entuk paramèter lan jeneng kamera lan mikropon.
  • navigator.deviceMemory, navigator.hardwareConcurrency - entuk informasi babagan hardware.
  • XMLHttpRequest (XHR) - nransfer informasi sistem sing diklumpukake menyang server eksternal sawise kaca dimuat.
  • ArrayBuffer - nindakake serangan Spectre microarchitectural.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - nindakake serangan sing ngevaluasi telat nalika ngakses data.
  • Geolocation API (navigator.geolocation) - akses menyang informasi lokasi (tambahan ngijini sampeyan kanggo molak data bali).
  • Gamepad API (navigator.getGamepads ()) iku salah siji saka pratandha identifikasi sing njupuk menyang akun ngarsane gamepad ing sistem.
  • Virtual Reality API, Mixed Reality API - nggunakake paramèter piranti kasunyatan virtual kanggo identifikasi.
  • window.name - bocor lintas-situs.
  • navigator.sendBeacon - digunakake kanggo analytics web.

Source: opennet.ru

Add a comment