دانلود - مقاله ‌شکستن کیف پول‌های بیت‌کوین - ای پی سافت - EPSOFT Skip to main content

 امروز با یک مقاله علمی – آکادمیک بر خوردم به عنوان (‌شکستن کیف پول‌های بیت‌کوین: من می‌خواهم آنچه در کیف پول‌های شماست را داشته باشم) که برام خیلی جالب بود و در حوزه کریپتو و شکستن کیف پول های بیت کوین ، سوءاستفاده از کلمات عبور و یک آسیب‌پذیری مربوط به بازیابی کیف پول و تلاش‌های بروت‌فورس (حمله brute force) آفلاین برای کلمات عبور در Multibit HD و Electrum . تصمیم گرفتم ترجمه ش کنم و اصل مقاله هم براتون برای دانلود میزارم. در بخش مرور ادامه شما ترجمه این مقاله می خوانید و همچنین مقاله اصلی دانلود میکنید.

 

 

 

دانلود مقاله با زبان اصلی Cracking Bitcoin wallets: I want what you have in the wallets

 

چکیده :

شکستن کیف پول‌های بیت‌کوین: من می‌خواهم آنچه در کیف پول‌های شماست را داشته باشم

شکستن کیف پول‌های بیت‌کوین: Multibit HD و Electrum.
• سوءاستفاده از کلمات عبور و یک آسیب‌پذیری مربوط به بازیابی کیف پول.
• تلاش‌های بروت‌فورس (حمله brute force) آفلاین برای کلمات عبور در Multibit HD و Electrum.

بیت‌کوین روز به روز محبوب‌تر می‌شود، که بخشی از این محبوبیت با افزایش چشمگیر ارزش آن در سال‌های اخیر مشهود است. این افزایش محبوبیت و ارزش، باعث شده است که افراد خرابکار به دنبال سرقت یا تلاش برای سرقت کلیدهای خصوصی کیف پول‌های بیت‌کوین باشند تا بتوانند مالکیت ارزهای دیجیتال موجود در این کیف پول‌ها را به دست آورند. برای نشان دادن این تهدید امنیتی، دو نرم‌افزار کیف پول بیت‌کوین مورد مطالعه قرار گرفته‌اند: Multibit HD و Electrum. هر کیف پول تحت ترکیبی از سوءاستفاده از کلمات عبور و یک آسیب‌پذیری مربوط به بازیابی کیف پول قرار گرفته است. یافته‌ها نشان می‌دهند که دسترسی به کیف پول‌های Multibit HD و Electrum از طریق تلاش‌های بروت‌فورس آفلاین برای کلمات عبور امکان‌پذیر است. هنگامی که کلمه عبور پیدا شود، می‌توان کیف پول را با تمام بیت‌کوین‌های موجود در آن بازیابی کرد. این بازیابی حتی اگر قبلاً هرگز به کیف پول بیت‌کوین دسترسی نداشته‌اید نیز امکان‌پذیر است. این یافته‌ها نشان‌دهنده نیاز به تحقیقات بیشتر در زمینه امنیت و علوم forensics (تحقیقات امنیتی) کیف پول‌های بیت‌کوین است.

 

بیت‌کوین از سال ۲۰۰۸ در صنعت معرفی شد و به یکی از پراستفاده‌ترین ارزهای دیجیتال توسط افراد و کسب‌وکارها در سراسر جهان تبدیل شده است. این افزایش محبوبیت، ارزش بیت‌کوین را نیز به طور قابل توجهی بالا برده است، در حالی که از قبل نیز مستعد نوسانات شدید در ارزش‌گذاری بود. به طور خاص، بیت‌کوین بیشترین افزایش ارزش خود را در قالب رشد ۳۴۲٪ تجربه کرد، به طوری که از ۵۶۱۷ دلار در اکتبر ۲۰۱۷ به ۱۹,۲۳۰ دلار در دسامبر ۲۰۱۷ رسید [۱]. با این افزایش ارزش، مصرف‌کنندگان بیشتری مشتاقانه در زیرساخت بیت‌کوین سرمایه‌گذاری می‌کنند. در نتیجه، تهدیدات امنیتی بالقوه و فعالیت‌های خرابکارانه نیز به طور متناظر افزایش یافته‌اند.

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

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

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

در بخش بعدی، به طور خلاصه به بررسی پیشینه بیت‌کوین و کیف پول‌های بیت‌کوین می‌پردازیم. در بخش ۳، ادبیات مرتبط را مرور می‌کنیم. در بخش‌های ۴ و ۵، به ترتیب روش‌شناسی تحقیق و یافته‌های خود را ارائه می‌دهیم. سپس در بخش پایانی، مقاله را به نتیجه‌گیری می‌رسانیم.

 

