گذشته نگر: جایزه اخیر Bug Bounty Coinbase | توسط Coinbase | فوریه 2022
در Coinbase، اولویت شماره یک ما تضمین این است که تعهدات امنیتی خود را در قبال مشتریان خود حفظ کنیم. در 11 فوریه 2022، گزارشی از یک محقق شخص ثالث دریافت کردیم که نشان می داد آنها نقصی را در رابط تجاری Coinbase کشف کرده اند. ما فوراً تیم پاسخگویی به حوادث امنیتی خود را برای شناسایی و اصلاح باگ بسیج کردیم و مشکل اساسی سیستم را بدون هیچ تأثیری بر سرمایه مشتری حل کردیم.
این پست وبلاگ نگاهی عمیقتر به جدول زمانی رویدادهای مربوط به گزارش اشکال، و همچنین توضیحی در مورد خود اشکال و اقداماتی که برای رفع آن انجام دادیم و اطمینان حاصل میکند که دوباره تکرار نمیشود، ارائه میکند.
(توجه داشته باشید، همه رویدادها در 11 فوریه 2022 رخ داده اند و همه زمان ها در PST هستند)
- 10:16 صبح: یکی از اعضای جامعه کریپتو توییت می کند که یک نقص جدی در رابط تجاری کوین بیس کشف کرده است و از تیم امنیتی کوین بیس درخواست می کند.
- 11:00 قبل از ظهر: بر اساس اطلاعات اولیه محدود ارائه شده توسط واسطه ها، Coinbase Security یک حادثه را اعلام می کند و منابع مهندسی را بسیج می کند تا شروع به آزمایش تمام رابط های تجاری برای تعیین اعتبار باگ ادعایی کند.
- 11:21 صبح: محقق کریپتو یک گزارش آسیبپذیری را از طریق HackerOne، پلتفرم پاداش باگ Coinbase ارسال میکند که نشان میدهد این نقص در یک API خاص برای تجارت پیشرفته خردهفروشی وجود دارد. مهندسان Coinbase همچنین بررسی تمام رابطهای کاربری دیگر و APIهای Coinbase Exchange را تکمیل میکنند و تشخیص میدهند که تحت تأثیر قرار نگرفتهاند.
- 11:42 صبح: مهندسان Coinbase میتوانند این اشکال را بازتولید کنند و پلتفرم Retail Advanced Trading در حالت فقط لغو قرار میگیرد و معاملات جدید را غیرفعال میکند.
- 4:01 بعد از ظهر: یک پچ اعتبار سنجی و منتشر می شود و این حادثه را حل می کند.
علت اصلی این اشکال، بررسی اعتبارسنجی منطقی از دست رفته در نقطه پایانی API کارگزاری خردهفروشی بود، که به کاربر اجازه میداد معاملات را با استفاده از یک حساب منبع نامتناسب به یک دفترچه سفارش خاص ارسال کند. این API فقط توسط پلتفرم Retail Advanced Trading ما استفاده میشود، که در حال حاضر در نسخه بتا محدود است.
برای مثال زدن:
- یک کاربر یک حساب با 100 SHIB و یک حساب دوم با 0 BTC دارد.
- کاربر یک سفارش بازار را برای فروش 100 بیت کوین به دفتر سفارش BTC-USD ارسال می کند، اما به صورت دستی درخواست API خود را ویرایش می کند تا حساب SHIB خود را به عنوان منبع وجوه مشخص کند.
- در اینجا، سرویس اعتبارسنجی بررسی میکند که آیا حساب منبع دارای موجودی کافی برای تکمیل معامله است، اما نه اینکه آیا حساب منبع با دارایی پیشنهادی برای ارسال معامله مطابقت دارد یا خیر.
- در نتیجه، سفارش بازار برای فروش 100 بیت کوین در دفتر سفارش BTC-USD در صرافی کوین بیس وارد می شود.
عوامل کاهنده ای وجود داشت که اگر از این نقص در مقیاس استفاده می شد، تأثیر آن را محدود می کرد. به عنوان مثال، صرافی کوین بیس دارای کلیدهای خودکار حفاظت از قیمت است و تیم نظارت بر تجارت ما به طور مداوم بازارهای ما را برای سلامت و فعالیت های تجاری غیرعادی رصد می کند.
با تشکر از محققی که مسئولانه این مشکل را فاش کرد، Coinbase توانست این باگ را در عرض چند ساعت برطرف کند و به طور قطعی تشخیص دهد که هرگز مورد سوء استفاده مخرب قرار نگرفته است. ما همچنین بررسی های بیشتری را برای اطمینان از عدم تکرار مجدد آن اجرا کرده ایم.
Coinbase قویاً از تحقیقات امنیتی مستقل پشتیبانی می کند و هنگامی که این محققان مسائل جدی را کشف می کنند، ما می خواهیم اطمینان حاصل کنیم که به آنها پاداش داده می شود. در نتیجه، ما بزرگترین جایزه باگ خود را برای این یافته پرداخت می کنیم: 250000 دلار.
ما از ارسالهای بعدی این محقق و دیگران از طریق برنامه HackerOne خود استقبال میکنیم: https://hackerone.com/coinbase.