آیا شبکه زنجیره بلوکی (Block Chain) را میتوان هک کرد؟
زنجیرهبلوکی (Block Chain) با شعار نفوذناپذیری به دنیای فناوری اطلاعات وارد شد و بر همین اساس موفق شد نظر مساعد بسیاری از کاربران و شرکتها را جذب کند.
بهطوری که رمزارزهای دیجیتالی مهمی بر مبنای این فناوری به شکل گسترده به دنیای تجارت وارد شدند و حتی در برخی صنایع برای حفظ امنیت زنجیره تأمین از فناوری فوق استفاده شد.
در روزهای اولیه که Block Chain برای بیشتر کاربران ناشناخته بود، این فناوری غیرقابلنفوذ به نظر میرسید و بیشتر کارشناسان بر این باور بودند که یک مکانیزم یکپارچه امنیتی قدرتمند در دسترس شرکتها قرار دارد، بااینحال، اکنون روشهای مختلفی شناسایی شدهاند که نشان میدهند این شبکه چندان نفوذناپذیر نیست و هکرها قادر به تخریب آن هستند.
دورانی که همگان شبکه زنجیرهبلوکی را هک ناپذیر میدانستند، سپری شده و دیگر هیچ کارشناس امنیتی با قاطعیت نمیتواند اعلام دارد که این فناوری سد محکمی در برابر هکرها ایجاد میکند.
هر روز رخنههای امنیتی جدیدی در زیرساختهای رمزارزها و قراردادهای هوشمند شناسایی میشوند که برخی از آنها در بخش پایه شبکه زنجیرهبلوکی قرار دارند که نگرانی فعالان این حوزه را به همراه داشته است.
اولینبار در سال 2020 میلادی کارشناسان امنیتی شرکت Coinbase موفق به شناسایی رفتارهای عجیبی در رمزارز اتریوم کلاسیک شدند که یکی از رمزارزهای قابلمعامله در پلتفرم صرافی کوین بیس است.
بررسیهای بیشتر نشان داد که شبکه زنجیرهبلوکی اتریوم کلاسیک که تاریخچه تمام تراکنشها را نگهداری میکرد با حملههای شدیدی روبرو شده است.
در این حمله هکرها موفق شده بودند کنترل بیش از نیمی از شبکه (51 درصد) را به دست آوردند و از آن برای بازنویسی دوباره تاریخچه تراکنشها استفاده کنند، بهطوری که موفق شدند یک رمزارز را برای چندمرتبه استخراج کنند. کارشناسان این حمله را دوباره خرجکردن (Double Spending) نامگذاری کردند.
در حمله به اتریوم کلاسیک، هکرها توانستند به حسابها و کیف پولهایی به ارزش 1.1 میلیون دلار دست پیدا کند. البته شرکت کوین بیس اعلام کرد هیچ رمزارزی از هیچ کیف پول و حسابی به سرقت نرفته است.
در نمونه دیگری، صرافی معروف Gate.io خبر داد که نزدیک به دویست هزار دلار از داراییهای مشتریانش در اثر یک حمله هکری به سرقت رفته است، اما به فاصله چند روز هکرها نیمی از مبلغ به سرقت رفته را بهحساب مشتریان باز گرداندند.
حملههای پیچیده باهدف کنترل و دسترسی به زنجیره ارتباطی
تقریباً یک سال قبل از پیادهسازی این حملههای مخرب، فرضیه پیادهسازی چنین حملههایی از سوی کارشناسان امنیتی مطرح شد، اما هیچگاه اثبات مفهومی آن انجام نشد، اما به نظر میرسد، همان فرضیه کافی بود تا سرنخهای جدی در اختیار هکرها قرار دهد.
حملهای که بتواند 51 درصد کنترل اتریوم کلاسیک را در اختیار هکرها قرار دهد یکی از پیچیدهترین حملههایی است که سالهای اخیر پیرامون شبکه زنجیره بلوکی به وقوع پیوسته و نشان میدهد این شبکه در برابر مخاطرات امنیتی آسیبپذیر است.
از سال 2017 میلادی تا اکنون هکرها توانستهاند نزدیک به دو میلیارد دلار رمزارز از صرافیها سرقت کنند، البته این رقم تنها به صرافیهایی اشاره دارد که بهطور رسمی این خبر را منتشر کردهاند. حملههای سایبری تنها از جانب هکرها نیست و گروههای سازمانیافته نیز برخی حملههای هکری را مدیریت میکنند.
پژوهشی که شرکت Chainalysis انجام داده نشان میدهد حملههای گسترده و پیچیده توسط گروههای سازمانیافتهای انجام میشود که منابع و زیرساختها مناسب در اختیار دارند. به عقیده پژوهشگران، هکرها به دلیل اینکه تراکنشهای کلاهبردارانه برعکس سیستمهای مالی سنتی به راحتی ردیابی نمیشوند به آن علاقهمند شدهاند.
در شرایطی که زنجیره بلوکی، قابلیتهای امنیتی خاص خود را دارد، آسیبپذیریهای خاص خود را نیز دارد که متفاوت از زیرساختهای رایج است. بنابراین دیگر هیچ کارشناسی با صراحت نمیگوید که زنجیره بلوکی یک فناوری هکناپذیر و نفوذناپذیر است.
در چند سال گذشته انواع مختلفی از رمزارزها به بازار عرضه شدهاند که برخی از آنها جدید بودند، در حالی که برخی دیگر مشتق شده از نمونههای شناخته شده بودند.
با اینحال، در تمامی موارد این ارزهای دیجیتالی با حملههای سایبری مختلفی روبرو شدند که ضعفهای زیربنایی آنها را آشکار کرد. در نگاه اول هک شدن زنجیره بلوکی، دلهرهآور است، اما شناسایی ضعفها کمک میکند در آینده شبکههای زنجیره بلوکی و داراییهای دیجیتالی قدرتمندتری پیادهسازی کنیم.
زنجیره بلوکی بانک اطلاعاتی رمزنگاری شدهای است که شبکهای از کامپیوترها آنرا پیادهسازی میکنند و هر یک نسخه بهروز شده بانکاطلاعاتی را ذخیرهسازی میکنند تا شبکه انسجام خوبی پیدا کند و الگوی زنجیرهای بودن شبکه حفظ شود.
در این معماری، مفهومی به نام پروتکل زنجیرهبلوکی وجود دارد که مجموعه خطمشیهایی است که نحوه اتصال گرههای شبکه (کامپیوترها) به یکدیگر و انجام تراکنشهای جدید و اضافهکردن آنها به پایگاهداده را تعریف میکند.
این پروتکل از الگوریتمهای رمزنگاری و مبانی علم اقتصاد برای تعریف درست گرهها و حفظ امنیت شبکه استفاده میکند و سعی میکند کاربران را ترغیب کند که اگر قوانین را رعایت کنند پاداشهای مناسبی دریافت میکنند.
این سیستم تنها زمانی در امنیت کامل قرار میگیرد که همه ملزومات در مکان درست خود قرار گیرند، در این حالت تلاش برای اضافهکردن تراکنش جعلی به شبکه کار پیچیده و هزینهبری خواهد بود، زیرا در هر ثانیه تراکنشهای معتبری به شبکه اضافه میشوند که شانس هکرها برای واردکردن تراکنش جعلی به شبکه را به حداقل میرساند.
قابلیتهای اینچنینی باعث شده تا فناوری زنجیرهبلوکی برای سازمانها، صنایع بزرگ و شرکتهای فعال در حوزه زنجیره تأمین جذاب به نظر برسد. یکی از این صنایع بزرگ، مؤسسات مالی هستند.
موسسههای مالی بزرگ مثل Intercontinental Exchange و Fidelity Investments در نظر دارند خدمات مبتنی بر زنجیرهبلوکی را عرضه کنند و چندی قبل مدیرعامل بورس اوراق بهادار نیویورک اعلام کرد در نظر دارد شبکههای زنجیرهبلوکی را به بورس وارد کند.
جالب آنکه بانکهای مرکزی برخی از کشورها به شکل محدود از زنجیرهبلوکی بهعنوان مکانیزم دسترسی به رمزارز ملی دیجیتال استفاده کردهاند.
بزرگترین نقطهضعف زنجیرهبلوکی در حوزه کاری مؤسسات مالی پیچیدگی محاسباتی است. تجربه نشان داده که هر چه سامانه زنجیرهبلوکی پیچیدهتر شود، ضریب خطا و اشتباه در هنگام راهاندازی آن بیشتر میشود.
در سال 2020 میلادی شرکت مالک رمزارز Zcash اعلام کرد به شکل پنهانی موفق به شناسایی نقطه ضعفی در الگوی رمزنگاری شده که به شکل تصادفی در پروتکل ایجاد شده است. آسیبپذیری که به هکرها اجازه میداد به شکل نامحدود Zcash تقلبی ایجاد کنند. بد نیست بدانید که Zcash رمزارزی است که پیشرفتهترین محاسبات ریاضی و پیچیدهترین زیرساختهای فنی را به خدمت میگیرد تا انجام تراکنشهای خصوصی کاربرانش در امنیت بالایی قرار بگیرند.
پروتکل رمزنگاری تنها معیاری نیست که باید امنیت زیادی داشته باشد. برای مبادله رمزارز یا راهاندازی یک گره در شبکه، کاربر باید از نرمافزار کلاینتی استفاده کند که ممکن است آسیبپذیر باشد.
تابستان سال 2020 میلادی، توسعهدهندگان نرمافزار کلاینت بیتکوین (Bitcon Core) توانستند به دور از دید رسانهها، یک آسیبپذیری جدی را برطرف کنند که به هکرها اجازه میداد بیشتر از میزانی که سیستم اجازه میداد رمزارز استخراج کنند.
تا قبل از سال 2020 بیشتر حملههای سایبری متوجه صرافیها بود، زیرا وبسایتهایی که برای انجام تراکنشهای مالی طراحی کرده بودند آلوده به آسیبپذیریهای جدی بود. با اینحال در ژانویه 2020 میلادی و هنگامی که حمله سنگین و پیچیدهای به زنجیره بلوکی اتریوم کلاسیک وارد شد، هکرها توانستند 51 درصد مالکیت این شبکه را به خود اختصاص دهند و به این شکل بود که همه چیز تغییر پیدا کرد.
قانون 51 درصد و حمله 51 درصد چیست؟
یکی از اصطلاحات تازه ورود به صنعت امنیت سایبری حمله 51 (Attack 51) است. در دنیای رمزارزها قانون 51 درصد میگوید اگر فردی بتواند کنترل 51 درصد شبکه را به دست گیرد مالک آن خواهد بود و قادر است تغییرات اساسی در پیکربندی شبکه اعمال کند.
به همین دلیل هکرها تمام تلاش خود را به خدمت میگیرند تا حملههای 51 درصد را پیرامون رمزارزها ترتیب دهند. فراگیر بودن حمله 51 درصد به این دلیل اتفاق میافتد که شبکههای زنجیرهبلوکی تراکنشها را بر مبنای پروتکل گواه اثبات کار (Pow) سرنام Proof of Work تأیید میکنند.
در این فرایند که استخراج نامیده میشود، گرهها مجبور هستند بخش قابلتوجهی از توان محاسباتی خود را صرف اثبات هویت خود کنند تا بتوانند اطلاعات تراکنشهای جدید را به بانک اطلاعات اضافه کنند. در همین ارتباط مفهوم مهم دیگری وجود دارد که باید در مورد آن مطلع باشید. این مفهوم هارد فورک (Hardfork) است.
به طور خلاصه، هارد فورک نسخه بهروز جدید نرمافزار شبکه زنجیرهبلوکی است که با پروتکل زنجیرهبلوکی اصلی سازگاری ندارد. همین مسئله باعث میشود تا بلوکهای متفاوتی از شبکه اصلی ایجاد شوند و دو شبکه مجزا و مجازی به وجود آید.
کاری که هارد فورک انجام میدهد این است که بلوکها و تراکنشهای جدیدی را بر مبنای پروتکلهای معتبر خود ایجاد میکند. به طور مثال، میتوان به هارد فورک شدن بیتکوین کش (Bitcoin Cash) اشاره کرد که نسخهای منشعب شده از بیتکوین است.
همانگونه که اشاره شد، مطابق با قانون 51 درصد، اگر فردی بتواند کنترل 51 درصد از توان استخراج شبکه زنجیرهبلوکی را به دست آورد، قادر است کاربران دیگر را با وعده پاداش فریب دهد و پس از آنکه شرایط مهیا شد نسخه دیگری از زنجیرهبلوکی را ایجاد کند و هیچگاه پاداشی به کاربران پرداخت نکند. این نسخه جدید از شبکه را فورک (Fork) نامگذاری کردهاند.
افرادی که بیشترین مقدار توان استخراج را کنترل کند، قادر هستند فورک جدیدی را بهعنوان نسخهای معتبر از شبکه ایجاد کنند و در ادامه رمزارزهای یکسانی در اختیار کاربران قرار دهند و به این شکل کلاهبرداری کند. بااینحال، این شیوه حمله و سوءاستفاده از قانون 51 درصد در زنجیرههای بلوکی بزرگ بهندرت اتفاق میافتد، زیرا هزینهبر است.
پژوهشی که سایت Crypto51 انجام داده نشان میدهد، هزینه اجاره توان پردازشی موردنیاز برای استخراج کافی برای حمله به بیتکوین در سال 2019 میلادی چیزی در حدود 260 هزار دلار در ساعت است. بر مبنای این آمار هرچه به سراغ رمزارزهایی که ارزش کمتری دارند حرکت کنیم، هزینه حمله به آنها بهسرعت کاهش پیدا میکند.
البته سقوط ناگهانی رمزارزها میتواند هکرها را ترغیب کند تا حمله فوق را پیادهسازی کنند، زیرا با کاهش ارزش رمزارزها بسیاری از استخراجکنندگان دستگاههای ماینینگ خود را خاموش میکنند و در عمل امنیت شبکه کم میشود.
در اواخر سال 2019 میلادی، هکرها از حمله 51 درصدی روی مجموعهای از کوینهای کوچک مثل Verge، Monacoin و Bitcon Gold استفاده کردند و توانستند بیست میلیون دلار از کاربران سرقت کردند.
پاییز همان سال، هکرها توانستند بر مبنای همین حمله 100 هزار دلار رمزارز Vertcoin را سرقت کنند. حمله به اتریوم کلاسیک که سودی به ارزش یک میلیون دلار عاید هکرها کرد، اولین حمله به یک رمزارز بزرگ در حوزه زنجیره بلوکی به شمار میرود.
دیوید وریک، یکی از بنیانگذاران زیرساخت ذخیره فایل بر پایه زنجیرهبلوکی شرکت Sia معتقد است حملههای 51 درصد تداوم پیدا میکنند و با شدت بیشتری پیادهسازی خواهند شد.
بهطوری که صرافیها بابت خسارات ناشی از Double Spending ضررهای زیادی را تجربه میکنند. او بر این باور است یکی از مسائلی که باعث تشدید این حملهها میشود، ظهور بازارهای هش ریت است که به هکرها امکان میدهد توان محاسباتی لازم برای اجرای حمله را اجاره کنند.
او میگوید: «صرافیها مجبور میشوند در زمینه رمزارزی که قادر به پشتیبانی از آن هستند سیاستهای سختگیرانهای اتخاذ کنند و محتاطانهتر گام بردارند.»
نقص فنی قرارداد هوشمند (Smart Contract)
نقص مهم دیگری که پس از حملههای 51 زنجیره بلوکی را با چالش جدی روبرو میکند، آسیبپذیریهای فنی در قراردادهای هوشمند است.
در حال حاضر، گروهی از پژوهشگران در حال بررسی پیامدهای آسیبپذیریهای جدید امنیتی شناسایی شده در زنجیره بلوکی هستند. حمله به اتریویم کلاسیک میتواند نقطه شروع مناسبی برای تحلیل دقیقتر این آسیبپذیریها باشد. قرارداد هوشمند در سادهترین تعریف، یک برنامه کامپیوتری است که روی شبکه زنجیره بلوکی پیادهسازی میشود و برای خودکارسازی حرکت رمزارز بر اساس قوانین و شرایط از پیش تعیین شده استفاده میشود.
با اینحال، کاربردهای فناوری فوق گسترده است و میتواند در تسهیل قراردادهای حقوقی واقعی یا تراکنشهای مالی پیچیده نیز استفاده شود. اصلیترین کاربرد قرارداد هوشمند توانایی آن در پیادهسازی مکانیزم رایدهی است که از طریق آن تمام سرمایهگذاران صندوق سرمایهگذاری خطرپذیر میتوانند به شکل گروهی در مورد هزینه کردن سرمایهها تصمیمگیری کنند.
چنین صندوقی که به نام سازمان نامتمرکز خودگردان (DAO) شناخته میشود، سال 2016 با کمک سیستم زنجیره بلوکی اتریوم شروع به کار کرد. با اینحال، پس از گذشت مدت زمان کوتاهی، هکری توانست بیش از 60 میلیون دلار دارایی رمزارز این صندوق را سرقت کند.
هکر با بهرهبرداری از آسیبپذیری فنی پیشبینی نشده در قرارداد هوشمندی که DAO را اداره میکرد، موفق به پیادهسازی این حمله شد. در اصل، این آسیبپذیری فنی به هکر اجازه داد بدون ثبت گزارش دریافت پول به وسیله سیستم به درخواست پول از سایر حسابها ادامه دهد.
در نرمافزارهای سنتی، باگها را میتوان با نصب وصله ترمیم کرد، اما در دنیای زنجیره بلوک این کار پیچیده است، زیرا تراکنشها روی زنجیرهبلوکی بازگشتناپذیر هستند.
پتر سانکوف از پژوهشگران مؤسسه ETH Zurich و یکی از بنیانگذاران استارتاپ امنیتی قرارداد هوشمند ChainSecurity میگوید: «استفاده از قرارداد هوشمند شبیه به ارسال سفینه به فضا است، بهطوری که جایی برای خطای نرمافزاری وجود ندارد.»
درست است که امکان وصلهکردن قرارداد هوشمند وجود ندارد، اما برخی از قراردادها را میتوان با بهکارگیری قراردادهای هوشمند اضافی ارتقا داد تا با قرارداد قبلی تعامل داشته باشند. توسعهدهندگان میتوانند کلیدهای قطع متمرکز در شبکه طراحی کنند تا در صورت حمله یا نفوذ هکر با کمک آنها تمام فعالیتها را متوقف کنند.
بااینحال، پولهایی که قبل از فعالشدن کلید دزدیده میشوند را نمیتوان پس گرفت؛ بنابراین بهترین راهی که میتوان از طریق آن داراییهای به سرقت رفته را باز گرداند، بازنویسی تاریخچه شبکه است تا زنجیرهبلوکی را به شرایط قبل از حمله برگرداند؛ بنابراین، باید فورک جدیدی از زنجیرهبلوکی ایجاد کرد و تمام افراد فعال در شبکه موافقت کنند بهجای نسخه قبلی از فورک جدید استفاده کنند.
این روش گزینهای است که توسعهدهندگان اتریوم انتخاب کردند و بیشتر اعضای شبکه و نه تمام اعضا به زنجیرهبلوکی جدید مهاجرت کردند و نام اتریوم را برای آن برگزیدند، اما گروه کوچکی از اعضا تصمیم گرفتند از نسخه قبلی استفاده کنند که اکنون به نام اتریوم کلاسیک شناخته میشود. (نسخه جدید اتریوم نام گرفت و نسخه اولیه که چندساله قبل ساخته شده بود اتریوم کلاسیک نامگذاری شد.)
جالب آنکه در ژانویه 2019 میلادی تیم امنیتی شرکت ChainSecurity موفق شد اتریوم را از تکرار حمله DAO نجات دهد. درست یک روز قبل از بهروزرسانی بزرگ نرمافزاری، این شرکت به توسعهدهندگان ارشد اتریوم هشدار داد که پیامد ناخواسته این بهروزرسانی باعث خواهد شد تعدادی از قراردادها در زنجیره بلوکی باقی بماند که در برابر حمله DAO آسیبپذیر هستند و حمله سایبری دیگر به وجود بیاید.
بر مبنای این توصیه امنیتی، توسعهدهندگان بهروزرسانی را یک ماه به تاخیر انداختند و در این مدت موفق شدند، آسیبپذیری شناسایی شده توسط این تیم امنیتی را ترمیم کنند.
در شرایطی که صدها قرارداد هوشمند اتریوم آسیبپذیریهای مشابهی دارند، گزارشی که استارتآپ فعال در زمینه تأمین امنیت زنجیرهبلوکی Anchain.ai منتشر کرده نشان میدهد دستکم دهها هزار قرارداد هوشمند اتریوم به آسیبپذیریهای مختلفی آلوده هستند.
باتوجهبه اینکه کد منبع زنجیرهبلوکی روی شبکه در دسترس همگان قرار دارد، هکرها بهسرعت قادر به شناسایی آسیبپذیریها هستند. متأسفانه خبر بد این است که آسیبپذیریهای زنجیرهبلوکی تفاوتهای عمدهای با آسیبپذیریهای سنتی دنیای امنیت دارند.
چگونه مانع پیادهسازی موفقیتآمیز حمله به زنجیرهبلوکی شویم؟
استارتاپ AnChain.ai یکی از شرکتهای فعال در این زمینه است که روی شناسایی و حذف آسیبپذیریهای مرتبط با زنجیرهبلوکی متمرکز است.
این استارتاپ از یادگیری ماشین برای کنترل تراکنشها و شناسایی رفتارهای مشکوک استفاده میکند. الگوریتمهای هوشمند ساخت این شرکت میتوانند کدهای قرارداد هوشمند را پویش و آسیبپذیریهای شناختهشده را کشف کند.
شرکتهای دیگری مثل ChainSecurity نیز در حال بررسی و آزمایش خدمات مبتنی بر تکنیک Formal Verification هستند. این پروژه در نظر دارد از محاسبات ریاضی برای راستیآزمایی استفاده کند و نشان دهد کدهای قراردادهای هوشمند همان فرایندی را اجرا میکنند که سازنده انتظار دارد.
ابزارهای راستیآزمایی که توسط برخی از شرکتها در سالهای گذشته به کار گرفته شدهاند به سازندگان قراردادهای هوشمند این امکان را دادهاند تا بخش عمدهای از آسیبپذیریهای موجود در شبکه را شناسایی و برطرف کنند. بااینحال، بهکارگیری این ابزارها به توان پردازشی بالا، منابع مالی کافی و صرف زمان قابلتوجه نیاز دارد که برای بیشتر شرکتها توجیه اقتصادی ندارد.
درحالیکه فناوری زنجیرهبلوکی با شعار نفوذناپذیر به دنیای فناوری وارد شد، بااینحال در برابر حملههای هکری مصون نیست و به دلیل وجود آسیبپذیری یا نقض در نرمافزارها قربانی هکرها میشود؛ بنابراین، همانند فناوریهای دیگر، یک بخش خاکستری دارد که شرکتها و رسانهها تمایل چندانی ندارند اشارهای به آن بخش داشته باشند.
امروزه، زنجیرههای بلوکی مختلفی معرفی شدهاند که هر یک دانش ما درباره چگونگی کارکرد این فناوری را بهبود بخشیدهاند، اما ایده بدی نیست قبل از ورود یا پیادهسازی این فناوری، ابتدا ملاحظات امنیتی آن را بررسی کنیم.
منبع:Shabakeh-mag