امنیتی, بیت کوین, کیف پول سخت افزاری

چطور یک کیف پول سخت‌افزاری رو هک کنیم؟

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

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

کیف پول رمزارزی

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

کیف پول‌های رمزارزی انواع مختلفی دارن و می‌شه اون‌ها رو در پنج دسته طبقه بندی کرد:

  • آنلاین : در یک سایت ثبت نام می‌کنید و براتون کیف پول ساخته می‌شه. این نوع کیف پول از کم‌ترین امنیت برخورداره و مسئولیت دارایی شما رو به ارائه‌دهنده سرویس می‌سپاره. چنانچه مشکلی برای هر بخش از این سایت‌ها به وجود بیاد، احتمالا دیگه نمی‌تونین به دارایی‌هاتون دسترسی داشته باشین.
  • نرم افزاری: این کیف پول مثل بقیه‌‌ی نرم‌افزارهای روی گوشی، لپ‌تاپ و کامپیوتر شما عمل می‌کنه. یک نرم‌افزار مرتبط رو نصب می‌کنین و کیف پول شما به همراه کلمات بک‌آپ اختصاصی براتون ایجاد می‌شه. امنیت این نوع کیف پول بسیار بالاتر از نوع آنلاین هست.
  • سخت افزاری: یک سخت‌افزاری شبیه به فلش، دارایی‌های شما به علاوه‌ی کلید خصوصی‌تون رو در خودش نگه می‌داره و چون به هیچ منبع آنلاینی وصل نیست، هک اون تنها با دسترسی فیزیکی به کیف پول‌تون امکان‌پذیره. همچنین برای هک چنین کیف پول‌هایی فرد باید تخصص و ابزار داشته باشه. درنتیجه، امن‌ترین کیف پول رمزارزی محسوب می‌شه. (انواع کیف پول سخت‌افزاری در فروشگاه جنبل قابل مشاهده و دسترسی‌ هست.)
  • کاغذی: یکی دیگر از روش‌های نگه‌داری امن دارایی‌ها، نوشتن اون‌ها روی کاغذ هست. به این شکل که کلید خصوصی و عمومی شما به فرم QR کد روی کاغذ چاپ می‌شه و به این ترتیب هیچ اتصالی به اینترنت و دنیای قابل هک نداره. اما مشخصا این نوع کیف پول‌ها هم نسبت به حملات فیزیکی آسیب‌پذیر هستن و پس از ایجاد کیف‌های سخت‌افزاری به علت سهولت استفاده، کم‌تر کاربرد دارند.
  • ذهنی: همون‌طوری که از اسم این نوع کیف پول دریافت می‌شه، در این روش شما از مغزتون به عنوان کیف پول استفاده می‌کنین! در این روش فقط صاحب کلمات Seed می‌تونه به کیف دسترسی داشته باشه اما بدیهی هست که این روش بسیار خطرناک با ریسک بالاست. چراکه در صورت فراموشی، دارایی‌هاتون به هیچ عنوان قابل دسترسی نخواهد بود.
    اگر این روش رو برای نگه‌داری کوین‌هاتون انتخاب می‌کنین، حتما باید از روش‌های به حافظه سپردن، مثل کاخ ذهنی، کمک بگیرید. راستی خودتون هم می‌تونین آدرس‌تون رو تولید کنید

(فارغ از نوع کیف پولی که انتخاب می‌کنید، یادداشت کلمات بک‌آپ (Seed) بسیار بسیار بسیار مهم هست. این کلمات رو در جایی امن روی کاغذ بنویسید و آف‌لاین نگه‌داری کنید. )

 

روش‌های مختلف هک

هک سخت‌افزار شما می‌تونه به روش‌های مختلف و در زمان‌های متفاوت اتفاق بیفته؛ من تو این مقاله بر حسب زمان خرید، در دو دسته بررسی‌شون می‌کنم؛ کیف پول شما می‌تونه قبل از این‌که به دست‌تون برسه دستکاری شده باشه (یعنی قبل از خرید) و یا زمانی که دارید از اون استفاده می‌کنین دستکاری بشه (ینی هنگام استفاده)

