4 نوع هک رایج در دنیای بیت کوین و رمز ارز ها

صرافی‌‌های رمز ارز تاکنون بارها با حملات سایبری روبرو شده‌‌ و میلیون‌‌ها دلار نیز به همین دلیل از دست رفته است. از جمله حملات رایج به رمز ارزها می‌‌توان به فیشینگ و حمله 51% اشاره کرد. رسانه‌‌ها اغلب جزئیات زیادی در مورد آنها منتشر نمی‌‌کنند و شرکت‌‌های دیگر نیز مطمئنا اشتیاق چندانی برای صحبت در مورد ضعف امنیتی خود ندارند. در این مطلب به بررسی 4 نوع هک رایج در دنیای رمز ارز ها می‌پردازیم.

0 365

اکنون بیش از 10 سال از تولد بیت کوین و رمز ارز ها گذشته است. در طی این مدت، بیش از صد هک بزرگ را در صرافی‌‌های رمز ارز و سرویس‌‌های مرتبط با رمز ارز دیده‌‌ایم.بنابراین قصد داریم در این مطلب به بررسی 4 نوع هک رایج در دنیای بیت کوین و رمز ارز ها بپردازیم.

اغلب اوقات جزئیات مربوط به هک بیت کوین و رمز ارز ها نامشخص باقی می‌‌ماند. پیدا کردن هکر و میزان به سرقت رفته آسان است، اما “چگونگی” آنها هنوز مبهم است. روزنامه‌‌نگاران بیشتر به مبلغ دزدیده شده علاقه نشان می‌‌دهند و سازمان‌‌های قربانی نیز هیچ عجله‌‌ای برای انتشار جزئیات مربوط به سرافکندگی خود ندارند.

بگذارید جلوتر برویم و نحوه کار این هک ها را بررسی کنیم، به امید این که این اطلاعات به پیشگیری از این اتفاقات کمک کنند.

فیشینگ (Phishing) و بدافزار: هک صرافی‌‌های بیت کوین و رمز ارز ها

صرافی‌‌های رمز ارز سرمایه‌‌های کریپتوی کاربران را ذخیره و نگهداری می‌‌کنند. دزدی از حساب های بانکی برای تبهکاران اینترنتی ریسک زیادی دارد؛ برای فرار کردن با این پول قبل از اینکه بانک حساب‌‌ها را مسدود کند، آنها باید سریعا آن را به پول نقد تبدیل کنند. به همین خاطر است که هکرها معمولا به سراغ رمز ارز ها می‌‌روند.

می‌‌توان گفت که شاید اولین و تنها حقایق شناخته‌‌شده در مورد هک صرافی‌‌های رمز ارز شامل این موارد باشند: 1) اینکه اتفاق افتاده‌‌اند و 2) پول مشتریان به سرقت رفته است. اما واقعا چه اتفاقی افتاده است؟ به احتمال بسیار زیاد چنین اتفاقی رخ داده است: در ابتدا حمله‌‌کنندگان لیستی از کارمندان را به دست آورده‌‌اند، علایق آنها (شامل رسانه‌‌های اجتماعی) را بررسی کرده‌‌اند و ایمیل‌‌های فیشینگ را به همراه محتوای مخرب به آنهایی ارسال می‌‌کنند که بیش از بقیه ساده‌‌لوح به نظر می‌‌رسند. تبهکاران سایبری بدین صورت به شبکه صرافی‌‌ها نفوذ پیدا می‌‌کنند.

آنها سپس بیش از قبل با شرکت آشنا می‌‌شوند: اینکه حسابدار چند بار با مدیر شرکت تماس می‌‌گیرد، چه چیزی به یکدیگر ارسال می‌‌کنند، معماری شبکه داخلی، محل ذخیره کیف پول‌‌های رمز ارزی و همچنین نحوه محافظت از آنها. این سناریو ممکن است به مدت‌‌زمان زیادی نیاز داشته باشد، اما در نهایت تبهکاران سایبری را به سمت سیستم یکی از کارمندان شرکت هدایت می‌‌کند تا از آن برای دسترسی به سیستم اصلی استفاده کنند.

اگر سیستم صرافی به منظور ارسال رمز ارز طراحی شده باشد، دسترسی به سیستم کارمندان به این معنی است که هکرها می‌‌توانند رمز ارز ها را به حساب خودشان ارسال کنند. به نظر می‌‌رسد یکی از حملات اخیر در صرافی بایننس (Binance) بدین صورت شکل گرفته باشد.

  • واقعه: هک صرافی رمز ارز بایننس
  • تاریخ: 7 مه 2019
  • مبلغ به سرقت رفته: 40,000,000 دلار (7,000 بیت کوین)

حملات هدفمند: چگونگی مقابله با آنها

اگر کسب و کار شما با صرافی‌‌های رمز ارز مرتبط است، وظیفه دارید اطمینان حاصل کنید که هزینه حمله‌‌های احتمالی برای هکرها بیش از سود به دست آمده خواهد بود. بنابراین باید:

  • دانش کارکنان در مورد جرایم سایبری را افزایش دهید (برای مثال، رزومه‌‌ها با فرمت DOC را باز نکنند)
  • از یکی از روش‌‌های امنیتی برای محافظت از حملات هدفمند استفاده کنید. ترجیحا از روشی استفاده کنید که نه تنها از نود (Node) در مقابل تهدیدات احتمالی محافظت می‌‌کند، بلکه ناهنجاری ها در تمامی ساختار سازمان را پیدا می‌کند
  • از آزمون نفوذ (Penetration Test) استفاده کنید (طی این آزمون، متخصصین امنیتی سعی می‌‌کنند به سیستم شما دسترسی پیدا کرده و در آن فعالیت کنند و سپس نقاط ضعف را به شما گزارش می‌‌دهند)

حمله دابل اسپند یا دوبار خرج کردن (Double-Spend): دزدی از دستگاه خودپرداز بیت کوین‌‌ با استفاده از یک گوشی همراه

یکی دیگر از روش‌‌ها برای دزدی بیت کوین‌‌ در دستگاه‌‌های خودپرداز مشاهده می‌‌شود. مردم معمولا از دستگاه خودپرداز برای برداشت یا سپرده‌‌گذاری پول در حساب‌‌های بانکی خود استفاده می‌‌کنند، اما دستگاه‌‌های خودپرداز بیت کوین‌‌ ویژگی‌‌های بیشتری دارند: قابلیت خرید و فروش رمز ارز.

هکرها می‌‌توانند با استفاده از این دستگاه‌‌های ATM بیت کوین های خود را به فروش برسانند، پول نقد را دریافت کنند و سپس تراکنش‌‌ها را لغو کنند. چنین کاری بسیار دور از ذهن به نظر می‌‌رسد، اما سارقین کانادایی تنها از 45 دستگاه ATM رمز ارز، حدود 200,000 دلار به سرقت بردند.

چنین اتفاقی چگونه می‌‌تواند رخ دهد؟ همانطور که می‌‌دانید، اطلاعات موجود در بلاک چین در فضایی با نام بلاک ذخیره می‌‌شود. تراکنشی مانند “ارسال 1 بیت کوین‌‌ به جان” بلافاصله در بلاک نوشته نمی‌‌شود؛ این تراکنش ابتدا در صف قرار می‌‌گیرد. در هر 10 دقیقه یک بلاک جدید به وجود می‌‌آید. تراکنش‌‌های تاییدنشده‌‌ توسط سازنده بلاک از صف کنار گذاشته می‌‌شوند. شایان ذکر است که در هر بلاک فضای کافی برای تمامی تراکنش‌‌ها وجود ندارد، بنابراین اولویت به آنهایی داده می‌‌شود که با کارمزد بیشتری همراه هستند (که توسط سازنده بلاک دریافت می‌‌شوند).

باور این واقعیت سخت است، اما توسعه‌‌دهندگان ATMهای رمز ارز به این نکته فکر نکرده‌‌اند که دستگاه‌‌ها باید در ابتدا منتظر نوشتن تراکنش‌‌ها در بلاک چین باشند و سپس پول نقد را پرداخت کنند. می‌‌بینیم که امنیت کاملا قربانی راحتی کاربران شده است.

در ابتدا بیت کوین‌‌ اجازه لغو کردن تراکنش‌‌های قرار گرفته در صف را نمی‌‌داد و اغلب برای روزها با تراکنش‌‌هایی در سیستم روبرو می‌‌شدیم که کارمزدهای بسیار پایینی داشتند. شبکه بیت کوین‌‌ به منظور حل این مشکل از یک مکانیزم جایگزینی توسط کارمزد (Replace-by-fee) استفاده کرد که امکان جایگزینی یک تراکنش در صف با تراکنشی دیگر را فراهم می‌‌آورد، معمولا به این خاطر که کمیسیون‌‌ها افزایش پیدا کنند و انتقال رمز ارز صورت گیرد. اما این مکانیزم نیز امکان تغییر گیرنده و بازپس فرستادن بیت کوین ها به فرستنده را فراهم می‌‌آورد.

این مشکل یک نقطه‌‌ضعف بزرگ برای شبکه بود که پیامدهای آن را می‌‌توانیم مشاهده کنیم:

  • واقعه: هک ATM بیت کوین
  • تاریخ: سپتامبر 2018
  • مبلغ به سرقت رفته: 200,000 دلار

هک دابل اسپند: نحوه مقابله با آنها

بعد از سرقت این پول، شرکت تولیدکننده دستگاه‌‌های ATM دستگاه‌‌های خود را تغییر داد تا از ویژگی زمان انتظار استفاده کند. کاربران از این به بعد می‌‌بایست بعد از تحویل بیت کوین‌‌‌‌ها به سراغ دستگاه خودپرداز آمده و پول خود را دریافت می‌‌کردند. چنین روشی چندان کاربرپسند نیست، اما با توجه به مکانیزم بلاک چین تنها راه مقابله با این نوع حمله است.

با نگاه به گذشته می‌‌بینیم که به راحتی می‌‌توانستیم جلوی چنین سرقت احمقانه‌‌ای را بگیریم و توسعه‌‌دهندگان می‌‌بایست نرم‌‌افزارهای امنیتی را بررسی کنند. چنین کاری شامل بکارگیری متخصصین بیرونی جهت بررسی معماری سیستم، بازبینی کدها و یافتن نقطه‌‌ضعف‌‌ها است.

حمله 51% : غلبه بر بلاک چین

احتمالا اصطلاح اصل تغییرناپذیری (Immutability Axiom) را شنیده‌‌اید: “داده‌‌های بلاک چین تغییرپذیر نیستند.” اما این تعریف در بعضی از موارد تمامی واقعیت را نشان نمی‌‌دهد. برای آشنایی بیشتر با بلاک چین و فرآیند استخراج رمز ارز، این مقاله‌‌ها را مطالعه کنید: “بلاک چین چیست” ، “استخراج بیت کوین‌‌” و حمله 51%.

دو اصل کلی وجود دارد که این تضمین را به ما می‌‌دهند که بلاک چین برای تمامی کاربران به یک صورت باشد. در ابتدا اینکه تمامی مشارکت کنندگان در شبکه باید سازنده بلاک بعدی را تایید کنند. احتمال اینکه سازنده بلاک بعدی باشید به منابع مورد استفاده بستگی دارد، هرچه قدرت استخراج بیشتر باشد، شانس شما بیشتر است.

دومین اصل “قانون طولانی‌‌ترین زنجیره” (Longest Chain Rule) است، بدین معنی که در صورت بروز اختلاف، بلندترین زنجیره مورد تایید و معتبر خواهد بود. اگر شخصی نسخه‌‌ای جعلی از بلاک چین را ایجاد کند و سعی در انتشار آن داشته باشد، همه کاربران دیگر آن را رد خواهند کرد، چرا که منابع کمتری در آن به کار رفته و بنابراین کوتاه‌‌تر است.

اما اگر استخراج‌‌کننده بیش از 50% از تمامی قدرت استخراج را مورد استفاده قرار دهد شرایط تغییر می‌‌کند. برای مثال، در مدت‌‌زمانی که تمامی ماینرهای دیگر 9 بلاک به وجود می‌‌آورند، یک کاربر ممکن است 10 بلاک به وجود آورد. در این صورت، نسخه جعلی بلاک چین به طولانی‌‌ترین زنجیره تبدیل می‌‌شود و همه آن را قبول خواهند کرد و تاریخچه مالی عملا تغییر پیدا می‌‌کند. کاربری که بیت کوین های خود را در نسخه قدیمی‌‌تر بلاک چین خرج کرده است، قادر خواهد بود همان بیت کوین ها را در حساب‌‌ خود در بلاک چین جعلی مشاهده کند.

