اوپن سورس فاؤنڈیشن نے JavaScript API کو محدود کرنے کے لیے JShelter براؤزر ایڈ آن متعارف کرایا

فری سافٹ ویئر فاؤنڈیشن نے JShelter پروجیکٹ متعارف کرایا، جو ویب سائٹس پر جاوا اسکرپٹ کے استعمال کے دوران پیدا ہونے والے خطرات سے بچانے کے لیے ایک براؤزر ایڈ آن تیار کرتا ہے، بشمول پوشیدہ شناخت، ٹریکنگ کی نقل و حرکت اور صارف کے ڈیٹا کو جمع کرنا۔ پروجیکٹ کوڈ GPLv3 لائسنس کے تحت تقسیم کیا گیا ہے۔ ایڈ آن فائر فاکس، گوگل کروم، اوپیرا، بریو، مائیکروسافٹ ایج اور کرومیم انجن پر مبنی دیگر براؤزرز کے لیے تیار کیا گیا ہے۔

اس منصوبے کو NLnet فاؤنڈیشن کی طرف سے فنڈز فراہم کرنے والے مشترکہ اقدام کے طور پر تیار کیا جا رہا ہے۔ NoScript add-on کے خالق Giorgio Maone کے ساتھ ساتھ J++ پروجیکٹ کے بانی اور JS-Shield اور JavaScript Restrictor add-ons کے مصنفین نے بھی JShelter کی ترقی میں شمولیت اختیار کی۔ JavaScript Restrictor add-on کو نئے پروجیکٹ کی بنیاد کے طور پر استعمال کیا جاتا ہے۔

JShelter کو ویب سائٹس اور ویب ایپلیکیشنز کے لیے دستیاب JavaScript پروگرامنگ انٹرفیس کے لیے فائر وال کی ایک قسم کے طور پر سوچا جا سکتا ہے۔ ایڈ آن تحفظ کی چار سطحوں کے ساتھ ساتھ API تک رسائی کے لیے ایک لچکدار کنفیگریشن موڈ فراہم کرتا ہے۔ لیول صفر مکمل طور پر تمام APIs تک رسائی کی اجازت دیتا ہے، پہلے میں کم سے کم بلاکنگ شامل ہے جو صفحات کے آپریشن میں خلل نہیں ڈالتی، دوسری سطح بلاکنگ اور مطابقت کے درمیان توازن رکھتی ہے، اور چوتھے درجے میں غیر ضروری ہر چیز کو سختی سے بلاک کرنا شامل ہے۔

API بلاک کرنے کی ترتیبات کو انفرادی سائٹوں سے جوڑا جا سکتا ہے، مثال کے طور پر، کچھ سائٹوں کے لیے تحفظ کو مضبوط کیا جا سکتا ہے، اور دوسروں کے لیے غیر فعال کیا جا سکتا ہے۔ آپ جاوا اسکرپٹ کے مخصوص طریقوں، اشیاء، خصوصیات، اور فنکشنز کو منتخب طور پر بلاک بھی کر سکتے ہیں، یا واپسی کی قدروں کو تبدیل کر سکتے ہیں (مثال کے طور پر، سسٹم کے بارے میں غلط معلومات فراہم کریں)۔ ایک الگ خصوصیت NBS (نیٹ ورک باؤنڈری شیلڈ) موڈ ہے، جو صفحات کو براؤزر کو بیرونی اور مقامی نیٹ ورکس کے درمیان پراکسی کے طور پر استعمال کرنے کی اجازت نہیں دیتا ہے (سب جانے والی درخواستوں کو روک کر ان کا تجزیہ کیا جاتا ہے)۔

مسدود یا محدود APIs:

  • 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.getChannelData(), AnalyserNode.getChannelDatare ata()) - آڈیو سگنلز کے تجزیہ کے ذریعے شناخت۔
  • WebGLRenderingContext - گرافکس اسٹیک اور GPU کی خصوصیات کے تجزیہ کے ذریعے شناخت۔
  • MediaDevices.prototype.enumerateDevices - کیمرہ اور مائکروفون کے پیرامیٹرز اور نام حاصل کرکے شناخت۔
  • navigator.deviceMemory، navigator.hardwareConcurrency - ہارڈ ویئر کے بارے میں معلومات حاصل کرنا۔
  • XMLHttpRequest (XHR) - صفحہ لوڈ ہونے کے بعد جمع کردہ سسٹم کی معلومات کو بیرونی سرور پر منتقل کرتا ہے۔
  • ArrayBuffer - مائیکرو آرکیٹیکچرل سپیکٹر حملے کرنا۔
  • WebWorker (window.Worker)، SharedArrayBuffer (window.SharedArrayBuffer) - ایسے حملے کرنا جو ڈیٹا تک رسائی میں تاخیر کا اندازہ لگاتے ہیں۔
  • جغرافیائی محل وقوع API (navigator.geolocation) - مقام کی معلومات تک رسائی (اضافہ آپ کو واپس کیے گئے ڈیٹا کو مسخ کرنے کی اجازت دیتا ہے)۔
  • گیم پیڈ API (navigator.getGamepads()) شناختی علامات میں سے ایک ہے جو سسٹم میں گیم پیڈ کی موجودگی کو مدنظر رکھتا ہے۔
  • ورچوئل رئیلٹی API، مخلوط حقیقت API - شناخت کے لیے ورچوئل رئیلٹی ڈیوائس کے پیرامیٹرز کا استعمال۔
  • window.name - کراس سائٹ لیک۔
  • navigator.sendBeacon - ویب تجزیات کے لیے استعمال کیا جاتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں