இலவச மென்பொருள் அறக்கட்டளை JShelter திட்டத்தை அறிமுகப்படுத்தியது, இது இணையத்தளங்களில் ஜாவாஸ்கிரிப்டைப் பயன்படுத்தும் போது ஏற்படும் அச்சுறுத்தல்களிலிருந்து பாதுகாக்க ஒரு உலாவி துணை நிரலை உருவாக்குகிறது, இதில் மறைக்கப்பட்ட அடையாளம், கண்காணிப்பு இயக்கங்கள் மற்றும் பயனர் தரவு குவிப்பு ஆகியவை அடங்கும். திட்டக் குறியீடு GPLv3 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது. பயர்பாக்ஸ், கூகுள் குரோம், ஓபரா, பிரேவ், மைக்ரோசாஃப்ட் எட்ஜ் மற்றும் குரோமியம் இன்ஜினை அடிப்படையாகக் கொண்ட பிற உலாவிகளுக்குச் செருகு நிரல் தயாராக உள்ளது.
என்எல்நெட் அறக்கட்டளையின் கூட்டு முயற்சியாக இந்த திட்டம் உருவாக்கப்படுகிறது. நோஸ்கிரிப்ட் ஆட்-ஆனை உருவாக்கிய ஜியோர்ஜியோ மாயோன், அதே போல் J++ திட்டத்தின் நிறுவனர்கள் மற்றும் JS-Shield மற்றும் JavaScript Restrictor add-ons இன் ஆசிரியர்களும் JShelter இன் வளர்ச்சியில் இணைந்தனர். புதிய திட்டத்திற்கான அடிப்படையாக JavaScript Restrictor add-on பயன்படுத்தப்படுகிறது.
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) - பக்கம் ஏற்றப்பட்ட பிறகு சேகரிக்கப்பட்ட கணினி தகவலை வெளிப்புற சேவையகத்திற்கு மாற்றுகிறது.
- ArrayBuffer - மைக்ரோ ஆர்கிடெக்ச்சுரல் ஸ்பெக்டர் தாக்குதல்களை நடத்துகிறது.
- WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - தரவை அணுகும் போது ஏற்படும் தாமதங்களை மதிப்பிடும் தாக்குதல்களை மேற்கொள்வது.
- புவிஇருப்பிடம் API (navigator.geolocation) - இருப்பிடத் தகவலுக்கான அணுகல் (சேர்ப்பது திரும்பிய தரவை சிதைக்க உங்களை அனுமதிக்கிறது).
- கேம்பேட் API (navigator.getGamepads()) என்பது கணினியில் கேம்பேட் இருப்பதை கணக்கில் எடுத்துக் கொள்ளும் அடையாள அறிகுறிகளில் ஒன்றாகும்.
- விர்ச்சுவல் ரியாலிட்டி ஏபிஐ, கலப்பு ரியாலிட்டி ஏபிஐ - அடையாளம் காண மெய்நிகர் ரியாலிட்டி சாதன அளவுருக்களின் பயன்பாடு.
- window.name - குறுக்கு தள கசிவுகள்.
- navigator.sendBeacon - இணைய பகுப்பாய்வுகளுக்குப் பயன்படுத்தப்படுகிறது.
ஆதாரம்: opennet.ru