شکل ۱. قیمت بیت‌کوین (BTC) از //finance.yahoo.com/quote/BTCUSD=X/ دریافت شده است.

۲. پیشینه مختصر

در این بخش، اجزای کلیدی سیستم بیت‌کوین را معرفی می‌کنیم.

 

۲.۱. نرم‌افزار بیت‌کوین و آدرس بیت‌کوین

برای ذخیره بیت‌کوین روی دستگاه خود، کاربر ابتدا باید نرم‌افزار بیت‌کوین را دانلود و روی دستگاه (مانند دستگاه‌های اندروید، iOS، کامپیوتر شخصی و غیره) فعال کند. تعداد زیادی نرم‌افزار بیت‌کوین در بازار وجود دارد، و در زمان انجام این تحقیق، یکی از محبوب‌ترین نرم‌افزارها Bitcoin-Qt است. این نرم‌افزار اولین نسخه از نرم‌افزار متن‌باز هم‌تا-هم‌تا (P2P) بیت‌کوین است که گزارش شده توسط بنیان‌گذار بیت‌کوین ایجاد شده است.

برای استفاده از نرم‌افزار بیت‌کوین، کاربر به یک کیف پول بیت‌کوین نیاز دارد. کیف پول بیت‌کوین شبیه به یک کیف پول فیزیکی است که به کاربر اجازه می‌دهد موجودی خود را مشاهده کند، به اشتراک بگذارد و خرج کند. کاربر کنترل کامل روی وجوه خود دارد و می‌تواند آن‌ها را به کاربر دیگری پرداخت یا مبادله کند، دقیقاً مانند یک کیف پول واقعی [۵].

همچنین کاربر به یک آدرس بیت‌کوین نیاز دارد که هویت او را در شبکه بیت‌کوین مشخص می‌کند [۳]. آدرس بیت‌کوین شبیه به یک نام یا شناسه است که هویت کاربر را تأیید می‌کند. Bitcoin-Qt هم شامل کیف پول بیت‌کوین و هم دفتر کل عمومی است که تمام سوابق تراکنش‌های کیف پول‌های بیت‌کوین را نگهداری می‌کند. این ویژگی آن را از سایر کیف پول‌ها متمایز می‌کند، زیرا از طریق یک سرور بیت‌کوین دیگر به شبکه متصل می‌شود [۶].

با توجه به ماهیت مالی بیت‌کوین و امکان استفاده از آن در فعالیت‌های مجرمانه مانند کلاهبرداری و پول‌شویی، ممکن است نیاز به بررسی‌های فورنسیک (forensic) کیف پول‌های بیت‌کوین باشد. به عنوان مثال، بررسی فورنسیک Bitcoin-Qt ممکن است سه پوشه را نشان دهد: «blocks»، «database» و «chainstate». بررسی بیشتر این پوشه‌ها ممکن است فایل‌های دیگری مانند «.lock»، «db.log»، «debug.log»، «peers.dat» و «wallet.dat» را آشکار کند. این پوشه‌ها و فایل‌ها هدف خاصی دارند و ممکن است حاوی اطلاعات مرتبط با بررسی‌های فورنسیک باشند [۶].

بررسی‌کنندگان فورنسیک همچنین می‌توانند بررسی عمیقی روی دفتر کل بلاک‌چین انجام دهند [۷]. این دفتر کل روی یک پلتفرم عمومی نگهداری می‌شود که شامل تمام تراکنش‌های بیت‌کوین است [۵]. بنابراین، دسترسی به کلید خصوصی مرتبط می‌تواند بررسی‌های فورنسیک را تسهیل کند (مثلاً دسترسی به کیف پول بیت‌کوین).

 

۲.۲. کیف پول بیت‌کوین در مقابل کیف پول فیزیکی

کیف پول بیت‌کوین بسیار شبیه به یک حساب بانکی یا کیف پول اینترنتی است. این نرم‌افزار به کاربر اجازه می‌دهد یک جفت کلید ایجاد کند: یک کلید خصوصی و یک کلید عمومی. تولید کلید بخش حیاتی این فرآیند است. این کلید باید برای کاربر به راحتی قابل یادآوری باشد، اما حدس زدن آن برای دیگران دشوار باشد. به عنوان مثال، اگر نرم‌افزار کیف پول مقدار d = 1 را برای کلید خصوصی انتخاب کند، کلید عمومی B = b A = 1 A = A خواهد بود. سپس این کلید عمومی به یک آدرس تبدیل می‌شود و در پلتفرم بلاک‌چین استفاده می‌شود. با این حال، اگر این آدرس فاش شود، حمله‌کننده می‌تواند با استفاده از حمله بروت‌فورس (Brute Force) روی کلیدهای ساده‌ای مانند ۱، ۲، ۳ و بررسی تطابق آدرس‌ها در کش خروجی تراکنش‌های خرج‌نشده (UTXO cache)، کلید خصوصی را حدس بزند. این موضوع وجوه موجود در حساب‌های با آدرس‌های مشابه را در معرض خطر قرار می‌دهد.

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

