OWASP سرفہرست 10 حفاظتی خطرات | جائزہ

کی میز کے مندرجات

OWASP ٹاپ 10 کا جائزہ

OWASP کیا ہے؟

OWASP ایک غیر منافع بخش تنظیم ہے جو ویب ایپ سیکیورٹی کی تعلیم کے لیے وقف ہے۔ 

OWASP سیکھنے کا مواد ان کی ویب سائٹ پر قابل رسائی ہے۔ ان کے ٹولز ویب ایپلیکیشنز کی سیکیورٹی کو بہتر بنانے کے لیے کارآمد ہیں۔ اس میں دستاویزات، ٹولز، ویڈیوز اور فورمز شامل ہیں۔

OWASP ٹاپ 10 ایک فہرست ہے جو آج ویب ایپس کے لیے اعلیٰ ترین حفاظتی خدشات کو اجاگر کرتی ہے۔ وہ تجویز کرتے ہیں کہ تمام کمپنیاں اس رپورٹ کو اپنے عمل میں شامل کریں تاکہ حفاظتی خطرات کو کم کیا جا سکے۔. ذیل میں OWASP ٹاپ 10 2017 رپورٹ میں شامل سیکیورٹی خطرات کی فہرست ہے۔

SQL انجکشن

ایس کیو ایل انجیکشن اس وقت ہوتا ہے جب کوئی حملہ آور کسی ویب ایپ کو نامناسب ڈیٹا بھیجتا ہے تاکہ ایپلی کیشن میں پروگرام میں خلل ڈالا جا سکے۔.

ایس کیو ایل انجیکشن کی ایک مثال:

حملہ آور ایک ان پٹ فارم میں ایس کیو ایل استفسار درج کر سکتا ہے جس کے لیے صارف نام سادہ متن کی ضرورت ہوتی ہے۔ اگر ان پٹ فارم محفوظ نہیں ہے، تو اس کے نتیجے میں ایس کیو ایل کے استفسار پر عمل درآمد ہوگا۔ یہ حوالہ دیا جاتا ہے ایس کیو ایل انجیکشن کے طور پر۔

ویب ایپلیکیشنز کو کوڈ انجیکشن سے بچانے کے لیے، یقینی بنائیں کہ آپ کے ڈویلپرز صارف کے جمع کردہ ڈیٹا پر ان پٹ کی توثیق کا استعمال کرتے ہیں. یہاں توثیق سے مراد غلط معلومات کو مسترد کرنا ہے۔ ایک ڈیٹا بیس مینیجر کی مقدار کو کم کرنے کے لیے کنٹرول بھی ترتیب دے سکتا ہے۔ معلومات کہ کر سکتے ہیں انکشاف کیا جائے ایک انجکشن حملے میں.

ایس کیو ایل انجیکشن کو روکنے کے لیے، OWASP ڈیٹا کو کمانڈز اور سوالات سے الگ رکھنے کی تجویز کرتا ہے۔ بہتر آپشن محفوظ استعمال کرنا ہے۔ API مترجم کے استعمال کو روکنے کے لیے، یا آبجیکٹ ریلیشنل میپنگ ٹولز (ORMs) پر منتقل ہونے کے لیے.

ٹوٹی ہوئی تصدیق

توثیق کی کمزوریاں حملہ آور کو صارف اکاؤنٹس تک رسائی اور ایڈمن اکاؤنٹ کا استعمال کرتے ہوئے سسٹم سے سمجھوتہ کرنے کی اجازت دے سکتی ہیں۔. ایک سائبر کرائمین ایک اسکرپٹ کا استعمال کر کے سسٹم پر پاس ورڈ کے ہزاروں امتزاج کو آزما سکتا ہے تاکہ یہ دیکھا جا سکے کہ کون سا کام کرتا ہے۔. سائبر کرائمین کے اندر آنے کے بعد، وہ صارف کی شناخت کو جعلی بنا سکتے ہیں، اور انہیں خفیہ معلومات تک رسائی دے سکتے ہیں۔.

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

حساس ڈیٹا کی نمائش

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

ایکس ایم ایل بیرونی ہستی (XEE)

ایک سائبر مجرم XML دستاویز میں بدنیتی پر مبنی XML مواد، کمانڈز، یا کوڈ کو اپ لوڈ یا شامل کرنے کے قابل ہو سکتا ہے۔. یہ انہیں ایپلی کیشن سرور فائل سسٹم پر فائلیں دیکھنے کی اجازت دیتا ہے۔ ایک بار جب ان تک رسائی ہو جائے تو، وہ سرور کے ساتھ بات چیت کر سکتے ہیں تاکہ سرور سائڈ ریکوئسٹ فورجری (SSRF) کے حملے کر سکیں۔.

