این آسیبپذیری در فایلی قرار داشت که کدهای قابل خواندن توسط انسان را برای ذخیرهسازی به زبان ماشین ترجمه میکرد.
بر اساس اعلامیه در 16 مه توسط شرکت امنیتی Zellic که برای نظارت بر امنیت شبکه استخدام شده بود، شبکه بلاک چین Sui بی سر و صدا اشکالی را که می تواند «میلیاردها دلار» را در معرض خطر قرار دهد، برطرف کرده است.
خطای ضرر پول در Aptos و Sui
نگاهی سریع به یک اشکال منتشر نشده (اما رفع نشده) از دست دادن وجوه در اعتبارسنجی مهاجرت که به نظر می رسد توسط @zellic_io.
این اجازه می دهد تا بسیاری از انواع اکسپلویت ها علیه پروتکل های مبتنی بر Aptos یا Sui انجام شود.
— جاسپر | نئودیمیم (@JasperCPS) 11 آوریل 2023
این اشکال وابسته به اعتبار سنجی بایت کد بود، که تضمین می کند زبان Move قابل خواندن توسط انسان که برای نوشتن قراردادهای هوشمند در Sui استفاده می شود، به درستی در کد ماشین در هنگام استقرار نوشته می شود. در این اطلاعیه آمده است که اگر این خطا برطرف نمی شد، “می توانست به مهاجمان اجازه دهد تا چندین ویژگی امنیتی را دور بزنند و به طور بالقوه باعث خسارات مالی قابل توجهی شود.”
بر اساس این اعلامیه، Mysten Labs، توسعه دهنده Sui، باگ موجود در تراکنش 8bddbe65 را در 30 مارس پس از اطلاع Zellic از وجود آن، رفع کرد. این باگ ممکن است در سایر شبکههای مبتنی بر Move از جمله Aptos و Starcoin نیز وجود داشته باشد. طبق گفته تیم Zelic، نسخه Aptos این باگ با یک پچ در 10 آوریل برطرف شد.
یکی از نمایندگان شبکه 0L مبتنی بر Move به کوین تلگراف گفت که این اشکال بر نسخه Move تأثیری نداشته است. در 15 می، 0L یک سری آزمایش را به GitHub خود اضافه کرد، که به گفته او ثابت می کند که بهره برداری در نسخه 0L امکان پذیر نیست.
کوین تلگراف برای اظهار نظر با Aptos و Starcoin تماس گرفت اما پاسخی از سوی انتشارات دریافت نکرد.
Sui، یک شبکه بلاک چین توسعه یافته توسط Mysten Labs، توسط مهندسان سابق Meta Platform تاسیس شد. این انشعابی از پروژه منبع باز Libra است که توسط شرکت مادر فیسبوک متا ایجاد شده است. Libra در سال 2019 بسته شد.
برخی از توسعه دهندگان زبان قرارداد هوشمند Move را ترجیح می دهند زیرا ویژگی های امنیتی آن به ویژه برای بلاک چین مفید است. به عنوان مثال، به توسعهدهندگان اجازه میدهد تا انواع دادههای سفارشی، از جمله نوع «پول» را که قابل کپی یا حذف نیست، ایجاد کنند.
مرتبط با: جاستین سان پس از درگیری Sui LaunchPool با مدیر عامل Binance عذرخواهی کرد
مانند دیگر شبکه های بلاک چین، Sui کد را به زبانی که به آن نوشته شده ذخیره نمی کند. در عوض، این کد را از زبان قابل خواندن توسط انسان شبکه به بایت کد قابل خواندن توسط ماشین تبدیل می کند.
در انجام این ترجمه، Sui یک سری اعتبارسنجی انجام می دهد تا اطمینان حاصل کند که کد ترجمه شده ویژگی های امنیتی شبکه را نقض نمی کند. به عنوان مثال، تضمین می کند که سکه ها حذف یا کپی نمی شوند.
طبق پست وبلاگ توضیحی Zelic، او توسط Mysten Labs استخدام شد تا ارزیابی امنیتی این برنامه راستیآزمایی را انجام دهد. خطایی در خود اعتباردهنده پیدا نشد. با این حال، خطایی را در فایل “Control Flow Chart” یا “CFG” پیدا کرد که اعتباردهنده برای انجام بیشتر وظایف خود از آن استفاده می کند. به دلیل نحوه نگارش، CFG میتواند اجازه دهد خطوط خاصی از کد از اعتبارسنجی پنهان شود، و اجازه میدهد کدهایی که خطمشیهای امنیتی شبکه را نقض میکنند، ذخیره و اجرا شوند بدون اینکه دستگیر شوند.
این تیم در بیانیه ای اعلام کرد که واضح ترین راه برای بهره برداری از این آسیب پذیری این است که وام گیرندگان مخرب وام های فوری بگیرند. هنگامی که وام های فلش در شبکه های مبتنی بر Move پیاده سازی می شوند، پروتکل وام معمولا دارایی را برای وام گیرنده ارسال می کند که قابل حذف نیست. تیم گفت: اگر وام گیرنده بتواند آن دارایی را حذف کند، “با موفقیت یک وام سریع دریافت کنید و قادر به بازپرداخت وجوه قرض شده نباشید.” انواع دیگری از سوء استفاده ها ممکن بود، زیرا آسیب پذیری اجازه می داد اصول اساسی امنیت Move نقض شود. زیرا، “[placed] “به طور بالقوه میلیاردها دلار در خطر است.”
شبکههای مبتنی بر حرکت و اپلیکیشنهای آنها اخیراً موجهایی در دنیای جمعآوری سرمایه ایجاد کردهاند. یک صرافی غیرمتمرکز مبتنی بر Sui به نام Cetus بیش از 6 میلیون دلار در یک دقیقه در 8 می جمع آوری کرد. شرکت پشتیبان Aptos نیز در جولای 2022 بیش از 150 میلیون دلار جمع آوری کرد.
نویسنده: Tom Blackstone