تفاوت‌های زیادی بین کیف پول بیت‌کوین و کیف پول فیزیکی وجود دارد، و در ادامه سه تفاوت کلیدی را توضیح می‌دهیم.

 

کنترل

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

 

دسترسی

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

 

کیف پول «فقط دریافت»

یک کیف پول «فقط دریافت» که به عنوان کیف پول «فقط مشاهده» نیز شناخته می‌شود، کیف پولی است که در آن وجوه فقط می‌توانند دریافت شوند و قابل خرج کردن نیستند. به کاربر یک نسخه از کلید محافظتی (که به آن کلید عمومی نیز گفته می‌شود) داده می‌شود، جایی که به کاربر اعتماد کامل وجود ندارد یا نیاز به نظارت بر کیف پول است. فقط زمانی که از این کلید استفاده شود، می‌توان به کیف پول مشاهده‌ای دسترسی پیدا کرد.

 

۳. کارهای مرتبط

در سال‌های اخیر، تعداد کمی مطالعه در مورد امنیت کیف پول‌های بیت‌کوین انجام شده است. به عنوان مثال، Kaushal و همکاران [۸] به بررسی تکامل بیت‌کوین و امنیت کیف پول‌های بیت‌کوین پرداختند و انواع تهدیدات امنیتی برای کیف پول‌های بیت‌کوین را شناسایی کردند (مانند سرقت مستقیم، فریب و تعویض، تراکنش‌های جعلی، ربودن زنجیره، سرکوب ناخواسته تراکنش‌ها و سرکوب عمدی تراکنش‌ها).

Dikshit و Singh [۹] یک الگوریتم بهبودیافته امضای دیجیتال منحنی بیضوی با آستانه وزنی (ECDSA) را برای ایمن‌سازی کیف پول‌های بیت‌کوین ارائه کردند [۹]. الگوریتم پیشنهادی بخشی از کلید خصوصی را بین گروهی از افراد توزیع می‌کند. این کار امنیت بیشتری فراهم می‌کند، زیرا هیچ فردی به تنهایی دسترسی کامل ندارد [۹]. در این روش پیشنهادی، افراد به گروه‌هایی با وزن‌های مختلف تقسیم می‌شوند، و هر گروه وزن یکسانی دارد و زیرمجموعه‌ای از بازیکنان که دارای وزن بیشتر یا مساوی یک مقدار آستانه هستند، می‌توانند کلید مخفی را بازسازی کنند [۹].

Gentilal و همکاران [۱۰] نیاز به جداسازی محیط‌های مورد اعتماد و غیرمورد اعتماد هنگام استقرار کد روی یک پلتفرم نرم‌افزاری/سخت‌افزاری را توضیح دادند. سیستم پیشنهادی آن‌ها برای افزودن انعطاف‌پذیری و قابلیت اطمینان به کیف پول بیت‌کوین، با استفاده از اقدامات امنیتی اضافی در یک محیط غیرمورد اعتماد طراحی شده است [۱۰]. کیف پول تحت سیستم پیشنهادی نویسندگان، در برابر حملات دیکشنری و حملات کانال جانبی مقاوم‌تر است، زیرا کد از منابع غیرمورد اعتماد جدا شده است [۱۰]. این آزمایش در یک محیط آزمایشگاهی انجام شد تا نشان دهد که امنیت کیف پول بیت‌کوین می‌تواند به قیمت افزایش منابع محاسباتی (به دلیل فرآیند رمزنگاری) بهبود یابد.

Mann و Loebenberger [۱۱] نشان دادند که چگونه می‌توان احراز هویت دو عاملی را به کیف پول بیت‌کوین اضافه کرد تا امنیت آن افزایش یابد. با این حال، این روش بر محافظت از رمز عبور یا داده‌های موجود در کیف پول بیت‌کوین در برابر حملات اختصاصی تمرکز ندارد.

 

Dlamini و همکاران [۱۲] تلاش کردند تا بررسی کنند که آیا می‌توان از یک سیستم پیامک (SMS) برای دسترسی به کیف پول بیت‌کوین استفاده کرد. نویسندگان یک سیستم نرم‌افزاری توسعه دادند و آن را مستقر کردند که از طریق تلفن‌های همراه به یک شخص ثالث دسترسی پیدا می‌کرد تا تراکنش کیف پول بیت‌کوین را در زیرساخت بلاک‌چین آغاز کند [۱۲]. این سیستم به طور خاص بر روی امنیت تمرکز نداشت، بلکه چارچوبی ایجاد کرد که به یک شخص ثالث اجازه می‌داد تا محافظت‌های امنیتی را مدیریت کند [۱۲]. ارزیابی این سیستم در یک محیط آزمایشگاهی انجام شد.

