اخبار ارز دیجیتال

اتهامات قالیچه میلیون دلاری چیبی فاینانس: چه اتفاقی افتاد


به گزارش پایگاه خبری ارز دیجیتال موبو ارز،

بهره‌برداران از یک تابع پانیک که در هشت قرارداد هوشمند مختلف تعبیه شده بود برای حذف یک میلیون دلار از وجوه کاربران بدون اجازه استفاده کردند.

در ۲۶ ژوئن، چیبی فاینانس، یک گردآورنده مالی غیرمتمرکز (DeFi)، توسط حساب توسعه‌دهنده خود برای استخراج یک میلیون دلار ارز دیجیتال از قراردادها از طریق یک کلاهبرداری آشکار با تاخیر یا خروج مورد سوء استفاده قرار گرفت. رابط کاربری رسمی پروتکل از بین رفته است که منجر به خطای ۴۰۴ و حذف تمام رسانه های اجتماعی برای برنامه شده است. پس از استخراج وجوه، وجوه با Wrapped Ether (WETH) مبادله شد، به Ethereum پل زد و سپس توسط مهاجمان به Tornado Cash فرستاده شد.

قیمت توکن حاکمیت چیبی فاینانس (CHIBI) بیش از ۹۰ درصد با انتشار این خبر کاهش یافت.

قیمت توکن CHIBI. منبع: CoinGecko.

اما “کشیدن فرش” نباید در DeFi امکان پذیر باشد. به هر حال، این برنامه ها، طبق تعریف، روی زیرساخت متمرکز اجرا نمی شوند. بنابراین، سازندگان برنامه نباید بتوانند با پول مجازی یا پول نقد همه افراد را کنار بگذارند.

به همین دلیل، تحلیل نحوه انجام کلاهبرداری ادعایی می تواند مفید باشد.

CertiK پس از بررسی این حادثه گزارش مفصلی تهیه کرده است. همراه با داده‌های بلاک چین، این گزارش می‌تواند نشان دهد که حمله چگونه رخ داده است و کاربران چه کاری می‌توانند برای محافظت از خود در برابر حملات و کلاهبرداری‌های مشابه در آینده انجام دهند.

اپلیکیشن چیبی فایننس

قبل از اینکه رابط کاربری آفلاین شود، چیبی خود را به عنوان «محبوب‌ترین جمع‌آوری بازدهی آربیتروم» توصیف کرد. این ادعا می کرد که کاربران می توانند از کل اکوسیستم Arbitrum درآمد کسب کنند.

به گفته CertiK، تجمیع‌کننده‌های DeFi از زمان راه‌اندازی در ماه آوریل شاهد افزایش در مجموع ارزش قفل شده (TVL) بوده‌اند، که معیاری برای سنجش ارزش ارزهای رمزپایه موجود در قراردادهای اپلیکیشن‌ها است. در ۲۱ ژوئن، چیبی اعلام کرد که در TVL به ۵۰۰۰۰۰ دلار رسیده است. در آن زمان، هدف تیم رسیدن به یک میلیون دلار بود.

در ۲۶ ژوئن، این برنامه برای اولین بار در CoinGecko فهرست شد و در معرض دید بیشتری قرار گرفت. مدت کوتاهی پس از این رویداد، درست قبل از اتمام توکن های قرارداد، به نظر می رسد هدف ۱ میلیون دلاری محقق شده است. در نتیجه، سرمایه گذاران بیش از ۱ میلیون دلار ارز دیجیتال را به دلیل حملات و کلاهبرداری از دست دادند.

قرارداد چیبی فاینانس

در این حمله از هشت حفره قرارداد مختلف استفاده شده در پروتکل Chibi Finance استفاده شد. این قراردادها برگرفته از پروژه های دیگر بود و منحصر به چیبی نبود. به عنوان مثال، یکی از آنها StrategyAave.sol در آدرس Arbitrum 0x45E8a9BA6Fcd612a30ae186F3Cc93d78Be3E7d8d است که در چندین آدرس دیگر در Abitrum، Ethereum، BNB Smart Chain و سایر شبکه ها نیز مستقر شده است.

مثال دیگر قرارداد StrategySushiSwap.sol در 0x9458Ea03af408cED1d919C8866a97FB35D06Aae0 است. همچنین دارای چندین نسخه در Arbitrum و شبکه های دیگر است.

به نظر می‌رسد این قراردادها معمولاً در برنامه‌های جمع‌آوری DeFi، نه فقط Chibi Finance، استفاده می‌شوند.

مربوط: DeFi Aggregation: هموار کردن راه برای پذیرش انبوه

عملکرد پانیک

