طبق آخرین گزارشها، فورک اثبات کار بلاک چین اتریوم توسط یک آسیبپذیری قرارداد میان زنجیرهای مورد هدف حمله بازپخش قرار گرفته است. این زنجیره اثبات کار که پس از ادغام اتریوم با نام ETHW شناخته میشود، ادعاهایی مبنی بر اینکه در آخر هفته متحمل یک حمله بازپخش (Replay Attack) شده را تکذیب کرده است.
بررسی حمله بازپخش به ETHW
شرکت حسابرسی قراردادهای هوشمند BlockSec یک حمله بازپخش در 16 سپتامبر را فاش کرد که در آن مهاجمان توکنهای ETHW را با پخش مجدد دادههای فراخوانی زنجیره اثبات سهام (PoS) اتریوم در زنجیره انشعابی Ethereum PoW جمع آوری کردند.
به گفته BlockSec، علت اصلی این حمله این دلیل بوده است که پل میان زنجیرهای Omni در زنجیره ETHW از شناسه زنجیره قدیمی استفاده کرده و شناسه زنجیرهای صحیح پیام را به درستی تأیید نمیکند.
شبکههای اصلی و آزمایشی اتریوم از دو شناسه یعنی شناسه شبکه و شناسه زنجیرهای (chainID) برای کاربردهای مختلف استفاده میکنند. پیام های همتا به همتا بین گرهها از شناسه شبکه و امضاهای تراکنش از شناسه زنجیرهای استفاده میکنند. EIP-155 شناسه زنجیرهای را به عنوان وسیله ای برای جلوگیری از حملات مجدد بین بلاک چین ETH و Ethereum Classic (ETC) معرفی کرد.
1/ Alert | BlockSec detected that exploiters are replaying the message (calldata) of the PoS chain on @EthereumPow. The root cause of the exploitation is that the bridge doesn't correctly verify the actual chainid (which is maintained by itself) of the cross-chain message.
— BlockSec (@BlockSecTeam) September 18, 2022
BlockSec اولین سرویس تحلیلی بود که این حمله را شناسایی کرد و به ETHW اطلاع داد اما ادعاهای اولیه مبنی بر اینکه یک حمله بازپخش روی زنجیره انجام شده است به سرعت رد شد. ETHW تلاش کرد تا Omni Bridge را از بهره برداری در سطح قرارداد مطلع کند:
Had tried every way to contact Omni Bridge yesterday.
Bridges need to correctly verify the actual ChainID of the cross-chain messages.
Again this is not a transaction replay on the chain level, it is a calldata replay due to the flaw of the specific contract. https://t.co/bHbYR4b2AW pic.twitter.com/NZDn61cslJ
— EthereumPoW (ETHW) Official #ETHW #ETHPoW (@EthereumPoW) September 18, 2022
تجزیه و تحلیل حمله نشان داد که هکرها با انتقال 200 عدد WETH از طریق پل Omni زنجیره Gnosis قبل از پخش مجدد همان پیام در زنجیره PoW شروع کرده و200 عدد ETHW اضافی را به دست آورده است. این امر منجر به تخلیه توازن قرارداد زنجیرهای مستقر در زنجیره PoW شد.
تجزیه و تحلیل BlockSec با استفاده از کد منبع پل Omni نشان داد که منطق تأیید chainID وجود دارد، اما chainID تأیید شده مورد استفاده در قرارداد از یک مقدار ذخیره شده در حافظه به نام unitStorage استخراج شده است.
این تیم توضیح داد که این شناسه زنجیرهای درستی نیست که از طریق کد عملیاتی CHAINID که توسط EIP-1344 پیشنهاد شده و توسط فورک حاصل پس از ادغام اتریوم تشدید شده است، جمع آوری شده بود:
این موضوع احتمالاً به دلیل قدیمی بودن کد که با استفاده از Solidity 0.4.24 طراحی شده رخ داده است. این کد پیش از انشعاب زنجیره PoW به خوبی کار میکرده است.
این امر به مهاجمان اجازه میدهد تا ETHW و احتمالاً دیگر توکنهای متعلق به پل را در زنجیره PoW جمعآوری کنند و به تجارت آنها در بازارهایی که توکنهای مربوطه را فهرست میکنند، ادامه دهند.
پس از رویداد موفقیت آمیز ادغام اتریوم که طی آن بلاک چین قرارداد هوشمند از PoW به PoS منتقل شد، گروهی از ماینرها تصمیم گرفتند زنجیره PoW را از طریق یک هارد فورک ادامه دهند.
منبع: Cointelegraph
پاسخ