محقق 16 ساله باگ مایکروسافت را پیدا کرد و به پایگاههای اطلاعاتی با 17.3 تریلیون ردیف دسترسی مدیر دسترسی پیدا کرد.
ساعت 2 بامداد است. آیا می دانید نوجوان شما چه می کند؟
یک محقق امنیتی 16 ساله به نام Faav یک نقص احراز هویت را در سرویس تجزیه و تحلیل Titan مایکروسافت پیدا کرد که به او اجازه می داد دسترسی سرپرست داشته باشد، پرس و جوهای SQL غیرمجاز را بدون اعتبارنامه معتبر ارسال کند و به طور بالقوه به پایگاه داده های تحلیلی حاوی حدود 17.3 تریلیون ردیف ذخیره شده دسترسی پیدا کند. Titan یک پلتفرم تجزیه و تحلیل داخلی است و ردموند دسترسی از طریق رابط وب خود را برای کارمندان مایکروسافت محدود می کند.
Faav با کمک یک هک بات هوش مصنوعی به نام Antares دریافت که می تواند از طریق میزبان خدمات ابری Azure به API Titan دسترسی داشته باشد زیرا Titan امضای یک نشانه ورود را بررسی نکرده است. مایکروسافت از آن زمان به بعد API را قفل کرده و برای تحقیقاتش به فااو 5000 دلار جایزه باگ پرداخت کرده است. او میگوید که این پیشرفت پس از 10 روز خطاهای احراز هویت رخ داد، زمانی که او پس از اتمام تکالیف مدرسه روز جمعه به مشکل بازگشت و در نهایت موفق شد SQL را بهعنوان مدیر Titan بعد از ساعت 1 بامداد شنبه اجرا کند. فاو در وبلاگی درباره یافته های خود گفت: «ساعت 2 بامداد بود.
میخواستم فریاد بزنم، یا حداقل چیزی را با صدای بلند بگویم، اما پدر و مادرم خواب بودند. بنابراین من همانجا نشستم و به 17،333،335،124،315 خیره شدم و دوباره ریاضیات را بررسی کردم. او همچنین خاطرنشان میکند که پست وبلاگ خود را به درخواست مایکروسافت بازنویسی کرد، بخشها و اعداد را برش داد و تأثیر آن را قبل از انتشار بازنویسی کرد. مایکروسافت در بیانیهای که برای وبلاگ خود در اختیار Faav قرار داده است، گفت: «ما از فرصتی برای بررسی یافتههای گزارششده توسط Faav قدردانی میکنیم. "تسلیم آنها و افشای آسیب پذیری هماهنگ آنها به ما کمک کرد تا با سخت تر کردن خدمات خود از مشتریان خود بهتر محافظت کنیم.
ما تحقیقات امنیتی ایمن را تحت شرایط برنامه Microsoft Bug Bounty ارزش و قدردانی می کنیم و مشتاقانه منتظر ادامه همکاری با Faav در آینده هستیم. یک پسر و رباتش تحقیقات در 25 آگوست زمانی آغاز شد که Antares API عمومی Titan را پیدا کرد. برای 10 روز آینده، انسان و ربات، بررسیهای احراز هویت JSON Web Token (JWT) و نامهای اصلی کاربر (UPN) با قالب ایمیل را آزمایش کردند و در نهایت یک توکن بدون امضا پیدا کردند که میتوانست به جستجوی کاربر محلی Titan برسد - اما نه یک UPN که Titan تشخیص داده باشد.
در اوایل 5 سپتامبر، Faav UPN توکن بدون امضا را از هویت قالببندی شده با ایمیل به مدیر تغییر داد. Titan آن را به عنوان یک نام کاربری محلی تشخیص داد، آن را به شناسه کاربری محلی 1 که نقش مدیریت را داشت، حل کرد و به او اجازه داد SQL را اجرا کند. به گفته Faav: تایتان محتویات JWT (مستاجر، مخاطب، شناسه برنامه، کاربر) را تأیید کرد اما هرگز امضا را تأیید نکرد، مهمترین بخش هر بررسی احراز هویت. چکهای احراز هویت مانند هتلی بود که در آن هر دری یک کارتخوان فعال داشت، اما هر کارت کلیدی قفل هر اتاق را باز میکرد.
با وجود تمام منطق کنترل دسترسی موجود در برنامه، یک قطعه گم شده همه آن را بی معنی کرد. اگر شما یک توسعه دهنده (یا عامل برنامه نویسی) هستید که این مطلب را می خوانید، مهم ترین نکته این پست این است که مطمئن شوید که امضاها را بیش از هر چیز دیگری هنگام ساختن اعتبار تأیید می کنید. این به Faav امکان دسترسی به پایگاه داده ابرداده پلتفرم Titan را داد و از آنجا میتوانست جداول برنامه را مستقیما جستجو کند. فراداده شامل: حدود 25000 پرونده حساب و ایمیل بود. 17990 پرونده ایمیل کارمند. 15001 سوابق سازمان کارکنان. 355 پیکربندی پایگاه داده. 20979 تعریف SQL مجموعه داده مجازی.
24569 داشبورد، 425891 نمودار و 27347 تعریف مجموعه داده. دایرکتوری کاربر و استفاده Titan عناوین شغلی کارمندان، بخشها و سلسله مراتب مدیریتی را نشان میدهد، که محقق اشاره میکند که میتواند برای حملات مهندسی اجتماعی مفید باشد - "اگرچه من هرگز آن را آزمایش یا نشان ندادم." او همچنین یک نمونه تجزیه و تحلیل بینگ پیدا کرد و دو ردیف را که حاوی اطلاعات جستجو، شناسهها و اطلاعات موقعیت مکانی سطح بالا، مانند جزئیات سطح کشور یا ایالت بودند، آزمایش کرد. Faav گفت که مقادیر مکان حاوی مکان های دقیق کاربر نیستند.
17.3 تریلیون ردیف داده سپس او به جکپات رسید، 56 مقدار مسیریابی را از یک پیکربندی آرشیو شده آزمایش کرد و کشف کرد که 30 عدد هنوز فعال هستند. شکارچی اشکال نوشت: «هر مقدار مسیریابی به یک پیکربندی باطن اشاره میکند، و هر پیکربندی شامل یک یا چند پایگاه داده است، بنابراین 30 مقدار زنده از طریق 24 پیکربندی به 17 پایگاه داده تحلیلی متصل که شامل 9863 نام جدول منحصربهفرد است، حل شد. مجموع به حدود 17.3 تریلیون ردیف می رسد، که Faav می گوید که تخمین ذخیره سازی برگرفته از ابرداده است و احتمالا شامل داده های تاریخی، تکراری و مشتق شده است.
"اما با این وجود تعداد بسیار بالایی است." بین 6 تا 8 سپتامبر، مایکروسافت از نوجوان خواست که آزمایش را متوقف کند و از آدرس IP او درخواست کرد تا هیچ فعالیت شرورانه ای را فراتر از تحقیقات پاداش باگ تأیید نکند. یک روز بعد، ردموند نقطه پایانی را قفل کرد و به Faav گفت: "گزارش باعث شد تا تحقیقات فوری و اصلاح برای رسیدگی به مواجهه باقی مانده انجام شود." مایکروسافت در 17 سپتامبر به شکارچی اشکال 5000 دلار برای کارش جایزه داد
متن اصلی (انگلیسی)
16-year-old researcher found a Microsoft bug, got admin access to databases with 17.3 trillion rows
It's 2 am. Do you know what your teen is doing?