حمله ناشناس به ارتقای Pectra اتریوم در شبکه آزمایشی Sepolia
یک مهاجم ناشناس باعث شد توسعهدهندگان اتریوم یک "اصلاح خصوصی" انجام دهند، زیرا شبکه در طول ارتقای Pectra در شبکه آزمایشی Sepolia با مشکلات فنی مواجه بود. در یک گزارش پس از حادثه، ماریوس ون در ویدن، توسعهدهنده اتریوم، فاش کرد که مهاجم از یک "مورد خاص" نادیده گرفته شده سوءاستفاده کرده و با ارسال انتقالهای بدون توکن به قرارداد سپرده، بهطور مکرر خطاهایی را ایجاد کرده است که روند ارتقا را پیچیدهتر کرده است.
در ۵ مارس، ارتقای Pectra در Sepolia فعال شد، اما تقریباً بلافاصله، توسعهدهندگان شروع به مشاهده پیامهای خطا در گرههای geth خود کردند و تعداد بلاکهای خالی استخراجشده افزایش یافت. به گفته ون در ویدن، مشکل از اینجا ناشی شد که قرارداد سپرده یک رویداد غیرمنتظره (رویداد انتقال بهجای رویداد سپرده موردنیاز) را منتشر کرد که باعث شد گرهها تراکنشها را رد کرده و فقط بلاکهای خالی تولید کنند.
این باگ به EIP-6110 مرتبط بود که نیاز داشت تمام لاگهای قرارداد سپرده بهطور یکنواخت پردازش شوند. تیم geth یک اصلاحیه ارائه داد که "تمام لاگهای نادرست ناشی از قرارداد سپرده را نادیده میگیرد"، اما توسعهدهندگان بهطور گزارششده یک مورد خاص در استاندارد ERC-20 را نادیده گرفتند.
ون در ویدن توضیح داد: "استاندارد ERC20 انتقال توکن ۰ را ممنوع نمیکند، این به هرکسی (حتی اگر هیچ توکنی نداشته باشد) اجازه میدهد ۰ توکن را به آدرس دیگری منتقل کند که یک رویداد را منتشر میکند." او افزود که یک "مهاجم" از این موضوع سوءاستفاده کرده و با ارسال مکرر انتقالهای بدون توکن به قرارداد سپرده، همان خطا را ایجاد کرده و باعث شده شبکه به استخراج بلاکهای خالی ادامه دهد.
در ابتدا، توسعهدهندگان مشکوک بودند که یک اعتبارسنج مورد اعتماد اشتباهی مرتکب شده است، اما پس از بررسی، مشکل را به یک حساب تازه تأمینشده از یک شیر عمومی ردیابی کردند. برای متوقف کردن حمله، توسعهدهندگان نیاز داشتند تراکنشهای در حال تعامل با قرارداد سپرده را فیلتر کنند. بااینحال، آنها مشکوک بودند که مهاجم در حال نظارت بر چتهای آنها است که باعث شد یک "اصلاح خصوصی" را برای گرههای DevOps منتخب که حدود ۱۰٪ از شبکه را کنترل میکردند، انجام دهند.
پس از اعمال اصلاحیه، گرهها به تولید بلاکهای کامل بازگشتند و زنجیره تا ساعت ۱۴:۰۰ بهطور عادی کار کرد. چند بلاک بعد، تراکنش مهاجم با موفقیت استخراج شد که تأیید کرد تمام اپراتورهای گره بهروزرسانی شدهاند. باوجود اختلالات، اتریوم "هرگز نهاییسازی را از دست نداد" و مشکل به Sepolia محدود شد، زیرا قرارداد سپرده مبتنی بر توکن آن با قرارداد سپرده شبکه اصلی اتریوم متفاوت بود.
بااینحال، توسعهدهندگان تصمیم گرفتهاند ارتقای Pectra را برای آزمایش و رفع اشکال بیشتر به تأخیر بیندازند.
ارتقای Pectra اتریوم چیست؟
فورک Pectra برای بهبود استیکینگ ETH، افزایش مقیاسپذیری لایه ۲ و گسترش ظرفیت شبکه طراحی شده است. این فورک ۱۱ پیشنهاد بهبود اتریوم (EIP) را معرفی میکند و اولین ارتقای بزرگ از زمان Dencun است که در مارس ۲۰۲۴ فعال شد.
همانطور که قبلاً توسط crypto.news گزارش شده بود، توسعهدهندگان برنامهریزی کرده بودند Pectra را تا ۸ آوریل در شبکه اصلی پیادهسازی کنند، بهشرطی که هر دو شبکه آزمایشی Holesky و Sepolia ارتقاهای خود را با موفقیت به پایان برسانند. این ارتقا ابتدا در ۲۴ فوریه در شبکه آزمایشی Holesky پیادهسازی شد، جایی که با مشکلات فنی مواجه شد که مانع از نهاییسازی آن شد.