داده‌های بلاک چین نشان می‌دهد که برخی از قراردادهای مورد استفاده توسط چیبی فاینانس شامل یک تابع «هراس» است که می‌تواند برای برداشتن همه توکن‌ها از استخر و ارسال آن‌ها به آدرس‌های خاص استفاده شود. مزرعه برنج. این قابلیت برای تاکتیک های مهاجم ضروری بود. من از StrategySushiSwap.sol به عنوان مثال برای توضیح نحوه عملکرد آن استفاده خواهم کرد.

خطوط ۳۴۰-۳۴۳ StrategySushiSwap.sol می گوید که وقتی تابع panic() فراخوانی می شود، تابع دومی به نام “emergencyWithdraw” در قرارداد ISushiStake را فراخوانی می کند.

تابع Panic() در قرارداد StrategySushiSwap.sol. منبع: داده های بلاک چین

قرارداد ISushiStake فقط یک رابط است. این شامل هیچ کد اجرایی نیست. در عوض، به قرارداد SushiSwap: MiniChefV2 در 0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3 اشاره می کند.

آدرس MiniChefV2 به عنوان یک قرارداد رسمی در مبادله غیرمتمرکز SushiSwap ذکر شده است. بنابراین تابع “panic” تابع “EmergencyWithdraw” را در داخل SushiSwap فراخوانی می کند.

تابع EmergencyWithdraw در خطوط ۶۲۶-۶۴۳ آدرس SushiSwap ظاهر می شود.

عملکرد برداشت اضطراری SushiSwap MiniChefV2. منبع: داده های بلاک چین

این ویژگی به صاحب وجوه اجازه می دهد بدون دریافت هیچ پاداشی برداشت کند. این ممکن است در مواقع اضطراری مفید واقع شود. به عنوان مثال، اگر به دلیل وجود اشکال در قرارداد پاداش، پاداش دریافت نشود، کاربر می تواند این تابع را فراخوانی کند.

عملکرد اضطراریWithdraw دارای یک ایمنی خطا برای جلوگیری از استفاده غیرمجاز است. خط ۳۶۰ می گوید “UserInfo storage user = userInfo”.[pid][msg.sender]’ به این معنی است که ‘کاربر’ به عنوان فرستنده پیام تعریف می شود. در شرایط عادی، این به کاربران امکان می‌دهد فورا وجوه خود را برداشت کنند، اما وجوه دیگران را نه.

به نظر نمی رسد که این ویژگی SushiSwap مخرب باشد. با این حال، اگر کاربران این تابع را مستقیماً از کیف پول خود فراخوانی نکنند، ممکن است مشکلاتی ایجاد شود.

به عنوان مثال، زمانی که کاربری با استفاده از Chibi Finance وجوهی را واریز کرد، آن ارز رمزنگاری شده توسط قرارداد StrategySushiSwap به SushiSwap ارسال شد، نه مستقیماً توسط کاربر نهایی. این بدان معناست که برنامه Chibi Finance هنگام تلاش برای برداشت وجوه اضطراری به عنوان یک “کاربر” شناخته شد. این به چیبی اجازه داد تا وجوه کاربران را از طرف آنها برداشت کند.

مربوط: نحوه تشخیص تاخیرهای DeFi: 6 نکته از Cointelegraph

اما تا زمانی که تابع پانیک فقط توسط کاربر نهایی قابل فراخوانی باشد، وجوه باید ایمن باشد.

متأسفانه ویژگی پانیک این نیاز را ندارد. در عوض، فقط به عنوان یک عملکرد “onlyGov” در قرارداد Chibi Finance فهرست شده است. یعنی مدیران را می توان صدا زد اما دیگران را نه. مهاجمان از این حفره برای انجام حملات خود استفاده کردند.

روش عملیاتی حمله چیبی فاینانس

بر اساس گزارش CertiK، نام کاربری اتریوم Shadowout.eth در ۱۵ ژوئن ۱۰ اتر (ETH) را از Tornado Cash خارج کرد. این وجوه به Arbitrum متصل شد و ۰.۲ ETH از این کاربر به آدرس 0x80c1ca8f002744a3b22ac5ba6ffc4dc0deda58e3 منتقل شد. این حساب دوم یک قرارداد مخرب در تاریخ ۲۳ ژوئن در آدرس 0xb61222189b240be3da072898eda7db58b00fd6ee ایجاد کرد.

مهاجم در تاریخ ۲۳ ژوئن هشت بار تابع “افزودن استخر” را علیه این قرارداد مخرب فراخوانی کرد. کد این تابع “افزودن استخر” ناشناخته است، زیرا قرارداد تأیید نشده است. با این حال، CertiK حدس می‌زند که هر یک از این تراکنش‌ها، قراردادهای Chibi Finance را به فهرست داده‌های قرارداد مخرب اضافه کرده است و در مجموع هشت قرارداد احتمالاً به لیست اضافه شده است.