ابزارهای فورنسیک موجود ممکن است از بررسی‌های فورنسیک کلاینت‌های بیت‌کوین پشتیبانی کنند. به عنوان مثال، Internet Evidence Finder (IEF) شامل دو منبع روی دیسک است: فایل کیف پول و فایل‌های لاگ کلاینت [۱۳، ۱۴]. Doran [۷] با استفاده از IEF، فایل‌های Multibit و Bitcoin-Qt و فعالیت‌های اینترنتی را تحلیل کرد. از تحلیل نویسنده از تصاویر RAM، مشخص شد که برنامه Multibit می‌تواند پیدا شود و بررسی فایل‌های «.info» می‌تواند اطلاعاتی مانند نسخه کیف پول، محل ذخیره نسخه پشتیبان کیف پول و آدرس‌های خاص مرتبط با فایل کیف پول را آشکار کند.

سایر مطالعات فورنسیک مرتبط شامل مطالعه Litecoin و Darkcoin روی دستگاه‌های iOS و اندروید است [۱۵]. نویسندگان توانستند داده‌هایی مانند متادیتا، داده‌های نصب، برچسب‌های زمانی و نشانه‌های استفاده را با استفاده از Cellebrite UFED Physical Analyzer (یک نرم‌افزار فورنسیک تجاری رایج دیگر)، iFunBOX و ADB بازیابی کنند. iFunBOX به طور گسترده برای iOS و ADB برای بررسی‌های فورنسیک اندروید استفاده می‌شد. در یک مورد، کلید خصوصی نیز با استفاده از این روش بازیابی شد [۱۶]. با این حال، این روش فقط می‌توانست برای به دست آوردن داده‌های قابل خواندن توسط انسان استفاده شود [۱۶].

واضح است که امنیت و فورنسیک کیف پول‌های بیت‌کوین دو حوزه تحقیقاتی نسبتاً جدید هستند، برخلاف امنیت موبایل [۱۷–۱۹]، امنیت اینترنت اشیا (IoT) [۲۰–۲۲] و غیره. بنابراین، این مقاله به دنبال پر کردن شکاف دانش در این زمینه است.

در بخش بعدی، روش‌شناسی تحقیق خود را ارائه خواهیم داد.

 

۴. روش‌شناسی تحقیق

روند تحقیق ما شامل سه مرحله است که دو مرحله اول برای آماده‌سازی آزمایش و مرحله سوم بیشتر از دیدگاه کاربر نهایی است. این سه مرحله به شرح زیر است و در شکل ۱ نشان داده شده است:

  • مرحله ۱: آماده‌سازی محیط و نصب نرم‌افزارهای MultibitHD و Electrum، ایجاد یک کیف پول امن و نصب سایر ابزارهای لازم برای ایجاد نرم‌افزار شکستن رمز.

  • مرحله ۲: ایجاد بسته نرم‌افزاری ما برای استخراج رمز عبور با انجام یک حمله دیکشنری بروت‌فورس روی دو کیف پول HD بیت‌کوین.

  • مرحله ۳: اجرای بسته نرم‌افزاری ما روی هر دو کیف پول با هدف نفوذ به کیف پول بیت‌کوین با استفاده از رمز عبور بازیابی شده.

 

۴.۱. مرحله ۱

این مرحله شامل آماده‌سازی محیط آزمایش و نصب و پیکربندی ابزارهای لازم است. برای آماده‌سازی محیط آزمایش، یک ماشین مجازی (VM) تازه با سیستم عامل Windows 7 در آزمایش‌های ما ایجاد شد. این ماشین مجازی با ۴ گیگابایت RAM و فضای دیسک ۵۰۰ گیگابایت پیکربندی شد. همچنین قابلیت شبکه به ماشین مجازی اضافه شد تا بتوانیم از قدرت محاسباتی یک ماشین مجازی دیگر استفاده کنیم. ماشین مجازی دوم نیز دارای پیکربندی مشابه ماشین مجازی اول بود.

