Ipilẹ Orisun Orisun ṣafihan afikun aṣawakiri JShelter lati fi opin si API JavaScript

Ipilẹ Software Ọfẹ ṣe afihan iṣẹ akanṣe JShelter, eyiti o ṣe agbekalẹ ẹrọ aṣawakiri kan lati daabobo lodi si awọn irokeke ti o dide nigba lilo JavaScript lori awọn oju opo wẹẹbu, pẹlu idanimọ ti o farapamọ, awọn gbigbe ipasẹ ati ikojọpọ data olumulo. Koodu ise agbese ti pin labẹ iwe-aṣẹ GPLv3. Afikun naa ti pese sile fun Firefox, Google Chrome, Opera, Brave, Microsoft Edge ati awọn aṣawakiri miiran ti o da lori ẹrọ Chromium.

Ise agbese na ti wa ni idagbasoke gẹgẹbi ipilẹṣẹ apapọ ti o ni owo nipasẹ NLnet Foundation. Giorgio Maone, ẹlẹda ti NoScript add-on, bakannaa awọn oludasilẹ ti iṣẹ akanṣe J ++ ati awọn onkọwe ti JS-Shield ati JavaScript Restrictor add-ons, tun darapọ mọ idagbasoke JShelter. Awọn afikun Restrictor JavaScript jẹ lilo bi ipilẹ fun iṣẹ akanṣe tuntun.

JShelter ni a le ronu bi iru ogiriina fun awọn atọkun siseto JavaScript ti o wa si awọn oju opo wẹẹbu ati awọn ohun elo wẹẹbu. Fikun-un pese awọn ipele aabo mẹrin, bakanna bi ipo iṣeto ni irọrun fun iraye si API. Odo ipele ngbanilaaye iwọle si gbogbo awọn API, akọkọ pẹlu idinamọ pọọku ti ko ni idilọwọ iṣẹ awọn oju-iwe, awọn iwọntunwọnsi ipele keji laarin didi ati ibamu, ati ipele kẹrin pẹlu idinamọ ti o muna ti ohun gbogbo ti ko wulo.

Awọn eto idinamọ API le so mọ awọn aaye kọọkan, fun apẹẹrẹ, aabo le ni okun fun awọn aaye kan, ati alaabo fun awọn miiran. O tun le yan dina awọn ọna JavaScript kan, awọn nkan, awọn ohun-ini, ati awọn iṣẹ, tabi yi awọn iye ipadabọ pada (fun apẹẹrẹ, gbejade alaye eke nipa eto naa). Ẹya ọtọtọ ni ipo NBS (Nẹtiwọọki aala aala), eyiti ko gba awọn oju-iwe laaye lati lo ẹrọ aṣawakiri bi aṣoju laarin awọn nẹtiwọọki ita ati agbegbe (gbogbo awọn ibeere ti njade ti wa ni idilọwọ ati itupalẹ).

Awọn API ti dinamọ tabi ihamọ:

  • window.Date, window.performance.now(), window.Entry Performance, Event.prototype.timeStamp, Gamepad.prototype.timestamp ati VRFrameData.prototype.timestamp - abajade akoko gangan le ṣee lo lati ṣe idanimọ ati gbejade awọn ikọlu ikanni ẹgbẹ. .
  • HTMLCanvasElement (canvas.toDataURL (), canvas.toBlob (), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob ()) - lo lati mọ awọn ẹya ara ẹrọ ti awọn eya subsystem nigba ti idamo a olumulo.
  • AudioBuffer ati AnalyserNode (AudioBuffer.getChannelData (), AudioBuffer.copyFromChannel (), AnalyserNode.getByteTimeDomainData (), AnalyserNode.getFloatTimeDomainData (), AnalyserNode.getByteFrequencyData() gba ifihan agbara ohun-itupalẹ.
  • WebGLRenderingContext - idanimọ nipasẹ igbekale awọn ẹya ara ẹrọ ti akopọ eya aworan ati GPU.
  • MediaDevices.prototype.enumerateDevices - idanimọ nipasẹ gbigba awọn ayeraye ati awọn orukọ kamẹra ati gbohungbohun.
  • navigator.deviceMemory, navigator.hardwareConcurrency - gbigba alaye nipa hardware.
  • Ibeere XMLHttp (XHR) - gbigbe alaye eto ti a gbajọ si olupin ita lẹhin ti o ti gbe oju-iwe naa.
  • ArrayBuffer - ṣiṣe awọn ikọlu Specter microarchitectural.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - ṣiṣe awọn ikọlu ti o ṣe iṣiro awọn idaduro nigbati o wọle si data.
  • Geolocation API (navigator.geolocation) - iraye si alaye ipo (afikun naa gba ọ laaye lati yi data pada).
  • Gamepad API (navigator.getGamepads()) jẹ ọkan ninu awọn ami idanimọ ti o ṣe akiyesi wiwa paadi ere kan ninu eto naa.
  • API Ìdánilójú Fojú, Àdàpọ̀ Ìdánilójú API - lílo àwọn ìpínrọ̀ ẹ̀rọ òtítọ́ gidi fún ìdánimọ̀.
  • window.name - agbelebu-ojula jo.
  • navigator.sendBeacon - ti a lo fun awọn atupale wẹẹbu.

orisun: opennet.ru

Fi ọrọìwòye kun