این دقیقا همان چیزی است که در اوایل سال 2019 برای صرافی رمز ارز Gate.io اتفاق افتاد. یک هکر، رمز ارز خود را به صرافی ارسال (و داده‌‌ آن را در بلاک چین به ثبت رساند) و در عین حال فرآیند ساختن یک بلاک چین جدید را آغاز کرد. زمانی که صرافی مذکور درخواست انتقال را دریافت و مبلغ را به حساب هکر واریز کرد، شخص هکر بلاک چین خصوصی خود را انتشار داد (که شامل تراکنش بالا نمی‌‌شد و همین امر به وی اجازه می‌‌داد رمز ارز را دوباره در اختیار بگیرد) و از صرافی درخواست کرد که پول را برداشت کند. در نتیجه، صرافی پول خود را از دست داد.

اکنون بگذارید ببینیم که چرا این اتفاق اغلب رخ نمی‌دهد و حمله‌‌کننده به چه میزان قدرت رایانشی برای اجرای چنین حمله‌ای نیاز دارد.

از بیت کوین‌‌ به عنوان مثال استفاده خواهیم کرد. ماینرها در هر ساعت شش بلاک به وجود می‌‌آورند. پاداش 12.5 بیت کوین‌‌ برای هر بلاک در نظر گرفته شده است. هزینه مربوط به اجاره تمامی قدرت رایانشی به مدت یک ساعت همین مقدار است. وب سایت Crypto51 چنین محاسباتی را به خوبی نشان می‌‌دهد:

4 نوع هک رایج در دنیای بیت کوین و رمز ارز ها
4 نوع هک رایج در دنیای بیت کوین و رمز ارز ها

تصویر: هزینه تخمینی یک ساعت حمله 51% در صرافی‌‌های رمز ارز

آخرین ستون میزان قدرت قابل اجاره را نشان می‌‌دهد. همانطور که می‌‌توانید مشاهده کنید، هزینه در اختیار گرفتن بلاک چین اتریوم کلاسیک برابر با 10,000 دلار در یک ساعت است. آنها به چهار ساعت نیاز داشتند تا 200,000 دلار به سرقت ببرند.

به یاد داشته باشید که مورد ذکرشده اولین حمله از این نوع نبود. حمله 51% تاکنون چند بار با موفقیت کامل در مورد چند رمز ارز دیگر نیز صورت گرفته است.

  • واقعه: حمله 51% در صرافی Gate.io
  • تاریخ: 7 ژانویه 2019
  • مبلغ به سرقت رفته: 200,000 دلار (40,000 اتریوم کلاسیک)

حملات 51%: چگونگی مقابله با آنها

به صورت کلی، قابلیت بازنویسی یک بلاک چین و حمله 51% از ویژگی‌‌های ذاتی این فناوری است. به منظور بالا بردن هزینه‌‌های چنین حملاتی، صرافی‌‌های رمز ارز سعی می‌‌کنند پس از انجام تراکنش تا حد ممکن در بروزرسانی میزان سرمایه کاربران تعلل کنند. دلیل چنین کاری این است که هرچه بلاک‌‌های بیشتری پس از انجام تراکنش ساخته شوند، احتمال بازنویسی بلاک چین کاهش می‌‌یابد. اما این تاخیر مشکلات عمده‌‌ای را در انجام تراکنش‌‌ها به همراه دارد که گاهی اوقات به ساعت‌‌ها زمان نیاز دارند.

در هر صورت، مطمئنا باز هم شاهد چنین حملاتی خواهیم بود.

سرقت کلید خصوصی: بررسی گذر واژه

برای خرج کردن رمز ارز ها باید کلید خصوصی خود را در اختیار داشته باشید. اگر کیف پول رمز ارز خود را عوض کنید، باید کلید را از کیف پول قدیمی به کیف پول جدید کپی کنید. این کلید به منظور راحتی کاربران از عبارتی با 12 کلمه ساده تشکیل شده است.

