در یک گزارش کالبد شکافی، توسعه دهندگان Arcadia Finance گفتند که مهاجمی با انحلال صندوق قبل از انجام یک بررسی سلامتی، وجوهی را به سرقت برده و جریان عادی تراکنشهای برنامه را قطع میکند.
بر اساس گزارش کالبد شکافی منتشر شده توسط تیم توسعه برنامه در 10 جولای، مهاجم Arcadia Finance از یک سوء استفاده مجدد برای استخراج 455000 دلار از پروتکل مالی غیرمتمرکز (DeFi) استفاده کرده است. “Exploit ورود مجدد” اشکالی است که به مهاجم اجازه می دهد تا در طی یک تراکنش چند مرحله ای، قرارداد را “دوباره وارد کنید” یا آن را قطع کند و از تکمیل صحیح تراکنش جلوگیری کند.
تیم با ارسال پیامی به مهاجم خواستار بازگشت پول ظرف 24 ساعت شد و در صورت عدم رعایت آنها با پلیس تماس خواهند گرفت.
کالبد شکافی وضعیت در حال انجام یک نمای کلی فنی ارائه می دهد و اطلاعات بیشتری را در مورد مراحل بعدی به اشتراک می گذارد.https://t.co/NPNbbSzKBQ
– Arcadia Finance (@ArcadiaFi) 10 ژوئیه 2023
آرکادیا فاینانس در صبح روز 10 جولای مورد سوء استفاده قرار گرفت و 455000 دلار ارز دیجیتال را تخلیه کرد. یک گزارش اولیه از شرکت امنیتی بلاک چین Peckshield بیان کرد که مهاجم از «عدم تأیید اعتبار ورود نامعتبر» در قراردادهای برنامه برای تخلیه وجوه استفاده کرده است. تیم Arcadia این موضوع را تکذیب کرد و اعلام کرد که تحلیل Peckshield ناقص است. با این حال، تیم در آن زمان علت آن را فاش نکرد.
گزارش جدید Arcadia بیان می کند که عملکرد “liquidateVault()” برنامه شامل بررسی های ورود مجدد نمی شود. این به مهاجم اجازه میدهد تا قبل از تکمیل بررسی سلامت، اما پس از برداشت پول توسط مهاجم، عملکرد را فراخوانی کند. در نتیجه، مهاجم می تواند پول قرض کند و بدون بازپرداخت از پروتکل خارج شود.
این تیم اکنون قراردادهای خود را متوقف کرده و در حال کار بر روی اصلاحیه ای است تا شکاف را کاهش دهد.
مهاجم ابتدا یک وام فوری از Aave به مبلغ 20672 دلار به دلار آمریکا (USDC) دریافت کرد و آن را در صندوق Arcadia قرار داد. آنها سپس از این سپرده امن برای وام گرفتن 103210 USDC از یک استخر نقدینگی Arcadia استفاده کردند. این کار از طریق یک تابع “doActionWithLeverage()” انجام شد که به کاربران اجازه می داد تنها در صورتی پول قرض کنند که حساب های آنها تا پایان بلوک سالم بماند.
مهاجم 103210 دلار را در گاوصندوق واریز کرد که کل پول را به 123882 دلار رساند. سپس تمام وجوه را برداشت کردند و خزانه را بدون دارایی و بدهی 103210 دلاری باقی گذاشتند.
از نظر تئوری، این باید منجر به برگشت همه تراکنشها شود، زیرا برداشت وجوه منجر به عدم موفقیت حساب در بررسی سلامت میشود. با این حال، مهاجم قبل از شروع بررسی وضعیت، از یک قرارداد مخرب برای فراخوانی() liquidateVault استفاده کرد. گاوصندوق منحل شد و تمام بدهی های آن منحل شد. در نتیجه، او با صفر دارایی و صفر بدهی باقی ماند و به او اجازه داد تا یک بررسی سلامت را بگذراند.
پس از تکمیل تمام تراکنشها، با پاکسازی حساب، هیچ یک از تراکنشها معکوس نشد و استخر 103210 دلار تخلیه شد. مهاجم وام از Aave را در همان بلوک بازپرداخت کرد. با تکرار مکرر این اکسپلویت، آنها در مجموع 455000 دلار از استخرهای Optimism و Ethereum خارج کردند.
تیم آرکادیا در گزارش خود ادعاهایی مبنی بر این که سوءاستفاده ناشی از ورودی نامعتبر بوده است را رد کرد و اظهار داشت که این آسیبپذیری ادعایی «مشکل اصلی» در حمله نبوده است.
مرتبط با: دایره بیش از 65 میلیون دلار دارایی های منتقل شده از Tether، Multichain را مسدود می کند
تیم Arcadia با استفاده از فیلد داده های ورودی یک فرآیند Optimism پیام زیر را برای مهاجم ارسال کرد:
“ما درک می کنیم که شما در سوء استفاده از Arcadia Finance شرکت داشته اید. ما به طور فعال با متخصصان امنیتی و مجریان قانون کار می کنیم. واریز و برداشت TC شما در BNB کمی سریع بود، این روزها پنهان کردن هویت آنلاین شما دشوار است. اگر تا 24 ساعت آینده هیچ وجهی برگردانده نمی شود، ما به مجریان قانون اطلاع خواهیم داد و آن را به نیروهای شما ارسال خواهیم کرد.
آرکادیا در گزارش خود مدعی شد که سرنخ های امیدوارکننده ای برای ردیابی مهاجم پیدا کرده است. آنها میگویند: «علاوه بر دریافت آدرسهای مرتبط با صرافیهای مرکزی، ما همچنین پیوندهایی را به سوءاستفادههای قبلی پروتکلهای دیگر کشف کردیم. “تیم به طور کامل در حال بررسی داده های درون زنجیره ای و خارج از زنجیره هستند و سرنخ های متعددی وجود دارد.”
سوء استفاده ها و کلاهبرداری ها یک مشکل مداوم در فضای DeFi در سال 2023 بوده است. گزارش 5 جولای از Certik بیان کرد که بیش از 300 میلیون دلار در سه ماهه دوم سال به دلیل سوء استفاده ها از دست رفته است.
نویسنده: Tom Blackstone