ضیاء صدر
ضیاء صدر
خواندن ۶ دقیقه·۶ سال پیش

یافته‌های تیم امنیت لدجر در رابطه ترزور

این مطالب در رابطه با ارائه چارلز گیلمه عضو ارشد تیم امنیت لدجر در روز ۱۰ مارچ ۲۰۱۹ می‌باشد

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

در این ارائه ارشد تیم لدجر به نکاتی اشاره میکنه و بعد از اون ۴ نوع رویکرد رو میگن که طبق‌ اون‌ها امنیت ترزور و کلون‌های اون مثل کیپ‌کی و بی‌والت و غیره رو بررسی میکنن و یافته‌هاشون رو ارائه میکنن.

اوپن‌سورس بودن یا نبودن کیف‌پول‌های سخت‌افزاری!

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

اول) اینکه یه پروژه اوپن‌سورس رو میشه بررسی کرد و هرکسی از هرجای دنیا میتونه چک کنه که امن هستش یا نه! درصورتی هم که مشکل امنیتیی وجود داشته باشه (مثل همین الان که تیم لدجر تونسته بررسی کنه) خرد جمعی متخصصان از هرجای دنیا به کمک میاد و مسائل امنیتی سریعتر پیدا و حل میشن.

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

اما اوپن‌سورس بودن یه مساله‌ای رو ایجاد میکنه توی بحث کیف‌پول‌های سخت‌افزاری اونم اینه که مثل کاری که لدجر میکنه ترزور نمیتونه از تراشه‌های امن و تراشه‌های General Purpose MCU استفاده کنه.

در ادامه چهار رویکردی که تیم امنیت لدجر تونستن حفره‌های امنیتی توی ترزور پیدا کنن رو میبینید:

۱. حمله‌های Supply Chain

تو این نوع حمله‌ها کسی میتونه کیف‌پول رو دست کاری بکنه یا که یه در پشتی رو توی کیف‌پولی که بدست شما میرسه گذاشته باشه! به چند شکل میشه این کار رو انجام داد:‌

PreSeeding - Seed Exfiltration - Perform Sig - Address Swpping

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

باز کردن بسته‌بندی ترزور با حرارت و تیغ
باز کردن بسته‌بندی ترزور با حرارت و تیغ


اگه این بسته ترزور دست شما می‌رسید به هیچ‌وجه تفاوتش رو نمیتونستید با یه بسته دست‌نخورده بفهمید


بسته‌بندی مجدد مثل روز اول
بسته‌بندی مجدد مثل روز اول


تیم لدجر عمل PreSeeding رو توی ترزور دستکاری شده انجام داد. به این شکل که ۲۴ کلمه سید شما توسط کسی که دستکاری کرده از قبل تعیین شده بودن و این شخص میتونه هروقت دوست داشت موجودی شما رو خالی کنه!

تیم لدجر به جای ۲۴ کلمه یه متن بامزه نوشتن :)
تیم لدجر به جای ۲۴ کلمه یه متن بامزه نوشتن :)


خب حمله‌های Supply Chain به طوری هستن که همه میگن اگه شما از یه واسطه کیف‌پولتون رو تهیه می‌کنید اونوقت احتمال وقوع داره! اما !!! تیم لدجر میگه این حمله‌ها همیشه امکانشون هست! چطوری؟

فکرش رو بکنید ضیاء ۱۰۰ تا ترزور سفارش میده از خود ترزور هم میخره اینا رو! بعد بسته‌بندی همه رو تمیز باز میکنه دستکاریشون میکنه و همه رو تمیز دوباره بسته‌بندی میکنه و مرجوع میکنه به شرکت ترزور. اونوقت شرکت ترزور این ترزورهای دستکاری شده رو دوباره میفرسته تو بازار و شما حتی اگه از خود ترزور خریداری کرده باشید احتمال اینکه ترزور شما دستکاری شده باشه هستش! ترفند باحالیه :))

تیم لدجر این مشکل رو به ترزور توی نوامبر ۲۰۱۸ اطلاع رسانی کرده اما این مشکل هنوز برطرف نشده و ترزور جوابی نداده!

