Hacker News

پينٽيسٽرز لاءِ سي ايس پي: بنيادي اصولن کي سمجهڻ

تبصرا

2 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

ڇو هر پينٽيسٽر کي مواد جي حفاظتي پاليسي ۾ مهارت حاصل ڪرڻ جي ضرورت آهي

Content Security Policy (CSP) هڪ انتهائي نازڪ براؤزر-سائڊ دفاعي ميڪانيزم بڻجي وئي آهي ڪراس سائٽ اسڪرپٽنگ (XSS)، ڊيٽا انجيڪشن، ۽ ڪلڪ جيڪنگ حملن جي خلاف. اڃان تائين دخول جي جاچ واري مصروفيتن ۾، سي ايس پي هيڊرز هڪ آهن اڪثر ڪري غلط ترتيب ڏنل - ۽ غلط سمجھيا ويا - سيڪيورٽي ڪنٽرول. 2024 جو مطالعو 1 ملين کان وڌيڪ ويب سائيٽن جو تجزيو ڪندي اهو معلوم ڪيو ته صرف 12.8٪ سي ايس پي هيڊرز کي مقرر ڪيو ويو، ۽ انهن مان، تقريبن 94٪ ۾ گهٽ ۾ گهٽ هڪ پاليسي جي ڪمزوري آهي جنهن جو استحصال ڪري سگهجي ٿو. پينٽيسٽرز لاءِ، CSP کي سمجھڻ اختياري نه آهي - اهو فرق آهي سطح جي تشخيص ۽ رپورٽ جي وچ ۾ جيڪو اصل ۾ ڪلائنٽ جي سيڪيورٽي پوزيشن کي مضبوط ڪري ٿو.

ڇا توهان ويب ايپليڪيشن جي جائزي، بگ باؤنٽي جو شڪار، يا ڪاروباري پليٽ فارم ۾ سيڪيورٽي ٺاهي رهيا آهيو جيڪو حساس ڪسٽمر ڊيٽا کي سنڀاليندو آهي، CSP علم بنيادي آهي. هي گائيڊ وضاحت ڪري ٿو ته CSP ڇا آهي، اهو ڪيئن ڪم ڪري ٿو هوڊ هيٺ، اهو ڪٿي ناڪام ٿئي ٿو، ۽ ڪيئن پينٽيسٽرز سسٽماتي طريقي سان جائزو وٺي سگهن ٿا ۽ ڪمزور پاليسين کي نظرانداز ڪري سگهن ٿا.

ڪهڙي مواد سيڪيورٽي پاليسي اصل ۾ ڪري ٿي

ان جي بنيادي طور تي، CSP هڪ اعلاناتي حفاظتي ميکانيزم آهي جيڪو هڪ HTTP جوابي هيڊر ذريعي پهچايو ويو آهي (يا گهٽ عام طور تي، هڪ ٽيگ). اهو برائوزر کي هدايت ڪري ٿو ته مواد جا ذريعا - اسڪرپٽ، انداز، تصويرون، فونٽ، فريم، ۽ وڌيڪ - ڏنل صفحي تي لوڊ ۽ عمل ڪرڻ جي اجازت آهي. جڏهن ڪو وسيلو پاليسي جي خلاف ورزي ڪري ٿو، برائوزر ان کي بلاڪ ڪري ٿو ۽ اختياري طور تي ان خلاف ورزي کي مخصوص آخري پوائنٽ ڏانهن رپورٽ ڪري ٿو.

سي ايس پي جي پويان اصل حوصلو XSS حملن کي گهٽائڻ هو. روايتي XSS دفاعن جهڙوڪ انپٽ صفائي ۽ آئوٽ انڪوڊنگ اثرائتو آهن پر خراب آهن - هڪ واحد مس ٿيل حوالو يا انڪوڊنگ غلطي خطري کي ٻيهر متعارف ڪرائي سگهي ٿي. CSP هڪ ڊفينس-ان-ڊيپٿ پرت شامل ڪري ٿو: جيتوڻيڪ ڪو حملو ڪندڙ هڪ خراب اسڪرپٽ ٽيگ کي DOM ۾ داخل ڪري ٿو، هڪ صحيح ترتيب ڏنل پاليسي برائوزر کي ان تي عمل ڪرڻ کان روڪي ٿي.

