خوابگرد: روشی پیشرفته برای سرقت کلیدهای رمزنگاری
محققان روشی تئوریک برای سرقت کلیدهای خصوصی رمزنگاری از طریق پایش رفتار استاندارد CPU و سیستمعامل ابداع کردهاند.
محققان روشی تئوریک برای سرقت کلیدهای خصوصی رمزنگاری از طریق پایش رفتار استاندارد CPU و سیستمعامل ابداع کردهاند.
امنیت اطلاعات لایههای پیچیدهای دارد. حملات ساده ولی مؤثر مانند فیشینگ و مهندسی اجتماعی شناخته شدهاند. همچنین حملات هدفمند پیچیدهای که از آسیبپذیریهای نرمافزاری سازمانی سوءاستفاده میکنند، بارها گزارش شدهاند. اما در میان پیشرفتهترین حملات، مواردی قرار دارند که به ویژگیهای بنیادی سختافزار نفوذ میکنند. چنین حملاتی ارزان نیستند، ولی هزینه بالا همیشه مانع همه مهاجمان نمیشود.
اخیراً پژوهشگرانی از دو دانشگاه آمریکایی مقالهای منتشر کردهاند که نمونه جالبی از حمله به سختافزار را نشان میدهد. آنها با استفاده از قابلیت استاندارد سیستمعامل برای تعویض وظایف (context switching) حملهای به نام Sleepwalk طراحی کردهاند که میتواند یک الگوریتم مدرن رمزنگاری داده را بشکند.
حمله کانال جانبی: خوابگردی
Sleepwalk نوعی حمله کانال جانبی است؛ یعنی روشی برای سرقت اطلاعات محرمانه از طریق مشاهده غیرمستقیم. نمونه سادهاش شنیدن صدای تایپ برای حدس زدن پسورد است. تغییرات مصرف برق یک رایانه هم میتواند چنین کانالی باشد.
دلیل تغییر مصرف برق واضح است: وظایف مختلف پردازشی منابع متفاوتی مصرف میکنند. این تغییرات، حتی گاهی، میتوانند کلیدهای رمزنگاری را فاش کنند. اما استخراج اطلاعات از این «نویز» کاری بسیار پیچیده است و معمولاً نیاز به صدها هزار اندازهگیری دارد. Sleepwalk این روند را ساده کرده و تنها با یک اندازهگیری در زمان تعویض وظیفه، داده مفید استخراج میکند.
تعویض وظیفه (Context Switching)
در سطح سیستمعامل، تعویض وظیفه یعنی ذخیره وضعیت یک برنامه و بارگذاری دادههای برنامه دیگر در CPU. حتی یک برنامهنویس میتواند با دستور «sleep» سیستم را مجبور به این تعویض کند. این فرآیند باعث جهش مصرف انرژی میشود که شکل آن به برنامه و دادههای قبلی بستگی دارد. همین «اثر انگشت انرژی» میتواند سرنخی از کلید رمزنگاری بدهد.
آزمایش روی Raspberry Pi
پژوهشگران نشان دادند که هر وظیفه پردازشی روی Raspberry Pi نسخه 4 در هنگام تعویض وظیفه، الگوی توان خاص خود را ایجاد میکند. با زمانبندی دقیق این تعویض در وسط اجرای الگوریتم رمزنگاری، و اندازهگیری جهش توان با اسیلوسکوپ، آنها موفق به استخراج کلید محرمانه شدند.
در یکی از آزمایشها، آنها توانستند کلید خصوصی الگوریتم SIKE (یک الگوریتم پیشنهادی برای دوران پساکوانتوم) را کامل بازیابی کنند. البته حمله روی AES-128 کامل موفق نبود، ولی ۱۰ بایت از ۱۶ بایت کلید به دست آمد که خود پیشرفتی چشمگیر است.
پیامدها
این پژوهش فعلاً جنبه عملیاتی ندارد، اما نشان میدهد جهشهای مصرف توان در تعویض وظیفه میتوانند اسرار را فاش کنند. این یافته میتواند به بهبود طراحی الگوریتمهای رمزنگاری کمک کند؛ بهویژه الگوریتمهایی که باید هم در برابر رایانش کوانتومی و هم در برابر روشهای سنتی نفوذ مقاوم باشند.