Open Source Foundation JavaScript API-ni məhdudlaşdırmaq üçün JShelter brauzer əlavəsini təqdim etdi

Azad Proqram Təminatı Fondu vebsaytlarda JavaScript istifadə edərkən yaranan təhlükələrdən, o cümlədən gizli identifikasiya, hərəkətlərin izlənməsi və istifadəçi məlumatlarının toplanmasından qorunmaq üçün brauzer əlavəsi hazırlayan JShelter layihəsini təqdim etdi. Layihə kodu GPLv3 lisenziyası altında paylanır. Əlavə Firefox, Google Chrome, Opera, Brave, Microsoft Edge və digər brauzerlər üçün Chromium mühərriki əsasında hazırlanmışdır.

Layihə NLnet Fondu tərəfindən maliyyələşdirilən birgə təşəbbüs kimi hazırlanır. NoScript əlavəsinin yaradıcısı Giorgio Maone, həmçinin J++ layihəsinin yaradıcıları və JS-Shield və JavaScript Restrictor əlavələrinin müəllifləri də JShelter-in inkişafına qoşulmuşlar. JavaScript Məhdudlaşdırıcı əlavəsi yeni layihə üçün əsas kimi istifadə olunur.

JShelter vebsaytlar və veb proqramlar üçün mövcud olan JavaScript proqramlaşdırma interfeysləri üçün bir növ firewall kimi düşünülə bilər. Əlavə dörd səviyyəli qorunma, həmçinin API-yə daxil olmaq üçün çevik konfiqurasiya rejimi təmin edir. Sıfır səviyyəsi bütün API-lərə girişi tamamilə təmin edir, birinciyə səhifələrin işini pozmayan minimal bloklama daxildir, ikinci səviyyə bloklama və uyğunluq arasında balans yaradır, dördüncü səviyyə isə lazımsız hər şeyin ciddi şəkildə bloklanmasını əhatə edir.

API bloklama parametrləri ayrı-ayrı saytlara bağlana bilər, məsələn, bəzi saytlar üçün qorunma gücləndirilə bilər, digərləri üçün isə söndürülə bilər. Siz həmçinin müəyyən JavaScript metodlarını, obyektlərini, xassələrini və funksiyalarını seçmə şəkildə bloklaya və ya qaytarılan dəyərləri dəyişə bilərsiniz (məsələn, sistem haqqında yanlış məlumat yarada). Ayrı bir xüsusiyyət NBS (Şəbəkə sərhədi qalxanı) rejimidir ki, bu da səhifələrə brauzerdən xarici və yerli şəbəkələr arasında proxy kimi istifadə etməyə imkan vermir (bütün gedən sorğular ələ keçirilir və təhlil edilir).

Bloklanmış və ya məhdudlaşdırılmış API-lər:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp və VRFrameData.prototype.timestamp - dəqiq vaxt çıxışı yan kanal hücumlarını müəyyən etmək və həyata keçirmək üçün istifadə edilə bilər. .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - istifadəçinin identifikasiyası zamanı qrafik altsisteminin xüsusiyyətlərini müəyyən etmək üçün istifadə olunur.
  • AudioBuffer və AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyDataency)quyf(AnalyserData)quF through -FrequencyDataency)reification səs siqnallarının təhlili.
  • WebGLRenderingContext - qrafik yığınının və GPU xüsusiyyətlərinin təhlili vasitəsilə identifikasiya.
  • MediaDevices.prototype.enumerateDevices - kamera və mikrofonun parametrlərini və adlarını əldə etməklə identifikasiya.
  • navigator.deviceMemory, navigator.hardwareConcurrency - aparat haqqında məlumat əldə etmək.
  • XMLHttpRequest (XHR) - səhifə yükləndikdən sonra toplanmış sistem məlumatlarını xarici serverə ötürür.
  • ArrayBuffer - mikroarxitektura Spectre hücumlarının həyata keçirilməsi.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - verilənlərə daxil olan zaman gecikmələri qiymətləndirən hücumların həyata keçirilməsi.
  • Geolocation API (navigator.geolocation) - yer məlumatlarına giriş (əlavə geri qaytarılmış məlumatları təhrif etməyə imkan verir).
  • Gamepad API (navigator.getGamepads()) sistemdə gamepadın olmasını nəzərə alan identifikasiya əlamətlərindən biridir.
  • Virtual Reallıq API, Qarışıq Reallıq API - identifikasiya üçün virtual reallıq cihazı parametrlərinin istifadəsi.
  • window.name - saytlar arası sızmalar.
  • navigator.sendBeacon - veb analitika üçün istifadə olunur.

Mənbə: opennet.ru

Добавить комментарий