حمله دستکاری اوراکل: بررسی هک اوراکل و روشهای جلوگیری از آن

در برخی مواقع، فناوریهای موجود در بلاکچین برای اجرای صحیح یک پروتکل کافی نخواهد بود. اوراکلها اطلاعات تکمیلکنندهای هستند که بهعنوان نوعی قرارداد هوشمند عمل میکنند. احتمال وقوع حمله به اوراکل و آسیبپذیری آنها زمانی افزایش مییابد که این سیستمها بدون توجه به صحت یا سقم دادههای ارائهشده، بهطور خودکار اقداماتی را انجام دهند. در صورت وجود محتوای مخرب یا منسوخ در اوراکل، احتمال ایجاد آسیبهایی نظیر انحلال غیرقانونی و معاملات آربیتراژ وجود دارد. بنابراین، در این مقاله به بررسی جامع اوراکلها خواهیم پرداخت.
اوراکل چیست؟
پیش از هر چیز، بیایید به سؤال «اوراکل چیست؟» پاسخ دهیم. در بازار رمز ارزها، از این سیستم بهمنظور اعتبارسنجی و تأیید اطلاعات درون یک پروتکل بلاکچینی استفاده میشود. در واقع، اوراکل، امکاناتی را برای شبکه فراهم میکند تا بتواند بهراحتی به دادههای موجود در دنیای واقعی دستیابی پیدا کند.
این سرویسها معمولاً دادهها و اطلاعات جدید را از منابع خارجی مانند سایتهای خبری، شبکههای اجتماعی و… جمعآوری کرده و آنها را اعتبارسنجی میکنند. ممکن است در برخی موارد، بهویژه در حملات اوراکل، شبکه دچار آسیب جدی شود. به عنوان مثال، اگر از اطلاعات جعلی استفاده شود، نتیجه آن ثبت دادههای غیرواقعی خواهد بود. برای جلوگیری از بروز این مشکلات، توسعهدهندگان برنامه باید از روشهایی همچون امضای چندگانه بهره ببرند تا امنیت بلاکچین تأمین شود.
کدام ارزها از اوراکل استفاده میکنند؟
خالی از لطف نیست بدانید که بسیاری از ارزهای معروف و پرطرفدار در بازار کریپتو برای اجرای صحیح پروتکلهای خود و دستیابی به اطلاعات دنیای واقعی از اوراکلها استفاده میکنند. برخی از شناختهشدهترین آنها عبارتند از:
- بیتکوین
- اتریوم
- کاردانو
- پالیگان
- سولانا
- آوالانچ
- اپتوس
بیانگر این نکته هستیم که اتریوم یکبار به حمله اوراکل دچار شده است.
انواع اوراکلهای بلاکچینی
اوراکلهایی که در بلاکچین قابلاستفاده هستند بهصورت زیر دستهبندی میشوند:
همهجا طلا یه قیمت نیست
چندکس رو باز کن و ببین چطور با یه بودجه ثابت، بیشترین طلا رو از بهترین پلتفرم میگیری. مقایسه کن تا ضرر نکنی!
Software Oracle (نرمافزاری)
این نوع اوراکل با منابع آنلاین تعامل دارد و اطلاعات را به بلاکچین موردنظر منتقل میکند. این منابع میتوانند پایگاههای داده، وبسایتها و سرورهای مختلف باشند. بهدلیل توانایی دریافت و ارسال اطلاعات بهصورت لحظهای، این نوع اوراکلها در بسیاری از شبکهها مورد استفاده قرار میگیرند.
Hardware Oracle (سختافزاری)
برخی از قراردادها برای اجرا به ارتباط با دنیای فیزیکی نیاز دارند تا اطلاعات موردنیاز خود را تأمین کنند. برای این منظور از حسگرها، بارکدخوانها و… بهره گرفته میشود. در صورتی که امنیت محیط نگهداری این سختافزارها حفظ شود، احتمال حمله اوراکل به شدت کاهش مییابد.
Input Oracle (ورودی)
اوراکل ورودی، شناختهشدهترین نوع از این قراردادها بهحساب میآید که اطلاعات را از دنیای واقعی فراتر از بلاکچین دریافت کرده و به قراردادهای هوشمند درون آن انتقال میدهد.

