روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ از آنجایی که رمزارز هم راحت سرقت میشود و هم راحت میتوان آن را نقد کرد، یکی از جذابترین داراییهای دیجیتال برای مهاجمین به حساب میآید. بر این اساس، سرمایهگذارانِ جدی اغلب برای محافظت از سرمایههای کریپتوی خود از کیفپولهای کریپتوی سختافزاری[1] یا فیزیکی استفاده میکنند. چنین کیفپولی رمزهای خصوصی را جایی به دور از کامپیوترها و اسمارتفونهای آسیبپذیری نگه میدارد و امضای تراکنشها را امنتر میسازد. اما متأسفانه داشتن کیفپول مجازی فیزیکی هم امنیت وجوه شما را تضمین نمیکند زیرا حتی آنها نیز مدل تقلبی دارند! با ما همراه بمانید.
علائم هک
مهاجمین بسیار مخفیانه عمل میکنند: در یک روز سرنوشتساز در تاریخ تراکنش کیفپول مجازی، عملیاتی ظاهر شد که در آن مقادیر بالایی پول به فرد دیگری منتقل شد. با این حال هیچ تراکنشی در آن روز توسط قربانی انجام نگرفت. افزون بر این کیف پول دیجیتال حتی به کامپیوتر وصل هم نبود!
کالبدشکافی کیفپول
قربانی کیفپول سختافزاری برند معروف Trezor را خریده بود که از کدی تماماً منبع باز استفاده میکند (هم از حیث نرمافزاری و هم سختافزاری) و مبتنی است بر میکروکنترلر محبوب به نام STM32F427. فروشنده Trezor Model T کلی اقدامات امنیتی انجام داد که به لحاظ تئوریک باید به طور امنی دستگاه را از مهاجمین مصون نگه میداشت. هم جعبه و هم بدنه هر دو با برچسبهای هولوگرافیک مهر و موم شده میکروکنترلر نیز در حالت محافظت خوانش فلش مموری (RDP 2) قرار دارد. بوتلودر امضای دیجیتال سفتافزار را چک کرده و در صورت شناسایی ناهنجاری پیام سفتافزار جعلی را نمایش میدهد و همه دادههای داخل کیفپول را پاک میکند.
دسترسی به دستگاه و تأیید تراکنشها به کد پین نیاز دارد (گرچه شاید این از کلید مستر دسترسی محافظت نکند؛ کلیدی که بنیاد تولید عبارت بازیابی[2] است) و این کد برای رمزگذاری مخزن (جایی که در آن نگهداری میشود) استفاده میشود. همچنین به عنوان یک گزینه شما افزون بر پین میتوانید با پسوردی به ازای هر استاندارد BIP-39 از کلید مستر دسترسی محافظت کنید. در نگاه اول کیفپولی که ما بررسی کردیم به نظر درست شبیه به اصلی میآمد و هیچ نشانی از دستکاری شدن در آن نبود. این قطعه از فروشنده مورد اطمینانی خریداری شده بود و وبسایت آن نیز بسیار محبوب بود. همچنین استیکرهای هولوگرافیک روی جعبه و خود کیف پول نیز همگی سالم و بدون آسیبدیدگی بودند. وقتی کیفپول در حالت به روزرسانی اجرا شد، نسخهی سفتافزاری 2.4.3 و نسخه بوتلودر 2.0.4 را نمایش داد.
هیچچیزِ کیفپول مشکوک به نظر نمیآمد: رابط کاربری با اصلیاش هیچ فرقی نداشت و همه کارکردها درست بودند. با این همه به دلیل اینکه از سرقتی که از طریق آن اتفاق افتاده بود آگاه بودیم، کمی عمیقتر موضوع را بررسی کردیم و درست اینجا بود که به کشف جذابی رسیدیم:
متوجه شدیم فروشنده هرگز بوتلودر نسخه 2.0.4 عرضه نکرده! تاریخچه تغییر این پروژه در گیتهاب مشخصاٌ میگوید این نسخه به دلیل دستگاههای جعلی نادیده گرفته شده است. بعد از چنین بیانیهی جذابی ما باید دست به چاقو میشدیم و کالبدشکافی را شروع میکردیم.
باز کردن بدنه کار سختی بود: دو نیم آن با کلی چسب روی نگه داشته شده بودند و دو طرف نیز نوار اولتراسونیک پوشانده شده بود؛ نواری که همه نسخههای Trezor از کارخانه بدان مجهز میشوند. جالبتر اینکه داخل، میکروکنترلری تماماً متفاوت وجود داشت که رد و اثری از لحیمکاری را نشان میداد! به جای STM32F427 اصلی، این قطعه STM32F429 را به همراه یک فلش مموری میکروکنترلر دیاکتیوشده داشت (RDP 0 به جای RDP 2).
در نتیجه، تئوری کیفپول مجازی فیزیکی صحت داشت: یکجور حمله کلاسیک عرضه تقاضا بود که در آن قربانی از همهجا بیخبر دستگاهی از پیش هکشده را میخرد. اما مکانیزم واقعی سرقت رمزارز هنوز نامشخص است.
سفتافزار تروجانی
نمیخواهیم از نو ماجرای کیفپولهای دیجیتالی فیزیکی را تعریف کنیم اما بگذارید یک چیز را یادآور شویم: کیفپول کریپتو حاوی کلید مخصوص شماست و هر کسی آن را بداند میتواند هر تراکنشی را انجام داده و پول شما را خرج کند. این حقیقت که مهاجمین توانستند موقع آفلاین بودن کیفپول دست به تراکنش بزنند به این معناست که یا بعد از تولید کلید خصوصی آن را کپی کردند و یا از همان اول رمز را میدانستند! به لطف دیاکتیو شدن محافظت خوانش فلشمموری –که بچههای تیم ما تصمیم گرفتند بعد از اینکه میکروکنترلر در آن لحیم شد آن را روشن نکنند- براحتی سفتافزار کیفپول را استخراج کردیم (این کار را از طریق بازسازی کد انجام دادیم) و متوجه شدیم مهاجمین پیشتر کد خصوصی را میدانستند. اما چطور؟
بوتلودر اصلی و سفتافزار کیفپول فقط سه اصلاح دریافت کرده بودند: اول اینکه چکهای بوتلودر روی مکانیزمهای محافظتی و امضاهای دیجیتال پاک و در نتیجه مشکل «اسکرین قرمز» در طول چک اورجینال سفتافزار در مقطع استارتآپ حل شده بود. دوم اینکه در مرحله اولیه یا زمان ریست کردن کیفپول، عبارت بازیابی رندوم تولیدشده با 20 عبارت بازیابی از پیش تولیدشده و ذخیرهشده در سفتافزار هکشده جایگزین شده بود.
دارنده آن را به جای آن عبارت بازیابی منحصر به فرد استفاده میکرده است. سوم اینکه اگر کاربر انتخاب میکرد برای دستگاه یک پسورد اضافی برای محافظت از مستر سید (عبارت برتر) راهاندازی کند –فقط سمبل اولیهاش یا هر کاراکتر ویژه دیگری- 64 ترکیب احتمالی تولید میشد. از این رو برای شکستن قفل کیفپول فقط بیست تا 64 متغیر میبایست لحاظ میشد. کریپتووالتِ فیک، عملکرد نرمالی داشت اما مهاجمین از همان ابتدا روی آن کنترل و دخل و تصرف داشتند.
بر اساس تاریخچهی تراکنش، هیچ عجلهای هم در کار نبوده و مهاجمین یک ماهی را بعد از اینکه کیفپول اولین بار پیش از سرقت پول اعتبار بگیرد صبر کردند. دارنده هیچ محافظتی روی دستگاه پیاده نکرده بوده و درست از لحظهای که پول داخل این کیفپول تروجانی شد دارنده شکست خورده اعلام شد.
چطور جلوی تهدید دستگاه تقلبی را بگیریم؟
نمیشود کیفپول دیجیتال واقعی را از تقلبیاش براحتی تشخیص داد مگر آنکه دانش خاص یا تجربهای در کار باشد. اولین عمل امنیتی این است که مستقیم کیفپول را از خود فروشنده رسمی بگیرید و مدلهایی را انتخاب کنید که توسط میکروکنترلرها محافظت بشوند (حتی مدلهای Trazor هم از این جهت ایدهآل نیستند: کلی برند دیگر هست که تراشهها و مکانیزم محافظتیشن بهتر عمل میکند). باید به یاد داشته باشیم که حتی کیفپول اصلی و دستکارینشده هم میتواند در برابر تعدادی تهدید آسیبپذیر باشد. اول از همه توصیه میکنیم از پسورد استفاده کنید (اگر پسورد توسط کیفپولتان پشتیبانی میشود) و البته برای همه کامپیوترها و اسمارتفونهای خود راهکارهای امنیتی در نظر بگیرید.
[1] hardware cryptowallet
[2] Seed phrase
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.