حمله دستکاری اوراکل چیست؟ بررسی هک Oracle Manipulation
برخی از مواقع، ممکن است فناوریهای موجود در بلاکچین برای اجرای درست یک پروتکل کافی نباشد. اوراکلها همان اطلاعات تکمیل کننده هستند که خودشان نیز نوعی قرارداد هوشمند بهحساب میآیند. احتمال حمله اوراکل و آسیبپذیری، زمانی افزایش پیدا میکند که آنها بدون توجه بهدرستی یا نادرستی فیدهای ارائه شده بهصورت اتوماتیک اقداماتی را اجرا میکنند. توجه داشته باشید در صورت مخرب یا منسوخ بودن محتوای Oracle، احتمال ایجاد آسیبهای جبرانناپذیری مثل انحلال غیرقانونی، انجام معاملات آربیتراژ و… وجود دارد. به همین دلیل در این مقاله تصمیم داریم اطلاعاتی را در مورد آن با شما به اشتراک بگذاریم.
اوراکل چیست؟
بهتر است قبل از هر چیز به سؤال اوراکل چیست پاسخ دهیم. در بازار کریپتوکارنسی از این سیستم بهمنظور اعتبارسنجی و تأیید اطلاعات درون یک پروتکل بلاکچینی استفاده میشود. در واقع میتوان گفت Oracle، راهکارها و امکاناتی را در اختیار شبکه قرار میدهد تا بتواند بدون دردسر به دادههای موجود در دنیای واقعی دسترسی داشته باشد.
این سرویسها معمولاً دادهها و اطلاعات جدید از یک سرویسدهنده خارجی نظیر سایتهای خبری، شبکههای اجتماعی و… جمعآوری کرده و برای استفاده آنها را اعتبارسنجی میکنند. گاهی اوقات ممکن است از این طریق حمله اوراکل انجام و به شبکه آسیب جدی وارد شود. به طور مثال از اطلاعات جعلی استفاده شود که نتیجه آن ثبت دادههای غیرواقعی خواهد بود. برای جلوگیری از بروز چنین مشکلی، تیم توسعه دهنده برنامه باید از روشهایی مثل امضای چندگانه استفاده کنند تا دغدغهای از بابت امنیت بلاکچین نداشته باشند.
کدام ارزها از اوراکل استفاده میکنند؟
جالب است بدانید بسیاری از ارزهای شناخته شده و محبوب در بازار کریپتو برای اجرای صحیح پروتکلهای و دسترسی به اطلاعات موجود در دنیای واقعی از اوراکل استفاده میکنند. برخی از شناختهشدهترین آنها عبارت است از:
- بیتکوین
- اتریوم
- کاردانو
- پالیگان
- سولانا
- آوالانچ
- اپتوس
بین ارزهای گفته شده اتریوم یکبار مورد حمله اوراکل قرارگرفته است.
انواع اوراکلهای بلاکچینی
اوراکلهایی که در بلاکچین میتوان از آنها استفاده کرد عبارت است از:
Software oracle (نرمافزاری)
تعامل این نوع با منابع آنلاین است و از این طریق اطلاعات را به بلاکچین موردنظر خود منتقل میکنند. این منابع میتوانند پایگاههای داده، وبسایت و سرورهای مختلف باشند. به دلیل امکان دریافت و ارسال اطلاعات بهصورت لحظهای این Oracleها در بسیاری از شبکهها مورداستفاده قرار میگیرند.
Hardware Oracle (سختافزاری)
برخی قراردادها برای اجرا شدن به ارتباط با دنیای فیزیکی بیرون نیاز دارند تا اطلاعات موردنیاز خود را تأمین کنند. برای این منظور از حسگرهای الکترونیکی، بارکدخوانها و… استفاده میشود. در صورت حفظ امنیت محیطی که سختافزارها در آن نگهداری میشود احتمال حمله اوراکل بهشدت کاهش پیدا میکند.
Input Oracle (ورودی)
اوراکل ورودی، شناختهشدهترین نوع از این قراردادها بهحساب میآید که اطلاعات را از دنیای واقعی خارج از بلاکچین دریافت کرده و به قراردادهای هوشمند داخل آن تحویل میدهد.
Output Oracle (اوراکل خروجی)
برخلاف نوع قبل، این اوراکل اطلاعات را از درون بلاکچین به بیرون از آن منتقل میکند. از این روش میتوان برای اطلاعرسانی به یک ذخیره تأمین خارجی استفاده کرد.
Cross Chain Pracles (بین زنجیرهای)
از این نوع برای انتقال اطلاعات بین بلاکچینها یا دادههای بین زنجیرهای استفاده میشود و بهاینترتیب میتوان از داده در خارج از Blockchain بومی استفاده کرد.
Centralized & Decentralized Oracle ( متمرکز و غیرمتمرکز)
Centralized Oracle توسط یک نهاد مشخص اداره و کنترل میشود. همین موضوع موجب میشود تا احتمال وقوع حمله اوراکل در آنها افزایش پیدا کند. اصلیترین مشکل چنین قراردادهایی وجود نقطه شکست است که آسیبپذیری آنها را افزایش داده است.
Decentralized Oracle در نقطه مقابل قراردادهای قبلی قرار دارند و برای ارائه خدمات و تأیید اعتبار دادهها از چند منبع استفاده میکنند. به همین دلیل به آنها اوراکلهای اجماع نیز گفته میشود.
Contract Specific Oracle (اوراکلهای خاص)
این اوراکلها بهصورت خاص برای قراردادهای هوشمند طراحی میشوند. اگر قصد ایجاد یک قرارداد اختصاصی را دارید باید از این Oracleها استفاده کنید. البته توجه داشته باشید که ایجاد آنها نیاز بهوقت و زمان بسیار زیادی دارد.
Human Oracle (انسانی)
در این حالت فرد به دلیل داشتن تخصص و مهارت در زمینهای خاص به عنوان اوراکل انسانی فعالیت می کنند. جالب است بدانید احتمال وقوع حمله اوراکل در این روش بسیار اندک است؛ زیرا جعل هویت کار بسیار دشواری است.
حمله اوراکل چیست؟
هک Oracle Manipulation یکی از انواع حملات سایبری محسوب میشود که فرد مهاجم با شناسایی آسیبهای موجود در اوراکل استفاده شده قصد دارد به دادههای موجود در دیتابیس دسترسی پیدا کند. برای انجام این کار روشهای متنوع بسیار زیادی نظیر حمله به دیتابیس، شناسایی و استفاده از آسیب نرمافزاری، بهکارگیری کد بدافزار و رمزنگاری ضعیف وجود دارد.
اگر قصد دارید پروتکل بلاکچین را در مقابل حمله اوراکل ایمن کنید بهتر است همیشه از آخرین ورژن نرمافزار منتشر شده از سوی شرکت سازنده استفاده کنید و به طور دائم آن را بهروزرسانی کنید. اقدامات دیگری که باید انجام دهید انجام صحیح تنظیمات امنیتی، محدودکردن دسترسی به دیتابیس با صدور مجوزهای مشخص و رمزنگاری قوی اطلاعات و دادهها است.
بررسی نحوه بازتولید یک قرارداد حمله
اگر قصد دارید یک قرارداد حمله را بازتولید کنید، بهترین راه استفاده از یک مجموعهداده تست است. دادههایی که از آنها استفاده میکنید میتواند مجازی یا واقعی باشد؛ اما باید برای تست اوراکلها طراحی شده باشد. برای این کار میتوانید از مجموعههایی مثل SLOB،Hammer DB،Swingbench استفاده کرده و بازسازی قرارداد حمله را آغاز کنید.
بعد از آن به یک محیط تست نیاز دارید تا از دیتابیس و نرمافزار موردنظرتان استفاده کرده و با ابزارهای مختلفی نظیر Oracle Database Security Assessment Tool و PL/SQ تست امنیتی را آغاز و کلیه مراحل هک Oracle Manipulation را بازسازی کنید.
به شما توصیه میکنیم اگر قصد انجام چنین کاری را دارید حتماً از افراد متخصص در زمینه امنیت کمک بگیرید؛ زیرا انجام چنین تستهای پیچیدهای نیاز به تخصص و مهارت دارد.
بررسی میزان خسارت حمله اوراکل
میزان خسارت وارد شده به یک شبکه رابطه مستقیمی با نوع حمله اوراکل انجام شده دارد. گاهی این حملات به شکل مستقیم سیستمها و دیتابیسها را هدف قرار میدهد. در این حالت مهاجم قصد رمزگذاری، ردیابی، دستکاری داده، انتقال داده و… را دارد. پس میتوان گفت هدف حمله و نوع آن تأثیر مستقیمی بر هزینه دارد. اگر حمله انجام شده نرمافزاری باشد و شخص حمله کننده و نرم افزار روی چند هزار سیستم بهمنظور شناسایی حفرههای امنیتی اجرا شود میزان هزینه ناچیز است؛ اما اگر شخص یک فرد حرفهای و باتجربه باشد هزینه میتواند افزایش چشمگیری پیدا کند. بهطورکلی میتوان گفت هرچه اطلاعات سرقت شده از مهمتر و شرکتی که هدف حمله قرار گرفته بزرگتر باشد میزان خسارت وارد شده بیشتر خواهد بود.
هک Oracle Manipulation در سیستم دیفای
دیفاینوعی پروتکل متنباز است که حیات آن وابسته به جامعهای است که از آن استفاده میکند. امنیت این پروتکلها بسیار زیاد است؛ اما مواردی نیز وجود داشته که دیفایها مورد حمله اوراکل قرار گرفتهاند. از مهمترین آنها میتوان به موارد زیر اشاره کرد:
حمله انجام شده در سال ۲۰۱۶ به شبکه اتریوم که فرد مهاجم با دستکاری قراردادی به نام THE DAO موفق شد ۳.۶ میلیون واحد اتر سرقت کند. البته پس از هاردفورک انجام شده در شبکه و اصلاح مشکلات امنیتی تمامی اترها به صاحبان اصلی بازگرداننده شد.
یکی دیگر از نمونههای این نوع حملات اتفاقی است که برای یونیسواپ رخ داد. به دلیل وجود یک باگ امنیتی در این پروتکل، هکرها توانستند به طور غیرقانونی ۵۰۰ هزار دلار برداشت کنند. البته تیم امنیتی Uniswap بهسرعت این مشکل را برطرف کرد تا از تکرار چنین حوادثی جلوگیری کند. شما چه اطلاعات دیگری در این خصوص دارید؟