مرحله بعدی نصب و راه‌اندازی یک کیف پول (در اینجا Multibit HD نسخه ۰.۴.۱) است. هنگام ایجاد کیف پول، از کلمات کیف پول و برچسب تاریخ یک تصویر گرفته می‌شود. این کار برای تسهیل مقایسه نتیجه نهایی با کلمات اولیه کیف پول انجام می‌شود. سپس یک اسکنر حافظه/ویرایشگر هگز/دیباگر نصب می‌شود، و در آزمایش‌های ما از Cheat Engine استفاده شد که یک ابزار متن‌باز برای اسکن حافظه، ویرایش هگز و دیباگ است. این ابزار به ما امکان می‌دهد مقادیر وارد شده توسط کاربر را با گزینه‌های متنوعی جستجو کنیم و حافظه دستگاه را بررسی و مرتب کنیم. شکل ۲ تنظیمات آزمایش را نشان می‌دهد.

جدول ۱ ابزارهای استفاده شده در آزمایش‌های ما را خلاصه می‌کند.

 

۴.۲. مرحله ۲ (اختیاری، اگر seed شناخته شده باشد)

مرحله دوم شامل راه‌اندازی و ایجاد بسته نرم‌افزاری برای شکستن کلمات کیف پول است. در آزمایش‌های ما، نرم‌افزار Cheat Engine اجرا شد و فرآیند کیف پول بیت‌کوین HD به آن متصل شد. در Cheat Engine، «نوع مقدار» به عنوان رشته (string) انتخاب شد و یک کلمه کلیدی تصادفی از کلمات کیف پول MultibitHD اسکن شد. پس از مرور مکان حافظه نتایج کلمه کلیدی، چندین کلمه دیگر از دیکشنری انگلیسی مشاهده شد. در مجموع ۲۰۵۳ کلمه دیکشنری از Multibit با استفاده از Cheat Engine استخراج شد. شکل ۳ لیست کلمات مشاهده شده را نشان می‌دهد.

این کلمات جمع‌آوری و در یک پایگاه داده کامپایل شدند. ما این پایگاه داده را «دیکشنری دیتابیس» می‌نامیم.

مرحله بعدی در این فاز، ایجاد بسته نرم‌افزاری حمله‌کننده است. کیف پول انتخاب شده در این مقاله یک برنامه دسکتاپ است که روی کامپیوتر شخصی کاربر میزبانی می‌شود و در زمان ایجاد، یک عبارت عبور ۱۲ کلمه‌ای (seed) توسط کیف پول پیشنهاد می‌شود. کاربر می‌تواند با استفاده از رمز عبور تولید شده یا عبارت عبور ۱۲ کلمه‌ای به وجوه دسترسی پیدا کند. عبارت عبور ۱۲/۲۴ کلمه‌ای ترکیبی از کلمات یک دیکشنری ۲۱۰۰ کلمه‌ای است که در برنامه کیف پول رمزگذاری شده است. پس از بررسی‌ها و آزمایش‌های متعدد، تنها گزینه موجود برای شکستن کیف پول، شناسایی دیکشنری و امتحان تمام ترکیبات ممکن است.

راه‌حل شناسایی شده شامل مراحل زیر است:

  • استخراج دیکشنری

  • ایجاد ترکیبات برای فایل دیکشنری

  • بررسی عبارت عبور صحیح

 

شکل ۲. تنظیمات آزمایش.

 

شکل ۳. کلمات دیکشنری یافت شده در تحلیل حافظه.

شکل ۴. Multibit HD — ترکیب معتبر کلمات seed.

 

برای پیاده‌سازی سه مرحله فوق، فرآیندی که برای شکستن عبارت عبور انتخاب شد، حمله بروت‌فورس آفلاین است که یک مدل آزمون و خطا بوده و زمان‌بر است. این روش شامل امتحان تمام ترکیبات ممکن از کاراکترها یا کلمات به صورت متوالی برای شکستن یک دروازه رمزگذاری شده است. زمان مورد نیاز بستگی به تعداد کاراکترها یا کلمات موجود در عبارت عبور دارد. بروت‌فورس معکوس (یعنی زمانی که رمز عبور شناخته شده است و کاربر باید شناسایی شود) به زمان کمتری برای موفقیت نیاز دارد، اما این روش در آزمایش‌های ما قابل استفاده نیست. ما حمله بروت‌فورس آفلاین را با استفاده از مجموعه ۲۱۰۰ کلمه استخراج شده از برنامه کیف پول (که از این پس به آن «دیتاست» گفته می‌شود) پیاده‌سازی کردیم.

دیتاست ۲۱۰۰ کلمه‌ای به عنوان ورودی به بسته نرم‌افزاری ما داده می‌شود تا فایل دیکشنری ایجاد شود که می‌تواند برای حمله بروت‌فورس آفلاین استفاده شود. با توجه به حجم بزرگ دیتاست، یک پایگاه داده مستقل روی سرور نگهداری می‌شود که برای انجام حمله بروت‌فورس آفلاین استفاده می‌شود.

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

 

