آیا زیرساختهای امنیتی بیتکوین آسیبپذیر است؟
در مبادلات سنتی مبتنی بر کارتهای بانکی یا اعتباری، باید شماره کارت و گذرواژه را در یک سامانه پرداختی، همچون دستگاه خودپرداز وارد کنید تا بتوانید وجه موردنظر را واریز کنید. اما در عصر رمزارزها اوضاع کمی متفاوت بوده و شما پیش از هرگونه اقدامی باید مطمئن شوید کیف پولتان در امنیت کامل قرار دارد. زمانیکه صحبت از ارزهای دیجیتال به میان میآید، بیتکوین بهدلیل ویژگی غیرمتمرکز، معماری منحصربهفرد و ساختار رمزنگاری قوی که بر پایه آن استوار است، متمایز از سایر رمزارزها است. در یک معامله تجاری مبتنی بر بیتکوین، حفظ اطلاعات حساس حائز اهمیت است. درست به همان شکلی که محافظت از جزییات کارتهای اعتباری امری ضروری است، در یک تراکنش مبتنی بر رمزارزهایی همچون بیتکوین نباید اطلاعات حساس دو طرف افشا شده یا هر کاربر غیرمجازی بتواند این اطلاعات مالی را رصد کند. درست است که تاکنون سرویسهای مرتبط با بیتکوین هک شده یا به اشکال مختلفی از آنها سوءاستفاده شده است، اما مجرمان سایبری هیچگاه موفق نشدهاند به پروتکل اساسی بیتکوین آسیب وارد کنند. در این میان پرسشی مهم مطرح میشود، آیا چشمانداز رمزارزها به همان شکلی است که رسانهها و شرکتها درباره آن تبلیغ میکنند یا مطالب ناگفتهای وجود دارد که باید مراقب آنها باشیم؟
مولفههای کلیدی و امنیتی بیتکوین
برای آنکه تصویر بزرگ و دقیقی از عملکرد بیتکوین به دست آوریم، در اولین گام باید با معماری لایههای امنیتی بیتکوین آشنا شویم. این شناخت به ما کمک میکند امنیت پروتکل بیتکوین، زنجیره بلوکی، سامانههای پرداختی، سرویسهای تبادل ارز و کیف پول بیتکوین را بررسی کرده و تفاوت لایههای امنیتی هر یک از این ساختارها را بهدرستی درک کنیم. تفاوت از آن جهت مهم است که بیشتر مردم از سرویسهایی استفاده میکنند که بر مبنای این پروتکل استوار شدهاند، اما توجه داشته باشید که سامانه مرکزی و اصلی بیتکوین تنها با صدور کوینها و ردیابی تراکنشهای پس از آن سروکار دارد، در نتیجه هرگونه فعالیت مرتبط با بحث مالکیت به سرویسهای ثالث واگذار (برونسپاری) میشود.
چالشها و مخاطرات امنیتی زنجیره بلوکی
فناوری زنجیره بلوکی با رمزگذاریهایی در مقیاس نظامی محافظت میشود. به لحاظ تئوری این مکانیزم امنیتی فوق پیشرفته باید در برابر انواع مختلفی از حملهها مقاوم بوده و مانع از آن شود تا زیرساختها در معرض حملههای مختلفی همچون حمله مرد میانی، جستوجوی فراگیر و…. قرار گیرد. با این حال، این زیرساخت با دو چالش امنیتی عمده زیر روبهرو است:
• اعتبارسنجی تراکنشها: این فناوری بر پایه این ایده استوار شده که اطمینان حاصل شود، ارزش مبلغ خرج شده با خروجی مرتبط با میزان مبلغ خرج نشده از زنجیره بلوک قبلی سازگاری دارد. برای اطمینان از این موضوع و دستیابی به چنین هدفی باید صحت امضا تراکنشها بررسی و مشخص شود تراکنشها با کلیدهای خصوصی معتبری ساخته شدهاند.
• بررسی اعتبار زنجیرههای بلوکی که استخراج شدهاند: بهترین راهکار برای دستیابی به این هدف، این است که اطمینان حاصل کنیم، معدنکاوها (Miners) از طولانیترین زنجیره بلوکی موجود استفاده میکنند. (دقت کنید فردی که مالکیت ۵۱ درصد سامانههای کامپیوتری متصل به شبکه بیتکوین را به دست آورد قادر به ویرایش و تغییر اطلاعات است.) از آنجا که گستردهتر کردن زنجیره بلوکی بهصرف منابع زیادی منجر میشود، در نتیجه هرچه زنجیره بلوکی طولانیتر باشد، معتبرتر خواهد بود، زیرا ماینرها باید کار زیادی روی آن انجام دهند.
درست است که این شیوههای امنیتی قابلاعتماد به نظر میرسند، اما مجرمان سایبری برای رسیدن به اهداف خود و دور زدن مکانیزمهای امنیتی ترفندهای خاص خود را دارند. آنها میتوانند با حدس زدن کلیدهای خصوصی و امضای تراکنشها سامانه را درهم شکسته و بیتکوینها را به سرقت ببرند. آنها میتوانند یک فرستنده بیتکوین را فریب داده تا اینگونه تصور کند که تراکنش لغو شده و مبلغ مربوط خرج نشده است، درحالیکه در عمل اینگونه نیست و کیف پول قربانی خالی شده است. هکرهای حرفهایتر سعی میکنند آسیبپذیریهای روز صفر پرداخته را پیدا کرده و از آنها برای دستکاری زنجیره بلوکی استفاده کنند.
بهرهبرداری غیرمجاز از پروتکل
این احتمال وجود دارد که هکرها از ترفندهای زیر برای به خطر انداختن پروتکل بیتکوین استفاده کنند:
• حملههای جستوجوی فراگیر با هدف به سرقت بردن کلیدهای خصوصی:
حمله جستوجوی فراگیر، یکی از معروفترین حملات دنیای امنیت است که برای به سرقت بردن گذرواژههای ضعیف از آن استفاده میشود. در دنیای بیتکوین به دلیل اینکه کلیدها در بیشتر موارد بزرگ و پیچیده هستند، پیادهسازی یک چنین حملهای به تلاش بسیار زیادی نیاز داشته و شاید بتوان گفت که ضریب موفقیت آن فوقالعاده پایین است. در نتیجه پیادهسازی یک چنین حملهای در حد یک فرضیه است، اما غیرممکن نیست. روش کاربردیتری که ممکن است هکرها از آن استفاده کنند، جستوجوی زنجیره بلوکی برای پیدا کردن خروجی به کارگرفته نشده تراکنشها است. مجرمان سایبری که زمان کافی و دستگاههای با توان محاسباتی قدرتمند در اختیار داشته باشند، ممکن است در پیادهسازی چنین حملهای موفق ظاهر شوند.
• حمله مبتنی بر لغتنامه:
این احتمال وجود دارد که هکرها سعی کنند کلید خصوصی یک آدرس بیتکوین را که به کار گرفته نشده، حدس بزنند. هکری که موفق شود چنین حملهای را با موفقیت پیادهسازی کند، با استفاده از یک بات قادر است متوجه شود که آیا به آدرسی که هک شده کوینی فرستاده شده یا خیر. اگر اینگونه باشد، سرقت کوینها کار چندان دشواری نخواهد بود.
• تکنیک قدیمی دو بار پرداخت:
ممکن است این تکنیک برای شما نامآشنا باشد. زمانیکه مکانیزم پرداخت بانکی مبتنی بر وبسایتها تازه آغاز به کار کرده بود، هکرها از ترفند ساخت یک صفحه جعلی و نشان دادن عدم پرداخت موفقیتآمیز استفاده میکردند تا قربانیان آدرس و جزییات کارت بانکی را درون آن صفحه وارد کرده یا دومرتبه وجهی را واریز کنند. این تکنیک به شیوه دیگری در دنیای رمزارزها استفاده میشود. در دنیای بیتکوین بلوکهای تایید تراکنشها به شکل لحظهای ایجاد نشده و دست کم به ۱۰ دقیقه زمان برای ساخت آنها نیاز است. هکرها میتوانند از این بازه زمانی استفاده کرده و یکبار دیگر مبلغ مربوط را خرج کنند. این روش زمانی کار میکند که قربانی تمایلی نداشته باشد تا تاییدیه مربوط را پیش از زمان مشخص شده دریافت کند و اینگونه تصور کند که تراکنش با موفقیت انجام شده است.
• حمله سیلآسا به شبکه:
پیادهسازی یک چنین حملهای با هدف از دسترس خارج کردن کامل شبکه به دانش فنی بالا و تجهیزات قدرتمند نیاز دارد. اگر هکری موفق به انجام اینکار شود، فعالیت همه ماینرها با اختلال روبهرو خواهد شد، اما به هکر اجازه میدهد از تراکنشهای سایر کاربران استفاده کند.
• بهرهبرداری از آسیبپذیریهای پروتکل: تا به امروز هکرها موفق شدهاند از آسیبپذیریهایی همچون باگ تغییرپذیری تراکنشها (Transaction Malleability) بهرهبرداری کرده و نزدیک به ۷ درصد از بیتکوینها را از طریق Mt.Gox به سرقت ببرند. این حمله نشان داد، هکرها میتوانند از ضعفهای امنیتی پروتکلها نهایت استفاده را کرده و به سرقت بیتکوینها بپردازند.
• شکستن رمزارزها:
شکستن الگوریتمهای رمزگذاری قدرتمند اگر به شکل درستی پیادهسازی شده باشند، تقریبا غیرممکن است، اما آسیبپذیریها که در اغلب موارد عامل انسانی دارند به هکرها در شکستن الگوریتمهای رمزگذاری کمک میکنند.
سرویسهای جانبی و مرتبط با بیتکوین تا چه اندازه ایمن هستند؟
پرسش فوق مهمترین سوالی است که پیرامون بیتکوین وجود داشته و شاید اهمیت آن از خود بیتکوین بیشتر است، زیرا بیشتر مردم با سرویسهایی همچون کیفپولها و سامانههای تبادل مالی سروکار دارند که بر پایه این پروتکل ایجاد شدهاند. سرویسهای مبادله مالی بیتکوین در اغلب موارد حجم بسیار بالایی از رمزارزها و ارزهای فیات (Fiat) را همراه با حسابهای بانکی که برای انجام کارهای تجاری از آنها استفاده میکنند، در اختیار دارند. در حقیقت کیف پولها یک مکانیزم کاربردی هستند تا کلیدهای خصوصی درون آنها نگهداری شود. در والتها (Wallets) از راهکارهای احراز هویت رایج همچون گذرواژهها و ویژگیهای زیستی استفاده میشود.
سامانههای پرداخت بیتکوین به متقاضیان اجازه میدهند با پول دیجیتالی خود خریدهایی انجام داده و کوینها را درون کیف پول خودشان نگهداری کنند. همانگونه که مشاهده میکنید، این سرویسها نقش یک واسط را دارند و در نتیجه ضعیفترین مولفه در یک سامانه رمزارز پایه شناخته میشوند. سرویسهای واسط در بیشتر موارد از سامانههای پرداخت دیجیتالی رایج ضعیفتر بوده و اجازه بررسی و نظارت بر تراکنشهای زنجیره بلوکی را ارائه میکنند. به همین دلیل، سامانههای مبادله ثالث در این چهارچوب در معرض بیشترین و جدیتری حملات هکری قرار دارند. حملهای که سال گذشته میلادی با موفقیت انجام شد و باعث شد ۵۰۰ میلیون دلار از توکنهای کاربران صرافی ژاپنی Coincheck به سرقت رود؛ خود گویای ضعف سرویسهای ثالث است. تا به امروز این حمله بزرگترین حمله به رمزارزهای پایه شناخته شده است.
امنیت بیتکوین: نقاط ضعف در برابر نقاط قوت
اگر بگوییم زنجیره بلوکی و پروتکل بیتکوین در برابر هک بهترین مکانیزم دفاعی را دارند، اغراق نکردهایم، اما همانگونه که اشاره شد، سرویسهای واسط و مرتبط با بیتکوین از امنیت کمتری برخوردار هستند. هنگام تصمیمگیری برای استفاده از بیتکوین باید به نکات زیر دقت کنید:
• امکان بازگشت تراکنشها وجود ندارد.
• تا زمانیکه تراکنشها با کلید معتبری امضا شده باشند، امکان لغو آنها وجود نداشته و هیچگونه پیوندی میان مالک بیتکوین و آدرس آن وجود ندارد. این ویژگی با توجه به حفظ حریم خصوصی مالک بیتکوین تعبیه شده است.
با این اوصاف، این بستر نیز مشکلات خاص خود را دارد و در بعضی مواقع ممکن است بیتکوینهای خود را از دست دهید:
• گم کردن کلید خصوصی خود، اشتباه تایپ کردن آدرس مقصد، هکشدن کامپیوتر، لو رفتن اطلاعات کیف پول و هک شدن صرافی که برای تبادل بیتکوین از آن استفاده میکردید.
اگر شخصی سرمایه شما را به هر شکلی انتقال دهد، زنجیره بلوکی هیچگونه پیغام هشداری ارسال نخواهد کرد. مشکل دیگری که وجود دارد در ارتباط با اعتبار و سندیت در زنجیره بلوکی است. با توجه به اینکه بر تعداد ماینرها و تراکنشهای ساخته شده افزوده میشود، این احتمال وجود دارد که شبکه به چند بخش تقسیم شود که خود مشکل دیگری است.
سخن پایانی
در دنیای بیتکوین، امنیت تلفیقی از ضعفها و نقاط قوت است. مکانیزمهای محافظتی یکی از ویژگیهای شاخص بیتکوین است که تبلیغات زیادی روی آن انجام میشود و این مکانیزمها بر مبنای الگوریتمهای رمزگذاری پیچیده کار میکنند. اما در هر زنجیره تامینی این احتمال وجود دارد تا یک آسیبپذیری پنهان باقی بماند. آسیبپذیری که به هکرها اجازه میدهد به سامانههای ثالث نفوذ کرده و صدمههای جبرانناپذیری به بیتکوین وارد کنند، بهطوریکه برخی از کارشناسان حوزه امنیت را متقاعد سازند، امنیت بیتکوین با ارزهای فیات معمولی یکسان است