یک بار توسعه‌‌دهندگان یک کیف پول رمز ارز، به صورت اتفاقی این عبارت را به صورت آنلاین به منظور بررسی ارسال کردند، اشتباهی که یکی از سرمایه‌‌گذاران کریپتو پس از ضرر 70,000 دلاری متوجه آن شد. ما شک داریم که این حادثه دلیل اصلی دزدی باشد، اما در هر صورت باید نکاتی را از این داستان یاد گرفت.

سرقت مذکور به این دلیل اتفاق افتاد که امروزه اپلیکیشن‌‌ها از مرحله اول نوشته نمی‌‌شوند و در عوض از مولفه‌‌هایی جداگانه ساخته می‌‌شوند که در میان آنها می‌‌توان به مولفه های ساخته شده توسط توسعه‌‌دهندگان دیگر اشاره کرد. توسعه‌‌دهندگان کیف پول رمز ارز Coinomi نیز دقیقا به همین صورت عمل کردند. آنها به منظور نشان دادن فرم ورودی گذرواژه از مولفه jxBrowser استفاده کردند. توسعه‌‌دهندگان از این واقعیت بی‌‌خبر بودند که این مولفه به صورت پیش‌‌فرض، دیکته تمامی متن واردشده در فرم را بررسی می‌‌کند. همچنین این مولفه به خاطر راحتی بیشتر و عدم استفاده از چندین فرهنگ لغت، تمامی متن را با استفاده از جستجوی آنلاین در وب‌‌سایت gooleapis.com چک می‌‌کند.

چنین چیزی می‌‌تواند برای فرم‌‌های عادی بسیار مناسب باشد، اما برای فرم‌‌های حاوی کلمه عبور و عبارت‌‌های فوق‌‌خصوصی بسیار خطرناک است.

توسعه‌‌دهندگان مذکور در دفاع از خود عنوان کردند که عبارت مورد بحث تنها وارد سایت گوگل شد و به صورت رمزنگاری‌‌شده انتقال یافت و در نهایت پیغام خطا از طرف گوگل دریافت شد. با این وجود، قربانی این هک اطمینان دارد که چنین نقطه‌‌ضعفی دلیل اصلی سرقت است.

  • واقعه: آسیب پذیری در سیستم تایید هویت در کیف پول Coinomi
  • تاریخ: 22 فوریه 2019
  • مبلغ به سرقت رفته: 70,000 دلار

سرقت کلید خصوصی: چگونگی مقابله با آن

یکی از دلایل این اتفاق بی‌‌دقتی مطلق بود. ویژگی بررسی عبارات توسط jxBrowser به صورت مستند بود و دستورالعمل‌‌های موجود نحوه غیرفعال کردن آن را توضیح می‌‌دادند اما کسی به آنها توجه نکرده است. آزمایش‌‌های قدیمی احتمالا نمی‌‌توانستند مشکل را نشان دهند، اما بررسی ویژگی‌‌های امنیتی اپلیکیشن‌‌ مطمئنا می‌‌توانست مشکل را به خوبی نشان دهد.

از سوی دیگر، مشکل از این حرف‌‌ها هم جدی‌‌تر است. استفاده از ابزارهای ساخته شده توسط توسعه دهنده ثالث مشکلاتی بالقوه را در زمان حال یا آینده (اگر بروزرسانی‌‌های صورت‌‌گرفته باعث بروز مشکلاتی دیگر شوند) به وجود می‌‌آورد و همچنین خطر حمله به بلاک چین را افزایش می‌‌دهد. در چنین حملاتی، سارق سایبری هیچ نیازی به هک کردن سیستم توسعه‌‌دهنده ندارد؛ آنها تنها نیاز دارند به داده‌‌های یکی از طرفین قرارداد نفوذ کنند. طرفین قرارداد نیز معمولا از حفاظت چندان خوبی برخوردار نیستند و شاید حتی از این نکته هم آگاه نباشند که کدهای آنان در چه پروژه‌‌های مهمی به کار می‌‌روند.

گاهی اوقات از سهل‌‌انگاری‌‌های صاحبان کسب و کار و کاربران متعجب می‌‌شویم و گاهی اوقات نیز ناچاریم که با درماندگی آنها همدردی ‌‌کنیم. در هر حال باید با مطالعه و کسب دانش در زمینه روش های رایج هک بیت کوین و رمز ارز ها تا جایی که میتوانیم از چنین اتفاقاتی پیشگیری کنیم.

منبع

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.