حمله کانال جانبی یا Side-Channel Attack چیست؟ آشنایی با حمله Side-Channel و عملکرد آن

0 61
۵/۵ - (۳ امتیاز)

فهرست

در این مقاله از سری مقالات امنیت سخت افزار آکادمی ترجنس قصد داریم به حمله کانال جانبی یا Side-Channel Attack بپردازیم. این حملات دسته ای از حملات سخت افزاری هستند که عمدتا اقدام به سرقت کلیدهای رمزنگاری و اطلاعات حساس تولید شونده توسط یک سخت افزار می کنند.

هدف، دامنه و روش حمله کانال جانبی

در مقاله حملات سخت افزاری یک دسته بندی از حملات مختلف علیه سخت افزارها معرفی کردیم. یک حمله کانال جانبی به لحاظ هدف یا Goal در شاخه سرقت یا Steal قرار می گیرد چرا که هدف اصلی آن ها سرقت اطلاعات مهم با استفاده از اندازه گیری پارامترهای پویای یک سخت افزار می باشد. این حمله به لحاظ دامنه یا Domain در شاخه دامنه یا حوزه فیزیکی قرار می گیرد چرا که برای اجرای این حمله نیاز است تا یک دسترسی به سخت افزار وجود داشته باشد (البته در بعضی از انواع این نوع حملات مثل حملات مبتنی بر کش (Cache) دسترسی کاملا مستقیم به سخت افزار نیاز نیست). توجه شود که دامنه فیزیکی به این معنا است که هنگام اجرای حمله اعمالی روی سخت افزار مثل اندازه گیری پارامترهای آن صورت می گیرد اما این کار می تواند صرفا با دسترسی مستقیم به سخت افزار نباشد (برای مثال فرض کنید با استفاده از یک نرم افزار اقدام به اندازه گیری بعضی پارامترها می کنید یا با استفاده از سیستم عامل اقدام به تغییرات روی حافظه کش می کنید)  و به لحاظ روش یا Modality در شاخه غیرتهاجمی یا Non-Invasive قرار می گیرد چرا که در این نوع حملات، نیاز به ارتباط مستقیم به سخت افزار وجود ندارد. در دسته حملات غیرتهاجمی، حملات کانال جانبی در شاخه حملات منفعل یا Passive قرار می گیرند چرا که این نوع حملات به اندازه گیری پارامترهای پویای یک سخت افزار می پردازند و در حالت سخت افزار تغییری ایجاد نمی کنند.

حمله کانال جانبی

یک حمله کانال جانبی حمله ای است که دسترسی به اطلاعات را با استفاده از روش طراحی و توسعه سیستم انجام می دهد نه با استفاده از باگ ها و مشکل در توسعه و پیاده سازی نرم افزار و ضعف الگوریتم. طبیعی است که اجرای موفقیت آمیز این نوع حملات نیاز به یک دانش فنی از کارکرد درونی و سطح پایین سیستم دارد. این نوع حملات با ظهور نرم فزار به عنوان خدمت یا Software as a Service (SaaS) قدرت بیشتری گرفتند و احتمال بروز این حملات با استفاده از وب، حتی در صورت ارتباط امن رمزنگاری شده بیشتر شد.
در ادامه انواع حملات کانال جانبی را بررسی می کنیم. در این مقاله هر یک از انواع حملات کانال جانبی را معرفی کرده و در مقالات بعدی به طور جزئی و با ذکر مثال به بررسی هر یک می پردازیم.

حمله کانال جانبی مبتنی بر زمان یا زمانبندی (Timing Attack)

این نوع حملات عمل دریافت و سرقت اطلاعات را با استفاده از اندازه گیری زمان اجرای یک الگوریتم روی سخت افزار انجام می شود. برای مثال شخصی که قصد سرقت کلید رمزنگاری را دارد می تواند با اندازه گیری زمان هر بیت یک کلید را محاسبه کرده و در نهایت آن را بازیابی کند. مخصوصا الگوریتم های رمزنگاری مثل RSA که نیاز به اعداد بزرگ دارند را می توان با بررسی زمان در رمزنگاری، صفر یا یک بودن بیت کلیدها را استخراج کرد. بعدا در مقالات رمزنگاری آکادمی ترجنس توضیح می دهیم که توان های بزرگ با توجه به صفر یا یک بودن هر بیت چگونه محاسبه می شوند و نشان می دهیم که زمان پردازش برای یک بیت ۱ با زمان پردازش برای یک بیت صفر متفاوت است.

حمله کانال جانبی مبتنی بر برق یا توان مصرفی (Power Attack)

این نوع حملات عمل دریافت و سرقت اطلاعات را با استفاده از اندازه گیری برق یا توان مصرفی یک دستگاه یا ترشه سخت افزاری انجام می دهند. برای مثال یک دستگاهی که در آن به نوعی عمل رمزنگاری انجام می شود را در نظر بگیرید. با داشتن یک اسیلوسکوپ می توان موج متناوب برق را اندازه گرفت. حال با استفاده از نمودار ایجاد شده در اسیلوسکوپ می توان بیت های کلید را به دست آورد. برای مثال در تصویر زیر پیک های بالا مربوط به بیت ۱ و پیک های پایین مربوط به بین صفر یک کلید RSA می باشند:

Power attack

حمله کانال جانبی مبتنی بر الکترومغناطیس (Electromagnetic Attack)

در زمان فعالیت یک سخت افزار یک میدان الکترومغناطیسی حول آن شکل می گیرد. این تشعشعات می توانند حامل اطلاعات مهم باشند که با استفاده از یک سیم پیچ القایی می توان آن ها را بازیابی کرد. توجه کنید که سیم پیچ باید در میدان الکترومغناطیسی ایجاد شده قرار بگیرد. شکل زیر، خطوط بنفش عملیات رمزنگاری و رمزگشایی RSA را به صورت یک طیف از میدان تولید شده نشان می دهد:

Encryption spectrogram

حمله کانال جانبی آکوستیک (Acoustic Attack)

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

حمله کانال جانبی نوری (Optical Attack)

یک ترانزیستور هنگام تغییر حالت یا سوییچ طیف های نوری در قالب چند فوتون در زمان بسیار کوتاه ساتع می کند. با استفاده از LED های طراحی شده در دستگاه ها برای نمایش حالت دستگاه یا پردازش اطلاعات نیز می توان اطلاعات خوبی را به دست آورد.

حمله کانال جانبی مبتنی بر تخصیص منابع (Allocation Attack)

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

حمله کانال جانبی مبتنی بر یادگیری عمیق (Deep Learning Attack)

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

سخن پایانی

در این مقاله از سری مقالات امنیت سخت افزار آکادمی ترجنس به معرفی حملات کانال جانبی و انواع آن ها پرداختیم. شاید تصور کنید که این حملات بسیار رویایی و تئوری هستند اما باید گفت که این حملات در دنیای واقعی رخ داده و می دهند و باعث سرقت اطلاعات مهمی از مراکز مختلف شده اند (برای مثال این مقاله که با استفاده از این حملات ASLR را بایپس می کند را ملاحظه بفرمایید). در مقالات بعدی هر یک از انواع گفته شده را به طور دقیق و جزئی با ذکر مثال بررسی می کنیم و یک یا چند نمونه حمله واقعی اتفاق افتاده درهر دسته را معرفی می کنیم.

درباره ما

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
دوره‌های آکادمی ترجنس | courses.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence

ارسال یک پاسخ