XML بیرونی ہستی کے حملے کر سکتے ہیں۔ کی طرف سے روکا جائے ویب ایپلیکیشنز کو کم پیچیدہ ڈیٹا کی قسموں جیسے JSON کو قبول کرنے کی اجازت دینا. XML بیرونی ہستی پروسیسنگ کو غیر فعال کرنے سے XEE حملے کے امکانات بھی کم ہو جاتے ہیں۔

ٹوٹا ہوا رسائی کنٹرول

رسائی کنٹرول ایک سسٹم پروٹوکول ہے جو غیر مجاز صارفین کو حساس معلومات تک محدود کرتا ہے۔ اگر ایکسیس کنٹرول سسٹم ٹوٹ جاتا ہے تو حملہ آور تصدیق کو نظرانداز کر سکتے ہیں۔ یہ انہیں حساس معلومات تک رسائی فراہم کرتا ہے گویا ان کے پاس اجازت ہے۔ صارف کے لاگ ان پر اجازت کے ٹوکن کو لاگو کرکے رسائی کنٹرول کو محفوظ بنایا جاسکتا ہے۔ تصدیق کے دوران صارف کی ہر درخواست پر، صارف کے ساتھ اجازت کے ٹوکن کی تصدیق کی جاتی ہے، جس سے یہ اشارہ ملتا ہے کہ صارف اس درخواست کو کرنے کا مجاز ہے۔

سیکیورٹی کی غلط کنفیگریشن

سیکورٹی کی غلط کنفیگریشن ایک عام مسئلہ ہے۔ سائبر سیکورٹی ماہرین ویب ایپلیکیشنز میں مشاہدہ کرتے ہیں۔ یہ غلط کنفیگر شدہ HTTP ہیڈرز، ٹوٹے ہوئے رسائی کنٹرولز، اور ویب ایپ میں معلومات کو ظاہر کرنے والی غلطیوں کے ڈسپلے کے نتیجے میں ہوتا ہے۔. آپ غیر استعمال شدہ خصوصیات کو ہٹا کر سیکیورٹی کی غلط کنفیگریشن کو درست کر سکتے ہیں۔ آپ کو اپنے سافٹ ویئر پیکجوں کو بھی پیچ یا اپ گریڈ کرنا چاہیے۔

کراس سائٹ اسکرپٹنگ (XSS)

XSS کی کمزوری اس وقت ہوتی ہے جب کوئی حملہ آور صارف کے براؤزر میں بدنیتی پر مبنی کوڈ کو انجام دینے کے لیے ایک قابل اعتماد ویب سائٹ کے DOM API کو جوڑتا ہے۔. اس بدنیتی پر مبنی کوڈ کا نفاذ اکثر اس وقت ہوتا ہے جب کوئی صارف کسی ایسے لنک پر کلک کرتا ہے جو بظاہر کسی قابل اعتماد ویب سائٹ سے ہوتا ہے۔. اگر ویب سائٹ XSS کے خطرے سے محفوظ نہیں ہے، تو یہ کر سکتی ہے۔ سمجھوتہ کیا جائے. بدنیتی پر مبنی کوڈ جو پھانسی دی جاتی ہے حملہ آور کو صارفین کے لاگ ان سیشن، کریڈٹ کارڈ کی تفصیلات اور دیگر حساس ڈیٹا تک رسائی فراہم کرتا ہے۔.

کراس سائٹ اسکرپٹنگ (XSS) کو روکنے کے لیے، یقینی بنائیں کہ آپ کا HTML اچھی طرح سے صاف ہے۔ یہ کر سکتے ہیں کی طرف سے حاصل کیا جائے پسند کی زبان کے لحاظ سے قابل اعتماد فریم ورک کا انتخاب کرنا. آپ .Net، Ruby on Rails، اور React JS جیسی زبانیں استعمال کر سکتے ہیں کیونکہ وہ آپ کے HTML کوڈ کو پارس اور صاف کرنے میں مدد کریں گے۔ تصدیق شدہ یا غیر مستند صارفین کے تمام ڈیٹا کو ناقابل اعتماد کے طور پر استعمال کرنا XSS حملوں کے خطرے کو کم کر سکتا ہے۔.

غیر محفوظ ڈیسیریلائزیشن

ڈی سیریلائزیشن ایک سرور سے کسی شے میں سیریلائزڈ ڈیٹا کی تبدیلی ہے۔ سافٹ ویئر ڈویلپمنٹ میں ڈیٹا کا ڈی سیریلائزیشن ایک عام واقعہ ہے۔ یہ غیر محفوظ ہے جب ڈیٹا ڈی سیریلائز کیا جاتا ہے ایک ناقابل اعتماد ذریعہ سے یہ کر سکتے ہیں ممکنہ طور پر آپ کی درخواست کو حملوں کے لیے بے نقاب کریں۔ غیر محفوظ ڈی سیریلائزیشن اس وقت ہوتی ہے جب کسی غیر بھروسہ مند ذریعہ سے ڈی سیریلائزڈ ڈیٹا DDOS حملوں، ریموٹ کوڈ پر عمل درآمد کے حملوں، یا توثیق بائی پاسز کا باعث بنتا ہے۔.

