با ضعفهای امنیتی بیتکوین بیشتر آشنا شویم
نقاط ضعف و قوت زیرساختهای بیتکوین را از دیدگاه امنیتی

امنیت بیت کوین از جمله مسائل مهمی ست که هنگام کار با ارز دیجیتال متوجه می شویم و حتی شاید تا قبل از آن به امنیت ارزهای دیجیتال فکر هم نکره باشیم
در این مقاله نقاط ضعف و قوت زیرساختهای بیتکوین را از دیدگاه امنیتی مورد بررسی قرار داده و این ارز رمزپایه را با ارزهای فیات (fiat) معمولی مقایسه میکنیم.
در حوزه ارزهای دیجیتال، بیت کوین از سایر رقبا برجستهتر و شناخته شدهتر است و این به دلیل ماهیت غیرمتمرکز و شیوههای رمزنگاری قوی است که زیرساخت آن را تشکیل میدهند. مهمتر از همه اینکه در انجام تراکنشهای بیت کوین، هیچ اطلاعات مهم و حساسی از طرفین افشا نمیشود.
پرداختهایی که به صورت سنتی و از طریق کارتهای اعتباری انجام میشوند، این ویژگیها را ندارند و برای انجام تراکنشهای مالی از طریق این کارتها لازم است که حداقل شماره کارت و رمز آن را مشخص کنید.
در رابطه با بیت کوین این دیدگاه وجود دارد که هر چند سرویسهای مرتبط با بیت کوین چندین بار هک شده یا از آنها سوء استفاده شده است، اما مجرمین سایبری هرگز نتوانستند پروتکل اصلی آن را به معنای واقعی در معرض خطر قرار دهند؛ اما آیا نقاط ضعفی در این حوزه وجود دارند که باید مراقبشان بود؟ در ادامه به بررسی این پرسش میپردازیم.
مولفههای امنیتی بیت کوین
برای ایجاد و درک تصویری کامل از این حوزه، بهتر است در ابتدا با این لایههای معماری امنیتی بیت کوین آشنا شویم و تفاوت آنها را درک کنیم:
- امنیت پروتکل بیت کوین و بلاک چین
- امنیت سیستمهای پرداخت، سرویسهای اکسچینج (صرافی دیجیتال) و والتهای (wallet یا کیف پول دیجیتال) بیت کوین
تشخیص تفاوتهای این لایههای امنیتی مهم است چون مردم اکثراً با سرویسهایی سر و کار دارند که بر روی خود پروتکل ایجاد شدهاند. سیستم هستهای و اصلی بیت کوین فقط با صدور کوینها و ردیابی تراکنشهای بعد از آن سر و کار دارد. هر چیز دیگری از جمله عملیات مربوط به مالکیت به سرویسهای واسط برون سپاری میشود.
چالشهای امنیتی بلاک چین
تکنولوژی بلاک چین با تکنیکهای رمزنگاری که در سطح نظامی هستند، محافظت میشود. در حالت ایدهآل این تکنولوژی باید در برابر تمام انواع مداخلات مخرب مقاوم باشد؛ اما در عین حال دو چالش امنیتی عمده وجود دارند که از اهداف خود بلاک چین سرمنشا میگیرند:
- اعتبارسنجی تراکنشها: این تکنولوژی طوری طراحی شده تا این اطمینان ایجاد شود که ارزش مبلغ خرج شده با خروجی مربوط به میزان مبلغ خرج نشده از بلاک چین قبلی سازگار باشد. برای رسیدن به این هدف، بررسی میشود که امضای تراکنشها با کلیدهای خصوصی معتبری ایجاد شده باشند.
- بررسی اعتبار و سندیت بلاک چینهایی که ماین میشوند: راحتترین روش برای انجام این کار این است که مطمئن شویم ماینرها با طولانیترین بلاک چین موجود کار کنند. از آنجا که طولانی کردن بلاک چین نیاز به مصرف منابع بسیار زیادی دارد، طولانیترین بلاک چین معتبرترین آن است چون ماینرها تلاش زیادی برای کار روی چنین بلاک چینی انجام میدهند.
هرچند که این روشهای امنیتی، قابل اطمینان به نظر میرسند اما مجرمین سایبری همیشه برای رسیدن به اهدافشان ترفندهایی را پیدا میکنند. این افراد میتوانند با حدس زدن کلیدهای خصوصی و امضای تراکنشها، بیت کوینها را به سرقت ببرند.
همچنین میتوانند ارسال کننده بیت کوین را فریب بدهند تا فکر کند که تراکنش لغو شده و مبلغ مربوطه خرج نشده است، در حالیکه این طور نیست. مجرمین حرفهایتر هم به دنبال آسیب پذیریهای zero-day هستند و از آن برای دستکاری بلاک چین استفاده میکنند.
سوء استفاده از پروتکل
ممکن است مجرمین از تکنیکهای زیر برای به خطر انداختن پروتکل بیت کوین استفاده کنند:
- حملات جستجوی فراگیر (brute force) کلیدهای خصوصی: از آنجا که فضای این کلیدها بسیار بزرگ و عظیم است، موفقیت در چنین حملهای نیاز به تلاش فوق العاده زیادی دارد و تقریبا غیرممکن است؛ بنابراین چنین حملهای بیشتر حالت تئوری دارد. روش عملیتر، جستجوی بلاک چین برای پیدا کردن خروجی استفاده نشده تراکنشها (unspent output) است. هکرهایی که زمان و منابع محاسباتی کافی را در اختیار داشته باشند، ممکن است در انجام چنین حملاتی موفق شوند.
- حمله دیکشنری: ممکن است مجرمین سعی کنند کلید خصوصی آدرس بیت کوینی را که خروجی استفاده نشده دارد، حدس بزنند. اگر در انجام این کار موفق شوند، میتوانند با استفاده از بات مشخص کنند که آیا کوینی به آدرس هک شده ارسال شده است یا خیر. در این صورت میتوانند به راحتی کوینها را به سرقت ببرند.
- ترفند دوبار پرداخت: بلاکهای تایید برای تراکنشهای بیت کوین به صورت لحظهای و آنی ایجاد نمیشوند و تولید آنها معمولاً حدود 10 دقیقه زمان میبرد. هکرها میتوانند از این بازه زمانی استفاده کنند تا مبلغ مربوطه را دوباره خرج کنند. این روش بیشتر در صورتی کار میکند که کاربر منتظر تایید تراکنش نماند و قبل از موعد مقرر فکر کند که تراکنش انجام شده است.
- حمله فلودینگ (Flooding) به شبکه: انجام این حمله به چنین شبکه قدرتمندی و خارج کردن آن از دسترسی فوقالعاده مشکل است؛ اما اگر مهاجمی موفق به انجام چنین حملهای شود، در کار اکثر ماینرها اختلال ایجاد خواهد کرد و همزمان هکرها میتوانند از تراکنشهای سایر کاربران استفاده کنند.
- سوء استفاده از آسیب پذیریهای پروتکل: پیش از این هم هکرها موفق شدهاند که از باگ تغییرپذیری تراکنش (transaction malleability) استفاده کرده و حدود 7% از بیت کوینهای موجود را از طریق اکسچینج Gox به سرقت ببرند. این حمله نشان داد که مجرمین سایبری چطور میتوانند با موفقیت از نقایص این پروتکل سوء استفاده کنند.
- کرک کردن کریپتو: کرک کردن رمزنگاری مادامی که به درستی پیاده سازی شود، به خودی خود غیر قابل هک است؛ اما سایر نقایص مربوطه ممکن است به مجرمین کمک کنند.
امنیت سرویسهای وابسته چقدر است؟
این سوال، سوال بسیار مهمی است چون اکثر مردم با سرویسهایی تعامل دارند که بر روی این پروتکل ساخته شدهاند از جمله والتها و سیستمهای اکسچینج.
سرویسهای اکسچینج بیت کوین معمولاً حجم انبوهی از ارزهای رمزپایه و ارزهای فیات را در اختیار دارند. بعلاوه این سرویسها دارای حسابهای بانکی هستند که عملیات بیزنسی را با استفاده از آنها انجام میدهند.
والتها در اصل ابزارهای کاربردی هستند که کلیدهای خصوصی را نگه میدارند و در آنها از مکانیزمهای احراز هویت معمولی مثل پسورد و ویژگیهای بیومتریک استفاده میشود. سیستمهای پرداخت بیت کوین امکان خرید از طریق پول دیجیتال را برای کاربران فراهم میکنند و کوینها را در والتهای داخلی خودشان نگه میدارند.
این سرویسهای واسط، ضعیفترین حلقه در کل سیستم ارزهای رمزپایه هستند و معمولاً از سیستمهای پرداخت دیجیتال معمولی هم قویتر نیستند و امکان نظارت بر تراکنشهای بلاک چین را فراهم میکنند.
در هر حال اکسچینجها در کل این فریم ورک، بیشتر از همه مورد هدف حملات مختلف قرار دارند. یکی از این حوادث، در 5 تیر 1397 اتفاق افتاد.
هک یکی از اکسچینجهای بسیار محبوب ژاپنی به نام Coincheck منجر به از دست رفتن 500 میلیون دلار از توکنهای کاربران شد. حوزه تاثیر چنین حادثهای را در نظر بگیرید. این حادثه بزرگترین هک گزارش شده در رابطه با ارزهای رمزپایه است.
امنیت بیت کوین: نقاط قوت و ضعف
پروتکل بیت کوین و بلاک چین تقریبا ضد هک هستند؛ اما از طرفی سرویسهای وابسته که در بالا به آنها اشاره شد، چندان ایمن نیستند.
نکاتی را که باید در رابطه با بیت کوین در نظر گرفت عبارتند از: امکان بازگشت تراکنشها وجود ندارد؛ مادامی که تراکنشها با یک کلید معتبر امضاء شده باشند نمیتوان آنها را لغو کرد و هیچ لینک و پیوندی بین مالک بیت کوین و آدرس آن وجود ندارد که البته این ویژگی برای حفظ حریم خصوصی مالک بیت کوین در نظر گرفته شده است.
از طرف دیگر خلاهایی در این بستر وجود دارند. هر یک از حالات زیر ممکن است نهایتاً منجر به از دست دادن بیت کوینهای شما شوند:
- گم کردن کلید خصوصی
- اشتباه نوشتن آدرس مقصد
- هک شدن کامپیوترتان
- به خطر افتادن و لو رفتن اطلاعات کیف پول دیجیتال
- هک شدن اکسچینجی که از آن استفاده میکنید
نکته مهم این که اگر فردی سرمایه شما را به هر نحوی انتقال بدهد، بلاک چین هیچ هشداری به شما نخواهد داد.
مورد دیگر اعتبار و سندیت بلاک چین است. تعداد ماینرها و تراکنشهای ایجاد شده دائما در حال افزایش هستند که ممکن است این امر باعث چند بخشی شدن شبکه شود.
در واقع یکی از فورکهای سیستم بیت کوین به نام بیت کوین کش هم در سال 1396 دقیقاً به همین دلیل ایجاد شد. مشکل اینجاست که اعتبار بلاک چینهای فورک شده ممکن است در مرحلهای زیر سوال رود و بنابراین اعتبار ارزهای ماین شده در آن هم به همین صورت دچار تزلزل خواهد شد.
نتیجهگیری
امنیت بیت کوین ترکیبی از نقاط قوت و ضعف را در خود دارد. یکی از جنبههای مثبت بیت کوین که دائماً درباره آن مانور داده میشود این است که دارای مکانیزمهای حفاظتی است که مبتنی بر رمزنگاری و الگوریتمهای عملیاتی کارآمدی ست؛ اما هر سیستمی به اندازه ضعیفترین پیوندی که در آن وجود دارد، قوی است.
امکان هک شدن و دستکاری سیستمهای شخص ثالث در این بستر وجود دارد و بنابراین باعث ایجاد آسیبهای جدی به امنیت بیت کوین میشوند و باعث میشوند که امنیت بیت کوین هم از ارزهای فیات معمولی بیشتر نباشد.