جلسه 12: بررسی آزمایش تأیید هویت شکسته در تست امنیت

جلسه 12: بررسی آزمایش تأیید هویت شکسته در تست امنیت
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تار و پود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه گذشته ه بررسی Injection یا تزریق در تست امنیت پرداختیم؛ از جمله تزریق هایی که می تواند امنیت پایگاه داده شما را تهدید کند، تزریق SQL است. یک تزریق موفق SQL می تواند داده های حساس را از پایگاه داده بخواند، اصلاح کند، همچنین می تواند داده ها را از یک پایگاه داده حذف کند. در این جلسه به بررسی تزریق SQL پرداخته و راه های مقابله با آن را نیز معرفی کردیم. در این جلسه می خواهیم به آزمایش تأیید هویت شکسته در تست امنیت بپردازیم.
آزمایش تأیید هویت شکسته در تست امنیت
هنگامی که کارکردهای تأیید صحت مربوط به برنامه به درستی انجام نشده باشد ، به هکرها اجازه می دهد کلمه عبور یا ID جلسه را به خطر بیاندازند و یا از معایب اجرای دیگر با استفاده از اعتبار سایر کاربران سوء استفاده کنند. اجازه دهید با کمک نمودار ساده، عوامل تهدید، وکتورهای حمله، ضعف امنیتی، تأثیر فنی و تأثیرات تجاری این نقص را بهتر درک کنیم.

مثال ها:
An e-commerce application supports URL rewriting, putting session IDs in the URL − http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop
Hands ON
مرحله 1) وارد Webgoat شوید و به بخش “Session Management Flaws” بروید. اجازه دهید با جعل کوکی، احراز هویت را دور بزنیم. در زیر عکس این سناریو آورده شده است.

مرحله 2) هنگامی که ما با استفاده از اعتبارنامه webgoat/webgoat وارد سیستم می شویم، از Burp Suite می فهمیم که شناسه JSESSION C8F3177CCAFF380441ABF71090748F2E است در حالی که AuthCookie = 65432ubphcfx پس از تأیید اعتبار موفق صورت گرفته است.


مرحله 3) هنگامی که ما با استفاده از aspect/aspect اعتبارنامه وارد می شویم، از Burp Suite می فهمیم که JSESSION ID C8F3177CCAFF380441ABF71090748F2E است در حالی که AuthCookie = 65432udfqtb پس از تأیید اعتبار موفق صورت گرفته است.

مرحله 4) اکنون باید الگوهای AuthCookie را آنالیز کنیم. نیمه اول “۶۵۴۳۲” برای احراز هویت مشترک است. از این رو، ما به تجزیه و تحلیل آخرین قسمت از مقادیر authcookie مانند: ubphcfx برای کاربر webgoat و udfqtb برای کاربر می پردازیم.
مرحله 5) اگر نگاهی عمیق به مقادیر AuthCookie بیندازیم متوجه می شویم که قسمت آخر، طولی به اندازه نام کاربر دارد. از این رو بدیهی است که نام کاربری با روش رمزگذاری استفاده می شود. پس از آزمایش errors/brute مکانیسم ها متوجه می شویم که پس از برگرداندن نام کاربر، webgoat؛ ما در آخر با taogbew برخورد می کنیم و سپس کارکتر الفبای قبل همان چیزی است که به عنوان AuthCookie استفاده می شود. یعنی ubphcfx.
مرحله 6) اگر این مقدار کوکی را منتقل کنیم خواهیم دید که چه رخ می دهد. پس از تأیید اعتبار به عنوان webgoat، با استفاده از مرحله شماره ۴ و مرحله شماره ۵ مقدار AuthCookie را تغییر دهید تا کاربر Alice را ببندید.

مکانیسم های پیشگیری
- کنترل های تأیید هویت و مدیریت جلسه را به گونه ای ایجاد کنید که تمام احراز هویت و مدیریت جلسه را تعریف کند و مطابق استاندارد تأیید امنیت برنامه ها در OWASP تعریف شود.
- توسعه دهندگان باید اطمینان حاصل کنند که از نقص XSS که می تواند برای سرقت ID جلسه استفاده شود، اقدامات لازم را انجام می دهند.
سخن پایانی
در این جلسه به آزمایش تأیید هویت شکسته در تست امنیت پرداختیم؛ امیدوارم این مقاله مفید بوده باشد. در جلسه را به بررسی اسکریپت نویسی و تاثیر آن در تست امنیت اختصاص داده ایم. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
شاد و موفق باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.