ایک ہی سائٹ کوکیز ایک اہم حفاظتی طریقہ کار ہیں جو ویب ایپلیکیشنز میں کراس سائٹ ریکوسٹ فورجری (CSRF) حملوں کو کم کرنے کے لیے استعمال کی جا سکتی ہیں۔ CSRF حملے اس وقت ہوتے ہیں جب ایک حملہ آور شکار کو کسی ایسی ویب سائٹ پر غیر ارادی کارروائی کرنے کے لیے دھوکہ دیتا ہے جس پر شکار کی تصدیق ہوتی ہے۔ متاثرہ کے سیشن کا فائدہ اٹھا کر، حملہ آور متاثرہ کی جانب سے ان کی رضامندی کے بغیر کارروائیاں کر سکتا ہے۔
ایک ہی سائٹ کی کوکیز کوکیز کے دائرہ کار کو ایک ہی اصل تک محدود کرکے CSRF حملوں کو روکنے میں مدد کرتی ہیں۔ پروٹوکول (مثال کے طور پر، HTTP یا HTTPS)، ڈومین، اور پورٹ نمبر کے امتزاج سے ایک اصلیت کی وضاحت کی جاتی ہے۔ جب کوکی کو "SameSite" وصف کے ساتھ سیٹ کیا جاتا ہے، تو یہ بتاتا ہے کہ آیا کوکی کو کراس سائٹ کی درخواستوں میں بھیجا جانا چاہیے۔
"SameSite" وصف کے لیے تین ممکنہ قدریں ہیں:
1. "سخت": جب "SameSite" وصف کو "سخت" پر سیٹ کیا جاتا ہے، تو کوکی صرف اسی سائٹ سے شروع ہونے والی درخواستوں میں بھیجی جاتی ہے۔ اس کا مطلب ہے کہ کوکی کو کراس سائٹ درخواستوں میں نہیں بھیجا جائے گا، مؤثر طریقے سے CSRF حملوں کو روکتا ہے۔ مثال کے طور پر، اگر کوئی صارف "example.com" پر تصدیق شدہ ہے اور وہ ایک بدنیتی پر مبنی سائٹ پر جاتا ہے جو CSRF حملہ کرنے کی کوشش کرتی ہے، تو براؤزر درخواست میں "سخت" اسی سائٹ کی کوکی کو شامل نہیں کرے گا، اس طرح حملے کو روکا جائے گا۔
2. "Lax": جب "SameSite" وصف کو "Lax" پر سیٹ کیا جاتا ہے، تو کوکی کو کراس سائٹ درخواستوں میں بھیجا جاتا ہے جو کہ محفوظ سمجھی جاتی ہیں، جیسے کہ جب صارف کی جانب سے اعلیٰ سطحی نیویگیشن کے ذریعے درخواست کو متحرک کیا جاتا ہے۔ تاہم، کوکی ان درخواستوں میں نہیں بھیجی جاتی جو فریق ثالث کی ویب سائٹس کے ذریعے شروع کی جاتی ہیں، جیسے کہ جب کوئی تصویر یا اسکرپٹ ٹیگ کسی دوسرے ڈومین سے لوڈ کیا جاتا ہے۔ یہ سلامتی اور استعمال کے درمیان توازن فراہم کرتا ہے۔ مثال کے طور پر، ایک لنک کے ذریعے نقصان دہ سائٹ پر جانے والا صارف CSRF حملے کو متحرک نہیں کرے گا کیونکہ "Lax" اسی سائٹ کی کوکی کو درخواست میں شامل نہیں کیا جائے گا۔
3. "کوئی نہیں": جب "SameSite" وصف کو "کوئی نہیں" پر سیٹ کیا جاتا ہے، تو کوکی کو تمام کراس سائٹ درخواستوں میں بھیجا جاتا ہے، چاہے ان کی اصلیت کچھ بھی ہو۔ تاہم، "کوئی نہیں" استعمال کرنے کی سیکیورٹی کو یقینی بنانے کے لیے، کوکی کو "محفوظ" کے طور پر بھی نشان زد کیا جانا چاہیے، جس کا مطلب ہے کہ اسے صرف HTTPS کنکشنز پر بھیجا جائے گا۔ یہ مجموعہ ویب ایپلیکیشنز کو CSRF حملوں کے خلاف حفاظت کرتے ہوئے کراس سائٹ کی فعالیت کو سپورٹ کرنے کی اجازت دیتا ہے۔ واضح رہے کہ "کوئی نہیں" قدر صرف اس وقت استعمال کی جانی چاہیے جب ضروری ہو، کیونکہ یہ حملے کی سطح اور CSRF کے خطرات کے امکانات کو بڑھاتا ہے۔
CSRF حملوں کو کم کرنے میں ایک ہی سائٹ کی کوکیز کے استعمال کو واضح کرنے کے لیے، درج ذیل منظر نامے پر غور کریں: ایک بینکنگ ویب سائٹ جو صارفین کو رقوم کی منتقلی کی اجازت دیتی ہے۔ ایک ہی سائٹ کی کوکیز کے بغیر، ایک حملہ آور ایک بدنیتی پر مبنی ویب سائٹ بنا سکتا ہے جس میں ایک پوشیدہ فارم شامل ہوتا ہے جو خود بخود بینکنگ ویب سائٹ پر فنڈ ٹرانسفر کی درخواست جمع کرواتا ہے جب کسی مستند صارف کے ذریعے ملاحظہ کیا جاتا ہے۔ اگر صارف کے براؤزر میں درخواست میں سیشن کوکی شامل ہے، تو منتقلی صارف کی رضامندی کے بغیر عمل میں لائی جائے گی۔ تاہم، سیشن کوکی کو "سخت" وصف کے ساتھ ایک ہی سائٹ کوکی کے طور پر سیٹ کرنے سے، براؤزر کراس سائٹ کی درخواست میں کوکی کو شامل نہیں کرے گا، مؤثر طریقے سے CSRF حملے کو روکتا ہے۔
ویب ایپلیکیشنز میں سی ایس آر ایف کے حملوں کو کم کرنے کے لیے ایک ہی سائٹ کی کوکیز ایک قابل قدر حفاظتی طریقہ کار ہیں۔ کوکیز کے دائرہ کار کو ایک ہی اصل تک محدود کر کے، یہ کوکیز حملہ آوروں کو صارف کے سیشن کا ناجائز استعمال کرنے سے روکتی ہیں۔ "سخت" قدر اس بات کو یقینی بناتی ہے کہ کوکیز صرف اسی سائٹ سے آنے والی درخواستوں میں بھیجی جاتی ہیں، جبکہ "Lax" قدر کوکیز کو محفوظ کراس سائٹ درخواستوں میں بھیجنے کی اجازت دیتی ہے۔ "کوئی نہیں" ویلیو، "Secure" وصف کے ساتھ مل کر، CSRF حملوں سے حفاظت کرتے ہوئے کراس سائٹ کی فعالیت کو قابل بناتی ہے۔
سے متعلق دیگر حالیہ سوالات اور جوابات EITC/IS/WASF ویب ایپلیکیشنز سیکیورٹی کے بنیادی اصول:
- کیا ویب براؤزرز میں ڈو ناٹ ٹریک (DNT) کا نفاذ فنگر پرنٹنگ سے تحفظ فراہم کرتا ہے؟
- کیا HTTP سخت ٹرانسپورٹ سیکیورٹی (HSTS) پروٹوکول کو ڈاؤن گریڈ حملوں سے بچانے میں مدد کرتی ہے؟
- DNS ری بائنڈنگ حملہ کیسے کام کرتا ہے؟
- کیا ذخیرہ شدہ XSS حملے اس وقت ہوتے ہیں جب ویب ایپلیکیشن کی درخواست میں ایک بدنیتی پر مبنی اسکرپٹ شامل کیا جاتا ہے اور پھر صارف کو واپس بھیجا جاتا ہے؟
- کیا SSL/TLS پروٹوکول HTTPS میں ایک انکرپٹڈ کنکشن قائم کرنے کے لیے استعمال ہوتا ہے؟
- بازیافت میٹا ڈیٹا کی درخواست کے ہیڈر کیا ہیں اور انہیں ایک ہی اصل اور کراس سائٹ کی درخواستوں کے درمیان فرق کرنے کے لیے کیسے استعمال کیا جا سکتا ہے؟
- قابل اعتماد قسمیں کس طرح ویب ایپلیکیشنز کے حملے کی سطح کو کم کرتی ہیں اور حفاظتی جائزوں کو آسان بناتی ہیں؟
- قابل اعتماد قسموں میں پہلے سے طے شدہ پالیسی کا مقصد کیا ہے اور اسے غیر محفوظ سٹرنگ اسائنمنٹس کی شناخت کے لیے کیسے استعمال کیا جا سکتا ہے؟
- ٹرسٹڈ ٹائپس API کا استعمال کرتے ہوئے ٹرسٹڈ ٹائپ آبجیکٹ بنانے کا عمل کیا ہے؟
- مواد کی حفاظت کی پالیسی میں قابل اعتماد قسم کی ہدایت DOM پر مبنی کراس سائٹ اسکرپٹنگ (XSS) کی کمزوریوں کو کم کرنے میں کس طرح مدد کرتی ہے؟
مزید سوالات اور جوابات EITC/IS/WASF ویب ایپلیکیشنز سیکیورٹی کے بنیادی اصولوں میں دیکھیں