غیر محفوظ ڈی سیریلائزیشن سے بچنے کے لیے، انگوٹھے کا اصول یہ ہے کہ صارف کے ڈیٹا پر کبھی بھروسہ نہ کریں۔ ہر صارف کا ان پٹ ڈیٹا ہونا چاہیے۔ علاج کیا جائے as ممکنہ طور پر بدنیتی پر مبنی غیر بھروسہ مند ذرائع سے ڈیٹا کو ڈی سیریلائز کرنے سے گریز کریں۔ اس بات کو یقینی بنائیں کہ ڈی سیریلائزیشن کام کرتی ہے۔ استعمال کیا جائے آپ کی ویب ایپلیکیشن میں محفوظ ہے۔

معلوم کمزوریوں کے ساتھ اجزاء کا استعمال

لائبریریوں اور فریم ورکس نے پہیے کو دوبارہ ایجاد کیے بغیر ویب ایپلیکیشنز کو تیار کرنا بہت تیز تر بنا دیا ہے۔. یہ کوڈ کی تشخیص میں فالتو پن کو کم کرتا ہے۔ وہ ڈویلپرز کے لیے ایپلی کیشنز کے مزید اہم پہلوؤں پر توجہ مرکوز کرنے کی راہ ہموار کرتے ہیں۔ اگر حملہ آور ان فریم ورک میں کارناموں کو دریافت کرتے ہیں، تو فریم ورک کا استعمال کرنے والا ہر کوڈ بیس ایسا کرے گا۔ سمجھوتہ کیا جائے.

اجزاء کے ڈویلپرز اکثر اجزاء کی لائبریریوں کے لیے سیکیورٹی پیچ اور اپ ڈیٹس پیش کرتے ہیں۔ اجزاء کی کمزوریوں سے بچنے کے لیے، آپ کو اپنی ایپلیکیشنز کو تازہ ترین سیکیورٹی پیچ اور اپ گریڈ کے ساتھ اپ ٹو ڈیٹ رکھنا سیکھنا چاہیے۔. غیر استعمال شدہ اجزاء کو ہونا چاہئے۔ ہٹا دیا جائے اٹیک ویکٹر کو کاٹنے کے لیے ایپلی کیشن سے۔

ناکافی لاگنگ اور مانیٹرنگ

آپ کی ویب ایپلیکیشن میں سرگرمیاں دکھانے کے لیے لاگنگ اور نگرانی اہم ہے۔ لاگنگ غلطیوں کا سراغ لگانا آسان بناتا ہے، نگرانی صارف لاگ ان، اور سرگرمیاں۔

ناکافی لاگنگ اور نگرانی اس وقت ہوتی ہے جب سیکیورٹی کے لیے اہم واقعات لاگ ان نہیں ہوتے ہیں۔ مناسب طریقے سے. حملہ آور اس کا فائدہ اٹھاتے ہوئے آپ کی درخواست پر حملہ کرنے کے لیے اس سے پہلے کہ کوئی قابل توجہ جواب ملے.

لاگ ان کرنے سے آپ کی کمپنی کو پیسہ اور وقت بچانے میں مدد مل سکتی ہے کیونکہ آپ کے ڈویلپرز کر سکتے ہیں۔ آسانی سے کیڑے تلاش کریں. یہ انہیں کیڑے تلاش کرنے کے بجائے ان کو حل کرنے پر زیادہ توجہ دینے کی اجازت دیتا ہے۔ درحقیقت، لاگنگ آپ کی سائٹس اور سرورز کو ہر بار چلانے اور چلانے میں مدد دے سکتی ہے بغیر کسی وقت کے ان کو کسی بھی وقت کا سامنا کرنا پڑا.

نتیجہ

اچھا کوڈ نہیں ہے۔ صرف فعالیت کے بارے میں، یہ آپ کے صارفین اور ایپلیکیشن کو محفوظ رکھنے کے بارے میں ہے۔. OWASP ٹاپ 10 ایپلی کیشن کے سب سے اہم حفاظتی خطرات کی فہرست ہے جو ڈویلپرز کے لیے محفوظ ویب اور موبائل ایپس لکھنے کے لیے ایک بہترین مفت وسیلہ ہے۔. خطرات کا اندازہ لگانے اور لاگ ان کرنے کے لیے اپنی ٹیم میں ڈویلپرز کو تربیت دینا آپ کی ٹیم کے وقت اور پیسے کو طویل مدت میں بچا سکتا ہے۔ اگر آپ چاہیں گے۔ OWASP Top 10 پر اپنی ٹیم کو تربیت دینے کے بارے میں مزید جانیں یہاں کلک کریں۔