ارایه‌ یک حمله‌ زمانی جدید بر روی پردازنده‌ ARM و پیاده‌سازی عملی آن بر روی برد Raspberrypi3

نویسندگان

1 استادیار، گروه امنیت شبکه و رمز نگاری، پژوهشکده فضای مجازی دانشگاه شهید بهشتی

2 دانشجوی کارشناسی ارشد، مخابرات امن و رمزنگاری، دانشگاه شهید بهشتی، تهران،

doi
چکیده

دسته مهمی از حملات کانال جانبی از این حقیقت استفاده می­کنند که حافظه نهان منجر به تغییرات زمانی در اجرای الگوریتم­های رمزنگاری و در نتیجه نشت اطلاعات می­شود. علی­رغم آن­که حملات کانال جانبی مبتنی‌بر  وجود حافظه نهان به علت کارایی زیاد، از مهمترین و پرکاربردین حملات کانال جانبی محسوب می­شوند، نسبت به سایر حملات کانال جانبی کمتر مورد مطالعه قرار گرفته­اند. بر همین اساس تحقیقات گسترده­ای توسط جامعه رمزنگاری در حوزه حملات کانال جانبی مبتنی‌بر وجود حافظه نهان صورت گرفته است. تمرکز تحقیقات صورت گرفته عمدتا بررسی امنیت اجرای الگوریتم­های رمزنگاری توسط پردازنده‌های اینتل و پنتیوم بوده است که با توجه به ساختار متفاوت حافظه نهان در پردازنده­های مختلف، قابل تعمیم به پرازنده­های پرکاربرد دیگر، نظیر ARM نیست. در پاسخ به این چالش، تحقیقات جدید به اعمال حملات کانال جانبی مبتنی‌بر حافظه نهان بر روی پردازنده‌های انواع تلفن­های همراه و برد‌های کاربردی دیگر از جمله پردازنده‌های ARM، معطوف شده ‌است. متفاوت بودن ساختار حافظه‌ نهان و عدم پشتیبانی از بعضی دستورات مورد ‌نیاز جهت اجرای حمله‌های مبتنی‌بر حافظه‌ نهان، اجرای این دسته از حملات را بر روی پردازنده‌های ARM دشوار کرده ‌است. در این مقاله ما برای اولین بار به بررسی اعمال حمله‌ کانال‌جانبی زمانی مبتنی‌بر حافظه‌ نهان با استفاده از رویداد تصادم بر روی یکی از پردازنده‌های ARM می­پردازیم. حمله‌ ارایه‌شده در این مقاله، از نوع حملات کاربردی time-driven است که در آن مهاجم تنها باید زمان اجرای عملیات رمزنگاری را اندازه­گیری کند و برخلاف حملات access-driven، مهاجم نیازی به دسترسی به حافظه نهان قربانی را ندارد. همچنین حمله ارائه­شده را با استفاده از یک برد پراستفاده در صنعت با نام Raspberrypi3 که مجری سامانه‌‌عامل رزبین است، پیاده­سازی کردیم که نتایج نشان­دهنده صحت حمله ارائه ­شده است.