موضوع مقاله: حمله کانال جانبی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # حمله کانال جانبی | مقدمه: قله سمت چپ نشانگر تغییرات قدرت CPU در مرحله الگوریتم بدون ضرب، قله راست (گسترده‌تر) با ضرب است و به مهاجم اجازه می‌دهد بیت‌های ۰، ۱ را بخواند. | ## بخش 1: حمله کانال جانبی | در بحث امنیت رایانه حمله کانال جانبی به حمله ای گفته می‌شود که بر اساس اطلاعات به دست آمده از پیاده‌سازی یک سیستم رایانه ای باشد تا ضعف‌هایی که در الگوریتم پیاده‌سازی آن وجود دارد (بعنوان مثال رمزنگاری و اشکالات نرم‌افزاری). اطلاعات زمانبندی، مصرف برق، نشت الکترومغناطیسی یا حتی صدا می‌توانند یک منبع اطلاعات عظیم اطلاعات را فراهم آورد که قابل بهره‌برداری و سوءاستفاده باشد. برخی از حملات کانال جانبی به دانش فنی دربارهٔ عملکرد داخلی سیستم احتیاج دارند؛ اگرچه برخی دیگر مانند تحلیل قدرت دیفرانسیل به اندازه حملات جعبه سیاه مؤثر هستند. طبق گفته محققانمایکروسافت و دانشگاه ایندیانا، ظهور برنامه‌های کاربردی وب ۲٫۰ و سرویس‌های نرم‌افزاری نیز امکان حملات کانال جانبی را بر روی وب ایجاد کرده‌است حتی اگر انتقال بین مرورگر وب و سرور رمزگذاری شده باشد (به عنوان مثال از طریق HTTPS یا رمزگذاری WiFi). بسیاری از حملات کانالهای جانبی قدرتمند، مبتنی بر روشهای آماری هستند که توسط پل کوچر برای اولین بار ارائه شده‌است. تلاش برای شکستن یک سیستم رمزنگاری با فریب دادن یا اجبار افرادی که دسترسی قانونی دارند معمولاً جزو حملات کانال جانبی به‌شمار نمی‌آیند: به مهندسی اجتماعی و رمزنگاری شیلنگ لاستیکی مراجعه کنید. مطالب عمومی کلاسهای عمومی حمله کانال جانبی عبارتند از: حمله به حافظه پنهان (کَش) — این حملات مبتنی بر توانایی مهاجم در نظارت بر روی دسترسی‌های حافظه پنهان می‌باشد که توسط قربانی در یک سیستم فیزیکی مشترک نظیر محیط‌های مجازی یا گونه ای از سرویس‌های ابری ایجاد شده‌است. حمله زمانبندی — این حملات مبتنی بر اندازه‌گیری میزان زمان انجام محاسبات مختلف می‌باشد؛ مثلاً مقایسه رمز عبور داده شده یک مهاجم با رمز عبور نا معلوم یک قربانی. حمله به مانیتورینگ نیرو — حملاتی که باعث می‌شوند در هنگام محاسبه، انرژی‌های متفاوتی توسط سخت‌افزار استفاده شود. حمله الکترومغناطیسی — حملاتی مبتنی بر تشعشعات الکترومغناطیسی نشت یافته که می‌تواند به‌طور مستقیم متن اصلی (plaintext) و سایر اطلاعات را فراهم آورد. از این اندازه‌گیری‌ها می‌توان برای استنباط کلیدهای رمزنگاری با استفاده از تکنیکهایی که در آنالیز قدرت به کار می‌روند استفاده کرد یا می‌توان در حملات غیر رمزنگاری، به عنوان مثال حمله تمپس (با نام مستعار ون Eck یا نظارت بر اشعه) به کار برد. رمزنگاری صوتی — حملاتی که از صدای تولید شده در طول یک محاسبه سوءاستفاده می‌کنند؛ مانند تحلیل قدرت. تجزیه و تحلیل خطای تفاضلی — حملاتی که در آنها رموز با ایجاد خطاهایی در یک محاسبه کشف می‌شوند. پایداری داده — حملاتی که در آن داده‌های حساسی که محذوف فرض شده‌اند، بازخوانی می‌شوند. (یا همان حمله بوت سرد) حملات خطای مبتنی بر نرم‌افزار — در حال حاضر یک کلاس کمیاب حملات کانال جانبی می‌باشد. چکش Row یک نمونه از این حملات می‌باشد که در آن اغلب می‌توان حافظه نامحدودی را می‌توان با دسترسی به حافظه مجاور تغییر داد (باعث از دست رفتن پایداری حافظه می‌شود) نوری - حملاتی که در طی آن به کمک دوربین‌های با وضوح بالا یا سایر دستگاه‌هایی با چنین قابلیت‌هایی، داده‌های حساس و رموز قابل خواندن می‌شوند. در همه موارد، اصل اساسی این است که اثرات فیزیکی ناشی از عملکرد سیستم رمزنگاری می‌تواند اطلاعات مفیدی در مورد اسرار و رمزهای سیستم تولید کند؛ مانند کلید رمزنگاری، اطلاعات حالت، متون اصلی کامل یا جزئی و موارد دیگر. مثال‌ها (حمله کانال جانبی حافظه پنهان) با استفاده از مونیتورینگ عملیات حیاتی امنیتی مانند ورود به جدول TES AES یا دسترسی‌های مضارب نمایی مدولار انجام می‌شود. سپس مهاجم بسته به دسترسی‌های ساخته شده یا ساخته نشده توسط قربانی، می‌تواند کلید رمزنگاری را بازیابی کند. همچنین برخلاف برخی دیگر از حملات کانال جانبی، این روش در عملیات رمزنگاری هیچ گونه خطایی ایجاد نمی‌کند و از دید قربانی پنهان می‌ماند. | ## بخش 2: حمله کانال جانبی | در سال ۲۰۱۷، آسیب‌پذیری‌های مبتنی بر حافظه نهان در CPUها (ملقب به ملتداون و Spectre) کشف شده‌اند که به مهاجمان اجازه می‌دهد تا محتوای حافظه سایر فرایندها و خود سیستم عامل را نشت دهد. یک حمله زمان‌بندی، حرکت داده به داخل یاخارج از CPU یا حافظه روی سخت‌افزار اجرا کننده الگوریتم رمزنگاری را مشاهده می‌کند. به سادگی با مشاهده گوناگونی زمان انجام عملیات رمزنگاری، می‌توان کل کلید مخفی را تعیین کرد. این گونه حملات در بر گیرنده تحلیل آماری از اندازه‌گیری‌های زمانی است و از طریق شبکه‌ها نشان داده شده‌اند. یک حمله آنالیز قدرت حتی می‌تواند از طریق مشاهده مصرف انرژی یک دستگاه سخت‌افزاری مانند CPU یا مدار رمزنگاری، اطلاعات دقیق تری را ارائه دهد. این حملات، به‌طور ساده، به دو دسته آنالیزتوان ساده (SPA) و آنالیز توان تفاضلی (DPA) طبقه‌بندی می‌شوند. نوسانات جریان نیز امواج رادیویی تولید می‌کند که حملات مبتنی بر تجزیه و تحلیل اندازه‌گیری میزان انتشار الکترومغناطیسی را ممکن می‌سازد. با استفاده از اطلاعات الکترومغناطیسی و توان در چندین دستگاه نشان داده‌است که دارای پتانسیل شکستن کلید رمز چند دستگاه مختلف ولی یکسان را با یک پیمایش ساده می‌باشد. یک سند NSA نشان می‌دهد که در سال ۱۹۴۳، یک مهندس با تلفن بل، اسپایک‌های قابل تفسیر را در یک اسلیوسکوپ متصل به خروجی رمزگشایی شده یک تله تایپ رمزگذاری شده مشاهده کرد. به گفته افسر سابق ام‌آی۵، پیتر رایت، سرویس امنیتی انگلیس در ۱۹۶۰ انتشار گازهای گلخانه ای از تجهیزات فرانسوی را مورد تجزیه و تحلیل قرار داد. در ۱۹۸۰، استراق سمع کنندگان اتحاد جماهیر شوروی به وجود اشکالاتی داخل ماشین تحریرهای آی بی ام Selectric پی بردند که ناشی از نویز الکتریکی حاصل از برخورد قطعات مکانیکی به کاغذ بود. این تنش می‌تواند ایجاد کننده تشعشات صوتی سطح پایینی ناشی از عملکرد CPUها باشد (در بعضی حالات در حدود ۱۰کیلوهرتز). تحقیقات اخیر شمر و همکاران پیشنهاد کرده‌است که از این طریق می‌توان اطلاعات مربوط به کارکرد رمزنگاری و الگوریتم‌ها را نیز بدست آورد. اگر سطح تراشه CPU یا در بعضی حالات سطح پکیج CPU قابل مشاهده باشد، تصاویر مادون قرمز نیز می‌تواند اطلاعاتی را در مورد کدهای در حال اجرا در CPU را نشان دهد؛ که معروف به حمله تصویربرداری حرارتی می‌باشد. نمونه‌های حمله کانال جانبی نوری شامل جمع‌آوری اطلاعات از نشانگر فعالیت هارد دیسک جهت خواندن تعداد کمی فوتون‌های ساطع شده توسط ترانزیستورها هنگام تغییر حالت می‌باشد. اقدامات متقابل از آنجا که حملات کانال جانبی به رابطه اطلاعات فاش شده از طریق یک کانال جانبی و داده‌های مخفی متکی هستند، اقدامات متقابل به دو دسته عمده تقسیم می‌شوند: (۱) حذف یا کاهش انتشار این دست اطلاعات (۲) حذف ارتباط بین اطلاعات فاش شده و داده‌های مخفی، که به‌طور معمول از طریق نوعی تصادفی کردن متن رمز شده که داده‌ها را به گونه ای تبدیل می‌کند که پس از تکمیل فرایند رمزنگاری قابل خنثی شدن باشد در دسته اول، نمایشگرهایی با محافظ مخصوص به منظور کاهش تشعشعات الکترومغناطیسی که حساسیت به حملات TEMPEST را کاهش می‌دهند، امروزه تجاری شده‌اند. بهبود و فیلترینگ توان خطوط انتقال قدرت می‌تواند به جلوگری از حملات مانیتورینگ نیرو کمک کند؛ هر چند چنین اقداماتی باید با احتیاط استفاده شوند چرا که حتی همبستگی‌های بسیار کوچک می‌توانند باقی بمانند و امینت را به چالش بکشاند. محفظه‌های فیزیکی می‌توانند خطر نصب پنهانی میکروفون‌ها (برای مقابله با حملات صوتی) و سایر دستگاه‌های مانیتورینگ خیلی کوچک (در مقابله با حمله رسم توان CPU یا حملات تصویربرداری حرارتی) را کاهش دهند. به عنوان مثال، یک تأخیر تصادفی می‌تواند برای جلوگیری از حملات زمان‌بندی اضافه شود؛ اگرچه مخالفان می‌توانند میانگین‌گیری از اندازه‌گیری‌های چندگانه این تاخیرها را جبران کنند (یا به‌طور کلی، اندازه‌گیری‌های بیشتری را در تحلیل استفاده کنند). با افزایش مقدار نویز در کانال جانبی، دشمن باید اندازه‌گیری‌های بیشتری را جمع‌آوری کند. | ## بخش 3: حمله کانال جانبی | یکی دیگر از اقدامات متقابل در دسته اول، استفاده از نرم‌افزار آنالیز امنیتی برای شناسایی دسته‌های خاصی از حملات کانال جانبی است که می‌توان در طی مراحل اساسی طراحی سخت‌افزار پیدا شوند. حملات زمانبندی و حملات حافظه نهان هر دو از طریق بعضی نرم‌افزارهای تحلیل امنیتی تجاری که امکان تست آسیب‌پذیری را فراهم می‌کنند، قابل شناسایی هستند. جامع‌ترین روش برای استفاده از این اقدام متقابل، ایجاد یک چرخه عمر توسعه ایمن سخت‌افزاری شامل بهینه‌سازی پلتفرم‌های حلیل امنیتی در دسترس در مراحل مربوط به چرخه توسعه سخت‌افزار می‌باشد. در مورد حملات زمانبندی علیه اهدافی که زمان محاسبه آنها به شمارش کلاک سایکل‌های گسسته تقسیم شده، یک اقدام متقابل مؤثر، طراحی نرم‌افزار به صورت هم‌زمان می‌باشد. چنین اقدامات متقابلی در عمل می‌تواند دشوار باشد؛ زیرا حتی هر دستور العمل می‌تواند در پردازنده‌های گوناگون، زمان اجرای متفاوتی داشته باشد. کد رمزنگاری شده طوری طراحی می‌شود که با استفاده روش‌های قابل پیش‌بینی استفاده از حافظه، در مقابل حملات کَش مقاوم باشد (نظیر دسترسی به داده‌های ورودی، خروجی و انجام این کار بر اساس یک الگوی ثابت). به عنوان مثال، از جستجوی جداول جستجوی وابسته به داده باید احتراز کرد زیرا حافظه پنهان ممکن است حاوی بخشی از داده‌های این جداول باشد. سایر اقدامات متقابل جزئی سعی در کاهش میزان اطلاعات به دست آمده از تفاضل توان وابسته به داده‌ها دارند. بعضی از عملیات‌ها از توانی استفاده می‌کنند که به تعداد بیت‌های ۱ در داده مخفی وابسته می‌باشد. استفاده از یک کد با وزن ثابت (مانند استفاده از گیت‌های Fredkin یا رمزگذاری دو ریلی) می‌تواند نشت اطلاعات مرتبط با وزن Hamming داده مخفی را کاهش دهد؛ اگرچه ارتباطات قابل بهره‌برداری ممکن است باقی بماند مگر اینکه تعادل کامل برقرار باشد. این «طراحی متعادل» می‌تواند به وسیله اثر متقابل داده و مکمل آن بر روی یکدیگر، تقریب زده شود. آن‌ها هیچ مرجع جهانی زمانبندی ای ندارند؛ از آنجا که این پردازنده‌ها برای حملات زمانبندی و توان را دشوار کنند، تحقیقات دریافته اند که تغییرات زمان‌بندی در مدارهای ناهمگام برای حذف سخت‌تر است. در مورد رمزگشایی RSA با نمای مخفی و نمای رمزگذاری مربوطه و مدول ، این روش به شرح زیر صورت می‌پذیرد (برای سادگی، کاهش مدولار m از فرمول‌ها حذف شده‌است): قبل از رمزگشایی، یعنی قبل از محاسبه نتیجه برای متن رمز شده ، سیستم یک عدد تصادفی را انتخاب می‌کند و آن را با نمای عمومی رمزگذاری کرده تا بدست آید. از آنجا که سیستم رمزگشایی را انتخاب کرده، می‌تواند مدول را محاسبه کند تا فاکتور را در نتیجه حذف نموده و (نتیجه واقعی رمزگشایی) را به دست آورد. برای حمله‌هایی که نیازمند جمع‌آوری اطلاعات کانال جانبی از عملیات‌هایی که مهاجم داده‌های آن را کنترل می‌کند، روش پرده کور یک اقدام متقابل مؤثر است چرا که عملیات واقعی بر روی نسخه تصادفی داده اجرا می‌شود که مهاجم کنترل و دانشی نسبت به آن ندارد. یک اقدامات متقابل عمومی تر (که در مقابل همه جملات کانال جانبی مؤثر است) ماسک کردن است. اصل ماسک کردن جلوگیری از هرگونه اثرگذاری مستقیم بر روی داده‌های حساس و در عوض اثرگذاری بر روی به اشتراک گذاشته شدهٔ آن است: مجموعه ای از متغیرها (به نام "سهام") به گونه ای که ( عملیات XOR است). نشان داده شده در ترکیب با مسیریابی محلی سطح پایین فلز، تا یک میلیارد جهش مقاومند. | ## جمع‌بندی | که به عنوان آنتن بهتر عمل می‌کنند، اطلاعات حیاتی را در قالب کانال‌های جانبی تشعشعات الکترومغناطیسی به‌طور قابل ملاحظه ای سرکوب می‌کنند.