قبل از خرید:

  • دستکاری توسط واسط بین شما و محصول: همون‌طوری که سازمان امنیت ملی آمریکا روترهای سیسکو رو دست‌کاری می‌کنه تا بتونه به روتر مصرف‌کننده دسترسی داشته باشه، ممکن هست کیف پولی که تهیه می‌کنین پیش از رسیدن به دست شما به گونه‌ای تغییر داده شده باشه که بتونه به هکر امکان نفوذ به سخت‌افزارتون رو بده.
  • دستکاری توسط یکی از تولیدکنندگان اجزا: ممکن هست تولیدکننده آگاهانه و یا اتفاقی منفذهای مخفی در کیف پول شما قرار بده. چنین درهای پشتی توسط تولیدکنندگان chip (تراشه‌ی الکترونیکی) ساخت چین دیده شده.
  • سرهم‌بندی ناقص:‌ یکی از فاکتورهای حائز اهمیت در کیفیت ابزارهای کامپیوتری، نحوه‌ی چینش و کیفیت سرهم‌بندی اون‌هاست. اگر این کنار هم قرار دادن قطعات به خوبی انجام نگیره، راه برای ایجاد باگ در نرم‌افزار، سفت‌افزار و یا سخت‌افزار بوجود میاد و این در مراحل ساخت گجت‌های الکترونیکی و ابزارها تقریبا رایج هست.
  • استفاده از RNG ناامن: RNG که مخفف Random Number Generator هست عموما به سخت‌افزار شما متصل می‌شه و وظیفه‌ی تولید کلیدهای کیف پول‌تون رو به صورت تصادفی داره. اگر این بخش از دستگاه با RNG ای مجهز شده باشه که اعداد تصادفی نباشن، هکر می‌تونه عدد رو حدس بزنه و به کیف شما دسترسی پیدا کنه.

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

 

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

 

هک کیف پول Trezor و Ledger

کیف پول‌های سخت‌افزاری توسط شرکت‌های مختلفی تولید می‌شن. اما ما تو این مقاله به هک دو کیف پول Trezor و Ledger می‌پردازیم. این دو کیف پول رویکرد متفاوتی برای محل ذخیره‌ی کلمات Seed شما درون دستگاه‌هاشون دارند و همین امر نحوه‌ی دسترسی رو برای هکر متنوع می‌کنه.

Trezor (ترزور): ذخیره کلمات Seed در فلش مموری میکروکنترل‌گرعمومی

تجهیزات گلیچ: سمت بالا چپ، یک MAX4619 Analog Multiplexer قرار داره. به همراه یک سوکتLQFP64  با pin-64 برای STM32F205. در سمت راست، یک اداپتر FT232H USB-UART قرمز دیده می‌شه که به عنوان رابط BootROM UART استفاده می‌شه. سمت راست بالا، یک برد Digilent Arty A7 FPGA دیده می‌شه.

 

ترزور نوعی از کیف پول سخت‌افزاری با نرم‌افزار و سخت‌افزار متن‌باز هست که امکان نگه‌داری امن کوین‌هاتون رو فراهم می‌کنه.

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

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

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

ویدیوی این هک رو تماشا کنید.

ملزومات این هک:

  • دسترسی فیزیکی به دستگاه حداقل به مدت 15 دقیقه
  • خرید ابزارهای تخصصی به قیمت تقریبی 75 دلار
  • حمله‌ی بروت‌فورس (حدس پسوورد و ترکیبات محتمل)

سطری که با رنگ متفاوت نمایش داده شده Seed این کیف پول هست. هر کسی به این سید دسترسی داشته باشه، اختیار دارایی‌های کیف پول رو خواهد داشت.

 

Ledger (لجر): ذخیره‌ی کلمات Seed در تراشه‌ی Secure Element

دستگاه‌های لجر، اعم از نانو S و Blue، دارای 2 تراشه‌ی مجزا هستن: یک تراشه کلمات Seed رو ذخیره می‌کنه و اون یکی بقیه‌ی کارها رو انجام می‌ده. (برعکس تزرور که یک تراشه‌ی عمومی داشت.)

یکی از این تراشه‌ها به اسم Secure Element، پردازش‌گر کوچیکی هست که می‌تونه داده‌های حساس رو نگه‌داری کنه و نرم‌افزارهای پرداختی رو اجرا کنه. در واقع این همون تراشه‌ای هست که در سیم کارت‌ها، کارت‌های بانکی، پرداخت با گوشی (سامسونگ، اپل و …) استفاده می‌شه. تراشه‌ی دوم با عملکرد عمومی‌تر، اتصالات USB، صفحه‌نمایش، دکمه‌ها رو مدیریت می‌کنه؛ و از همه مهم‌تر، رابط بین Secure Element و سایر بخش‌هاست. هر زمان که کاربر بخواد تراکنشی رو تصدیق کنه، از طریق این تراشه‌ی عمومی (MCU ) این کار رو انجام می‌ده و مستقیما روی Secure Element اعمال نمی‌شه.

اما داشتن دو تراشه‌ی مجزا و جدا کردن کلمات Seed این کیف پول رو کاملا ایمن نمی‌کنه. مهاجم هنوز هم می‌تونه از طریق دست‌کاری تراشه‌ی عمومی به تراشه‌ی اصلی دسترسی داشته باشه و يا سفت‌افزار اون رو تعويض كنه.

در سال 2018، رشيد سالم يك نوجوان 15 ساله تونست لجر S رو هك كنه.

