تروجان سخت افزاری چیست و چه کاربردی دارد؟
تروجان سخت افزاری به طور خلاصه عبارت است از هر نوع دستکاری و اعمال تغییرات مخرب با اهداف خاص در مدارات تجهیزات سخت افزاری.
از دیرباز تا کنون امنیت یکی از نیازهای اساسی انسان محسوب می شود و هر کجا تهدیدی وجود داشته باشد نیاز به مقابله با آن به شدت احساس خواهد شد.
امروزه نقش، تاثیر و شاید سلطه تجهیزات الکترونیکی و فناوری اطلاعات در دنیای ما انکارناپذیر است، بنابراین تامین امنیت این حوزه نیز ضروری به نظر می رسد. مطمئنا تا کنون اصطلاح “تروجان” را شنیده اید، عواملی که رفتارهای مخربی را از خودشان بروز می دهند. جالب است بدانید که تروجان نه تنها در حوزه نرم افزاری مورد بحث است بلکه نگرانی مهمی را در بخش سخت افزار ایجاد کرده است.
در حال حاضر شاهد استفاده گسترده ای از تجهیزات مخابراتی و الکترونیکی در کاربردهای مختلفی هستیم در حالی که بسیاری از آن ها در کشورهای ثالثی طراحی و ساخته میشوند. دلیل این امر بالا رفتن هزینه تولید تجهیزات سخت افزاری توسط خود طراح ها می باشد. کمپانی های بزرگی که در زمینه طراحی این تجهیزات فعالیت می کنند مثال خوبی برای این سناریو می باشند. برای مثال گوشی های هوشمند را درنظر بگیرید، برای شرکت اپل بسیار به صرفه است که تنها طراحی محصولاتش را در آمریکا انجام دهد و تولید آن را به کمپانی های شرق آسیا بسپارد. دلیل این امر را می توانید در تفاوت هزینه های تولید در آمریکا و شرق آسیا و نیروی انسانی ارزان قیمت پیدا کنید.
با توجه به مدل کسب و کاری که این کمپانی های بزرگ در پیش گرفته اند واضح است که بخش بزرگی از مراحل تولید محصول خارج از این کمپانی ها صورت می گیرد. در هر یک از این مراحل امکان دستکاری و اعمال تغییرات مخرب در مدار این تجهیزات وجود دارد. این تغییرات مخرب در این زمینه “تروجان سخت افزاری” نامیده می شوند. عوامل متعددی همانند کسب اطلاعات با ارزش، رقابت، مقاصد نظامی می توانند انگیزه درج تروجان سخت افزاری را ایجاد کنند. حال در نظر بگیرید در کمپانی اپل چنانچه امن بودن محصولاتش تضمین شده نباشد، این کمپانی نه تنها اعتبار خود را از دست میدهند بلکه سرمایه خود را نیز دچار بحران کرده و عملا ورشکسته میشود.
فرض کنید تراشه ای که برای مصارف نظامی طراحی شده مورد ت*ج*اوز مهاجمان قرار گرفته و در تیراژ بالا تولید شود. این تراشه به دلیل درج تروجان دیگر قادر نیست عملکرد اصلی خود را که برای کارکرد نظامی درنظر گرفته بود، انجام دهد. نمونه ای از این تروجان را میتوان در جریان بمباران تاسیسات هسته ای سوریه توسط جنگنده های اسرائیل در سال 2 یافت. تمامی پردازنده های رادارهای سوریه حاوی تروجان هایی بودند که هنگام حمله جنگنده ها فعال شده و عملکرد رادارها را مختل نمودند [1].
همان طور که برای شناسایی تروجان های نرم افزاری از آنتی ویروس ها استفاده می کنند، تروجان های سخت افزاری توسط روش های مختلفی قابل شناسایی هستند. جهت مقابله با این بدافزار ابتدا باید ساختار انواع تروجان ها مورد بررسی قرار گیرد. تروجان ها را میتوان بر اساس ویژگی های فیزیکی، نحوه فعال شدن و رفتار آنها هنگام فعال شدن دسته بندی کرد [2].
تروجان ها را می توان متشکل از دو بخش کلی دانست:
به نظر میرسد که تروجان رفتاری همانند خرابی در تراشه دارد و می توان آن را به وسیله روش های آزمون سنتی تشخیص داد اما نتایج بررسی محققین بر روی تروجان های سخت افزاری نشان می دهد که دسته بزرگی از تروجان ها به راحتی می توانند در برابر این روش های آزمون مخفی بمانند. اینگونه بود که بحث بررسی غیر مستقیم تراشه جهت شناسایی تروجان های سخت افزاری مطرح شد. هر سخت افزاری به هنگام فعالیت اطلاعاتی را در قالب های مختلف نشت می دهد. به تمام اطلاعاتی که از سختافزار هدف نشت پیدا میکند اطلاعات کانال جانبی گفته میشود. برای مثال اطلاعات زمانی، مصرف توان، دما، تشعشعات الکترومغناطیسی و حتی صدا میتوانند اطلاعات مفیدی را جهت شناخت تراشه هدف مهیا کنند. برخی از این اطلاعات زمانی کاربرد پیدا میکند که دانش فنی لازم را در مورد سیستم تحت بررسی بدانند اما برخی دیگر نیازی به این دانش فنی نداشته و بدون آنها اطلاعاتی را از سیستم استخراج میکنند.
در ادامه به معرفی سه روش مهم شناسایی تروجان های سخت افزاری می پردازیم، شاید برخی از این روش های برای شما بسیار عجیب به نظر بیایند.
1. دما:
دما یکی از کانالهای جانبی تراشه است که با استفاده از آن میتوان اطلاعات جالبی از تراشه استخراج کرد. روشهایی که از دما بهره میبرند با توزیع سنسورهای دما به صورت محلی و سراسری، بر تغییرات حرارتی تراشه نظارت میکنند. با استفاده از این روشها هر تروجانی که منجر به فعالیت غیرعادی و خارج از عملکرد مدار شود، به دلیل افزایش مصرف توان و دمای تراشه قابل شناسایی خواهد بود. برای مثال شکل زیر الگوی دمایی یک تراشه تحت آزمایش می باشد که تفاوت الگوی دمایی را در دو حالت غیر فعال و فعال بودن تروجان نمایش می دهد.
2. مهندسی معکوس:
یکی از مطمئن ترین روش های شناسایی تروجان روش مهندسی معکوس تراشه و بررسی فیزیکی آن می باشد. این روش مخرب بوده و به دلیل تخریب فیزیکی لایه های مدار پس از آن نمی توان از تراشه ی مورد بررسی استفاده کرد، اینگونه از این روش برای انتخاب یک مدل مرجع جهت بهره بردن در سایر روش ها استفاده میشود. در این روش با استفاده از مواد شیمیایی لایه های مختلف تراشه را برداشته و با تجهیزات میکروسکوپی ویژه ای از آنها عکس برداری می کنند. با تطابق عکس های گرفته شده و طرح اولیه مدار که توسط طراحان ایجاد شده بود می توان به وجود و یا عدم وجود تروجان در تراشه پی برد.
3. تحلیل توان:
تحلیل توان را می توان از روشهای رایج جهت شناسایی تروجان تحلیل کانال جانبی تراشه دانست. مدارهای الکتریکی در حین فعالیت خود ترکیبی از عملیات مختلف را انجام می دهند، هر کدام از این عملیات نیازمند مصرف توان الکتریکی با مقادیر متفاوتی می باشد. حال اگر با گذشت زمان مصرف توان این مدار تحت نظارت قرار گیرد می توان به الگوی مصرف توان این مدار دسترسی یافت. از این الگوی به دست آمده می توان جهت شناسایی تروجان استفاده کرد. برای این کار یک مجموعه ورودی تصادفی را به تراشه ای که از عدم وجود تروجان در آن مطمئن هستیم می دهیم (به این نوع مدارها مدار طلایی گفته می شود)، الگوی توان مصرفی برای این تراشه محاسبه می شود. با دادن همان مجموعه ورودی به تمام تراشه های دیگر متعلق به همان خانواده، الگوی توان مصرفی آنها نظارت می شود. تفاوت به دست آمده در الگوی مصرف توان در تراشه بدون تروجان و تراشه تحت آزمون نشان دهنده احتمال وجود تروجان خواهد بود. میزان اختلاف توان مصرفی در الگوی به دست آمده را می توان به توان مورد نیاز تروجان نسبت داد.
مراجع:
[1]
S. Adee, “The hunt for the kill switch,” IEEE Spectrum, vol. 45, no. 5, pp. 34-39, 2008.
[2]
M. Tehranipoor and C. Wang, Introduction to hardware security and trust., Springer Science & Business Media, 2011.
تروجان سخت افزاری به طور خلاصه عبارت است از هر نوع دستکاری و اعمال تغییرات مخرب با اهداف خاص در مدارات تجهیزات سخت افزاری.
از دیرباز تا کنون امنیت یکی از نیازهای اساسی انسان محسوب می شود و هر کجا تهدیدی وجود داشته باشد نیاز به مقابله با آن به شدت احساس خواهد شد.
امروزه نقش، تاثیر و شاید سلطه تجهیزات الکترونیکی و فناوری اطلاعات در دنیای ما انکارناپذیر است، بنابراین تامین امنیت این حوزه نیز ضروری به نظر می رسد. مطمئنا تا کنون اصطلاح “تروجان” را شنیده اید، عواملی که رفتارهای مخربی را از خودشان بروز می دهند. جالب است بدانید که تروجان نه تنها در حوزه نرم افزاری مورد بحث است بلکه نگرانی مهمی را در بخش سخت افزار ایجاد کرده است.
در حال حاضر شاهد استفاده گسترده ای از تجهیزات مخابراتی و الکترونیکی در کاربردهای مختلفی هستیم در حالی که بسیاری از آن ها در کشورهای ثالثی طراحی و ساخته میشوند. دلیل این امر بالا رفتن هزینه تولید تجهیزات سخت افزاری توسط خود طراح ها می باشد. کمپانی های بزرگی که در زمینه طراحی این تجهیزات فعالیت می کنند مثال خوبی برای این سناریو می باشند. برای مثال گوشی های هوشمند را درنظر بگیرید، برای شرکت اپل بسیار به صرفه است که تنها طراحی محصولاتش را در آمریکا انجام دهد و تولید آن را به کمپانی های شرق آسیا بسپارد. دلیل این امر را می توانید در تفاوت هزینه های تولید در آمریکا و شرق آسیا و نیروی انسانی ارزان قیمت پیدا کنید.
با توجه به مدل کسب و کاری که این کمپانی های بزرگ در پیش گرفته اند واضح است که بخش بزرگی از مراحل تولید محصول خارج از این کمپانی ها صورت می گیرد. در هر یک از این مراحل امکان دستکاری و اعمال تغییرات مخرب در مدار این تجهیزات وجود دارد. این تغییرات مخرب در این زمینه “تروجان سخت افزاری” نامیده می شوند. عوامل متعددی همانند کسب اطلاعات با ارزش، رقابت، مقاصد نظامی می توانند انگیزه درج تروجان سخت افزاری را ایجاد کنند. حال در نظر بگیرید در کمپانی اپل چنانچه امن بودن محصولاتش تضمین شده نباشد، این کمپانی نه تنها اعتبار خود را از دست میدهند بلکه سرمایه خود را نیز دچار بحران کرده و عملا ورشکسته میشود.
فرض کنید تراشه ای که برای مصارف نظامی طراحی شده مورد ت*ج*اوز مهاجمان قرار گرفته و در تیراژ بالا تولید شود. این تراشه به دلیل درج تروجان دیگر قادر نیست عملکرد اصلی خود را که برای کارکرد نظامی درنظر گرفته بود، انجام دهد. نمونه ای از این تروجان را میتوان در جریان بمباران تاسیسات هسته ای سوریه توسط جنگنده های اسرائیل در سال 2 یافت. تمامی پردازنده های رادارهای سوریه حاوی تروجان هایی بودند که هنگام حمله جنگنده ها فعال شده و عملکرد رادارها را مختل نمودند [1].
همان طور که برای شناسایی تروجان های نرم افزاری از آنتی ویروس ها استفاده می کنند، تروجان های سخت افزاری توسط روش های مختلفی قابل شناسایی هستند. جهت مقابله با این بدافزار ابتدا باید ساختار انواع تروجان ها مورد بررسی قرار گیرد. تروجان ها را میتوان بر اساس ویژگی های فیزیکی، نحوه فعال شدن و رفتار آنها هنگام فعال شدن دسته بندی کرد [2].
تروجان ها را می توان متشکل از دو بخش کلی دانست:
- بخش ورودی شامل سیگنال های محرک ورودی و فعالساز
- بخش بدنه تروجان و سیگنال های خروجی.
به نظر میرسد که تروجان رفتاری همانند خرابی در تراشه دارد و می توان آن را به وسیله روش های آزمون سنتی تشخیص داد اما نتایج بررسی محققین بر روی تروجان های سخت افزاری نشان می دهد که دسته بزرگی از تروجان ها به راحتی می توانند در برابر این روش های آزمون مخفی بمانند. اینگونه بود که بحث بررسی غیر مستقیم تراشه جهت شناسایی تروجان های سخت افزاری مطرح شد. هر سخت افزاری به هنگام فعالیت اطلاعاتی را در قالب های مختلف نشت می دهد. به تمام اطلاعاتی که از سختافزار هدف نشت پیدا میکند اطلاعات کانال جانبی گفته میشود. برای مثال اطلاعات زمانی، مصرف توان، دما، تشعشعات الکترومغناطیسی و حتی صدا میتوانند اطلاعات مفیدی را جهت شناخت تراشه هدف مهیا کنند. برخی از این اطلاعات زمانی کاربرد پیدا میکند که دانش فنی لازم را در مورد سیستم تحت بررسی بدانند اما برخی دیگر نیازی به این دانش فنی نداشته و بدون آنها اطلاعاتی را از سیستم استخراج میکنند.
در ادامه به معرفی سه روش مهم شناسایی تروجان های سخت افزاری می پردازیم، شاید برخی از این روش های برای شما بسیار عجیب به نظر بیایند.
1. دما:
دما یکی از کانالهای جانبی تراشه است که با استفاده از آن میتوان اطلاعات جالبی از تراشه استخراج کرد. روشهایی که از دما بهره میبرند با توزیع سنسورهای دما به صورت محلی و سراسری، بر تغییرات حرارتی تراشه نظارت میکنند. با استفاده از این روشها هر تروجانی که منجر به فعالیت غیرعادی و خارج از عملکرد مدار شود، به دلیل افزایش مصرف توان و دمای تراشه قابل شناسایی خواهد بود. برای مثال شکل زیر الگوی دمایی یک تراشه تحت آزمایش می باشد که تفاوت الگوی دمایی را در دو حالت غیر فعال و فعال بودن تروجان نمایش می دهد.
2. مهندسی معکوس:
یکی از مطمئن ترین روش های شناسایی تروجان روش مهندسی معکوس تراشه و بررسی فیزیکی آن می باشد. این روش مخرب بوده و به دلیل تخریب فیزیکی لایه های مدار پس از آن نمی توان از تراشه ی مورد بررسی استفاده کرد، اینگونه از این روش برای انتخاب یک مدل مرجع جهت بهره بردن در سایر روش ها استفاده میشود. در این روش با استفاده از مواد شیمیایی لایه های مختلف تراشه را برداشته و با تجهیزات میکروسکوپی ویژه ای از آنها عکس برداری می کنند. با تطابق عکس های گرفته شده و طرح اولیه مدار که توسط طراحان ایجاد شده بود می توان به وجود و یا عدم وجود تروجان در تراشه پی برد.
3. تحلیل توان:
تحلیل توان را می توان از روشهای رایج جهت شناسایی تروجان تحلیل کانال جانبی تراشه دانست. مدارهای الکتریکی در حین فعالیت خود ترکیبی از عملیات مختلف را انجام می دهند، هر کدام از این عملیات نیازمند مصرف توان الکتریکی با مقادیر متفاوتی می باشد. حال اگر با گذشت زمان مصرف توان این مدار تحت نظارت قرار گیرد می توان به الگوی مصرف توان این مدار دسترسی یافت. از این الگوی به دست آمده می توان جهت شناسایی تروجان استفاده کرد. برای این کار یک مجموعه ورودی تصادفی را به تراشه ای که از عدم وجود تروجان در آن مطمئن هستیم می دهیم (به این نوع مدارها مدار طلایی گفته می شود)، الگوی توان مصرفی برای این تراشه محاسبه می شود. با دادن همان مجموعه ورودی به تمام تراشه های دیگر متعلق به همان خانواده، الگوی توان مصرفی آنها نظارت می شود. تفاوت به دست آمده در الگوی مصرف توان در تراشه بدون تروجان و تراشه تحت آزمون نشان دهنده احتمال وجود تروجان خواهد بود. میزان اختلاف توان مصرفی در الگوی به دست آمده را می توان به توان مورد نیاز تروجان نسبت داد.
مراجع:
[1]
S. Adee, “The hunt for the kill switch,” IEEE Spectrum, vol. 45, no. 5, pp. 34-39, 2008.
[2]
M. Tehranipoor and C. Wang, Introduction to hardware security and trust., Springer Science & Business Media, 2011.