شکل ۵. Electrum — ترکیب معتبر کلمات seed.

 

۴.۳. مرحله ۳

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

علاوه بر این، هر دو کیف پول مورد مطالعه برنامه‌های تحت وب نیستند، بنابراین امکان تعامل با عناصر وب با استفاده از یک زبان برنامه‌نویسی شیءگرا وجود ندارد. در نتیجه، یک برنامه قادر به تعامل با برنامه‌های دسکتاپ انتخاب شده و یک تریگر ۲۵ خطی ایجاد شده است تا ترکیبات ممکن از دیتاست استخراج شده را ایجاد کند. زمان مورد نیاز بیشتر از روش‌های معمول شکستن رمز عبور است، اما یک کیف پول امن با رمزنگاری BIP 32 روی یک ابزار دسکتاپ بسیاری از گزینه‌های ساده‌تر را منتفی می‌کند.

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

همان‌طور که قبلاً اشاره شد، با افزایش تعداد ماشین‌های مجازی، زمان لازم برای به دست آوردن عبارت ۱۲ کلمه‌ای کاهش می‌یابد. بنابراین، پیکربندی هاست و ماشین‌های مجازی با دو برابر تعداد هسته‌ها، سرعت پردازنده و RAM (حافظه اختصاص داده شده) بهبود یافته است. ما خاطرنشان می‌کنیم که ملاحظه اصلی قبل از اجرای ارتقاء برای بهبود عملکرد، نیاز به ظرفیت حافظه و سرعت حافظه است که می‌توان با مشخصات سخت‌افزاری بالاتر (مانند تراشه RAM، هارد دیسک (HDD) و پردازنده) به دست آورد. به عنوان مثال:

  • ظرفیت حافظه: هر چه گیگابایت (GB) ماژول حافظه بیشتر باشد، برنامه‌های بیشتری می‌توانند به طور همزمان باز باشند.

  • سرعت حافظه: مدت زمانی که طول می‌کشد تا RAM درخواست پردازنده را دریافت کند و سپس داده‌ها را بخواند یا بنویسد.

اگر در طول حمله، حافظه RAM تمام شود، می‌توان از دیسک دیگری به عنوان جایگزین استفاده کرد (یعنی swapping). مقدار بیشتر حافظه RAM به این معنی است که دستورالعمل‌های بیشتری می‌توانند در آن حافظه جای بگیرند و بنابراین برنامه‌های بزرگ‌تر می‌توانند به طور همزمان بارگذاری شوند. پیاده‌سازی گزینه فوق باعث شد یافته‌های ما تقریباً ۸۰٪ بهبود یابد.

 

۵. یافته‌ها

در این بخش، یافته‌های تحقیق خود را که بر روی کیف‌پول‌های Multibit HD و Electrum انجام شده است، ارائه می‌کنیم. این تحقیق با استفاده از روش‌شناسی ارائه‌شده در بخش قبل انجام شده است. به طور خاص، زمان لازم برای انجام حمله بروت‌فورس روی تمام ترکیبات ممکن از ۱۲ کلمه seed (عبارت بازیابی) کیف‌پول را بررسی می‌کنیم.

با توجه به اینکه ۲۶ حرف در الفبای انگلیسی وجود دارد، اگر کسی بخواهد ۱۲ کاراکتر از ۲۶ حرف را با روش بروت‌فورس حدس بزند، برای اولین کاراکتر ۲۶ امکان وجود دارد. هر یک از این ۲۶ کاراکتر اول می‌تواند با ۲۶ امکان دیگر برای کاراکتر دوم ترکیب شود، بنابراین برای ۲ کاراکتر ۶۷۶ امکان (یعنی ۲۶ × ۲۶) وجود دارد. این روند را می‌توان برای هر تعداد کاراکتر موجود در seed ادامه داد. این کار منجر به ۲۶^۱۲ = ۹.۵۴ × ۱۰^۱۶ ترکیب می‌شود. حال تصور کنید که ۲۰۴۸ کلمه وجود دارد که می‌توانند در یک seed ۱۲ کلمه‌ای استفاده شوند. این موضوع منجر به ۲۰۵۲^۱۲ = ۵.۴۴ × ۱۰^۳۹ ترکیب می‌شود. اگر ۱۰ میلیارد رمز عبور در ثانیه بررسی شود، بیش از ۱.۷ × ۱۰^۲۲ سال طول می‌کشد تا تمام احتمالات امتحان شوند.

