ఉచిత సాఫ్ట్వేర్ ఫౌండేషన్ JShelter ప్రాజెక్ట్ను పరిచయం చేసింది, ఇది వెబ్సైట్లలో జావాస్క్రిప్ట్ను ఉపయోగిస్తున్నప్పుడు తలెత్తే ముప్పుల నుండి రక్షించడానికి బ్రౌజర్ యాడ్-ఆన్ను అభివృద్ధి చేస్తుంది, ఇందులో దాచిన గుర్తింపు, ట్రాకింగ్ కదలికలు మరియు వినియోగదారు డేటా చేరడం వంటివి ఉన్నాయి. ప్రాజెక్ట్ కోడ్ GPLv3 లైసెన్స్ క్రింద పంపిణీ చేయబడింది. యాడ్-ఆన్ Firefox, Google Chrome, Opera, Brave, Microsoft Edge మరియు Chromium ఇంజిన్ ఆధారంగా ఇతర బ్రౌజర్ల కోసం సిద్ధం చేయబడింది.
NLnet ఫౌండేషన్ ద్వారా జాయింట్ ఇనిషియేటివ్గా ఈ ప్రాజెక్ట్ అభివృద్ధి చేయబడుతోంది. నోస్క్రిప్ట్ యాడ్-ఆన్ సృష్టికర్త, అలాగే J++ ప్రాజెక్ట్ వ్యవస్థాపకులు మరియు JS-షీల్డ్ మరియు జావాస్క్రిప్ట్ రెస్ట్రిక్టర్ యాడ్-ఆన్ల రచయితలు అయిన జార్జియో మాయోన్ కూడా JShelter అభివృద్ధిలో చేరారు. JavaScript Restrictor యాడ్-ఆన్ కొత్త ప్రాజెక్ట్కు ఆధారంగా ఉపయోగించబడుతుంది.
వెబ్సైట్లు మరియు వెబ్ అప్లికేషన్లకు అందుబాటులో ఉన్న జావాస్క్రిప్ట్ ప్రోగ్రామింగ్ ఇంటర్ఫేస్ల కోసం JShelter ఒక రకమైన ఫైర్వాల్గా భావించవచ్చు. యాడ్-ఆన్ నాలుగు స్థాయిల రక్షణను అందిస్తుంది, అలాగే APIకి యాక్సెస్ కోసం సౌకర్యవంతమైన కాన్ఫిగరేషన్ మోడ్ను అందిస్తుంది. లెవెల్ జీరో పూర్తిగా అన్ని APIలకు యాక్సెస్ని అనుమతిస్తుంది, మొదటిది పేజీల ఆపరేషన్కు అంతరాయం కలిగించని కనిష్ట బ్లాకింగ్ను కలిగి ఉంటుంది, రెండవ స్థాయి బ్లాకింగ్ మరియు అనుకూలత మధ్య బ్యాలెన్స్లను కలిగి ఉంటుంది మరియు నాల్గవ స్థాయి అనవసరమైన ప్రతిదానిని ఖచ్చితంగా నిరోధించడాన్ని కలిగి ఉంటుంది.
API బ్లాకింగ్ సెట్టింగ్లు వ్యక్తిగత సైట్లకు అనుసంధానించబడతాయి, ఉదాహరణకు, కొన్ని సైట్లకు రక్షణను బలోపేతం చేయవచ్చు మరియు మరికొన్నింటికి నిలిపివేయబడుతుంది. మీరు నిర్దిష్ట జావాస్క్రిప్ట్ పద్ధతులు, వస్తువులు, లక్షణాలు మరియు ఫంక్షన్లను ఎంపిక చేసి బ్లాక్ చేయవచ్చు లేదా రిటర్న్ విలువలను మార్చవచ్చు (ఉదాహరణకు, సిస్టమ్ గురించి తప్పుడు సమాచారాన్ని ఉత్పత్తి చేయండి). ఒక ప్రత్యేక లక్షణం NBS (నెట్వర్క్ సరిహద్దు షీల్డ్) మోడ్, ఇది బ్రౌజర్ను బాహ్య మరియు స్థానిక నెట్వర్క్ల మధ్య ప్రాక్సీగా ఉపయోగించడానికి పేజీలను అనుమతించదు (అన్ని అవుట్గోయింగ్ అభ్యర్థనలు అడ్డగించబడతాయి మరియు విశ్లేషించబడతాయి).
నిరోధించబడిన లేదా పరిమితం చేయబడిన 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. డేటా()) - ఆడియో సిగ్నల్స్ విశ్లేషణ ద్వారా గుర్తింపు.
- WebGLRenderingContext - గ్రాఫిక్స్ స్టాక్ మరియు GPU యొక్క లక్షణాల విశ్లేషణ ద్వారా గుర్తింపు.
- MediaDevices.prototype.enumerateDevices - కెమెరా మరియు మైక్రోఫోన్ యొక్క పారామితులు మరియు పేర్లను పొందడం ద్వారా గుర్తింపు.
- navigator.deviceMemory, navigator.hardwareConcurrency - హార్డ్వేర్ గురించి సమాచారాన్ని పొందడం.
- XMLHttpRequest (XHR) - పేజీ లోడ్ అయిన తర్వాత సేకరించిన సిస్టమ్ సమాచారాన్ని బాహ్య సర్వర్కు బదిలీ చేస్తుంది.
- అర్రేబఫర్ - మైక్రోఆర్కిటెక్చరల్ స్పెక్టర్ దాడులను నిర్వహిస్తోంది.
- WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - డేటాను యాక్సెస్ చేసేటప్పుడు ఆలస్యాన్ని అంచనా వేసే దాడులను నిర్వహిస్తుంది.
- జియోలొకేషన్ API (navigator.geolocation) - స్థాన సమాచారానికి ప్రాప్యత (అదనంగా మీరు తిరిగి వచ్చిన డేటాను వక్రీకరించడానికి అనుమతిస్తుంది).
- గేమ్ప్యాడ్ API (navigator.getGamepads()) అనేది సిస్టమ్లో గేమ్ప్యాడ్ ఉనికిని పరిగణనలోకి తీసుకునే గుర్తింపు సంకేతాలలో ఒకటి.
- వర్చువల్ రియాలిటీ API, మిక్స్డ్ రియాలిటీ API - గుర్తింపు కోసం వర్చువల్ రియాలిటీ పరికర పారామితుల ఉపయోగం.
- window.name - క్రాస్-సైట్ లీక్లు.
- navigator.sendBeacon - వెబ్ అనలిటిక్స్ కోసం ఉపయోగించబడుతుంది.
మూలం: opennet.ru