حمله‌هايی كه می‌تونه به لجر بشه رو در سه سناريو بررسی می‌کنیم:

  • نوشتن دوباره‌ی داده: داده‌ها روی فلش مموری دستگاه نوشته می‌شن. محقق‌ها نشون دادن که اگر عدد خاصی رو با یک آدرس مشخصی از حافظه وارد کنن، نسخه‌ی دستکاری‌شده رو می‌شه روی فلش نوشت. این آدرس حافظه در حال حاضر وارد لیست سیاه شده؛ اما میکروکنترل‌گری که در دستگاه استفاده می‌شه، ویژگی بازیابی آدرس رو داره! این سفت‌افزار دست‌کاری‌شده می‌تونه آلوده به بدافزار باشه و آدرس‌ها رو تغییر بده. حتما به هنگام ارسال تراکنش روی گزینه مانیتور کلیک کنید (مثل تصویر زیر) و آدرس رو دوباره چک کنین:
  • تعبیه ابزار حساس به فرکانس رادیویی: Josh Datko نشون داده که با تعبیه‌ی یک ابزار حساس به RF درون دستگاه، می‌شه دکمه‌ی تایید رو بدون مجوز صاحب کیف پول و بدون نیاز به حضور فیزیکی در محل، فشار داد. البته این ضعف احتمالا روی همه‌ی کیف پول‌های سخت‌افزار دیگه هم جواب می‌ده.
  • حمله‌ی کانال جانبی: لجر Blue یک کیف پول تقریبا بزرگی هست که صفحه‌ی نمایش و باتری بزرگ‌تری رو نسبت به سری S داره. طراحی برد مدار این کیف به شکلی هست که به هنگام تولید کلمه‌ی رمز، فرکانس‌های رادیویی خاصی رو تولید می‌کنه. محققان تونستند که از طریق یک الگوریتم یادگیری ماشینی با دقت 90 درصد رمزها رو تشخیص بدن.

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

اما شاید مهم‌ترین اتفاق امسال برای لجر، کلاه‌برداری از طریق گوگل پلی بوده باشه. حدود دو ماه پیش، نسخه‌ی قلابی “Ledger Live Mobile” روی گوگل پلی منتشر شد و از کاربرهاش می‌خواست کلمات Seed شون رو وارد کنند. هر نرم‌افزاری که از شما بخواد کلمات Seed رو وارد کنید، می‌تونه کوین‌های شما رو به سرقت ببره. نسخه‌ی اصلی رو فقط و فقط از سایت لجر دانلود کنید و هیچ وقت کلمات Seed رو در هیچ اپلیکیشنی وارد نکنید. حتا نسخه‌ی اصل این نرم‌افزار هم از شما درخواست وارد کردن کلمات رو نمی‌کنه و تنها جایی که نیاز هست کلمات وارد بشن، در دستگاه لجر شماست.

 برای امن نگه‌‌داشتن لجرتون نکات امنیتی زیر رو رعایت کنید:

کلمات Seed (24 کلمه‌ی تصادفی برای بازیابی و دسترسی به دارایی‌هاتون)

✓ کلمات Seed خودتون رو جای امنی نگه دارید. (آف‌لاین و به دور از اتصالات اینترنتی)

✓ مطمئن باشید که کلمات 24تایی‌تون رو از صفحه‌ی دستگاه می‌نویسید.

✓ از این کلمات کپی بگیرید و در چند جای امن نگه داری کنید.

✓ این کلمات رو فقط در دستگاه سخت‌افزارتون وارد کنید و در هیچ جای دیگه استفاده‌اش نکنید.

✓ از این کلمات عکس نگرید و یا به طریقی به شکل آنلاین ذخیره‌اش نکنید.

رمز دستگاه:

✓ این رمز حتما باید توسط شما انتخاب شده باشه. (و نه فروشنده و سایرین)

✓ این رمز رو جلوی دیگران وارد نکنید.

✓ رمزتون رو در مواقع نیاز عوض کنید. (از قسمت Settings > Security > Change PIN.)

✓ یادتون باشه که اگر رمز رو 3 بار پشت سر هم اشتباه وارد کنید، کیف پول‌تون ریست می‌شه.

✓ از رمزهای آسان و قابل پیش‌بینی (مثل 1234، 000000 و …) استفاده نکنید.

✓ رمزتون رو روی موبایل یا کامپیوتر ذخیره نکنید.

(همین‌طور ترجیحا حساب کاربری ارائه‌دهنده‌ی کیف پول‌تون رو در شبکه‌های اجتماعی دنبال کنید تا از اطلاع‌رسانی‌ها سریع‌تر آگاه بشید. حساب کاربری لجر: Ledger_Support )

 

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

 

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

برای نگارش این مقاله، از منابع زیر استفاده شده‌است: 

Bitcoin wiki 

Kraken blog 

Kaspersky 

نوشته های مرتبط

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

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