حمله دستکاری اوراکل چیست؟ بررسی هک Oracle Manipulation
حمله دستکاری اوراکل در بلاک چین به نوعی آسیبپذیری اشاره دارد که در آن مهاجم از اتکای قراردادهای هوشمند به منابع داده خارجی، معروف به اوراکل ، برای دستکاری در اجرای قرارداد یا به دست آوردن اطلاعات غیرمجاز سوء استفاده میکند. در این مقاله از ارز دیجیتال به طور مفصل به مفهوم حمله دستکاری اوراکل خواهیم پرداخت.
حمله دستکاری اوراکل چیست؟
اوراکل ها مکانیسمهایی هستند که به قراردادهای هوشمند اجازه می دهند با داده های دنیای واقعی تعامل داشته باشند. چیزی که برای بسیاری از برنامه های غیرمتمرکز (dApps) برای عملکرد صحیح ضروری است. آنها داده هایی مانند قیمت ها یا سایر اطلاعات خارج از زنجیره ای را ارائه می دهند که قرارداد هوشمند برای تصمیمگیری به آنها نیاز دارد.
حمله اوراکل زمانی رخ می دهد که مهاجم داده های ارائه شده توسط اوراکل را دستکاری می کند تا قرارداد هوشمند را طوری فریب میدهد که به روشی ناخواسته یا مخرب اجرا شود. این میتواند منجر به نتایج نامطلوب ، ضررهای مالی یا نقض امنیتی شود.
تنها نقطه شکست
تکیه بر یک اوراکل واحد یا تعداد کمی از اوراکل میتواند یک نقطه از شکست را ایجاد کند. اگر اوراکل به خطر بیفتد ، دستکاری شده و یا تجربه خرابی را تجربه کند ، می توان کل قرارداد هوشمند را تحت تأثیر قرار داد.
دستکاری قیمت نقطهای
یک آسیبپذیری کلاسیک از دنیای اوراکلهای قیمتی زنجیرهای ناشی میشود: اعتماد به قیمت نقدی یک صرافی غیرمتمرکز. سناریو ساده است. یک قرارداد هوشمند نیاز به تعیین قیمت یک دارایی دارد، به عنوان مثال، زمانی که کاربر ETH را به سیستم خود واریز می کند.
این پروتکل از استخر یونیسواپ مربوطه خود به عنوان منبعی برای دستیابی به این کشف قیمت استفاده می کند. با بهرهبرداری از این رفتار، مهاجم میتواند یک وام فلش بگیرد تا یک طرف استخر یونیسواپ را تخلیه کند. به دلیل عدم تنوع منبع داده، قیمت داخلی پروتکل مستقیماً دستکاری می شود. مهاجم اکنون می تواند اقدامی را برای گرفتن این مقدار اضافی انجام دهد.
اوراکل و اعتماد متمرکز
پروژه ها همچنین می توانند یک اوراکل متمرکز را پیاده سازی کنند. روش بهروزرسانی چنین قرارداد هوشمندی میتواند، به عنوان مثال، توسط یک اصلاحکننده onlyOwner محافظت شود و از کاربران بخواهد که به ارسال صحیح و به موقع دادهها اعتماد کنند.
بسته به اندازه و ساختار سیستم، این اعتماد متمرکز میتواند منجر به تشویق کاربر(های) مجاز برای ارسال دادههای مخرب و سوء استفاده از موقعیت قدرت خود شود.
امنیت اوراکل غیر متمرکز
در یک سناریوی غیرمتمرکز، ملاحظات امنیتی بیشتر ناشی از نحوه تشویق شرکتکنندگان و بدون مجازات باقی ماندن رفتار نادرست است.
Freeloading: ساده ترین شکل برای صرفه جویی در کار و به حداکثر رساندن سود. یک گره می تواند اوراکل یا مؤلفه خارج از
زنجیره (مانند یک API) را تحت تأثیر قرار دهد و مقادیر مختلف را بدون اعتبار سنجی کپی کند.
Mirroring: اینها طعمی از حملات Sybil هستند و می توانند با بارگذاری رایگان همراه شوند. به طور مشابه، گرههای بدرفتار با خواندن از یک منبع داده متمرکز با نرخ نمونهبرداری کاهش یافته، کار را ذخیره میکنند. به دلیل عدم شفافیت در ارتباطات Sybil، شناسایی حملات آینهای در عمل دشوار است.
نحوهی مقابله با حمله دستکاری اوراکل
اصلاح حملات اوراکل در بلاک چین شامل اجرای اقدامات امنیتی مختلف برای کاهش خطرات مرتبط با این آسیبپذیریها است.
در اینجا چند استراتژی و بهترین روش برای کمک به جلوگیری و مقابله با حملات اوراکل آورده شده است:
رویکرد چند اوراکل
از چندین اوراکل مستقل از منابع مختلف برای ارائه داده های یکسان استفاده کنید. این افزونگی به تشخیص ناسازگاری ها کمک می کند و احتمال یک اوراکل به خطر افتاده را که بر نتیجه تأثیر می گذارد ، کاهش میدهد.
متنوع سازی منبع داده
از اوراکل هایی استفاده کنید که داده های مختلف را از منابع مختلف جمع می کند. این میتواند به کاهش تأثیر یک ارائه دهنده داده به خطر افتاده کمک کند.
تایید داده ها
برای تأیید صحت داده های ارائه شده توسط اوراکلها ، اثبات رمزنگاری یا امضاها را اجرا کنید. این تضمین می کند که داده ها دستکاری نشده اند.
مهرزنی با زمان
شامل زمان بندی داده های ارائه شده توسط اوراکلها برای تشخیص تاخیر یا دستکاری است. قراردادهای هوشمند می توانند از چک های مبتنی بر زمان برای اعتبارسنجی طراوت داده ها استفاده کنند.
امضاهای آستانه
قبل از اینکه دادهها را معتبر بپذیرید، باید بین چندین اوراکل توافق نظر داشته باشید. این مانع از تأثیر مخرب یک اوراکل بر نتیجه می شود.
اوراکل های تصادفی
از اوراکل های تصادفی استفاده کنید که داده ها را از مجموعه منابع انتخاب می کنند. این امر باعث می شود مهاجمان پیش بینی کنند که کدام اوراکل برای یک معامله خاص انتخاب می شود.
اوراکل های غیرمتمرکز
شبکه های Oracle غیرمتمرکز که به تعداد بیشتری از شرکت کنندگان متکی هستند تا داده ها را ارائه و اعتبار دهند. این می تواند دستکاری سیستم را برای مهاجمان دشوارتر کند.
تأیید داده های خارج از زنجیره
از مکانیسمهای تأیید زنجیره ای برای تأیید صحت داده های اوراکل قبل از استفاده در یک قرارداد هوشمند استفاده کنید. این می تواند شامل محاسبات خارج از زنجیره و ارجاع متقاطع داده ها باشد.
مکانیسم های خاموشی اضطراری
در صورت تشخیص رفتار مشکوک اوراکل ، مکانیسم هایی را برای متوقف کردن یا مکث قراردادهای هوشمند انجام دهید. این می تواند در صورت حمله مداوم به جلوگیری از خسارت بیشتر کمک کند.
ممیزی و نظارت منظم
ممیزی های امنیتی منظم از قراردادهای هوشمند و خدمات اوراکل را انجام دهید. نظارت مداوم می تواند به تشخیص رفتار غیرمعمول و هشدارهای تحریک کمک کند.
مطالعه موردی: بهره برداری از بازارهای منگو
بهرهبردار منگو توانست با دستکاری اوراکل قیمت توکن $MNGO، 9 رقم را از منگو خارج کند و سپس از تواناییهای پلتفرم معاملات متقابل برای استفاده از توکنهای “ارزشمند” $MNGO و برداشت سایر داراییهای رمزنگاری شده (مانند استیبل کوین، USDC، USD، و $SOL) استفاده کند.
Mango Markets یک صرافی غیرمتمرکز (DEX) بود که بر روی بلاک چین سولانا ساخته شده بود. منگو تلاش کرد برای هر معاملهگری که به دنبال بازارهای نقدی، معاملات آتی دائمی و وامدهی بود، فروشگاهی یکجا باشد.
حمله
مهاجم با تأمین بودجه دو کیف پول با 5،000،000 دلار USDC ، بهره برداری را آغاز کرد. کیف پول 1 با 5 میلیون USDC با این انتقال تأمین شد و سپس کیف پول 2 با 5 میلیون USDC در این انتقال تأمین شد.
مهاجم سپس از یک حساب برای کوتاه کردن 488 میلیون دلار MNGO استفاده کرد – در واقع 488 میلیون دلار MNGO را به صورت اهرمی فروخت – در حالی که حساب دیگر طرف مقابل معامله را گرفت و از اهرم برای خرید همان مقدار استفاده کرد.
خرید اهرمی MNGO توسط هکرها، همراه با خرید بیشتر MNGO در سایر DEXها، قیمت MNGO را خیلی سریع در صرافی های لحظه ای افزایش داد. این امر ممکن بود زیرا MNGO یک دارایی کم رنگ و بدون حجم معاملات زیادی بود.
حساب مورد استفاده برای خرید MNGO بلافاصله تقریباً 400 میلیون دلار سود کاغذی داشت زیرا تمام فعالیت های خرید به طور قابل توجهی قیمت دارایی را افزایش داد.
با چنین ارزش پرتفوی بالایی، هکر توانست در برابر دارایی های MNGO خود که به طور مصنوعی متورم شده بود وام بگیرد و تقریباً تمام دارایی های موجود در Mango Markets را حذف کند.
این فعالیت باعث شد که قیمت MNGO بلافاصله کاهش یابد، بنابراین موقعیت های خرید او به دلیل از دست دادن ارزش وثیقه منحل شد، اما دیگر خیلی دیر شده بود – او قبلاً تمام دارایی های Mango Market را با هر ارزش واقعی «قرض» کرده بود.
عواقب
مهاجم با اضافه کردن توهین به جراحت، از سازمان MNGO که هنوز پس از سوء استفاده در اختیار داشت، برای پیشنهاد و رأی دادن به یک پیشنهاد حکومتی استفاده کرد که به او اجازه میداد 10 میلیون دلار ارز دیجیتال دزدیده شده در این حمله را بازگرداند و بقیه را به عنوان «جوایز باگ» نگه دارد.
در پاسخ، تیم پروژه پیشنهاد خود را در 14 اکتبر ایجاد کرد. طبق پیشنهاد، مهاجم تا 67 میلیون دلار برمیگرداند و 47 میلیون دلار باقیمانده را اساساً به عنوان جایزه باگ نگه میدارد.
این پیشنهاد همچنین بیان میکند که آنها «از هرگونه ادعای احتمالی علیه حسابهای دارای بدهی بد چشمپوشی میکنند و پس از بازگرداندن توکنها همانطور که در بالا توضیح داده شد، هیچ گونه تحقیقات جنایی یا مسدود کردن وجوهی را دنبال نمیکنند». انبه در 15 اکتبر توئیت کرد که 67 میلیون دلار در دارایی های مختلف رمزنگاری به دائو بازگردانده شد.
یکی از مهاجمان داوطلبانه بیرون آمد و در یک سری توئیت خود را به عنوان بهره بردار اعلام کرد و مدعی شد که در چارچوب پروتکل عمل می کند و این یک استراتژی تجاری بسیار سودآور است.
وی همچنین اظهار داشت که کل روش هک کردن با استفاده از پروتکل همانطور که طراحی شده است ، اقدامات قانونی بازار آزاد بوده است. به نظر می رسید همه موافق نیستند ، زیرا وی دستگیر و به جرم دستکاری در بازار در منطقه جنوبی نیویورک متهم شد.
Rodeo Finance اخیراً با هک مشابهی روبرو شد که در آن مهاجمان حدود 479 ETH از سیستم به ارزش تقریبی 888000 دلار استخراج کردند و قیمت توکن RDO از 0.2 دلار به 0.08 دلار کاهش یافت.