صرافی بایننس هدف حمله هکری قرار گرفت؛ بیش از ۶.۲ میلیارد دلار در ۸ بلاکچین از دست رفت
پکن – صرافی ارز دیجیتال بایننس (Binance) روز گذشته هدف یک حمله هکری گسترده قرار گرفت که منجر به از دست رفتن حدود ۶.۲۸ میلیارد دلار در ۸ بلاکچین مختلف شد. بخش قابل توجهی از این مبلغ، معادل ۶.۰۷ میلیارد دلار، تنها در عرض ۵۵ دقیقه به سرقت رفت. ردیابیهای زنجیرهای نشان میدهد که مهاجمان با استفاده از قراردادهای هوشمند که از قبل مستقر کرده بودند و بهرهگیری از قابلیت EIP-7702، کنترل کیف پول اتریوم بایننس را به دست گرفته و پیش از آنکه صادرکنندگان استیبلکوینهایی مانند تتر (Tether) و سرکل (Circle) اقدام به مسدود کردن داراییها کنند، موفق به انتقال آنها شدند. تا زمان انتشار این خبر، حدود ۳.۲۷ میلیارد دلار از این وجوه همچنان قابل جابجایی باقی مانده است.
جزئیات خسارات و روش حمله
بر اساس گزارش دیکسون (Dickson)، ردیاب دادههای زنجیرهای، در مجموع حدود ۶.۲۸ میلیارد دلار در ۸ بلاکچین مختلف از کیف پولهای داغ (hot wallets) بایننس به سرقت رفته است. ۶.۰۷ میلیارد دلار از این مبلغ در ۵۵ دقیقه اول پس از حمله منتقل شده و مهاجمان بیش از دو ساعت به پاکسازی یکی از کیف پولهای اتریوم ادامه دادند. تخمین زده میشود که تتر، سرکل، ریپل (Ripple)، پاکسوس (Paxos)، ورلد لیبرتی (World Liberty) و خود بایننس در مجموع حدود ۲.۸ میلیارد دلار از این داراییها را مسدود کردهاند، اما حدود ۳.۲۷ میلیارد دلار، عمدتاً بیتکوین و اتر، همچنان آزادانه قابل انتقال است.
آمار دیکسون نشان میدهد که بیشترین خسارت مربوط به کیف پول اتریوم با حدود ۳.۷۴ میلیارد دلار بوده است. در بلاکچین بیتکوین، ۱۸,۲۷۰.۲ بیتکوین معادل حدود ۱.۴۷ میلیارد دلار به سرقت رفته است. در بلاکچین ترون (Tron)، ۶۱۲.۷ میلیون USDT و ۴۶.۴ میلیون TRX معادل حدود ۶۲۷.۵ میلیون دلار منتقل شده است. همچنین ۲۳۳.۵ میلیون XRP معادل حدود ۲۹۶.۵ میلیون دلار و ۹۷۰,۵۲۲ SOL معادل حدود ۹۶.۱ میلیون دلار از بلاکچین سولانا (Solana) به سرقت رفته است.
سایر بلاکچینهای تحت تأثیر شامل آربیتروم (Arbitrum) با ۸,۴۲۶ اتر و ۷۴.۶ میلیون ARB، آوالانچ (Avalanche) با ۱.۸۱ میلیون AVAX و ۸.۴۱ میلیون USDt، و آپتیمیسم (Optimism) با ۴۴.۲ میلیون OP میشود. در میان داراییهای منفرد، بیشترین زیان مربوط به USDT با حدود ۱.۸۷ میلیارد دلار، USDC با حدود ۸۲۳ میلیون دلار و ETH با حدود ۴۵۷ میلیون دلار (۱۹۷,۶۶۸ اتر) بوده است. علاوه بر این، دهها توکن دیگر از جمله RLUSD، wBETH، XAUt، UNI، ENA، PEPE، LINK و USD1 نیز مورد دستبرد قرار گرفتهاند.
آمادگی پیش از حمله
دیکسون ردیابی کرده است که مهاجمان از یک روز قبل از حمله در حال آمادهسازی بودهاند. در تاریخ ۲۸ اکتبر ساعت ۰۷:۳۹ UTC، کیف پول اصلی مهاجم برای اولین بار ۰.۱ اتر از Tornado Cash برداشت کرد و سپس دو بار دیگر این کار را تکرار نمود. کیف پول دوم نیز ۱ اتر از Tornado برداشت کرده و در تاریخ ۲۹ اکتبر به کیف پول اصلی منتقل شد. در تاریخ ۲۹ اکتبر ساعت ۰۲:۲۸ UTC، مهاجمان یک قرارداد هوشمند “sweeper” را مستقر کردند و بین ساعات ۱۳:۵۱ تا ۱۶:۴۷ با استفاده از کیف پول خود، اقدام به تمرین و آزمایش پاکسازی USDT و USDC از طریق تفویض اختیار EIP-7702 نمودند.
در ساعت ۱۵:۵۹ UTC، مهاجمان نسخه v2 قرارداد با تابع فراخوانی عمومی را فعال کردند که همین تابع مسئول انتقال ۸۲۳ میلیون USDC بود. دیکسون تأکید کرد که این حمله از پیش برنامهریزی شده بوده و مهاجمان پس از تکمیل استقرار ابزارها و تأیید فرآیندها، در تاریخ ۳۰ اکتبر به کیف پولهای داغ بایننس حمله کردند.
روند حمله در بلاکچینها
حمله در حدود ساعت ۲۰:۰۴ UTC آغاز شد. اولین مرحله حمله با شکست مواجه شد؛ کیف پول XRP بایننس ۴۲,۷۵۰,۰۰۰.۱ RLUSD را به سمت مهاجم ارسال کرد، اما از آنجایی که حساب XRP مهاجم هنوز ایجاد نشده بود، این تراکنش برگشت خورد. هشت ثانیه بعد، ۱۸۵,۰۱۷,۴۸۵.۵ XRP با موفقیت منتقل شد و حساب مهاجم ایجاد گردید. تا ساعت ۲۰:۰۹، چهار کیف پول دیگر XRP بایننس نیز تخلیه شدند.
سپس حمله در ۸ بلاکچین به صورت زنجیرهای ادامه یافت: در ساعت ۲۰:۱۰، ۹۶۵,۴۵۵.۱ SOL از سولانا در یک تراکنش منتقل شد. در ساعت ۲۰:۱۸، ۴۴.۲ میلیون OP از آپتیمیسم به سرقت رفت. در ساعت ۲۰:۲۰، ۱۸,۲۷۰.۲ بیتکوین در ۱۱ تراکنش منتقل شد و در همان بلاک به بستههای ۱,۰۰۰ بیتی تقسیم گردید. بین ساعت ۲۰:۲۰ تا ۲۰:۲۲، ۶۱۲.۷ میلیون USDT و ۴۶.۴ میلیون TRX از ترون منتقل شد. در ساعات ۲۰:۳۰ تا ۲۰:۳۵ نیز آربیتروم و آوالانچ مورد حمله قرار گرفتند.
هسته فنی حمله در اتریوم
روش حمله در بلاکچین اتریوم هسته فنی این رویداد را آشکار ساخت. دیکسون اشاره کرد که در ساعت ۲۰:۲۰:۵۹ UTC، مهاجمان تراکنشی با ۵۰ مجوز EIP-7702 ارسال کردند که همگی با کلید خصوصی Binance 14 امضا شده بودند و مربوط به nonce های ۱۸,۹۱۴,۷۷۵ تا ۱۸,۹۱۴,۸۲۴ میشدند. از آنجایی که Binance 14 خود در ساعت ۲۰:۱۷:۴۷ از nonce ۱۸,۹۱۴,۷۷۵ استفاده کرده بود، این مجوزها تنها چند دقیقه قبل از استفاده بایننس از این کیف پول امضا شده بودند.
یکی از این مجوزها، با nonce ۱۸,۹۱۴,۸۰۹، با تراکنش خود Binance 14 در همان بلاک که از nonce ۱۸,۹۱۴,۸۰۸ استفاده میکرد، مطابقت داشت. از این لحظه به بعد، Binance 14 کد مهاجمان را اجرا میکرد. در ساعت ۲۰:۲۴:۲۳، یک تراکنش sweep() منجر به انتقال ۱۶۷,۴۶۴ اتر و ۱.۶۱۵ میلیارد USDT شد. ۲۴ ثانیه بعد، Binance 16 نیز ۹ تراکنش انتقال مستقیم به مهاجمان را امضا کرد. در ساعات ۲۰:۴۱ و ۲۰:۵۹، مهاجمان با استفاده مجدد از Binance 14، ۸۲۳ میلیون USDC را از یک کیف پول هوشمند بایننس که به آن اعتماد داشت، منتقل کردند.
رقابت با صادرکنندگان استیبلکوین
پس از موفقیت حمله، صادرکنندگان استیبلکوین و مهاجمان وارد یک رقابت زمانی شدند. دیکسون ردیابی کرد که مهاجمان به سرعت USDT را تقسیم کردند: در ساعت ۲۰:۳۰، ۵۰۰ میلیون USDT به آدرس 0x9749…c762 منتقل شد که تا ساعت ۲۰:۵۹، ۳۲۵ میلیون از آن از طریق بازارسازان RFQ به اتر تبدیل شد و ۱۷۵ میلیون باقیمانده همچنان در حال انتقال بود. در ساعت ۲۰:۳۳، ۲۰۰ میلیون USDT دیگر به آدرس 0x0ddf…697e منتقل شد که حدود ۱۰ میلیون از آن در صرافی غیرمتمرکز (DEX) فروخته شد و ۱۹۰ میلیون به آدرس 0x8d53…639a منتقل گردید. این آدرس اخیر ۶۰ میلیون را به عنوان وثیقه در Aave قرار داد و اتر وام گرفت.
اولین لیست سیاه تتر در ساعت ۲۱:۰۱:۳۵ فعال شد و سرکل در ساعت ۲۱:۰۴:۵۹ آن ۸۲۳ میلیون USDC را مسدود کرد. اما برخی از وجوه در ثانیههای آخر فرار کردند: در ساعت ۲۱:۰۱:۵۹، آدرس 0x8d53 مبلغ ۱۳۰ میلیون USDT را به آدرس 0x77ed…c3eb منتقل کرد و ۴۸ ثانیه بعد تتر آدرس 0x8d53 را مسدود کرد. آدرس 0x77ed سپس حدود ۵۰ میلیون USDT را در DEX فروخت و ۸۰ میلیون را به آدرس 0x7aa4…bfd1 منتقل کرد. هنگامی که تتر در ساعت ۲۱:۱۲:۳۵ آدرس 0x7aa4 را مسدود کرد، این آدرس قبلاً تخلیه شده بود. دیکسون تخمین زد که از ۱.۸۷۵ میلیارد USDT در اتریوم، حدود ۴۳۵ میلیون قبل از رسیدن لیست سیاه فروخته شده، ۱.۳۸ میلیارد مسدود شده و ۶۰ میلیون به عنوان وثیقه در Aave گیر افتاده است.
سایر صادرکنندگان نیز به تدریج وارد عمل شدند: ورلد لیبرتی در ساعت ۲۰:۵۷:۴۷ مبلغ ۴۸.۵ میلیون WLFI را در لیست سیاه قرار داد. تتر در ساعت ۲۱:۰۷:۵۵ ۸.۴۱ میلیون USDt در آوالانچ را مسدود کرد و بین ساعات ۲۱:۰۹ تا ۲۱:۲۱، ۳۷۸.۷ میلیون USDT را در سه کیف پول ترون مسدود نمود. ریپل در ساعت ۲۲:۰۰:۵۹ RLUSD را مسدود کرد و آخرین فروش مهاجم و مسدود شدن در یک بلاک رخ داد. بایننس نیز در ساعت ۲۲:۴۸:۳۵ تعداد ۲۹,۹۳۴ wBETH را در لیست سیاه قرار داد.
کشمکش نهایی و وضعیت فعلی
از آنجایی که Binance 14 همچنان در وضعیت تفویض اختیار به قرارداد مهاجم قرار داشت، کشمکش ادامه یافت. مهاجمان دو بار دیگر در ساعات ۲۱:۰۴ و ۲۱:۴۴ اقدام به پاکسازی کردند و ابتدا ۱,۷۰۰ اتر و سپس ۳۷۰ اتر و ۲۰.۰۴ میلیون USDT را منتقل نمودند، اما این USDT به آدرس 0x5227 که قبلاً توسط تتر مسدود شده بود، منتقل شد. در ساعت ۲۲:۰۶:۲۳، تتر مستقیماً Binance 14 را در لیست سیاه قرار داد و تراکنشهای انتقال USDT که خود بایننس از این آدرس انجام میداد، در ساعات ۲۲:۱۵ و ۲۳:۰۱ ناموفق ماند.
در ساعت ۲۲:۳۹، مهاجمان آخرین پاکسازی را انجام دادند و ۱۲۸.۵ اتر و ۱۲۲ ارز کوچک را به یک کیف پول جدید منتقل کردند. بین ساعات ۲۲:۵۵ تا ۲۳:۰۷، بایننس خود اقدام به تخلیه Binance 14 نمود و ۴۶ تراکنش انتقال توکن به Binance 8 انجام داد که تقریباً هر ۱۲ ثانیه یک تراکنش بود. بین ساعات ۲۳:۳۶ تا ۲۳:۳۸، مهاجمان چهار بار دیگر تابع sweep() را فراخوانی کردند، اما هر چهار بار ناموفق بود. در خارج از اتریوم، ۸,۴۲۶ اتر و ۷۴.۶ میلیون ARB در آربیتروم بین ساعات ۲۱:۳۵ تا ۲۱:۳۸ به یک کیف پول جدید 7702 منتقل شده و در همانجا باقی ماندند. بخشی از AVAX در آوالانچ از طریق پل متقابل CCTP سرکل به اتریوم منتقل شد و ۴ دقیقه بعد توسط سرکل در لیست سیاه قرار گرفت.
تا حدود ساعت ۲۳:۵۰ UTC، دیکسون تخمین زد که حدود ۲.۸ میلیارد دلار از وجوه مسدود شده و حدود ۳.۲۷ میلیارد دلار مسدود نشده باقی مانده است. بیتکوین در ۱۹ کیف پول توزیع شده بود که ۱۷ کیف پول هر کدام دقیقاً ۱,۰۰۰ بیتکوین داشتند. همچنین ۴۵۸,۷۷۰ اتر در ۹ کیف پول توزیع شده بود. او تأکید کرد که تراکنشهای BTC، XRP و ترون از طریق زمان و اثر انگشت تراکنشها به هم مرتبط شدهاند، از جمله زمان مشابه، آدرسهای دریافت کننده کاملاً جدید، و کارمزد تراکنش و فرمت متفاوت نسبت به برداشتهای خود بایننس. تمام گواهیهای زنجیرهای هر تراکنش و مسدودسازی در رشته توییت او ضمیمه شده است.

Leave a Reply