Output Oracle (اوراکل خروجی)
برخلاف نوع قبلی، این اوراکل اطلاعات را از داخل بلاکچین به خارج از آن منتقل میکند. استفاده از این روش برای اطلاعرسانی به یک ذخیره تأمین خارجی امکانپذیر است.
Cross Chain Oracles (بینزنجیرهای)
این نوع اوراکلها برای انتقال اطلاعات بین بلاکچینها و استفاده از دادههای بین زنجیرهای به کار میروند و میتوانند از دادهها در خارج از بلاکچین بومی استفاده کنند.
Centralized & Decentralized Oracle (متمرکز و غیرمتمرکز)
اوراکلهای متمرکز تحت کنترل یک نهاد خاص قرار دارند که این موضوع سبب افزایش احتمال وقوع حملات اوراکل میشود. یکی از اصلیترین معضلات این نوع قراردادها نقطه شکست است که آسیبپذیری آنها را بالا میبرد.
در مقابل، اوراکلهای غیرمتمرکز برای ارائه خدمات و اعتبارسنجی دادهها از منابع متعدد و متفاوت استفاده میکنند. به همین دلیل به آنها اوراکلهای اجماع نیز اطلاق میشود.
Contract Specific Oracle (اوراکلهای خاص)
این اوراکلها بهطور خاص برای قراردادهای هوشمند طراحی و پیادهسازی میشوند. در صورتی که قصد ایجاد یک قرارداد اختصاصی را دارید، باید از این نوع اوراکلها استفاده کنید. البته توجه داشته باشید که ایجاد آنها زمان و هزینه زیادی خواهد برد.
Human Oracle (انسانی)
در این حالت، فردی به عنوان اوراکل انسانی عمل میکند که بهدلیل تخصص و مهارت در یک حوزه خاص، اطلاعات را فراهم میکند. جالب است بدانید که احتمال وقوع حمله اوراکل در این روش بسیار کم است، زیرا جعل هویت فرد کار دشواری است.
حمله اوراکل چیست؟
هک Oracle Manipulation یکی از انواع حملات سایبری محسوب میشود که در آن یک مهاجم با شناسایی آسیبپذیریهای موجود در اوراکل، به دنبال دسترسی به دادههای موجود در دیتابیس است. برای این کار، روشهای متنوعی شامل حمله به دیتابیس، شناسایی و استفاده از آسیبهای نرمافزاری و بهکارگیری کدهای مخرب وجود دارد.
اگر میخواهید پروتکل بلاکچین خود را در برابر حملات اوراکل ایمن کنید، ضروری است از آخرین نسخههای نرمافزار منتشرشده توسط شرکت تولیدکننده استفاده کرده و بهطور مرتب آن را بهروزرسانی کنید. اقدامات دیگری که میتوان انجام داد شامل تنظیمات امنتر، محدود کردن دسترسی به دیتابیس از طریق صدور مجوزهای مشخص و رمزنگاری قوی اطلاعات میباشد.
بررسی نحوه بازتولید یک قرارداد حمله

اگر قصد دارید یک قرارداد حمله را بازتولید نمایید، بهترین روش استفاده از یک مجموعهداده تست است. دادههایی که برای این منظور انتخاب میکنید میتواند مجازی یا واقعی باشد؛ اما میبایست خاص تست اوراکلها طراحی شده باشد. برای این کار میتوانید از مجموعههایی همچون SLOB، Hammer DB و Swingbench بهرهبرداری کرده و فرآیند بازسازی قرارداد حمله را آغاز کنید.
پس از آن به یک محیط تست نیاز دارید تا از دیتابیس و نرمافزار مورد نظر استفاده کرده و با ابزارهای مختلف مانند Oracle Database Security Assessment Tool و PL/SQ، تست امنیتی را آغاز نموده و تمامی مراحل هک Oracle Manipulation را بهطور کامل بازسازی کنید.
به شما توصیه میکنیم اگر قصد انجام چنین آزمونهایی دارید، حتماً از نظر متخصصان حوزه امنیت استفاده کنید؛ زیرا انجام این تستهای پیچیده نیازمند تخصص و مهارتهای ویژهای است.
بررسی میزان خسارت حمله اوراکل
میزان خسارت وارده به یک شبکه به نوع حمله اوراکل انجام شده بستگی دارد. برخی از این حملات بهطور مستقیم سیستمها و دیتابیسها را هدف قرار میدهند. در این موارد، مهاجم قصد دارد دادهها را رمزگذاری، ردیابی، دستکاری یا انتقال دادهها را انجام دهد. بنابراین، میتوان نتیجه گرفت که هدف و نوع حمله تأثیر مستقیمی بر هزینه دارد. اگر حمله انجام شده نرمافزاری باشد و مهاجم از برنامهها در چند هزار سیستم بهمنظور شناسایی حفرههای امنیتی استفاده کند، هزینه آن ناچیز خواهد بود؛ اما اگر فرد مهاجم تجربه و مهارت بالایی داشته باشد، هزینه میتواند بهشدت افزایش یابد. بهطور کلی میتوان گفت که هرچه اطلاعات سرقتشده حیاتیتر و شرکت هدف بزرگتر باشد، میزان خسارت نیز بیشتر خواهد بود.
هک Oracle Manipulation در سیستم دیفای

دیفای، نوعی پروتکل متنباز است که وجود آن بستگی به جامعه کاربری دارد. امنیت این پروتکلها عموماً بالا بوده، اما مواردی نیز پیش آمده که دیفایها هدف حملات اوراکل قرار گرفتهاند. از مهمترین این موارد میتوان به موارد زیر اشاره کرد:
حملهای که در سال ۲۰۱۶ به شبکه اتریوم انجام شد، جایی که فرد مهاجم با دستکاری قراردادی به نام THE DAO موفق به سرقت ۳.۶ میلیون واحد اتر گردید. البته پس از انجام هاردفورک و اصلاح نقاط ضعف امنیتی، تمامی اترها به مالکان اصلی خود بازگردانده شد.
مورد دیگری که نیز به همین شکل اتفاق افتاد، حمله به یونیسواپ بود. در اینجا به دلیل وجود یک باگ امنیتی در پروتکل، هکرها موفق شدند بهطور غیرقانونی ۵۰۰ هزار دلار برداشت کنند. خوشبختانه تیم امنیتی Uniswap به سرعت این مشکل را برطرف کرد تا از تکرار این حادثه جلوگیری شود. شما چه اطلاعات دیگری در این زمینه در اختیار دارید؟





