Бунёди кушодаасос иловаи браузери JShelter-ро барои маҳдуд кардани API JavaScript ҷорӣ кард

Бунёди нармафзори озод лоиҳаи JShelter-ро муаррифӣ кард, ки як иловаи браузерро барои муҳофизат аз таҳдидҳое, ки ҳангоми истифодаи JavaScript дар вебсайтҳо ба вуҷуд меоянд, аз ҷумла муайянкунии пинҳонӣ, пайгирии ҳаракатҳо ва ҷамъоварии маълумоти корбар таҳия мекунад. Рамзи лоиҳа тибқи иҷозатномаи GPLv3 паҳн карда мешавад. Илова барои Firefox, Google Chrome, Opera, Brave, Microsoft Edge ва дигар браузерҳо дар асоси муҳаррики Chromium омода карда шудааст.

Лоиҳа ҳамчун ташаббуси муштарак аз ҷониби Фонди NLnet маблағгузорӣ карда мешавад. Ҷорҷио Маоне, созандаи иловаи NoScript, инчунин муассисони лоиҳаи J++ ва муаллифони иловаҳои JS-Shield ва JavaScript Restrictor низ ба таҳияи JShelter ҳамроҳ шуданд. Иловаи JavaScript Restrictor ҳамчун асос барои лоиҳаи нав истифода мешавад.

JShelter-ро метавон ҳамчун як навъ девори интерфейси барномасозии JavaScript, ки барои вебсайтҳо ва барномаҳои веб дастрасанд, баррасӣ кард. Илова чор сатҳи муҳофизат ва инчунин режими конфигуратсияро барои дастрасӣ ба API таъмин мекунад. Сатҳи сифр комилан дастрасиро ба ҳама API-ҳо медиҳад, якум бастани ҳадди ақалро дар бар мегирад, ки кори саҳифаҳоро халалдор намекунад, сатҳи дуюм байни басташавӣ ва мутобиқат мувозинат мекунад ва сатҳи чорум бастани қатъии ҳама чизи нолозимро дар бар мегирад.

Танзимоти бастани API метавонад ба сайтҳои инфиродӣ пайваст карда шавад, масалан, муҳофизатро барои баъзе сайтҳо тақвият додан ва барои дигарон ғайрифаъол кардан мумкин аст. Шумо инчунин метавонед ба таври интихобӣ усулҳо, объектҳо, хосиятҳо ва функсияҳои муайяни JavaScript-ро маҳкам кунед ё арзишҳои бозгаштро тағир диҳед (масалан, дар бораи система маълумоти бардурӯғ эҷод кунед). Хусусияти алоҳида ин режими NBS (Network boundary boundary shield) мебошад, ки ба саҳифаҳо имкон намедиҳад, ки браузерро ҳамчун прокси байни шабакаҳои беруна ва маҳаллӣ истифода баранд (ҳамаи дархостҳои содиротӣ боздошт ва таҳлил карда мешаванд).

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.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyDataloatNode() ва AnalyserNodeFrequencyDatalode()re()re. таҳлили сигналҳои аудио.
  • WebGLRenderingContext - муайянсозӣ тавассути таҳлили хусусиятҳои стек графикӣ ва GPU.
  • MediaDevices.prototype.enumerateDevices - муайянкунӣ тавассути гирифтани параметрҳо ва номҳои камера ва микрофон.
  • navigator.deviceMemory, navigator.hardwareConcurrency - гирифтани маълумот дар бораи сахтафзор.
  • XMLHttpRequest (XHR) - пас аз боркунии саҳифа маълумоти ҷамъшудаи системаро ба сервери беруна интиқол медиҳад.
  • ArrayBuffer - анҷом додани ҳамлаҳои микроархитектурии Spectre.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - анҷом додани ҳамлаҳое, ки таъхирҳоро ҳангоми дастрасӣ ба маълумот арзёбӣ мекунанд.
  • API Geolocation (navigator.geolocation) - дастрасӣ ба маълумоти ҷойгиршавӣ (илова ба шумо имкон медиҳад, ки маълумоти баргардонидашударо таҳриф кунед).
  • API Gamepad (navigator.getGamepads()) яке аз аломатҳои мушаххасест, ки мавҷудияти геймпад дар системаро ба назар мегирад.
  • API Reality Virtual, API Mixed Reality - истифодаи параметрҳои дастгоҳи воқеияти виртуалӣ барои муайянсозӣ.
  • window.name - ихроҷи байни сайтҳо.
  • navigator.sendBeacon - барои таҳлили веб истифода мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