بررسی یک آسیب‌پذیری جدید در کیف پول‌های رمزارزی!

بررسی یک آسیب‌پذیری جدید در کیف پول‌های رمزارزی! نقد و بررسی
زمان مطالعه : 4 دقیقه

وجود یک آسیب‌پذیری در یکی از کتابخانه‌های لیب بیت کوین Libbitcoin، سبب نگرانی کاربران ارزهای دیجیتال در فضای ایکس (توییتر سابق) شده است.

 

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

 

در کتابخانه‌ی bitcoin explorer تابعی به نام bx seed وجود دارد که از آن به طور گسترده در ساخت کیف پول‌های رمزارزی استفاده شده است.

 

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

 

این حفره امنیتی برای اولین بار توسط تیم امنیتی Distrust کشف و سپس جهت افزایش آگاهی مردم در رابطه با آن، یک وب‌سایت به نام milksad.info راه‌اندازی شد. در این وب‌سایت، محققان تخمین زده‌اند که این آسیب‌پذیری تاکنون منجر به سرقت 900 هزار دلار ارز دیجیتال در چندین بلاکچین مختلف شده است. ظاهرا هکرها، بی سروصدا در حال تخلیه‌ی کیف پول‌های مردم هستند!

 

الگورتیم Mersenne twister، یک تولید کننده اعداد شبه تصادفی (PRNG) است که به هیچ عنوان نباید برای تولید کلید خصوصی رمزنگاری استفاده شود؛ چراکه به شدت قابل پیش‌بینی است و از این رو، فاقد امنیت رمزنگاری می‌باشد.

 

کلید خصوصی یک رشته‌ی بهم ریخته از اعداد و حروف است که به صورت تصادفی تولید می‌شود. الگوریتم Mersenne twister قادر است این اعداد را در محدوده‌ی 32 بیتی تعریف کند و این بدان معناست که انتروپی یا میزان تصادفی بودن کلید خصوصی به 2 به توان 32 (حدودا 4 میلیارد) کاهش می‌یابد. در واقع، تنها 4 میلیارد ترکیب ممکن برای این رشته وجود دارد!

 

  • انتروپی (entropy)؛ معیاری است که میزان تصادفی بودن یا بی‌نظمی یک سیستم را اندازه‌گیری می‌کند.

 

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

 

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

 

برای کیف پول‌های رمزارزی توصیه می‌شود که از سیستم‌هایی برای رمزنگاری و تولید کلید خصوصی استفاده کنند که انتروپی یا معیار تصادفی بودن قوی‌تری داشته باشند. به عنوان مثال برخی از کیف‌پول‌ها، رشته‌های 128 یا 256 بیت برای تولید کلید خصوصی استفاده می‌شود تا امکان حدس زدن تصادفی آن‌ها بسیار بسیار کم شود.

 

برخی از جزئیات منتشر شده در این وب‌سایت، به شرح زیر است:

 

  • تمام کیف پول‌هایی که با نسخه‌های 3.0.0 تا 3.6.0 این کتابخانه تولید شده‌اند، در معرض خطر هستند.
  • علاوه بر بیت‌کوین، ارزهای دیجیتال دیگری همچون اتریوم، ریپل، سولانا، دوج کوین، لایت‌کوین و بیت کوین کش سرقت شده‌اند.
  • این نقص امنیتی بسیار مشابه با آنچه در کیف پول تراست ولت (Trust Wallet) در می 2022 شناسایی شده است، می‌باشد.

 

آندریاس آنتونوپلوس (Andreas M. Antonopoulos) در کتاب معروف Mastering Bitcoin که یک نوع راهنما برای توسعه دهندگان بیت کوین است؛ استفاده از تابع bx seed برای تولید کیف پول پیشنهاد شده است.

 

واکنش کاربران توییتری

 

بسیاری از افراد جامعه‌ی ارزهای دیجیتال، تیم libbitcoin و همچنین نویسنده کتاب مذکور را به دلیل ارائه ابزارهایی که امنیت دارایی‌های افراد را به خطر می‌اندازند، مورد انتقاد قرار داده‌اند.

ظاهرا در این کتاب هیچ هشداری در رابطه با اینکه این تابع، اعداد تصادفی امن و مطمئنی تولید نمی‌کند، داده نشده است.

یکی از اعضای تیم لیب بیت کوین، حدودا 6 سال پیش، در بخش مربوط به تابع bx seed در وب‌سایت گیت‌هاب، یک یادداشت هشدار قرار داده و گفته بود: «مکانیزم تولید کلمات بازیابی شبه تصادفی، می‌تواند یک ضعف رمزنگاری ایجاد کند.»

 

بررسی یک آسیب‌پذیری جدید در کیف پول‌های رمزارزی!

 

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

محققان milk sad پس از کشف این نقص امنیتی، اقدام به برقراری ارتباط با تیم لیب بیت کوین کردند. تیم لیب بیت کوین در اولین پاسخ خود گفت:

 

ما احساس نمی‌کنیم که این یک باگ باشد.

تاکنون مشخص نشده است که چه کیف پول‌ها و پلتفرم‌هایی از این الگوریتم استفاده کرده‌اند.

 

ملیحه حسینی

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

دیدگاهتان را بنویسید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *