مایکروسافت برای گزارش نقصی که به مهاجم اجازه دسترسی به حسابهای کاربران را میداد 50،000 دلار به یک محقق مستقل امنیتی اعطا کرده است.
این آسیبپذیری توسط Laxman Muthiyah گزارش شده است، هدف آسیبپذیری این است که کد امنیتی هفت رقمی را که برای احراز هویت کاربر به آدرس ایمیل یا شماره تلفن همراه او ارسال میشود، قبل از تنظیم مجدد رمز عبور brute-force کند.
به عبارت دیگر سناریوی تصاحب حساب کاربری نتیجه privilege escalation ناشی از بایپس احراز هویت است که برای تأیید کدهای ارسال شده، به عنوان بخشی از روند بازیابی حساب کاربری استفاده میشود.
این شرکت قبل از اینکه جزئیات نقص بصورت عمومی منتشر شود، در نوامبر سال 2020 به حل این مشکل پرداخت.
اگرچه موانع رمزگذاری و مکانیزمهای محدودکننده برای جلوگیری از ارسال مکرر ترکیبهای مختلف کدها به صورت خودکار توسط یک مهاجم وجود دارد، Muthiyah گفت که وی در نهایت مکانیزم رمزگذاری مورد استفاده برای محافظت از کد امنیتی و محدودیت ارسال چندین درخواست همزمان را دور زده است.
آزمایشهای Muthiyah نشان داد که از 1000 کدی که ارسال شده است، فقط 122 کد از سیستم عبور کرده و بقیه با کد خطای 1211 مسدود شدهاند.
این محقق در نوشتاری گفت: من فهمیدم كه آنها حتی اگر همه درخواستهایی كه ما ارسال میكنیم به طور همزمان به سرور وارد نشود، آدرس IP را در لیست سیاه قرار میدهند. تاخیر چند میلی ثانیهای بین درخواستها به سرور اجازه میدهد حمله را شناسایی کرده و آن را مسدود کند.
پس از این کشف موتیه گفت که او میتواند از محدودیت تست کد احراز هویت عبور کند و به مرحله بعدی تغییر رمز ورود برسد، در نتیجه این نقص به او اجازه Hijak حساب را میدهد.
متیه گفت: درمجموع یک مهاجم باید تمام احتمالات کدهای امنیتی 6 و 7 رقمی را که حدود 11 میلیون حالت است ارسال کند و باید همزمان برای تغییر رمز ورود هر حساب Microsoft (از جمله حسابهایی که 2FA فعال است) نیز ارسال شود.
این محقق امنیتی همچنین به طور جداگانه با ارسال 200000 درخواست همزمان از 1000 دستگاه مختلف، تکنیکی مشابه را برای بازیابی حساب اینستاگرام به کار برد و دریافت که امکان دستیابی به حساب وجود دارد. وی به عنوان بخشی از برنامه bug bounty این شرکت 30000 دلار پاداش دریافت کرد.
موتیه خاطرنشان کرد: در یک سناریوی واقعی حمله، مهاجم به 5000 آدرس IP برای هک کردن حساب احتیاج دارد که عدد بزرگی به نظر میرسد اما میتوان از ارائه دهندگان خدمات ابری مانند آمازون یا گوگل استفاده کرد. برای انجام حمله کامل با یک میلیون کد، باید حدود 150 دلار هزینه کرد.
این آسیبپذیری توسط Laxman Muthiyah گزارش شده است، هدف آسیبپذیری این است که کد امنیتی هفت رقمی را که برای احراز هویت کاربر به آدرس ایمیل یا شماره تلفن همراه او ارسال میشود، قبل از تنظیم مجدد رمز عبور brute-force کند.
به عبارت دیگر سناریوی تصاحب حساب کاربری نتیجه privilege escalation ناشی از بایپس احراز هویت است که برای تأیید کدهای ارسال شده، به عنوان بخشی از روند بازیابی حساب کاربری استفاده میشود.
این شرکت قبل از اینکه جزئیات نقص بصورت عمومی منتشر شود، در نوامبر سال 2020 به حل این مشکل پرداخت.
اگرچه موانع رمزگذاری و مکانیزمهای محدودکننده برای جلوگیری از ارسال مکرر ترکیبهای مختلف کدها به صورت خودکار توسط یک مهاجم وجود دارد، Muthiyah گفت که وی در نهایت مکانیزم رمزگذاری مورد استفاده برای محافظت از کد امنیتی و محدودیت ارسال چندین درخواست همزمان را دور زده است.
آزمایشهای Muthiyah نشان داد که از 1000 کدی که ارسال شده است، فقط 122 کد از سیستم عبور کرده و بقیه با کد خطای 1211 مسدود شدهاند.
این محقق در نوشتاری گفت: من فهمیدم كه آنها حتی اگر همه درخواستهایی كه ما ارسال میكنیم به طور همزمان به سرور وارد نشود، آدرس IP را در لیست سیاه قرار میدهند. تاخیر چند میلی ثانیهای بین درخواستها به سرور اجازه میدهد حمله را شناسایی کرده و آن را مسدود کند.
پس از این کشف موتیه گفت که او میتواند از محدودیت تست کد احراز هویت عبور کند و به مرحله بعدی تغییر رمز ورود برسد، در نتیجه این نقص به او اجازه Hijak حساب را میدهد.
متیه گفت: درمجموع یک مهاجم باید تمام احتمالات کدهای امنیتی 6 و 7 رقمی را که حدود 11 میلیون حالت است ارسال کند و باید همزمان برای تغییر رمز ورود هر حساب Microsoft (از جمله حسابهایی که 2FA فعال است) نیز ارسال شود.
این محقق امنیتی همچنین به طور جداگانه با ارسال 200000 درخواست همزمان از 1000 دستگاه مختلف، تکنیکی مشابه را برای بازیابی حساب اینستاگرام به کار برد و دریافت که امکان دستیابی به حساب وجود دارد. وی به عنوان بخشی از برنامه bug bounty این شرکت 30000 دلار پاداش دریافت کرد.
موتیه خاطرنشان کرد: در یک سناریوی واقعی حمله، مهاجم به 5000 آدرس IP برای هک کردن حساب احتیاج دارد که عدد بزرگی به نظر میرسد اما میتوان از ارائه دهندگان خدمات ابری مانند آمازون یا گوگل استفاده کرد. برای انجام حمله کامل با یک میلیون کد، باید حدود 150 دلار هزینه کرد.