آنچه در این مقاله خواهید خواند
متاسفانه هر از گاه خبری درباره هک یک پروتکل دیفای شنیده میشود، اتفاقی که سبب کاهش اعتماد کاربران به سرویسهای امور مالی غیر متمرکز خواهد شد. در این مقاله به بررسی دلایل و نحوه هک شدن پروتکل های DeFi خواهیم پرداخت.
مقدمه
حوزه امور مالی غیر متمرکز (DeFi) با سرعت سرسام آوری در حال رشد است. سه سال پیش، ارزش کل قفل شده در پروتکلهای دیفای فقط ۸۰۰ میلیون دلار بود و تا فوریه ۲۰۲۱ (بهمن-اسفند ۹۹)، این رقم به ۴۰ میلیارد دلار افزایش یافت. خواندیم که تا چهار ماه پیش کل ارزش قفل شده در دیفای به رکورد جدید 74 میلیارد دلار رسیده بود و پس از آن در آوریل ۲۰۲۱ (فروردین-اردیبهشت ۱۴۰۰)، به نقطه عطف ۸۰ میلیارد دلار دست یافت. اکنون این مقدار بالای ۱۴۰ میلیارد دلار است و چنین رشد سریعی در این بازار جدید توجه هکرها و کلاهبرداران را به خود جلب میکند و این حوزه را در معرض هک شدن قرار میدهد. با تحلیل چند نمونه قبلی هک و حمله کردن به شبکه، عوامل مخرب و آسیب پذیریهای معمول پروتکل های حوزه مالی غیرمتمرکز یا دیفای (DeFi) مشخص شدند.
در گذشته شاهد بودیم که در بزرگترین هک دیفای، بیش از 600 میلیون دلار از پالی نتورک سرقت شد، پروتکل دیفای آلفا (Alpha) و کریم فایننس (Cream Finance) هک شدند و پروتکل دیفای اوریجین (Origin) قربانی هک 7 میلیون دلاری شد. بر اساس گزارش یک شرکت تحقیقاتی ارزهای دیجیتال، از سال ۲۰۱۹، بخش DeFi حدود ۲۸۴/۹ میلیون دلار به علت هک شدن و دیگر حملات سوء از دست داده است. از نظر مهاجمین شبکه، هک اکوسیستمهای بلاکچین وسیلهای ایده آل برای کسب ثروت است. از آنجا که چنین سیستمهایی ناشناس و بی نام هستند، آنها پول و فرصت برای از دست دادن دارند و هر گونه هک و حملهای را میتوان بدون اطلاع قربانی آزمایش کرد و ترتیب داد. در چهار ماه اول سال ۲۰۲۱ (اواخر سال ۹۹) خسارت ۲۴۰ میلیون دلاری از سوی کلاهبرداران به کاربران وارد شد، در حالی که اینها فقط موارد شناخته شده عمومی هستند. ما تخمین میزنیم که زیان واقعی در اصل میلیاردها دلار باشد.
برای پاسخ دادن به این سوال که چگونه پول از پروتکلهای DeFi سرقت میشود و هک کردن یک پروتکل دیفای اتفاق میافتد، ما چند ده حمله از سوی هکرها را تجزیه و تحلیل کردهایم و رایجترین مشکلاتی که منجر به حملات هکرها میشود را شناسایی کردهایم. این موارد عبارتند از:
- سوء استفاده از پروتکلهای شخص ثالث و خطاهای منطقی تجارت (logic errors)
- اشتباهات برنامه نویسی
- وامهای فلش و بی وثیقه، دستکاری قیمت و حملات ماینرها
- توسعه دهندهی بی صلاحیت
سو استفاده و هک کردن با استفاده از پروتکل های شخص ثالث در دیفای
هر حملهای در درجه اول با تجزیه و تحلیل قربانی آغاز میشود. فناوری بلاک چین فرصتهای زیادی را برای تنظیم خودکار و شبیه سازی سناریوهای هک فراهم میکند. برای اینکه حمله سریع و از دید خارج باشد، مهاجم باید مهارتهای برنامه نویسی و دانش لازم در مورد نحوه عملکرد قرارداد هوشمند را داشته باشد. ابزار معمولی در اختیار یک هکر به او امکان میدهد تا نسخه کامل بلاک چین را از نسخه اصلی شبکه برای خود بارگیری و کپی کنند و سپس فرایند حمله را، چنان که گویی که تراکنش در یک شبکه واقعی انجام میشود، به طور کامل ترتیب داده و شبیه سازی کند.
در مرحله بعد، مهاجم باید مدل تجاری پروژه و خدمات خارجی (خارج از خود شبکه بلاک چین) مورد استفاده را مطالعه کند. اشتباهات در مدلهای ریاضی منطقی کسب و کار و خدمات شخص ثالث دو موردی هستند که بیشتر مهاجمین برای هک کردن پروتکل های دیفای استفاده میکنند.
غالبا توسعه دهندگان قراردادهای هوشمند دادههای مربوطه را بیشتر از هر لحظهی دیگری، در زمان انجام تراکنش نیاز دارند. بنابراین آنها مجبور به استفاده از خدمات خارجی، مثل اوراکل میشوند؛ استفاده از این خدمات خطرات مضاعفی در پی دارد چرا که آنها به گونهای طراحی نشدهاند که بتوانند در محیطی بدون نیاز به حکمرانی یک نهاد (مانند آن چه در شبکه بلاک چین شاهدش هستیم) عمل کنند. بر اساس آمارهای مربوط به تابستان سال ۲۰۲۰ (تابستان 99)، این نوع کلاهبرداریها و هک کردن سیستم از طریق پروتکل های شخص ثالث و خطاهای منطقی تجارت در دیفای کمترین سهم در میان سایر روشها را دارد؛ به صورتی که تنها ۱۰ هک که منجر به ضرر کل تقریبا ۵۰ میلیون دلاری شده از این طریق انجام شدهاند.
خطر هک کردن پروتکل های دیفای به خاطر اشتباهات برنامهنویسی
قراردادهای هوشمند یک مفهوم نسبتاً جدید در دنیای فناوری اطلاعات هستند. علیرغم سادگی، زبانهای برنامه نویسی برای قرارداد هوشمند به الگوی توسعه کاملاً متفاوتی نیاز دارند. توسعه دهندگان اغلب به سادگی مهارتهای برنامه نویسی لازم را ندارند و اشتباهات فاحشی را انجام میدهند که منجر به آسیبهای زیادی به کاربران میشود.
این در حالی است که ممیزیهای امنیتی تنها بخشی از این نوع ریسک را حذف میکند؛ زیرا اکثر شرکتهای حسابرسی موجود در بازار هیچ مسئولیتی در قبال کیفیت کارهایی که انجام میدهند ندارند و فقط به جنبه مالی علاقه دارند. بیش از ۱۰۰ پروژه به دلیل خطاهای برنامه نویسی هک شدند که ضررشان در حدود ۵۰۰ میلیون دلار بوده است. یک مثال واضح از این نوع، هک dForce است که در ۱۹ آوریل ۲۰۲۰ (۳۱ فروردین ۹۹) رخ داد و هکرها همراه با یک حمله بازدخولی (Re-entrancy) از آسیب پذیری استاندارد توکن ERC-777 استفاده کردند و ۲۵ میلیون دلار بدست آوردند.
خطرناکترین نوع خطر در این حوزه، خطای انسانی است. مردم در جستجوی بدست آوردن پول سریع به DeFi متوسل میشوند. در حالی که بسیاری از توسعه دهندگان از صلاحیت پایینی برخوردارند، همچنان سعی میکنند پروژهها را با عجله راه اندازی و در یک صرافی ارز دیجیتال عرضه کنند. قراردادهای هوشمند منبع باز هستند و بنابراین به راحتی توسط هکرها کپی شده و تغییر مییابند. اگر پروژه اصلی شامل سه نوع اول آسیب پذیری که در این مقاله بیان شد باشد، خطر هکرها به صدها پروژه شبیه سازی شده سرایت میکند. RFI SafeMoon یک مثال خوب در معرض این نوع حمله است زیرا یک آسیب پذیری اساسی دارد؛ در آن همزمان بیش از ۱۰۰ پروژه قرار گرفتهاند و با هک آنها زیان بالقوه بالغ بر ۲ میلیارد دلار پیش خواهد آمد.
وامهای فلش و بیوثیقه، دستکاری قیمت و حملات ماینرها
اطلاعات ارائه شده به قرارداد هوشمند فقط در زمان انجام تراکنش مربوط است و به طور پیش فرض، این قراردادها از دستکاری خارجی احتمالی اطلاعات موجود در آن مصون نیستند، لذا همین امر طیف وسیعی از حملات و هک کردن پروتکل های دیفای را ممکن میسازد.
وامهای فلش وامهایی بدون وثیقه هستند، اما مستلزم بازگرداندن مقدار ارز دیجیتال قرض گرفته شده در همان تراکنش هستند؛ اگر وام گیرنده نتواند وجه مورد نظر را پس دهد، معامله لغو میشود (برگشت داده میشود). چنین وامهایی به وام گیرنده اجازه میدهد مقدار زیادی ارز دیجیتال دریافت کرده و از آنها برای اهداف مورد نظر خود استفاده کند. به طور معمول، حملات مربوط به وامهای فلش شامل دستکاری قیمت هستند. مهاجم میتواند ابتدا تعداد زیادی توکن وام گرفته شده را در یک معامله بفروشد و در نتیجه قیمت آنها را کاهش دهد و سپس قبل از خرید مجدد آنها، باز هم اقداماتی را در راستای بسیار پایین آوردن ارزش آن توکن انجام دهد.
حمله ماینر نیز نوع آنالوگ حمله به بلاک چین از طریق وام فلش است که بر اساس الگوریتم اثبات کار کار میکند. این نوع حملات پیچیدهتر و گرانتر هستند اما میتواند برخی از لایههای حفاظتی وامهای فلش را دور بزند. نحوه عملکرد آن به این صورت است که مهاجم ظرفیتهای استخراج را اجاره میکند و یک بلاک که تنها شامل تراکنشهای مورد نیاز خودش است را تشکیل میدهد. در این بلوک، آنها میتوانند ابتدا توکنها را وام بگیرند، قیمتها را دستکاری کنند و سپس توکنهای وام گرفته شده را بازگردانند. از آنجا که مهاجم به طور مستقل تراکنشها را وارد بلاک میکند و همچنین ترتیب آنها را خودش مشخص میکند، مانند آنچه در هک وامهای فلش اتفاق میافتد، حمله در واقع اتمی است (هیچ تراکنش دیگری نمیتواند در بلاک گنجانده شود).
این نوع حملات برای هک بیش از ۱۰۰ پروژه دیفای مورد استفاده قرار گرفته و مجموع خسارت وارد شده به آنها در حدود ۱ میلیارد دلار است. به طور متوسط تعداد هکها در این زمینه در طول زمان افزایش یافته است؛ به طوری که طی یک سرقت در ابتدای سال ۲۰۲۰ (زمستان ۹۸)، صدها هزار دلار از دست رفت و تا پایان سال، مبلغ آن به دهها میلیون دلار افزایش یافت.
سخن پایانی
پروتکل های دیفای آمدهاند تا ما را از سیستمهای مالی متمرکز کنونی راحت کنند، اما مشابه هر دستاورد دیگر در حوزه تکنولوژی، مخصوصا با توجه به قرار داشتنشان در اولین سالهای تولد، مشکلات خاص خودشان را دارند؛ آنها هنوز به بلوغ نرسیدهاند. به همین دلیل هک پروتکل های دیفای رخ میدهد. بهتر است قبل از قرار دادن سرمایه در یک پروتکل از تاریخچه هک شدن یا نشدن آن اطمینان کسب کرده و درباره سطح امنیتش بیشتر تحقیق کنید.
تهیه شده در بیت 24