CSP هلندي آهي هڪ وائيٽلسٽ ماڊل تي. سڃاتل-خراب مواد کي بلاڪ ڪرڻ جي بدران، اها وضاحت ڪري ٿي ته ڇا واضح طور تي اجازت ڏني وئي آهي. باقي سڀڪنھن شيء کي ڊفالٽ طور رد ڪيو ويو آهي. سيڪيورٽي ماڊل جو هي ڦيرو نظرياتي طور تي طاقتور آهي، پر عملي طور تي، پيچيده ويب ايپليڪيشنن تي سخت پاليسين کي برقرار رکڻ - خاص طور تي پليٽ فارمس جيڪي ڪيترن ئي مربوط ماڊلز کي منظم ڪن ٿا جهڙوڪ CRM، انوائسنگ، اينالائيٽڪس، ۽ بکنگ سسٽم - بدنام ڏکيو آهي.

Anatomy of a CSP Header: Directives and Sources

هڪ CSP هيڊر ٺهيل آهي هدايتون، هر هڪ مخصوص وسيلن جي قسم کي ڪنٽرول ڪري ٿو. انھن ھدايتن کي سمجھڻ ضروري آھي ڪنھن پينٽيسٽر لاءِ ھدف جي پاليسي جو جائزو وٺڻ. سڀ کان اهم هدايتن ۾ شامل آهن default-src (ڪنهن به هدايت جي لاءِ واپسي جو واضح طور تي مقرر نه ڪيو ويو آهي)، script-src (JavaScript execution)، style-src (CSS)، img-src (تصويرون)، connect-src (تصويرون)، connect، Web-Rc-Soc frame-src (embedded iframes)، ۽ object-src (پلگ ان جهڙوڪ Flash يا Java applets).

هر هدايت قبول ڪري ٿي هڪ يا وڌيڪ ذريعو اظهار جيڪي اجازت ڏنل اصليت کي بيان ڪن ٿا. اهي حد مخصوص ميزبان نالن (https://cdn.example.com) کان وٺي وسيع لفظن تائين:

  • 'self' — اجازت ڏئي ٿو وسيلن کي ساڳي اصليت کان جيئن دستاويز
  • 'none' — بلاڪ ڪري ٿو ان قسم جي سڀني وسيلن کي
  • 'nonce-{random}' — اجازت ڏئي ٿو مخصوص ان لائن اسڪرپٽس کي ٽيگ ٿيل هڪ ملندڙ cryptographic nonce سان
  • 'سخت-متحرڪ' — اڳ ۾ ئي قابل اعتماد اسڪرپٽ پاران لوڊ ڪيل اسڪرپٽ تي ڀروسو ڪري ٿو، ميزبان جي بنياد تي اجازت ڏنل فهرستن کي نظرانداز ڪري ٿو
  • ڊيٽا: — اجازت ڏئي ٿو ڊيٽا URIs کي مواد جي ذريعن طور

هڪ حقيقي-دنيا CSP هيڊر شايد هن طرح نظر اچي: Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net 'nonce-abc123'؛ style-src 'self' 'unsafe-inline'؛ img-src *؛ اعتراض-src 'none'. هڪ پينٽيسٽر جي حيثيت سان، توهان جو ڪم اهو آهي ته هن پاليسي کي پڙهو ۽ فوري طور تي سڃاڻو ته اها ڪٿي مضبوط آهي، ڪٿي ڪمزور آهي، ۽ ڪٿي ان جو استحصال آهي.

عام CSP غلط ترتيبون پينٽيسٽرن کي ھدف ڪرڻ گھرجي

سي ايس پي هيڊر کي لڳائڻ ۽ موثر سي ايس پي هيڊر لڳائڻ جي وچ ۾ فرق تمام وڏو آهي. عملي طور تي، اڪثر پاليسيون ڊولپر جي سهولت، ٽئين پارٽي جي انضمام، يا سادي غلط فهمي پاران متعارف ڪرايل ڪمزورين تي مشتمل هونديون آهن. جائزي جي دوران، پينٽسٽرز کي انهن عام ناڪامين لاء منظم طريقي سان جانچڻ گهرجي.

سڀ کان وڌيڪ تباهي واري غلط ترتيب 'unsafe-inline' جي script-src هدايت ۾ موجودگي آهي. هي واحد لفظ CSP جي سموري اينٽي XSS فائدي کي بنيادي طور تي بيڪار بڻائي ٿو، ڇاڪاڻ ته اهو برائوزر کي اجازت ڏئي ٿو ته ڪنهن به ان لائن