با تجزیه و تحلیل چندین هک رخ داده در بخش مالی غیرمتمرکز (دیفای)، مسیرهای اصلی و نقاط آسیبپذیر معمول در این بخش مشخص شدند.
رشد سریع بخش دیفای و آمار قابل توجه هک آن
بخش دیفای با سرعت فوق العادهای در حال رشد است. سه سال پیش، ارزش کل داراییهای قفل شده در این بخش تنها 800 میلیون دلار بود. این رقم تا فوریه سال 2021 به 40 میلیارد دلار افزایش یافت و در آوریل سال جاری به 80 میلیارد دلار رسید. ارزش کل داراییهای قفل شده در زمان انتشار این مطلب بیشتر از 140 میلیارد دلار بود. چنین رشد عظیم و سریعی مطمئنا توجه همه هکرها و کلاهبرداران را به خود جلب میکند.
براساس گزارش یک شرکت تحقیقات ارز رمزنگاری، بخش دیفای از سال 2019 تاکنون حدود 284.9 میلیون دلار را به دلیل هک و دیگر حملات کلاهبرداری از دست داده است. از نظر هکرها، هک اکوسیستمهای بلاک چین روشی ایدهآل برای رسیدن به ثروت عظیم است.
از آنجا که چنین اکوسیستمهایی ناشناس هستند و سرمایه زیادی دارند، هرگونه هکی میتواند بدون اطلاع قربانی طرح ریزی و انجام شود. طبق دادهها، تنها در چهار ماه اول سال جاری، هکرها حدود 240 میلیون دلار از این بخش را به سرقت بردهاند. البته، اینها مواردی هستند که اخبار آن در سایتهای خبری منتشر شدهاند. برآورد میشود که میزان واقعی سرقت شده از این بخش بالغ برمیلیاردها دلار باشد.
هکرها چگونه از پروتکلهای دیفای سرقت میکنند؟ در این مطلب چندین حمله هکرها به این بخش تجزیه و تحلیل شده و تمام مسیرها و نقاط اصلی نفوذ به آن شناسایی شدهاند.

