مایکروسافت برای گزارش نقصی که به مهاجم اجازه دسترسی به حسابهای کاربران را میداد ۵۰،۰۰۰ دلار به یک محقق مستقل امنیتی اعطا کرده است.
این آسیبپذیری توسط Laxman Muthiyah گزارش شده است، هدف آسیبپذیری این است که کد امنیتی هفت رقمی را که برای احراز هویت کاربر به آدرس ایمیل یا شماره تلفن همراه او ارسال میشود، قبل از تنظیم مجدد رمز عبور brute-force کند.
به عبارت دیگر سناریوی تصاحب حساب کاربری نتیجه privilege escalation ناشی از بایپس احراز هویت است که برای تأیید کدهای ارسال شده، به عنوان بخشی از روند بازیابی حساب کاربری استفاده میشود.
این شرکت قبل از اینکه جزئیات نقص بصورت عمومی منتشر شود، در نوامبر سال ۲۰۲۰ به حل این مشکل پرداخت.
اگرچه موانع رمزگذاری و مکانیزمهای محدودکننده برای جلوگیری از ارسال مکرر ترکیبهای مختلف کدها به صورت خودکار توسط یک مهاجم وجود دارد، Muthiyah گفت که وی در نهایت مکانیزم رمزگذاری مورد استفاده برای محافظت از کد امنیتی و محدودیت ارسال چندین درخواست همزمان را دور زده است.
آزمایشهای Muthiyah نشان داد که از ۱۰۰۰ کدی که ارسال شده است، فقط ۱۲۲ کد از سیستم عبور کرده و بقیه با کد خطای ۱۲۱۱ مسدود شدهاند.
این محقق در نوشتاری گفت: من فهمیدم كه آنها حتی اگر همه درخواستهایی كه ما ارسال میكنیم به طور همزمان به سرور وارد نشود، آدرس IP را در لیست سیاه قرار میدهند. تاخیر چند میلی ثانیهای بین درخواستها به سرور اجازه میدهد حمله را شناسایی کرده و آن را مسدود کند.
پس از این کشف موتیه گفت که او میتواند از محدودیت تست کد احراز هویت عبور کند و به مرحله بعدی تغییر رمز ورود برسد، در نتیجه این نقص به او اجازه Hijak حساب را میدهد.
متیه گفت: درمجموع یک مهاجم باید تمام احتمالات کدهای امنیتی ۶ و ۷ رقمی را که حدود ۱۱ میلیون حالت است ارسال کند و باید همزمان برای تغییر رمز ورود هر حساب Microsoft (از جمله حسابهایی که 2FA فعال است) نیز ارسال شود.
این محقق امنیتی همچنین به طور جداگانه با ارسال ۲۰۰۰۰۰ درخواست همزمان از ۱۰۰۰ دستگاه مختلف، تکنیکی مشابه را برای بازیابی حساب اینستاگرام به کار برد و دریافت که امکان دستیابی به حساب وجود دارد. وی به عنوان بخشی از برنامه bug bounty این شرکت ۳۰۰۰۰ دلار پاداش دریافت کرد.
موتیه خاطرنشان کرد: در یک سناریوی واقعی حمله، مهاجم به ۵۰۰۰ آدرس IP برای هک کردن حساب احتیاج دارد که عدد بزرگی به نظر میرسد اما میتوان از ارائه دهندگان خدمات ابری مانند آمازون یا گوگل استفاده کرد. برای انجام حمله کامل با یک میلیون کد، باید حدود ۱۵۰ دلار هزینه کرد.
یک نظر