۲. حمله‌های Software Crappy Attacks

توی این نوع حمله نرم‌افزار ترزور هدف قرار داده شده و دوتا مشکل توش پیدا شده که از ضعف امنیتی بالایی نداشتن و به همین دلیل توضیحات زیادی درموردش نمیدم! به ترزور اطلاع رسانی شد و سریع حل شدن.

تیم لدجر مثل خیلی تیم‌های دیگه اذعان داشتن که کد ترزور خیلی خوبه!
تیم لدجر مثل خیلی تیم‌های دیگه اذعان داشتن که کد ترزور خیلی خوبه!


۳. حمله‌های کانال جانبی یا همون Side Channel Attacks

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

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

این الگوریتم با میانگین ۵ بار تلاش میتونه رمز پین ترزور شما رو پیدا بکنه و از اونجایی که توی ترزور تعداد دفعات وارد کردن پین نسبتا زیاد هستن، یه حمله کاملا موفق هستش :)

این حمله گزارش به ترزور گزارش شده و الان امکان حدس‌زدن پین سخت‌تر شده!

تیم لدجر یه حمله جانبی دیگه رو هم بررسی کرده!

حمله به تابع SCAlar

این تابع برای فرآیندهای رمزنگاری و تولید کلیدها توی ترزور استفاده میشه. یه اتفاق جالب این بود که این وقتی تیم لدجر پیاده‌سازی این تابع رو بررسی می‌کرد یه کامنت توی کد دیدن که نوشته بود "این تابع در مقابل حمله‌های جانبی مصون است!"

خب آخه چرا نوشتی اینو؟ :)) فک کردی اینو ببینن بیخیال میشن :))
خب آخه چرا نوشتی اینو؟ :)) فک کردی اینو ببینن بیخیال میشن :))


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

شبیه‌سازی
شبیه‌سازی

این یعنی که اگه عدد SCAlar رو با این روش محاسبه کنن اونوقت به راحتی میتونن پرایوت‌کی رو تولید کنند! این مشکل امنیتی بسیار جدی هستش!

تیم لدجر اینو به ترزور گزارش داد و ترزور واکنشی نشون نداده و این مشکل همچنان وجود داره! ولی انصافا حداقل اون کامنت که میگه من امن هستم رو باید بردارن دیگه :))

۴. حمله‌های Surprise Concluding

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

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

یه کار دیگه که لدجر انجام داد و تیم‌های دیگه تو این نوع حمله انجام نداده بودن این بود که روی مدل T ترزور که همون مدل با صفحه تاچ هستش هم انجامش دادن! این روش روی اون مدل هم عملی بود اما یه فرقی داره! فرقش اینه که نمیشه این مشکل رو توی مدل T رفع کرد و عملا این ولت کاملا مشکل امنیتی داره! این ولت باید به شکل کامل تغییر پیدا کنه و از اونجا که راه حلی برای درست کردنش وجود نداره تیم لدجر تصمیم گرفت که نحوه انجام شدن این مشکل رو به تیم ترزور اعلام نکنه! تنها راهکاری که تیم لدجر تونست مطرح کنه اینه که باید از یه کلمه اضافه یا همون Passphrase برای ۲۴ کلمه‌ سید خودتون استفاده کنید که به اندازه یه سید کامل امنیت داشته باشه. یعنی یه کلمه‌ رمز اضافه که حداقل ۳۶ کاراکتر باشه.


مرور همه حمله ها رو توی این جدول میبینید

آخرین حرفای تیم لدجر توی ارائه این بودن که:

  • ما می‌خوایم همه کاربران امن باشن! حتی کاربران ترزور که شرکت رقیب ما هستش
  • یادتون باشه که اوپن سورس بودن الزاما معادل امنیت بیشتر نیستش!


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

- پایان
-- بروزرسانی-- لینک پاسخ شرکت ترزور به این حفره‌های امنیتی

بیت‌کوینامنیتکیف‌پولبلاک‌چیناتریوم
در توییتر و یوتوب در رابطه با بیتکوین صحبت میکنم. لینک‌های من: https://linktr.ee/ziya_sadr
شاید از این پست‌ها خوشتان بیاید