هک شبکه بلاک چین؛ نفوذپذیر یا نفوذناپذیر
زمانی بود که شبکههای بلاکچین را هکنشدنی میدانستند؛ اما اکنون دیگر نمیتوان مدعی شد این فناوری همچنان در قلعه محکم و نفوذناپذیرش جولان میدهد. هر روز حفرههای امنیتی جدیدی در پلتفرمهای رمزارز و قرارداد هوشمند کشف میشوند و برخی از این حفرهها در بخشهای پایهای شبکه بلاکچین قرار دارند؛ ازاینرو، نگرانی کارشناسان را بیشتر میکند. فوریه ۲۰۱۹ (بهمن ۱۳۹۷)، چند کارشناس امنیتی در Coinbase متوجه رفتار نامتعارفی در رمزارز اتریوم کلاسیک، یکی از رمزارزهای قابلمعامله در پلتفرم صرافی کوینبیس شدند. قضیه از این قرار بود که شبکه بلاکچین اتریوم کلاسیک شامل تاریخچه تمام تراکنشها با حملات شدید مواجه شده بود.
مهاجم بهنحوی کنترل بیش از نصف قدرت محاسباتی شبکه را بهدست آورده بود و از آن برای بازنویسی تاریخچه تراکنشها استفاده میکرد؛ درنتیجه، شرایط بهوجودآمده باعث شد مهاجم بتواند یک رمزارز را چند بار خرج کند. این نوع حمله را با نام Double Spending (بهمعنای دو بار خرجکردن) میشناسند. در حمله به اتریوم کلاسیک، هکر با تعداد رمزارزهایی به ارزش ۱/۱ میلیون دلار حملاتش را انجام داده بود. کوینبیس ادعا کرد درواقع هیچ رمزارزی از هیچ حسابی دزدیده نشد؛ اما صرافی معروف دیگر با نام Gate.io اعتراف کرد بهاندازه کوینبیس خوشاقبال نبوده و حدود دویستهزار دلار از داراییهای کاربران را در نتیجه حملات از دست داده؛ اما در اتفاقی عجیب، مهاجم چند روز بعد نیمی از مبلغ بهسرقترفته را بازگردانده است.
یک سال قبل از این حملات، سناریو وحشتناک آن فقط در حد نظری مطرح شد؛ اما حمله ۵۱ درصد علیه اترویم کلاسیک یکی از حملات پیچیده از مجموعهحملات اخیر روی شبکه بلاکچین است که ریسکهای احتمالی این فناوری نوپا را افزایش داد. درمجموع، هکرها از سال ۲۰۱۷ (۱۳۹۵) تاکنون دومیلیارد دلار رمزارز از صرافیها دزدیدهاند؛ البته این مبلغ فقط مربوط به مواردی است که عموما منتشر شدند. حملات فقط از طرف هکرهای فرصتطلب نیست و درحالحاضر گروههای خبره و ماهر سازمانیافته جرایم اینترنتی نیز مسئول برخی حملات هستند. دادههای شرکت Chainalysis اخیرا نشان دادند فقط دو گروه که اتفاقا هر دو همچنان فعال هستند، احتمالا مسئول سرقت یکمیلیارد دلار رمزارز از صرافیها هستند.
جای تعجبی ندارد شبکه بلاکچین بهویژه برای دزدها جذاب باشد؛ زیرا تراکنشهای کلاهبردارانه برخلاف سیستم مالی سنتی، ردیابینشدنی هستند. از این گذشته، همانطورکه بلاکچین ویژگیهای امنیتی منحصربهفردی دارد، آسیبپذیریهای خاصی نیز میتواند داشته باشد؛ بنابراین، اگر کسی ادعا کرد فناوری بلاکچین هکنشدنی و نفوذناپذیر است، سخت دراشتباه است!
در چندین سال گذشته، در میان انفجار انواع و اقسام پروژههای رمزارز دریافتیم که این فناوری نیز در عمل میتواند با حملات مواجه شود و ضعفهای اساسی از خود نشان میدهد. کشف ضعفهای اساسی میتواند برای رشد و آینده شبکههای بلاکچین و داراییهای دیجیتالی راهگشا باشند. درادامه، ضعفهای بلاکچین را معرفی میکنیم و طریقه هک شبکه بلاکچین را توصیف خواهیم کرد.
طریقه هک شبکه بلاکچین
قبل از صحبت درباره هک شبکه بلاکچین، اجازه بدهید برخی مفاهیم اصلی را تعریف کنیم. بلاکچین پایگاه داده رمزنگاریشدهای است که شبکهای از کامپیوترها برقرار میکنند و هرکدام از کامپیوترها نسخه بهروز آن را ذخیره دارند تا ازطریق آن در شبکه سایر کامپیوترها قرار بگیرند. پروتکل بلاکچین به قوانینی میگویند که به کامپیوترهای شبکه نودها (Node) و چگونگی تأیید تراکنشهای جدید و افزودنشان به پایگاه داده را نشان میدهد. پروتکل با بهرهگیری از رمزنگاری (Cryptography) و نظریه بازی (Game Theory) و علم اقتصاد (Economics) مشوقهایی برای نودها ایجاد میکند تا آنها را ترغیب کند بهجای تلاش برای حمله و نفع شخصی، برای حرکت بهسمت ایمنکردن شبکه فعالیت کنند و پاداش مناسب تلاششان دریافت کنند. این سیستم زمانیکه همهچیز در جای خود قرار گیرند، بسیار ایمن میشود و تلاش برای افزودن تراکنش جعلی در آن کاملا دشوار و گران تمام خواهد شد و به همان نسبت تراکنشهای معتبر را در کسری از ثانیه تأیید میکند.
این قابلیتها باعث شده است فناوری بلاکچین برای بسیاری از صنایع و سازمانها جذاب بهنظر برسد. با مؤسسههای مالی شروع کنیم. مؤسسههای بزرگی مانند Fidelity Investments و Intercontinental Exchange قصد دارند خدماتی برپایه بلاکچین ارائه کنند و مالک بورس اوراق بهادار نیویورک نیز تصمیم گرفته است شبکههای بلاکچین را در میان سیستمهای مالی موجود محاصره کند. حتی بانکهای مرکزی تلاش میکنند به طریقی از بلاکچینها بهعنوان ارز ملی دیجیتالی استفاده کنند.
هرچه سیستم بلاکچین پیچیدهتر باشد، احتمال خطا و اشتباه در زمان راهاندازی آن بیشتر خواهد بود
سال ۲۰۱۹ (۱۳۹۷) شرکت مالک رمزارز Zcash اعلام کرد بهصورت پنهانی نقصی ظریف در رمزنگاریای را برطرف کرده که بهطور تصادفی در پروتکل ایجاد شده است. مهاجم با استفاده از این نقص میتواند به تعداد نامحدود Zcash تقلبی تولید کند. خوشبختانه هیچ هکری نتوانست به این نقص پی ببرد و از آن بهره ببرد. ناگفته نماند Zcash رمزارزی است که با استفاده از ریاضیات بسیار پیشرفته و پیچیده بستری امن برای انجام تراکنشهای خصوصی کاربرانش فراهم میکند.
پروتکل یگانه بخشی نیست که حتما باید امنیت داشته باشد. برای مبادله رمزارز یا راهاندازی یک نود در شبکه، کاربر باید از نرمافزار کلاینت استفاده کند که ممکن است آسیبپذیری داشته باشد. سپتامبر ۲۰۱۸ (شهریور ۱۳۹۷) توسعهدهندگان نرمافزار کلاینت بیت کوین، Bitcoin Core، بهطور پنهانی نقصی فنی را برطرف کردند که به هکر اجازه میداد بیشتر از میزانی سکه تولید کند که سیستم اجازه میدهد.
تا ابتدای سال ۲۰۱۹، هنوز خبرسازترین هکها و حملات حوزه رمزارز در بستر شبکه بلاکچین اتفاق نیفتادهاند و هکرها متمرکز بر صرافیها بودند که بیشترین آسیبپذیری وبسایتهایشان بهدلیل ضعف در اقدامات اساسی امنیتی قلمداد میشد؛ اما ژانویه ۲۰۱۹ (دی ۱۳۹۷) و با حمله پیچیده و پرهزینه به بلاکچین اتریوم کلاسیک، صدر اخبار امنیتی معطوف به این مسئله شد و نخستینبار با حمله ۵۱ درصد روبهرو شد.
هک بلاکچین؛ قانون ۵۱ درصد
حساسیت به حمله موسوم به ۵۱ درصد در بیشتر رمزارزها امری ذاتی تلقی میشود. فراگیربودن آسیبپذیری به حمله ۵۱ درصد بدیندلیل است که اغلب شبکههای بلاکچین تراکنشها را برپایه پروتکل Pow یا بهعبارتی «گواه اثبات کار» (Proof of Work) تأیید میکنند. در این فرایند که با عنوان استخراج نیز شناخته میشود، نودها (Node) مقادیر زیادی از توان محاسباتی را صرف اثبات خود میکنند تا اجازه افزودن اطلاعات تراکنشهای جدید در پایگاه داده را کسب کنند.
علاوهبراین، پیشاز اینکه سراغ توضیح حمله ۵۱ درصدی برویم باید با مفهوم هاردفورک (Hardfork) آشنا شویم. بهطورخلاصه، هاردفورک نسخهی بهروز جدید نرمافزار شبکه بلاک چین است که با پروتکل بلاک چین اصلی سازگاری ندارد؛ بنابراین، باعث میشود بلاکهای متفاوت از شبکهی اصلی جدا شوند و دو شبکهی مجزا و موازی را تشکیل دهند و بلاکها و تراکنشهای جدید را بر اساس پروتکلهای معتبر خود ایجاد کنند. برای مثال میتوان به هاردفورکشدن بیت کوین کش اشاره کرد که تولد این رمزارز از دل بیت کوین را بههمراه داشت.
طبق آنچه قانون ۵۱ درصد نامگذاری شده است، اگر استخراجکنندهای به نحوی بتواند کنترل ۵۱ درصد از توان استخراج شبکه بلاکچین را دراختیار خود درآورد، سایر کاربران را با ارسال پاداش میتواند فریب دهد و سپس نسخه دیگری از بلاکچین ایجاد کند که در آن پرداخت پاداش هرگز اتفاق نیفتاده باشد. این نسخه جدید از شبکه را فورک (Fork) مینامند. مهاجمی که بیشترین مقدار توان استخراج را کنترل میکند، فورک جدید را بهعنوان نسخهای معتبر از شبکه میتواند تأیید و دوباره همان رمزارزها را برای سایر کاربران ارسال کند.
دراینمیان، خبر خوش این است که اجرای این حمله و سوءاستفاده از قانون ۵۱ درصد در بلاکچینهای معروف بسیار پرهزینه است. بر اساس وبسایت Crypto51، هزینه اجاره توان استخراج کافی برای حمله به بیت کوین در سال ۲۰۱۹ بیش از ۲۶۰ هزار دلار در هر ساعت برآورد شده است. با این تفاسیر، اگر در ردهبندی محبوبترین رمزارزها هرچه بهسمت رتبههای پایینتر برویم، هزینه حمله بهطرز چشمگیری کاهش خواهد یافت. همچنین، سقوط ارزش ناگهانی رمزارزها میتواند عامل دیگری برای کاهش هزینه حمله باشد؛ زیرا با کاهش ارزش رمزارزها بسیاری از استخراجکنندگان دستگاههایش را خاموش میکنند و درنتیجه امنیت شبکه کاهش مییابد.
در میانههای سال ۲۰۱۸ (خرداد ۱۳۹۷) هکرها استفاده از حمله ۵۱ درصد روی مجموعهای از کوینهای کوچکی مثل Verge و Monacoin و Bitcoin Gold را شروع کردند و درنتیجه آن حملات، بیستمیلیون دلار از کاربران سرقت کردند. پاییز همان سال، مهاجمان صدهزار دلار رمزارز Vertcoin بهسرقت بردند. حمله به اتریوم کلاسیک که بیش از یکمیلیون دلار رمزارز نصیب هکرها کرد، نخستین حمله به یک رمزارز در بین بیست رمزارز برتر حوزه بلاکچین بهحساب میآید.
دیوید وُریک، همبنیانگذار پلتفرم ذخیره فایل برپایه بلاکچین Sia، پیشبینی میکند حملات ۵۱ درصد بیشتر تکرار خواهند شد و شدتشان افزایش خواهد یافت و احتمالا صرافیها خسارات ناشی از Double Spending را متحمل خواهند شد. بهباور وُریک، یکی از مسائلی که به این روند دامن میزند، ظهور بازارهای هشریت است که به هکرها امکان میدهد توان محاسباتی لازم برای اجرای حمله را اجاره کنند. دیوید وُریک گفت: «صرافیها درنهایت مجبور خواهند شد در اینکه از چه رمزارزی پشتیبانی کنند یا نه، سختگیرتر باشند و با حساسیت بیشتری قدم بردارند.»
نقص فنی قرارداد هوشمند (Smart-Contract)
بعد از حملات ۵۱ درصد، نقصهای فنی در قرارداد هوشمند نیز یافت شدند. درحالحاضر، گروهی از محققان امنیتی در حال بررسی پیامدهای آسیبپذیریهای جدید امنیتی کشفشده در بلاکچین هستند. ازقضا داستان شکلگیری اتریویم کلاسیک میتواند نقطه شروع مناسبی برای آشنایی با این آسیبپذیری باشد؛ بنابراین، ابتدا برخی مفاهیم را مرور میکنیم.
قرارداد هوشمند برنامهای کامپیوتری است که روی شبکه بلاکچین راهاندازی میشود و از آن برای خودکارکردن حرکت رمزارز بر اساس قوانین و شرایط از پیش مقررشده استفاده میکنند. این فناوری کاربردهای زیادی دارد؛ ازجمله تسهیل قراردادهای حقوقی واقعی یا تراکنشهای مالی پیچیده. دیگر کاربرد قرارداد هوشمند که در اینجا بیشتر با آن سروکار داریم، توانایی ایجاد مکانیزم رأیدهی است که ازطریق آن تمام سرمایهگذاران صندوق سرمایهگذاری خطرپذیر خواهند توانست گروهی تصمیم بگیرند چگونه پول را هزینه کنند.
چنین صندوقی که با عنوان سازمان نامتمرکز خودگردان (DAO) شناخته میشود، سال ۲۰۱۶ با کمک سیستم بلاکچین اتریوم شروع به کار کرد. مدت کوتاهی پس از آغاز کار، هکری توانست بیش از شصتمیلیون دلار دارایی رمزارز را ازآنِ خود کند. هکر با اکسپلویتکردن نقصفنی پیشبینینشده در قرارداد هوشمندی که DAO اداره میکند، حمله خود را اجرا کرد. در اصل، این نقص فنی به هکر اجازه میدهد همواره بدون ثبت گزارش دریافت پول بهوسیله سیستم، به درخواست پول از سایر حسابها ادامه دهد.
همانطورکه این حمله نشان داده است، وجود باگ در قرارداد هوشمند اضطرارهای منحصربهفردی میسازد. در نرمافزارهای سنتی، باگها را میتوان با نصب پچ برطرف کرد؛ اما در دنیای بلاکچین به این سادگیها نیست؛ زیرا تراکنشهای روی بلاکچینی بازگشتناپذیر هستند. بهگفته پتر سانکوف، یکی از محققان فعال در ETH Zurich و همبنیانگذار استارتاپ امنیتی قرارداد هوشمند ChainSecurity، استفاده از قرارداد هوشمند مانند بههوافرستادن سفینه فضایی است؛ بنابراین، جایی برای خطای نرمافزاری وجود ندارد.
با اینکه نمیتوان قرارداد هوشمند را با نصب وصله امنیتی تعمیر کرد، برخی از قراردادها را میتوان با بهکارگیری از قراردادهای هوشمند اضافی ارتقا داد تا با قرارداد قبلی تعامل داشته باشند. توسعهدهندگان میتوانند سوئیچهای قطع متمرکز را نیز در شبکه طراحی کنند تا درصورت حمله یا نفوذ هکر، با کمک آنها تمام فعالیتها را متوقف کنند. البته پولهایی که قبل فعالشدن سوئیچ دزدیده شوند، نمیتوان پس گرفت. تنها راهی که شاید بتوان با کمک آن پولهای ازدسترفته را زنده کرد، بازنویسی تاریخچه شبکه است تا بلاکچین را به شرایط قبل از حمله برگرداند؛ بنابراین، باید فورک جدیدی از بلاکچین ایجاد شود و تمام افراد فعال در شبکه موافقت کنند بهجای نسخه قبلی از فورک جدید استفاده کنند.
درواقع، این روش گزینهای بود که توسعهدهندگان اتریوم انتخاب کردند و بیشتر اعضای شبکه و نه تمام اعضا به بلاکچین جدید مهاجرت کردند که درحالحاضر با عنوان اتریوم شناخته میشود. گروه کوچکی از اعضا نیز تصمیم گرفتند در نسخه قبلی بمانند که اکنون با نام اتریوم کلاسیک معرفی میشود. تیم امنیتی سانکوف موسوم به ChainSecurity ژانویه ۲۰۱۹ (دی ۱۳۹۷) باردیگر اتریوم را از تکرار حادثه حمله DAO نجات داد. دقیقا یک روز قبل از بهروزرسانی بزرگ نرمافزاری، این شرکت به توسعهدهندگان ارشد اتریوم هشدار داد که پیامد ناخواسته این بهروزرسانی ممکن است باعث شود تعدادی از قراردادها در بلاکچینی بماند که دربرابر حمله DAO آسیبپذیر هستند و حادثهای دیگر بهوجود بیاورد. درنتیجه توسعهدهندگان بهروزرسانی را حداقل تا یک ماه بهتأخیر انداختند.
با اینکه صدها قرارداد هوشمند اتریوم نقص فنی اینچنینی دارند، بر اساس گزارش ویکتور فنگ، همبنیانگذار و مدیرعامل شرکت امنیتی بلاکچین Anchain.ai، دَههاهزار از قراردادهای هوشمند اتریوم دچار آسیبپذیریهای دیگری هستند. ازآنجاکه سورس کد بلاکچین روی شبکه دردسترس است، هکرها این نقصها را پیدا خواهند کرد. بهگفته فنگ، این آسیبپذیریها تفاوت عمدهای با امنیت سایبری سنتی دارند.
آگوست ۲۰۱۸ (مرداد ۱۳۹۷) شرکت امنیتی AnChain توانست ۵ آدرس اتریوم را شناسایی کند که با حمله پیچیدهای مرتبط بودند. مهاجمان در این حمله قصد داشتند با استفاده از نقص یکی از قراردادها در یکی از شرطبندیهای معروف حدود چهارمیلیون دلار سرقت کنند.
روشهای پیشگیری از هک بلاکچین
استارتاپ AnChain.ai یکی از چندین استارتاپی است که هدفشان معرفی خطرهای امنیتی متوجه بلاکچین است. این استارتاپ با بهرهمندی از هوش مصنوعی میتواند تراکنشها را کنترل کند و فعالیتهای مشکوک را زیرنظر بگیرد. همچنین، کدهای قرارداد هوشمند را میتواند اسکن و آسیبپذیریهای شناختهشده را کشف کند. سایر شرکتها مثل ChainSecurity نیز در حال توسعه آزمودن خدماتی برپایه تکنیکی ثابت در علوم کامپیوتر با نام Formal Verification هستند. هدف پروژه این است که با کمک ریاضی راستیآزمایی انجام دهد و ثابت کند کدهای قراراداد هوشمند دقیقا همان فرایندی را اجرا میکنند که سازنده از آنها میخواهد.
بهگفته سانکوف، ابزار راستیآزمایی که در چند سال گذشته طراحی شدند، به سازندگان قراردادهای هوشمند این امکان را دادند که بسیاری از باگهای موجود در شبکه را از بین ببرند. البته استفاده ازاینقبیل ابزار فرایند زمانبر و گرانی دارد که شاید برای اغلب افراد توجیه اقتصادی نداشته باشد. فیلیپ دایان، محقق حوزه رمزارز و قرارداد هوشمند در دانشگاه کورنل، روش دیگری برای مقابله با هک طراحی کرده است. بنابر پیشنهاد او، راهکار دیگر بهکاربردن از قرارداد هوشمند اضافی است تا بلاکچینی برپایه پاداش معرفی باگ راهاندازی شود. بهعبارتدیگر، اگر کاربری باگ پیدا و آن را گزارش کند، در ازای آن رمزارز پاداش بگیرد.
جمعبندی
درحالیکه فناوری بلاکچین همیشه با ادعای نفوذناپذیربودن تبلیغ میشود، در برخی مواقع میتواند دربرابر هکرهای حرفهای یا بهدلیل نقص فنی در نرمافزار آسیبپذیر باشد. بنابراین، مثل هر بخش دیگری از دنیای فناوری، بلاکچین نیز خاکستری است. امروزه، بلاکچینهای متعددی معرفی شدهاند و رفتهرفته دانش ما درباره رفتار آنها تکمیل میشود.
این مقاله حاوی توصیه یا پیشنهاد اقتصادی زومیت نیست. خطر ازدستدادن سرمایه در هر سرمایهگذاری وجود دارد و سرمایهگذار باید پس از مطالعه و تحقیق، خود تصمیم نهایی را اتخاذ کند و مسئولیت تبعات آن را برعهده بگیرد.