Cyflwynodd y Open Source Foundation ychwanegyn porwr JShelter i gyfyngu ar yr API JavaScript

Cyflwynodd y Free Software Foundation y prosiect JShelter, sy'n datblygu ategyn porwr i amddiffyn rhag bygythiadau sy'n codi wrth ddefnyddio JavaScript ar wefannau, gan gynnwys adnabod cudd, olrhain symudiadau a chronni data defnyddwyr. Mae cod y prosiect yn cael ei ddosbarthu o dan y drwydded GPLv3. Mae'r ychwanegiad wedi'i baratoi ar gyfer Firefox, Google Chrome, Opera, Brave, Microsoft Edge a phorwyr eraill yn seiliedig ar yr injan Chromium.

Mae'r prosiect yn cael ei ddatblygu fel menter ar y cyd a ariennir gan Sefydliad NLnet. Ymunodd Giorgio Maone, crëwr yr ychwanegiad NoScript, yn ogystal â sylfaenwyr y prosiect J ++ ac awduron ychwanegion JS-Shield a JavaScript Restrictor, â datblygiad JShelter hefyd. Defnyddir yr ychwanegiad JavaScript Restrictor fel sail i'r prosiect newydd.

Gellir meddwl am JShelter fel math o wal dân ar gyfer rhyngwynebau rhaglennu JavaScript sydd ar gael i wefannau a chymwysiadau gwe. Mae'r ychwanegiad yn darparu pedair lefel o amddiffyniad, yn ogystal â modd cyfluniad hyblyg ar gyfer mynediad i'r API. Mae lefel sero yn llwyr yn caniatáu mynediad i bob API, mae'r cyntaf yn cynnwys blocio lleiaf posibl nad yw'n amharu ar weithrediad tudalennau, mae'r ail lefel yn cydbwyso rhwng blocio a chydnawsedd, ac mae'r bedwaredd lefel yn cynnwys blocio llym o bopeth diangen.

Gall gosodiadau blocio API gael eu clymu i wefannau unigol, er enghraifft, gellir cryfhau amddiffyniad ar gyfer rhai gwefannau, a'i analluogi i eraill. Gallwch hefyd rwystro rhai dulliau, gwrthrychau, priodweddau a swyddogaethau JavaScript yn ddetholus, neu newid gwerthoedd dychwelyd (er enghraifft, cynhyrchu gwybodaeth ffug am y system). Nodwedd ar wahân yw'r modd NBS (Tarian ffin Rhwydwaith), nad yw'n caniatáu i dudalennau ddefnyddio'r porwr fel dirprwy rhwng rhwydweithiau allanol a lleol (mae pob cais sy'n mynd allan yn cael ei ryng-gipio a'i ddadansoddi).

APIs sydd wedi'u rhwystro neu eu cyfyngu:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp a VRFrameData.prototype.timestamp - gellir defnyddio'r union allbwn amser i nodi a chyflawni ymosodiadau ochr-sianel .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - a ddefnyddir i bennu nodweddion yr is-system graffeg wrth adnabod defnyddiwr.
  • AudioBuffer ac AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData() a AnalyserNode.getByteTimeDomainData()
  • WebGLRenderingContext - adnabod trwy ddadansoddi nodweddion y pentwr graffeg a GPU.
  • MediaDevices.prototype.enurateDevices - adnabod trwy gael paramedrau ac enwau'r camera a'r meicroffon.
  • navigator.deviceMemory, navigator.hardwareConcurrency - cael gwybodaeth am galedwedd.
  • XMLHttpRequest (XHR) - yn trosglwyddo gwybodaeth system a gasglwyd i weinydd allanol ar ôl i'r dudalen lwytho.
  • ArrayBuffer - cynnal ymosodiadau microbensaernïol Specter.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - cynnal ymosodiadau sy'n gwerthuso oedi wrth gael mynediad at ddata.
  • Geolocation API (navigator.geolocation) - mynediad at wybodaeth lleoliad (mae'r ychwanegiad yn caniatáu ichi ystumio'r data a ddychwelwyd).
  • API Gamepad (navigator.getGamepads()) yw un o'r arwyddion adnabod sy'n ystyried presenoldeb gamepad yn y system.
  • API Realiti Rhithwir, API Realiti Cymysg - defnyddio paramedrau dyfais rhith-realiti ar gyfer adnabod.
  • window.name - gollyngiadau traws-safle.
  • navigator.sendBeacon - a ddefnyddir ar gyfer dadansoddeg gwe.

Ffynhonnell: opennet.ru

Ychwanegu sylw