در ۲۷ ژوئن، حساب توسعه‌دهنده Chibi Finance حقوق سرپرست هشت قرارداد Chibi Finance را به یک قرارداد مخرب منتقل کرد. این کار از طریق ۸ تراکنش جداگانه انجام می شود که هر یک از آنها تابع “setGov” یک قرارداد خاص را فراخوانی می کند.

حقوق مدیریت یکی از قراردادهای چیبی فایننس تغییر کرده است.منبع: داده های بلاک چین.

پس از اینکه یک قرارداد مخرب این اختیارات حکومتی را به دست آورد، سازندگان آن از عملکرد «اجرای» آن استفاده کردند. این منجر به تماس‌هایی برای «هراس» برای هر یک از ۸ قرارداد و همچنین «انصراف اضطراری» به مجموعه مرتبط از برنامه‌های DeFi مانند SushiSwap، Aave و Global Hectare شد.

در نتیجه، تمام وجوهی که توسط کاربران از طریق Chibi Finance به این استخرها سپرده شده بود توسط مهاجمان خارج شد و باعث شد سرمایه گذاران بیش از ۱ میلیون دلار ضرر کنند.

چگونه از کشیدن فرش های سبک چیبی خودداری کنیم؟

با توجه به اینکه این حمله متکی به یک ویژگی “هراس” بود که به مدیران اجازه می داد تمام سرمایه کاربر را تخلیه کنند، یکی از راه های جلوگیری از کشیدن فرش به سبک چیبی داشتن این ویژگی است، از برنامه استفاده نکنید.

از سوی دیگر، اگر تجمیع‌کننده ویژگی «هراس» نداشته باشد، در صورت کشف یک باگ یا سوء استفاده در اپلیکیشن جمع‌آور، خطر گیر افتادن وجوه کاربران وجود دارد. اگر کاربران تصمیم به استفاده از یک برنامه تجمیع کننده به جای تعامل مستقیم با استخر زیربنایی داشته باشند، ممکن است لازم باشد این مبادلات را در نظر بگیرند.

مربوط: بیش از ۲۰۴ میلیون دلار از دست رفته در هک ها و کلاهبرداری های DeFi در سه ماهه دوم: گزارش

کاربران DeFi همچنین متوجه می‌شوند که کد قرارداد هوشمند می‌تواند بسیار پیچیده باشد و ممکن است برای اکثر کاربران غیرممکن باشد که خودشان تشخیص دهند که آیا یک برنامه دارای نقص‌های امنیتی است یا خیر. شاید لازم باشد در نظر گرفته شود. CertiK در گزارش خود ادعا می کند:

«مورد Chibi Finance خطرات مرتبط با تمرکز در فضای Web3 را نشان می دهد.[…]این یک انتظار غیرواقعی برای سرمایه گذاران عادی است که بتوانند ریسک های تمرکز را در پروژه ای مانند Chibi Finance به سادگی با انجام تحقیقات خود شناسایی و درک کنند. ”

CertiK گفت، به همین دلیل، کاربران ممکن است نیاز داشته باشند که ممیزی منتشر شده برنامه را قبل از استفاده از آن بررسی کنند.

چیبی فاینانس ادعا کرد که توسط شرکت امنیتی بلاک چین SolidProof حسابرسی شده است. محتوای ممیزی ادعا شده دیگر در دسترس نیست زیرا GitHub پروژه حذف شده است و دیگر در بایگانی اینترنت ذخیره نمی شود. Cointelegraph قادر به تعیین اینکه آیا خطرات ناشی از ویژگی “Panic” در گزارش حسابرسی افشا شده است یا حتی اینکه آیا ممیزی انجام شده است، ناتوان بود.

Cointelegraph برای اظهار نظر با Solidproof تماس گرفت، اما تا زمان انتشار پاسخی دریافت نکرد.

کشش تاخیر و کلاهبرداری خروج از مشکلات رایج در فضای DeFi هستند. در ۱ ژوئن، شرکت امنیتی بلاک چین Beosin گزارش داد که قالی‌شویی در ماه می منجر به زیان بیش از ۴۵ میلیون دلاری شد که از سوء استفاده‌های معمولی DeFi پیشی گرفت. در ماه آوریل، پروتکل Ordinals Finance نیز از طریق تسهیلات انتقال “safuToken” به مبلغ ۱ میلیون دلار شکایت کرد.

نویسنده: Tom Blackstone

به این مطلب چه امتیازی می‌دهید؟

میانگین امتیارها ۰ / ۵. مجموع آرا: ۰

دیدگاهتان را بنویسید

دکمه بازگشت به بالا