ما از فایل دیکشنری تولیدشده به عنوان ورودی برای حمله در بسته نرم‌افزاری خود استفاده کردیم و توانستیم بیش از یک ترکیب از ۱۲ کلمه داده‌شده (seed) را با موفقیت شناسایی کنیم. این کار باعث فعال شدن دکمه «next» می‌شود که نشان‌دهنده احتمال مرتبط بودن کیف‌پول با ترکیب مورد نظر است. با این حال، این ترکیب نمی‌تواند برای بازیابی رمز عبور استفاده شود، زیرا ترکیب شناسایی‌شده هنوز به یک کیف‌پول در منابع موجود در شبکه برنامه کیف‌پول اختصاص داده نشده است، همان‌طور که در بررسی هر دو کیف‌پول BIP-32 در این مقاله مشاهده کردیم. درصد ترکیبات معتبر شناسایی‌شده به تدریج با افزایش تعداد ترکیبات واردشده به برنامه کاهش می‌یابد.

 

۵.۱. نتایج حمله به Multibit HD

ترکیبات معتبر شناسایی‌شده برای Multibit HD همچنین می‌توانند برای بازیابی کیف‌پول در صورت آسیب‌دیدگی یا گم شدن دستگاهی که کیف‌پول روی آن نصب شده بود، استفاده شوند. این ویژگی نیاز به seed همراه با برچسب زمان ارائه‌شده در زمان ایجاد کیف‌پول دارد، که به معنای پیاده‌سازی موثر ترکیب معتبر تولیدشده و برچسب زمان هنگام اجرای حمله بروت‌فورس است.

نتایج برای برنامه کیف‌پول دسکتاپ Multibit HD در جدول ۲ و شکل ۴ نشان داده شده است.

 

جدول ۲

نتایج Multibit HD.

سیستم عامل RAM پردازنده هارد دیسک هسته‌ها معیارها تعداد زمان صرف‌شده تطابق‌ها تعداد VM ها
Windows 7 Professional 6 GB I5 – 2.5 GHz 400 GB 2 هسته 100,000 09:57 6 949 1
Windows 7 Professional 16 GB I5 – 2.5 GHz 400 GB 4 هسته 100,000 04:53 6 949 1
Windows 7 Professional 6 GB I5 – 2.5 GHz 400 GB 2 هسته 1,000,000 22:00 68 993 1
Windows 7 Professional 16 GB I5 – 2.5 GHz 400 GB 4 هسته 1,000,000 15:17 68 993 1
Windows 7 Professional 4 GB I5 – 2.5 GHz 1 TB 2 هسته 100,000 02:00 6 949 4
Windows 7 Professional 8 GB I5 – 2.5 GHz 1 TB 4 هسته 100,000 00:45 6 949 4
Windows 7 Professional 4 GB I5 – 2.5 GHz 1 TB 2 هسته 1,000,000 07:00 68 993 4
Windows 7 Professional 8 GB I5 – 2.5 GHz 1 TB 4 هسته 1,000,000 03:30 68 993 4
ایجاد دیکشنری ۱۰^۳۰ و شکستن کیف‌پول          

 

 

جدول ۳

نتایج Multibit HD.

سیستم عامل RAM پردازنده هارد دیسک هسته‌ها معیارها تعداد زمان صرف‌شده تطابق‌ها تعداد VM ها
Windows 7 Professional 6 GB I5 – 2.5 GHz 400 GB 2 هسته 100,000 09:27 6 549 1
Windows 7 Professional 16 GB I5 – 2.5 GHz 400 GB 4 هسته 100,000 04:13 6 549 1
Windows 7 Professional 6 GB I5 – 2.5 GHz 400 GB 2 هسته 1,000,000 21:00 58 547 1
Windows 7 Professional 16 GB I5 – 2.5 GHz 400 GB 4 هسته 1,000,000 14:09 58 547 1
Windows 7 Professional 4 GB I5 – 2.5 GHz 1 TB 2 هسته 100,000 01:50 6 549 4
Windows 7 Professional 8 GB I5 – 2.5 GHz 1 TB 4 هسته 100,000 00:43 6 549 4
Windows 7 Professional 4 GB I5 – 2.5 GHz 1 TB 2 هسته 1,000,000 06:27 58 547 4
Windows 7 Professional 8 GB I5 – 2.5 GHz 1 TB 4 هسته 1,000,000 02:48 58 547 4
ایجاد دیکشنری ۱۰^۳۰ و شکستن کیف‌پول                

 

۵.۲. نتایج حمله به Electrum

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

