معرفی Lascar
اخیرا، Ledger Donjon (تیم امنیتی) کتابخانه متنباز حمله کانال جانبی را در github منتشر کرده است.
Lascar مخفف Ledger’s Advanced Side Channel Analysis Repository است كه به معنای مخزن تحلیل كانال جانبی پیشرفته Ledger می باشد. هدف آن جمعآوری و ارایه ابزارها و تکنیکهای متداول مورد استفاده در حوزه تحلیل کانال جانبی، درون یک کتابخانه باز و قابل سفارشی شدن است.
براساس اصولی که حملات کانال جانبی منتشر میشوند، هر قطعه علمی، باید قابل تکرار باشد، ما به ارایه یک پلتفرم متنباز برای انتشار آثارتان میپردازیم.
بر اساس تجربه ما، هر تیم کانال جانبی صاحب و حافظ ابزار خودش است و تعداد کمی از افراد کدهای خود را به اشتراک میگذارند. علت این امر ممكن است این باشد كه تنها تعداد كمی راه حل در این زمینه در دسترس است.
Lascar طوری طراحی شدهاست که تقریبا هر چیزی را که برای تکمیل یک تحلیل جدید کانال جانبی لازم است، فراهم میکند.
ویژگی های اصلی
Lascar مقدمات لازم برای تمام مراحل تحلیل کانال جانبی را فراهم میکند. Lascar امكان اجرای حملات کانال جانبی را به صورت end-to-end فراهم می كند. کتابخانه پیشنهادات زیرا ارائه میکند:
نمایش مناسب داده ها
ردیابی/نشانه چند بعدی و متا داده های مربوط به آن، همگی در یك وسیله ذخیره می شود. این روش، روش مناسبی برای اجرای کانال جانبی است، چرا که از اشتباهات حین پردازش کانال جانبی جلوگیری میکند و در آن نشان ها و ردیابی ها و متون ساده و کد شده مربوط به آن ها مطابقت ندارد. همه انواع دادههای بومی پشتیبانی میشوند.
ly: int8_t, uint8_t, int16_t, uint16_t, int3
2_t, uint32_t, int64_t, uint64_t, float, double
Lascar در مورد این مشکل از طریق Trace Class و Container Class راه حل ارائه میدهد.
در Lascar، هر آزمایش کانال جانبی یک Trace نامیده میشود و به عنوان یک زوج (نقص/كمبود، ارزش) نشان داده میشود که در آن:
- نشت یا كمبود، جدولی است که در آن کانال(های) جانبی شما قرار دارد،
- ارزش: جدولی است که ارزش دستکاری در هنگام اعمال كمبود یا نشت را در خود جای داده است،
- هر دو نوع كمبود و ارزش باید به عنوان یک آرایه numpy، قابل ترجمه باشند.
Container Class به عنوان یك بسط، می تواند در قالب مجموعهای از Traceها مشاهده شود.
مهم نیست که منبع دادههای کانال جانبی چه باشد:
- فایلهای ذخیرهشده با فرمت خودتان (npy، hdf۵، …)
- Traceها یا نشانههای شبیهسازی شده
- Traceها یا نشانه های خام از سكوی كانال جانبی شما
مجموعهای از مقدمات برای هم گام سازی مجدد
زمانی که از روش سنتی حملات کانال جانبی استفاده میکنید، هم گام سازی نشانهها یا Traceها با یکدیگر مهم و حیاتی است. از طریق این مسیر، یک اقدام متقابل کارآمد متشكل از معرفی jitter، shuffling، تصادفی سازی برای ناهم گام سازی نشانه هاست. Lascar شامل مجموعهای از مقدمات مفید با هدف هم گام سازی مجدد و مشتمل بر موارد زیر است:
- تشخیص پیک
- تشخیص الگو
- تنظیم الاستیك
علاوه بر این، Lascar بسیار تطبیق پذیر است و اجازه میدهد که بسادگی مقدمات تعریفشده توسط کاربر را به آن اضافه کنید. در حملات کانال جانبی، وقتی به مجموعه جدیدی از نشانه ها حمله میکنند، برخی از ترفندها اغلب برای پس پردازش نشانه ها ضروری هستند. به همین دلیل است که تطبیق پذیری یک ویژگی کلیدی است.
مجموعهای از مقدمات برای تعیین مشخصات كمبود/نشت كانال جانبی
اغلب، تحلیل کانال جانبی ابتدا با تعیین مشخصات شروع میشود در این وضعیت، مهاجم به وسیلهای دسترسی دارد که ارزش کلیدی / حساسی را که سعی دارد به آن حمله کند را میشناسد.
این میتواند یک وسیله دیگر باشد، یک برنامه مشابه دیگر … در این موقعیت، بهتر است که تحلیل را با آنالیز آماری برای تشخیص نشت کانال جانبی شروع کنیم. چند نمونه از این گشتاورهای آماری در Lascar پیادهسازی میشوند:
- SNR
- NICV
- TTEST
این گشتاورهای آماری به مهاجم اجازه میدهد تا وابستگی بین دادههای حساس و كلیدی و نشانه ها را مشخص کند این گشتاورها برای انجام حملات موثر بسیار مهم و کلیدی هستند.
مجموعه ای از مقدمات برای متدولوژی حملات كانال جانبی
در نهایت، حملات چیزی هستند که ما میخواهیم انجام دهیم. متدولوژی های زیادی برای حمله به یک پیادهسازی رمزنگاری شده (یا غیر رمزنگاری شده)با استفاده از کانال جانبی وجود دارد از حملات مبتنی بر زمان/SPA گرفته تا حملات مبتنی بر یادگیری ماشینی پیشرفته و نظارتی. Lascar یک مجموعه جامع از مقدمات حمله را ارائه میدهد که به شما اجازه میدهد تا حمله مورد علاقه خود را اجرا کنید.
کتابخانه برای بهینهسازی و تسهیل كاربرد، طراحی شدهاست.
اغلب، در تحلیل کانال جانبی، مهاجم میخواهد روشهای زیادی را امتحان کند و آنها را به منظور آزمودن ایدههای جدید ترکیب کند در مورد Lascar، اجرای یک حمله end-to-end بسیار آسان و راحت است.
این مطلب مفید را از دست ندهید " معرفی Rainbow"