یک آسیبپذیری امنیتی در اپلیکیشن اتریوم کیف پولهای سختافزاری لجر (Ledger) شناسایی شده که در شرایط خاص میتوانست به یک dApp مخرب اجازه دهد تراکنشی متفاوت از آنچه روی نمایشگر دستگاه به کاربر نشان داده میشود، امضا کند. لجر برای رفع این مشکل نسخه ۱.۲۲.۲ اپلیکیشن اتریوم را منتشر کرده و کاربران باید هرچه سریعتر آن را نصب کنند.
به گزارش میهن بلاکچین، این آسیبپذیری به نحوه مدیریت همزمان درخواستهای امضا مربوط میشد. در سناریوی حمله، جزئیات تراکنش اصلی همچنان روی صفحه دستگاه نمایش داده میشد، اما یک درخواست دوم میتوانست آن را در حافظه جایگزین کند و در نهایت داده متفاوتی برای امضا به دستگاه ارسال شود.
آسیبپذیری چگونه عمل میکرد؟
بر اساس گزارش شرکت امنیتی تستماشین (TestMachine)، برای اسفاده از این باگ به یک dApp با دسترسی WebHID نیاز بوده است؛ قابلیتی که امکان ارتباط مستقیم برخی برنامههای وب با دستگاههای سختافزاری را فراهم میکند.
در این سناریو، مهاجم میتوانست زمانی که کاربر در حال بررسی یک تراکنش بود، درخواست امضای دوم را ارسال کند. این درخواست بدون شروع یک فرایند بررسی جدید، داده تراکنش قبلی را در حافظه جایگزین میکرد. در نتیجه، کاربر همچنان اطلاعات تراکنش اولیه را روی نمایشگر میدید، اما با انتخاب گزینه تأیید، داده جایگزینشده را امضا میکرد.
تستماشین همچنین اعلام کرد این سناریو را روی لجر فلکس (Ledger Flex) بازتولید کرده است.
لجر برای رفع مشکل چه تغییری ایجاد کرد؟
تغییرات ثبتشده در کد رسمی لجر نشان میدهد این شرکت برای جلوگیری از حمله، دو کنترل امنیتی اضافه کرده است. نخست، اپلیکیشن دیگر اجازه نمیدهد هنگام فعال بودن فرایند بررسی یک تراکنش، درخواست امضای جدید آن را مختل کند. دوم، هنگام دریافت فرمان تأیید، وضعیت فعلی فرایند امضا بررسی میشود و اگر با وضعیت مورد انتظار مطابقت نداشته باشد، درخواست رد خواهد شد.
این اصلاحات در نسخه ۱.۲۲.۲ اپلیکیشن اتریوم اعمال شدهاند که تاریخچه انتشار آن به ۱۲ آگوست برمیگردد. با این حال، تستماشین مدعی شده که این نسخه هنوز بهصورت کامل در اختیار کاربران قرار نگرفته است.
طبق گفته تستماشین، به دلیل استفاده از کد مشترک، این نقص میتواند مدلهای نانو ایکس (Nano X)، نانو اس پلاس (Nano S Plus)، استکس (Stax) و اپکس (Apex) را نیز تحت تأثیر قرار دهد. فایل رسمی نسخه ۱.۲۲.۲ نیز از این مدلها در کنار لجر فلکس به عنوان دستگاههای هدف اپلیکیشن اتریوم نام برده است.
لجر تاکنون مشخص نکرده که نخستین نسخه آسیبپذیر این اپلیکیشن کدام بوده است. بنابراین، مشخص نیست چه تعداد از نسخههای پیشین این باگ را داشتهاند.
اختلاف روایت لجر و تستماشین درباره کشف آسیبپذیری
چارلز گیومه (Charles Guillemet)، مدیر ارشد فناوری لجر، در تاریخ ۲۳ آگوست اعلام کرد تیم امنیتی داخلی لجر دانژون (Ledger Donjon) این باگ را پیش از تماس شرکت تستماشین با برنامه باگبانتی شرکت شناسایی کرده بود.
گیومه گفت این تیم حدود دو هفته پیش از اظهارنظر او، مشکل موجود در برخی فرایندهای «امضای شفاف» را پیدا و برطرف کرده بود. در مقابل، تستماشین اعلام کرده سیستم آزیموث (Azimuth) این آسیبپذیری را شناسایی کرده و یافتههای خود را با لجر به اشتراک گذاشته و صحت آن را نیز تایید کرده است.
با وجود این اختلاف در روایت درباره زمان و نحوه کشف آسیبپذیری، هر دو طرف وجود مشکل و اصلاح آن در کد اپلیکیشن را تأیید کردهاند.
شایان ذکر است که تا این لحظه هیچ مورد تأییدشدهای از سوءاستفاده از این آسیبپذیری در دنیای واقعی، سرقت دارایی کاربران یا استخراج کلیدهای خصوصی گزارش نشده است. با این حال، از آنجا که نقص مستقیماً به فرایند تأیید و امضای تراکنش مربوط میشود، بهروزرسانی اپلیکیشن اهمیت ویژهای دارد.
کاربران لجر باید نسخه اپلیکیشن اتریوم دستگاه خود را بررسی کنند و در صورت استفاده از نسخه قدیمیتر، آن را به ۱.۲۲.۲ ارتقا دهند. لجر نیز به کاربران توصیه کرده است علاوه بر اپلیکیشن اتریوم، سیستمعامل دستگاه، سایر اپلیکیشنها و نرمافزارهای کلاینت مرتبط را همواره به آخرین نسخه بهروزرسانی کنند.
ضمنا، این آسیبپذیری با نقص امنیتی دیگری که پیشتر در اپلیکیشن بومی زیلیکا (Zilliqa) لجر گزارش شده بود تفاوت دارد و ارتباطی با حمله سال ۲۰۲۳ به Connect Kit ندارد.