همان‌طور که در جدول ۳ و شکل ۵ مشاهده می‌شود، تعداد ترکیبات معتبر برای دیکشنری داده‌شده بین ۱.۰۱٪ تا ۱۰٪ برای یک seed ۱۲ کلمه‌ای است، که در نمودارهای زیر برای هر دو برنامه کیف‌پول ترسیم شده است. از نتایج مشخص است که تابعی که تعداد ترکیبات معتبر برای یک دیتاست (مضربی از ۱۰) را محاسبه می‌کند، رابطه معکوس با افزایش تعداد دارد و به مرور به بیش از ۱٪ نزدیک می‌شود. بنابراین، می‌توانیم سطح راحتی یک حمله‌کننده را برای سوءاستفاده از این آسیب‌پذیری با قدرت محاسباتی معقول به منظور دسترسی غیرمجاز به کیف‌پول‌ها بیان کنیم.

 

۶. نتیجه‌گیری و کارهای آینده

با توجه به افزایش محبوبیت کیف‌پول‌های بیت‌کوین (و سایر ارزهای دیجیتال)، احتمال تلاش خرابکاران برای سوءاستفاده از این آسیب‌پذیری‌ها افزایش خواهد یافت. در حالی که جامعه امنیت و رمزنگاری تلاش‌هایی برای طراحی راه‌حل‌هایی به منظور افزایش امنیت کیف‌پول‌های بیت‌کوین انجام داده است (مثلاً [۲۳–۲۶])، ممکن است آسیب‌پذیری‌هایی در پیاده‌سازی این راه‌حل‌های امنیتی یا اجزای زیربنایی آن‌ها وجود داشته باشد (مثلاً پروتکل ارتباطی در کیف‌پول Ledger [۲۷]). چنین آسیب‌پذیری‌هایی می‌توانند توسط یک حمله‌کننده برای دسترسی غیرمجاز به بیت‌کوین (یا سایر ارزهای دیجیتال) ذخیره‌شده در کیف‌پول‌ها مورد سوءاستفاده قرار گیرند، همان‌طور که در این مقاله نشان داده شد.

در این مقاله، دو کیف‌پول محبوب بیت‌کوین، یعنی Multibit و Electrum، را بررسی کردیم و آسیب‌پذیری‌های امنیتی ناشناخته قبلی را آشکار کردیم. این آسیب‌پذیری‌ها می‌توانند توسط یک خرابکار برای دسترسی به هر یک از این کیف‌پول‌ها و ادعای مالکیت بیت‌کوین‌های موجود در آن‌ها مورد سوءاستفاده قرار گیرند. در حالی که یافته‌های این تحقیق فقط به این دو کیف‌پول بیت‌کوین محدود می‌شود، گسترش آینده این تحقیق شامل طراحی یک برنامه نرم‌افزاری کارآمدتر است که قادر به انجام حملات بروت‌فورس آنلاین و آفلاین روی طیف وسیع‌تری از کیف‌پول‌های بیت‌کوین در سیستم‌عامل‌های مختلف (مانند نسخه‌های دسکتاپ و موبایل مانند اندروید و iOS) باشد.

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

 

منابع داخل مقاله اصلی ذکر شده.

 

 

 

نکته :

یک . میتونید برای خرید ارزدیجیتال مورد نیاز از این لینک با ۳۰ درصد تخفیف کارمزد استفاده کنید.

دو . راستی تا آخر آبان توی جشنواره بیت پلاس شرکت کن و بیتکوین رایگان بگیر از این لینک وارد شو.

سه . از افزایش قیمت طلا هم جا نمون ! میتونی آنلاین ثبت نام کنی و ۵ میلی گرم طلا از ما هدیه بگیری. از این لینک وارد شود

 

 

برای دریافت و اطلاع از اخبار و آموزش ها پیج و کانال ما را دنبال کنید.

از طریق این لینک ثبت نام کن و ۵ میلی طلا هدیه بگیر

 

به کانال تلگرام و پیج اینستاگرام ما سر بزنید تا اخبار و آموزش های حوزه بازار سرمایه را دنبال کنید :

 

 

Instagram (Page Financial market) :  https://instagram.com/bazar_bors_iran

channel telegram: t.me/Bazar_bours_iran98

 

 

📦 با احترام به تمام کاربران فایل ها و مطالب این سایت رایگان / بدون پسورد / بدون نیاز به ثبت نام در سایت و همچنین از نظر حجمی فشرده شده می باشد.

 

چطور با تخفیف کارمزد در صرافی های ارز دیجیتال ثبت نام کنیم؟

 

لوگوی صرافی

نام صرافی

تخفیف کارمزد

IP خارج از ایران

لینک ثبت نام

کوینکس
دارد نیاز دارد ثبت نام با تخفیف کارمزد
  کوکوین دارد نیاز ندارد ثبت نام با تخفیف کارمزد
او ام پی فینکس
دارد نیاز ندارد ثبت نام با تخفیف کارمزد
نوبیتکس دارد نیاز ندارد ثبت نام با تخفیف کارمزد

کی سی ایکس

دارد نیاز ندارد ثبت نام با تخفیف کارمزد