کاربران شبکه اتریوم بهزودی با هشدارهایی در مورد نوعی حمله جدید روبرو خواهند شد؛ حملهای که میتواند کیف پول آنها را کاملاً تخلیه کند. شرکت بازارساز وینترمیوت (Wintermute) کدی طراحی کرده که درون قراردادهای مخرب اتریوم، پیام هشدار قرار میدهد.
به گزارش میهن بلاکچین، ارتقای پکترا کیف پولهای هوشمند را رایجتر میکند، اما این کیف پولها میتوانند ناآگاهانه از کدهای خارجی خطرناک استفاده کنند که هکرها از آنها برای تخلیه مخفیانه کیف پولها استفاده میکنند. وینترمیوت برای مقابه با این وضعیت کد کرایمانجویر (CrimeEnjoyor) را ایجاد کرد تا این قراردادهای مخفی تخلیهکننده کیف پول را شناسایی و به مردم هشدار دهد. این پیام هشدار درون قراردادهایی ظاهر میشود که بهطور خودکار موجودی کیف پولهایی را که کلید خصوصی آنها افشا شده، تخلیه میکنند.
هشدار امنیتی Wintermute و خطرات موجود برای کاربران اتریوم
برخی از کیف پولهای مبتنی بر قرارداد هوشمند از دستور قدرتمندی به نام DELEGATECALL
استفاده میکنند. این دستور به یک قرارداد اجازه میدهد کدی از قرارداد دیگری را اجرا کند، اما با استفاده از دادهها و حافظه خود.
هکرها میتوانند از این ویژگی سوءاستفاده کنند. آنها کیف پول هدف را فریب میدهند تا هنگام بهروزرسانی، بهجای یک قرارداد امن، به یک قرارداد مخرب متصل شود. در نتیجه، کیف پول ناخواسته کد مخرب را اجرا میکند؛ برای مثال، ممکن است تمام اتر و توکنهای شما را به آدرس هکر ارسال کند.
تشخیص چنین حملاتی دشوار است، زیرا قرارداد مخرب ممکن است تا زمانی که از طریق DELEGATECALL
فراخوانی نشود، کاملاً بیضرر بهنظر برسد.
بنابراین، بعد از ارتقای پکترا، با استفاده بیشتر کیف پولها از قراردادهای هوشمند قابل ارتقا، این حملات میتوانند رایجتر شوند. DELEGATECALL یکی از ابزارهای زیرساختی کلیدی در کیف پولهای قراردادمحور در اتریوم است، اما مستقیماً در رابط کاربری دیده نمیشود.
وینترمیوت چه کمکی کرده است؟ ابزاری به نام CrimeEnjoyor ایجاد کرد که میتوانید آن را مانند یک سیستم هشدار برای قراردادهای هوشمند در نظر بگیرید. کار این ابزار به این صورت است: این ابزار به قراردادهای هوشمند روی اتریوم، به ویژه آنهایی که میتوانند در DELEGATECALL استفاده شوند، نگاه میکند. کد آنها را اسکن میکند تا ببیند آیا ممکن است حاوی منطق تخلیه کیف پول باشند یا خیر.
در این پیام هشدار آمده که این قرارداد «توسط افراد مخرب برای برداشت خودکار ETH» استفاده میشود و بهطور واضح در آن نوشته شده: «هیچ اتریومی (ETH) ارسال نکنید».
این حملات از قابلیتی استفاده میکنند که در بهروزرسانی پکترا (Pectra) اضافه شده است. این قابلیت با عنوان EIP-7702 شناخته میشود و به کاربران اجازه میدهد بهصورت موقت، کنترل کیف پول خود را به قراردادهای هوشمند بسپارند.
به گفته شرکت Wintermute بیش از ۹۷٪ از واگذاریهای انجامشده با EIP-7702 به چندین قرارداد بوده که همه از یک کد کپیشده استفاده کردهاند. این قراردادها بهصورت خودکار ETH ورودی را از آدرسهایی که امنیتشان به خطر افتاده، خارج میکنند.
برای اینکه پیام هشدار CrimeEnjoyor در این قراردادها دیده شود، وینترمیوت کد ماشین مجازی اتریوم (EVM) این قراردادها را به زبان سالیدیتی (Solidity) بازنویسی و بهصورت عمومی تأیید کرده است.
به گفته Wintermute، حالا همین نسخه کپیشده از کد، سهم عمدهای از تمام واگذاریهای EIP-7702 را تشکیل میدهد. این وضعیت همزمان عجیب، نگرانکننده و جالب است.
پروپوزال EIP-7702، قابلیتی اختیاری است و انجام کارهای پایه مانند انتقال توکن به آن وابسته نیست. با این حال، Wintermute هشدار داده که نبود ابزارهای شفافسازی، تشخیص کدهای معتبر از کدهای مخرب را برای کاربران تازهوارد بسیار دشوار کرده است.
وینترمیوت گفته که اگر قراردادهای آلوده بیشتری شناسایی و برچسبگذاری شوند، امکان بررسی فعالیتهای مشکوک بیشتر میشود و از کاربران بیشتری محافظت خواهد شد.
پیشتر نیز شرکت امنیتی اسکم اسنیفر (Scam Sniffer) گزارش داده بود که یک کاربر، پس از امضای چند تراکنش مخرب در تاریخ ۲۳ می (۲ خرداد)، حدود ۱۴۶٬۵۵۰ دلار ضرر کرده است. این کاربر از قابلیت EIP-7702 استفاده کرده بود.
از زمان اجرای بهروزرسانی Pectra در تاریخ ۷ می (۱۷ اردیبهشت)، تاکنون بیش از ۱۲٬۳۰۰ تراکنش با استفاده از EIP-7702 انجام شده است.
این بهروزرسانی دو پروپوزال مهم دیگر هم بههمراه داشته است. پروپوزال اول با عنوان EIP-725، سقف مجاز برای سپردهگذاری ولیدیتورها را از ۳۲ اتر به ۲۰۴۸ اتر افزایش داده تا مدیریت برای نهادهای بزرگ آسانتر شود.
پروپوزال دوم با عنوان EIP-7691، نیز تعداد دادههای قابلذخیره در هر بلاک را بیشتر کرده است. هدف این بهروزرسانی افزایش مقیاسپذیری شبکههای لایه ۲ و کاهش هزینه تراکنشها بوده است.