سوء استفاده از پروتکلهای شخص ثالث و خطاهای منطق تجارت
هرگونه حمله و هک در درجه اول با تجزیه و تحلیل قربانیان آن آغاز میشود. فناوری بلاک چین فرصتهای زیادی را برای تنظیم خودکار و شبیه سازی سناریوهای هک فراهم میکند. برای این که حمله سریع و غیرقابل تشخیص باشد، مهاجم باید مهارت های برنامهنویسی و دانش لازم در مورد نحوه عملکرد قراردادهای هوشمند را داشته باشد.
مجموعه ابزارهای خاص یک هکر به وی این امکان را میدهد تا نسخه کامل بلاک چین خود را از نسخه اصلی شبکه بارگیری کرده و سپس فرایند حمله را به طور کامل طراحی کند؛ گویی که تراکنش در یک شبکه واقعی انجام میشود.
در مرحله بعد، هکر باید مدل تجاری پروژه و سرویسهای خارجی مورد استفاده را بررسی کند. اشتباهات در مدلهای ریاضی منطق تجارت و سرویسهای شخص ثالث دو موردی هستند که بیشتر مورد سوء استفاده هکرها قرار میگیرند.
توسعه دهندگان قراردادهای هوشمند اغلب در زمان انجام تراکنش به دادههای بیشتری نیاز دارند. بنابراین، آنها مجبور به استفاده از سرویسهای خارجی (برای مثال، اوراکل ها) میشوند. این سرویسها به گونهای طراحی نشدهاند که در محیط فاقد اطمینان قطع شوند، بنابراین، استفاده از آنها ریسکهای زیادی را به دنبال دارد. براساس آمارهای مربوط به یک سال تقویمی (از تابستان سال 2020 تا تابستان سال 2021)، تنها 10 هک منجر به سرقت رفتن حدود 50 میلیون دلار شدهاند.
اشتباهات در برنامه نویسی
قراردادهای هوشمند یک مفهوم نسبتا جدید در دنیای فناوری و اطلاعات هستند. علیرغم سادگی، زبانهای برنامهنویسی برای قراردادهای هوشمند به الگوی توسعه کاملا متفاوتی نیاز دارند. توسعهدهندگان اغلب فاقد مهارتهای برنامهنویسی لازم هستند و اشتباهات فاحشی را انجام میدهند که منجر به متضرر شدن کاربران زیادی میشود.
ممیزیهای امنیتی تنها بخشی از این نوع ریسک را حذف میکنند، زیرا اکثر شرکتهای حسابرسی موجود در بازار هیچ مسئولیتی در قبال کیفیت کارهایی که انجام میدهند، ندارند و فقط به جنبه مالی آن فکر میکنند.
بیش از 100 پروژه به دلیل خطاهای برنامهنویسی هک شدهاند که در مجموع حدود 500 میلیون دلار از آنها به سرقت رفته است. یک مثال واضح از این نوع هک، پروژه دیفورس (dForce) است که در 19 آوریل سال 2020 رخ داد. هکرها از یک آسیب پذیری در استاندارد توکن ERC-777 و حمله بازدخولی استفاده کردند و 25 میلیون دلار از وجوه این پروژه را به سرقت بردند.
نکته: حمله بازدخولی هنگامی رخ میدهد که چند کاربر به طور مشترک در یک بازه زمانی واحد از یک کد برنامه استفاده میکنند.
وامهای فلش، دستکاری قیمت و حملات استخراج کننده
اطلاعات ارائه شده در قرارداد هوشمند فقط مربوط به زمان انجام یک تراکنش هستند. به طور پیش فرض، این قرارداد از دستکاری خارجی احتمالی اطلاعات موجود در داخل خود مصون نیست. بنابراین، این امر طیف وسیعی از حملات را امکان پذیر میکند.
وامهای فلش وامهایی بدون وثیقه هستند، اما مستلزم بازگردان ارزهای رمزنگاری قرض گرفته شده در همان تراکنش هستند. اگر وام گیرنده نتواند وجوه را پس دهد، تراکنش لغو میشود (برگشت داده میشود).
چنین وامهایی به وام گیرنده این امکان را میدهند تا مقدار زیادی ارز رمزنگاری دریافت کنند و از آنها برای اهداف خود استفاده کنند. به طور معمول، حملات وام فلش شامل دستکاری قیمت هستند. مهاجم در ابتدا تعداد زیادی از توکنهای وام گرفته شده را در یک تراکنش میفروشد و در نتیجه قیمت را کاهش میدهد. سپس قبل از خرید مجدد آنها، اقدامات زیادی با قیمت بسیار پایین توکن انجام میدهد.
حمله استخراج کننده
حمله استخراج کننده شبیه به حملات وام فلش به یک بلاک چین مبتنی بر الگوریتم اجماع اثبات کار است. این نوع حملات پیچیدهتر و گرانتر هستند، اما میتوانند برخی از لایههای امنیتی وامهای فلش را دور بزنند.
نحوه انجام حملات استخراج کننده بدین شرح است: مهاجم دستگاههای استخراج را اجاره میکند و یک بلاک که تنها شامل تراکنشهای مورد نیازش است، ایجاد میکند. در این بلاک، آنها میتوانند ابتدا توکنها را وام بگیرند، قیمتها را دستکاری کنند و سپس توکنهای وام گرفته شده را بازگردانند.
با توجه به این که مهاجم تراکنشهایی را انجام میدهد که به طور مستقل و همچنین به ترتیب وارد بلاک میشوند، حمله در واقع اتمیک است (به این معنی که مانند وامهای فلش، هیچ تراکنش دیگری وارد بلاک نمیشود). از این نوع حملات برای هک بیش از 100 پروژه استفاده شده که مجموع وجوه سرقت شده از آنها حدود 1 میلیارد دلار بوده است.
به طور متوسط، مبالغ سرقت شده در هکها به مرور زمان افزایش یافتهاند. در ابتدای سال 2020، در یک هک صدها هزار دلار به سرقت میرفت. اما در پایان این سال، این رقم به دهها میلیون دلار افزایش یافت.
عدم صلاحیت توسعه دهنده
خطای انسانی خطرناکترین نوع حمله است. افرادی که در جستجوی دست یافتن به ثروت سریع هستند، وارد بخش دیفای میشوند. بسیاری از توسعه دهندگان از مهارت و صلاحیت پایینی برخوردار هستند، اما همچنان سعی میکنند پروژهها را با عجله راهاندازی کنند.
قراردادهای هوشمند متن باز هستند، بنابراین هکرها به راحتی میتوانند آنها را کپی کنند و تغییر دهند. اگر پروژه اصلی شامل سه نوع اول آسیب پذیری باشد، آنها به صدها پروژه شبیه سازی شده سرایت میکنند. حمله به توکن RFI در سیفمون یک نمونه از این حملات است که منجر به سرقت بیش 2 میلیارد دلار شد.