برای سالها، کیف پولهای سختافزاری به عنوان استاندارد طلایی برای محافظت از ارزهای دیجیتال شناخته شدهاند. این دستگاهها با دور نگه داشتن کلیدهای خصوصی (Private Keys) از دستگاههای متصل به اینترنت، دسترسی را برای طیف گستردهای از تهدیدات، از بدافزارها گرفته تا فیشینگ، میبندند. اما حملات اخیر شکافی را در این مدل امنیتی آشکار کرده است: اگر کاربر نتواند تشخیص دهد که در حال امضای چه تراکنشی است، داشتن یک کلید بهخوبی محافظت شده، دفاع چندانی در برابر حملات ایجاد نمیکند.
درسهای تلخ هک Bybit
حمله به Bybit در فوریه ۲۰۲۵ این موضوع را بهوضوح نشان داد. عامل تهدید Lazarus Group متعلق به کره شمالی، سیستم یک توسعهدهنده در Safe{Wallet} (پلتفرم Multisig مورد استفاده Bybit برای مدیریت کیف پول سرد اتریوم) را آلوده کرد و کدهای مخربی را در رابط کاربری امضا (Signing Interface) تزریق نمود.
امضاکنندگان Bybit تراکنشی را مشاهده کردند که یک انتقال معمولی به نظر میرسید، اما آنچه کیف پولهای سختافزاری آنها در واقع امضا کردند، تغییری در منطق زیرساختی کیف پول بود که کنترل داراییها را به مهاجمان واگذار میکرد. در نتیجه، حدود ۱.۵ میلیارد دلار اتریوم به سرقت رفت که در آن زمان بزرگترین سرقت رمزارز در تاریخ بود.
در این حادثه، کلیدها هرگز استخراج نشدند و دستگاهها دقیقاً طبق طراحی خود عمل کردند. این اتفاق یک سؤال حیاتی را برای صنعت ایجاد میکند: اگر کاربران نتوانند بهطور مستقل تأیید کنند که چه چیزی را تأیید (Authorize) میکنند، ذخیرهسازی سرد (Cold Storage) تا چه حد محافظت ایجاد میکند؟
مفهوم امضای کور (Blind Signing)
با رایج شدن کیف پولهای قرارداد هوشمند (Smart-contract wallets)، حسابهای چندامضایی (Multisig) و عملیات پیچیده روی زنجیره (On-chain)، امنیت به سه عامل وابسته است: نرمافزار شفاف، سختافزار قابل بازرسی و تأیید تراکنش در خودِ دستگاه.
وظیفه کیف پول سختافزاری ساده است: تولید و ذخیره کلیدهای خصوصی در محیطی ایزوله. اما این طراحی مانع از آن نمیشود که کاربر یک تراکنش مخرب را تأیید کند. امضای کور (Blind Signing) زمانی رخ میدهد که کیف پول سختافزاری از کاربر میخواهد تراکنشی را تأیید کند که نمیتواند آن را به صورت خوانا نمایش دهد و به جای جزئیات شفاف، دادههای خام قرارداد (Raw Contract Data) را نشان میدهد.
وقتی صفحه نمایش کامپیوتر متصل نیز آلوده باشد (مانند مورد Bybit)، امضاکننده هیچ منبع قابل اعتمادی برای مشاهده محتوای واقعی تراکنش ندارد.
شفافیت و متنباز بودن (Open Source)
بسیاری از کاربران به تولیدکننده اعتماد میکنند تا سفتافزار (Firmware) امنی بنویسد. توسعه متنباز این اعتماد را با قابلیت بازرسی جایگزین میکند. وقتی Firmware عمومی باشد، پژوهشگران مستقل میتوانند کدها را بررسی کرده و آسیبپذیریها را شناسایی کنند. همچنین، «بیلدهای بازتولیدپذیر» (Reproducible Builds) به کاربران اجازه میدهد تا کد منبع را کامپایل کرده و تأیید کنند که نتیجه با فایل باینری ارائه شده توسط سازنده مطابقت دارد.
ویژگیهای یک کیف پول سختافزاری قابل اعتماد
- تولید و ذخیرهسازی امن کلید: استفاده از المانهای امنیتی (Secure Elements) برای مقاومت در برابر استخراج فیزیکی کلیدها.
- شفافیت سفتافزار: دسترسی به کد منبع و مستندات مربوط به فرآیند ساخت و تأیید.
- تأیید تراکنش روی دستگاه: دستگاه باید فراتر از تأیید دریافت تراکنش عمل کند و جزئیات انتقال، تأیید توکنها (Token Approvals) و تغییرات دسترسی را به زبان ساده نمایش دهد.
- یکپارچگی زنجیره تأمین: اطمینان از اینکه قطعات سختافزاری در حین تولید یا ارسال دستکاری نشدهاند.
به سوی امضای شفاف (Clear Signing)
جایگزین امضای کور، «امضای شفاف» است؛ جایی که کیف پول سختافزاری تراکنش را رمزگشایی کرده و روی صفحه نمایش خود، به زبان ساده نشان میدهد که چه اتفاقی خواهد افتاد. برای استانداردسازی این روند، فرمت ERC-7730 پیشنهاد شده است تا توسعهدهندگان بتوانند نحوه نمایش توابع قراردادهای خود را تعریف کنند و کیف پولهای سازگار، خلاصهای خوانا را به کاربر نشان دهند.
در نهایت، مفهوم «خود-حضانتی» (Self-Custody) فراتر از محافظت از عبارت بازیابی (Seed Phrase) است. هدف دیگر تنها دور نگه داشتن کلیدهای خصوصی از اینترنت نیست، بلکه ایجاد دلیلی منطقی برای اعتماد کاربر در لحظه فشردن دکمه «امضا» است.