طبق یک پست وبلاگ منتشر شده توسط توسعه دهندگان کیف پول رمزنگاری ZenGo، این شرکت اعلام کرد که آسیبپذیریهای امنیتی را در راهحلهای شبیهسازی تراکنشهای مورد استفاده توسط برنامههای غیرمتمرکز محبوب یا dApps کشف کرده است. این آسیبپذیری که «حمله قرص قرمز» نامیده میشود، به برنامههای مخرب اجازه میدهد تا داراییهای کاربر را بر اساس تأییدیههای تراکنش غیرشفاف ارائه شده و تأیید شده توسط کاربران به سرقت ببرند. این آسیبپذیری نام خود را از صحنه نمادین «قرص قرمز» از سری فیلمهای ماتریکس گرفته است.
«اگر بدافزار بتواند تشخیص دهد که واقعاً در یک محیط شبیهسازی شده اجرا میشود یا در ماتریس زندگی میکند، میتواند به شیوهای خوشخیم رفتار کند، در نتیجه راهحل ضد بدافزار را فریب دهد و ماهیت مخرب واقعی خود را تنها زمانی آشکار کند که واقعاً در یک محیط واقعی اجرا شود. محیط.”
ZenGo ادعا کرد که تحقیقاتش نشان داده است که بسیاری از فروشندگان پیشرو، از جمله کیف پول کوین بیس، در یک مقطع زمانی در برابر چنین حملاتی آسیب پذیر بودند. ZenGo میگوید: «همه فروشندگان از گزارشهای ما بسیار استقبال کردند و اکثر آنها به سرعت پیادهسازیهای معیوب خود را برطرف کردند.»
این آسیبپذیری به دلیل نظارت بر برنامهنویسی در «متغیرهای ویژه» در میان قراردادهای هوشمند که اطلاعات کلی در مورد عملکرد بلاک چین را ذخیره میکنند، مانند مهر زمانی بلوک فعلی، امکانپذیر است. با این حال، در طول شبیهسازی، ZenGo میگوید که هیچ مقدار درستی برای متغیرهای ویژه وجود ندارد و توسعهدهندگان ادعا میکند که «یک میانبر را انتخاب میکنند» و آنها را روی یک مقدار دلخواه تنظیم میکنند.
“به عنوان مثال، دستورالعمل “COINBASE” حاوی آدرس ماینر بلاک فعلی است. از آنجایی که در طول شبیه سازی هیچ بلوکی واقعی وجود ندارد و بنابراین هیچ ماینری وجود ندارد، برخی از پیاده سازی های شبیه سازی فقط آن را به آدرس تهی (آدرس تمام صفرها) تنظیم می کنند.”
در یک ویدیو، توسعهدهندگان ZenGo نشان دادند که چگونه یک شبیهسازی قرارداد هوشمند در Polygon (MATIC) از کاربران میخواهد که در ازای سکههای دیگری، سکههای بومی ارسال کنند، میتواند از طریق این روش به خطر بیفتد:
وقتی کاربر واقعاً تراکنش را روی زنجیره ارسال می کند، COINBASE [Wallet] در واقع با آدرس غیر صفر ماینر فعلی پر می شود و قرارداد فقط سکه های ارسال شده را می گیرد.”
ZenGo گفت که رفع این آسیبپذیری ساده است: «بهجای پر کردن این متغیرهای آسیبپذیر با مقادیر دلخواه، شبیهسازیها باید آنها را با مقادیر معنادار پر کنند». این شرکت اسکرین شات های ویرایش شده ای از پاداش های باگ را که ظاهراً توسط Coinbase اعطا شده بود، برای حل این مشکل ارائه کرد. بنیاد اتریوم (ETH) همچنین 50000 دلار کمک مالی به ZenGo برای تحقیقات آنها در مورد شبیه سازی تراکنش اعطا کرده است.
فریاد سریع به محقق امنیتی @0xVazi از جانب @ZenGo که اخیراً چند پیشنهاد مفید و فعال ارائه کرده است!
ما عاشق همکاری با دیگران در فضای امنیتی برای حفظ امنیت همه هستیم
— Pocket Universe (@PocketUniverseZ) 27 ژانویه 2023