چکیده
با گسترش سامانههای نظارت تصویری در زیرساختهای حیاتی و افزایش پیچیدگی مدارهای مجتمع، تهدیدات سختافزاری بهویژه تروجانهای سختافزاری، به یکی از مهمترین چالشهای امنیت سایبری تبدیل شدهاند. این تروجانها میتوانند عملکرد مدار را تغییر داده، اطلاعات محرمانه را نشت دهند یا اختلال فیزیکی ایجاد کنند، بدون آنکه در مراحل تولید و تست آشکار شوند. مقاله حاضر به بررسی جامع تروجانهای سختافزاری در سامانههای نظارت تصویری میپردازد و آنها را بر اساس معیارهایی مانند محل قرارگیری در مدار، اندازه و پیچیدگی، روش فعالسازی، اثرگذاری بر عملکرد، سطح انتزاع طراحی و روش استتار طبقهبندی میکند. همچنین، روشهای شناسایی تروجانها در سه مرحله پیش از تولید، پس از تولید و زمان اجرا، با تأکید بر تحلیل کانالهای جانبی، شبیهسازی عملکردی، مقایسه ساختاری و استفاده از یادگیری ماشین، بررسی شده است. نتایج نشان میدهد که ترکیب رویکردهای چندلایه شامل پیشگیری، پایش زمان اجرا و مقاومسازی سختافزاری میتواند بهطور مؤثری شناسایی و مقابله با تروجانها را تسهیل کرده و امنیت سامانههای نظارت تصویری را تقویت کند. این مطالعه میتواند مبنایی برای توسعه روشهای خودکار شناسایی و کاهش هزینههای پایش تروجانهای پیچیده و پنهان فراهم آورد.
واژگان کلیدی: تروجانهای سختافزاری، طبقهبندی تروجانها، امنیت سایبری، سامانههای نظارت تصویری
1- مقدمه
امنیت سایبری در دهههای اخیر تمرکز ویژهای بر نرمافزارها و پروتکلهای ارتباطی داشته است. با این حال، پیشرفت روزافزون فناوری نیمههادیها و افزایش وابستگی سامانههای حیاتی به مدارهای مجتمع، موجب شده است تهدیدات سختافزاری جایگاه ویژهای در امنیت سایبری پیدا کنند. تجربههای اخیر نشان میدهد که تهدیدات در سطح سختافزار میتواند بهمراتب خطرناکتر و پیچیدهتر از تهدیدات نرمافزاری باشد. یکی از این تهدیدات، تروجانهای سختافزاری است که میتواند عملکرد مدار را تغییر دهد، اطلاعات محرمانه را نشت دهد یا آسیب فیزیکی ایجاد کند، بدون آنکه در مراحل تست و تولید آشکار شود. برخلاف بدافزارهای نرمافزاری که معمولاً از طریق بهروزرسانیهای امنیتی قابل رفع هستند، تروجانهای سختافزاری در بطن تراشه یا مدار مجتمع قرار گرفته و حذف آنها بسیار دشوار و پرهزینه است [1].
سامانههای نظارت تصویری بهعنوان یکی از ارکان حیاتی امنیت ملی، کنترل شهری، حملونقل هوشمند و حفاظت از اماکن حساس، بهشدت متکی بر تجهیزات سختافزاری متنوع از جمله دوربینها، دستگاههای ضبط تصویر مولفههای پردازش تصاویر و شبکههای ارتباطی هستند [2]. ورود تجهیزات تقلبی یا دستکاریشده میتواند منجر به سناریوهای حملات جدی مانند ایجاد دسترسی مخفی برای مهاجم، نشت تصاویر حساس به مقصد نامعلوم، از کار انداختن سامانه در شرایط بحرانی و تغییر رفتار الگوریتمهای هوش مصنوعی پردازش تصویر شود. با در نظر گرفتن مخاطرات مذکور، شناسایی، پیشگیری و مقابله با تروجانهای سختافزاری در سامانههای نظارت تصویری اهمیتی دوچندان پیدا میکند.
2- معیارهای طبقهبندی تروجانهای سختافزاری
تروجانهای سختافزاری تهدیدی جدی برای امنیت مدارهای مجتمع و سامانههای الکترونیکی محسوب میشوند. برای تحلیل، شناسایی و مقابله مؤثر با آنها، پژوهشگران معیارهای مختلفی را برای طبقهبندی این تروجانها پیشنهاد کردهاند. این معیارها شامل موارد ذیل است:
- محل قرارگیری در مدار
- اندازه و پیچیدگی
- روش فعالسازی
- اثرگذاری بر عملکرد
- سطح انتزاع طراحی
- روش استتار
1-2- طبقهبندی تروجانهای سختافزاری بر اساس محل قرارگیری در مدار
یکی از معیارهای مهم در طبقهبندی تروجانهای سختافزاری، محل قرارگیری آنها در مدار است. بسته به اینکه تروجان در کدام بخش از مدار جاسازی شود، نحوه عملکرد، میزان تأثیرگذاری و حتی روشهای شناسایی آن متفاوت خواهد بود. به عنوان مثال، برخی تروجانها در سطح واحدهای پردازشی یا بلوکهای منطقی درج میشوند. این نوع تروجانها معمولاً منطق طراحی را تغییر داده و میتوانند باعث ایجاد خطاهای عملکردی یا درهای پشتی شوند. این تغییرات اغلب در سطح توصیف سختافزار یا در فرآیند طراحی مدار مجتمع اتفاق میافتند و به دلیل همپوشانی با طراحی اصلی، شناسایی آنها بسیار دشوار است [1].
دسته دیگری از تروجانها در مسیرهای ارتباطی مدار، مانند گذرگاههای داده یا شبکههای روی تراشه قرار میگیرند. این نوع تروجانها قادرند دادههای در حال تبادل را شنود کرده یا با ایجاد تأخیر و تغییرات جزئی در سیگنالها، اختلال عملکردی ایجاد کنند. به دلیل قرارگیری در مسیر حیاتی ارتباطی، این تروجانها میتوانند بدون ایجاد تغییر آشکار در عملکرد کلی سیستم، اطلاعات محرمانه را استخراج کرده یا کانالهای جانبی جدیدی بسازند. چنین تهدیداتی برای سامانههای حساس مانند سامانههای نظامی یا مالی بسیار خطرناک هستند [3].
همچنین، برخی از تروجانها در لایههای فیزیکی و پایینتر مدار مانند بخش تغذیه توان یا مدارهای کلاک جاسازی میشوند. این نوع تروجانها معمولاً با تغییر در مصرف توان یا زمانبندی سیستم، عمل میکنند و حتی میتوانند به صورت فعالسازی مشروط ظاهر شوند. برای مثال، یک تروجان در مدار کلاک میتواند با ایجاد تغییرات جزئی در فرکانس، کل سامانه را دچار اختلال سازد. چنین تروجانهایی به دلیل ماهیت پنهان و تأثیر غیرمستقیم، از پیچیدهترین نوع تروجانها هستند و تشخیص آنها نیازمند روشهای تحلیل جانبی پیشرفته مانند تحلیل توان و نویز است [4]. در جدول 1، طبقهبندی تروجانهای سختافزاری بر اساس محل قرارگیری در مدار آمده است.
جدول 1: طبقهبندی تروجانهای سختافزاری بر اساس محل قرارگیری در مدار
محل قرارگیری تروجان |
ویژگیها | تهدیدها | دشواری شناسایی |
نمونه مراجع |
ماژولهای پردازشی و منطقی |
تغییر در منطق طراحی، درج در سطح HDL یا گیت | ایجاد خطاهای عملکردی، درهای پشتی | بالا (به دلیل همپوشانی با طراحی اصلی) | [1] |
مسیرهای ارتباطی |
شنود یا تغییر دادههای در حال تبادل، ایجاد کانال جانبی |
افشای اطلاعات محرمانه، تأخیر یا اختلال در ارتباط |
متوسط تا بالا (بسته به نوع تزریق) |
[3] |
بخش تغذیه توان |
تغییر در مصرف توان، تزریق اختلالات توان |
فعالسازی مشروط، ایجاد خرابی یا اختلال کلی |
بسیار بالا (اثر غیرمستقیم و پنهان) |
[4] |
مدارهای کلاک و زمانبندی |
تغییر در فرکانس یا فاز سیگنالهای کلاک |
اختلال در همزمانی سامانه، آسیب به کل مدار |
بسیار بالا (تأثیر غیرمستقیم و غیرقابل پیشبینی) |
[4] |
حافظهها و رجیسترها | دستکاری دادههای ذخیرهشده یا در حال انتقال | تغییر نتایج محاسبات، ایجاد کانال مخفی | متوسط |
[3] |
2-2- طبقهبندی تروجانهای سختافزاری بر اساس اندازه و پیچیدگی
یکی از معیارهای کلیدی در طبقهبندی تروجانهای سختافزاری، اندازه و پیچیدگی آنها است. اندازه تروجان معمولاً با تعداد گیتها، سلولهای منطقی و منابع مورد استفاده در مدار هدف سنجیده میشود. تروجانهای کوچک شامل تعداد محدودی گیت یا بلوک منطقی هستند و تأثیر آنها بر عملکرد کلی سامانه کمتر قابل تشخیص است در حالی که تروجانهای بزرگتر میتوانند تغییرات قابل توجهی در مصرف توان، زمان تاخیر سیگنالها یا رفتار منطقی مدار ایجاد کنند [1] [2]. این تفاوت اندازه باعث میشود روشهای شناسایی نیز متفاوت باشد؛ بهعنوان مثال، تروجانهای کوچک اغلب با تحلیل جانبی شناسایی میشوند در حالی که تروجانهای بزرگتر ممکن است با آزمونهای عملکردی و تحلیل مقایسهای مدار قابل شناسایی باشند.
پیچیدگی تروجانهای سختافزاری عامل دیگری است که در شناسایی و مقابله با آنها اهمیت دارد. پیچیدگی میتواند شامل تعداد مسیرهای فعالشده، وابستگی به شرایط خاص عملکردی و میزان هوشمندی در نحوه فعالسازی باشد [5]. تروجانهای پیچیده ممکن است به گونهای طراحی شوند که تنها در شرایط خاص یا پس از وقوع رخدادهای خاصی فعال شوند، که شناسایی آنها را بسیار دشوار میکند. پیچیدگی بالای یک تروجان باعث میشود که حتی اگر اندازه آن کوچک باشد، شناسایی آن نیازمند ابزارها و روشهای پیشرفته مانند یادگیری ماشین و تحلیل رفتار سیستم باشد [6].
ارتباط بین اندازه و پیچیدگی تروجانها نیز قابل توجه است. در بسیاری از موارد، تروجانهای بزرگتر پیچیدهتر هستند، زیرا تعداد بیشتری از گیتها و بلوکهای منطقی نیازمند هماهنگی و کنترل دقیق میباشند. با این حال، پژوهشهای اخیر نشان دادهاند که میتوان تروجانهای کوچک و بسیار پیچیدهای طراحی کرد که تقریباً بدون تأثیر محسوس بر عملکرد مدار، فعالیت مخرب خود را انجام دهند[7]. از این رو، ارزیابی همزمان اندازه و پیچیدگی تروجانها برای تعیین روش مناسب شناسایی و مقابله، یک ضرورت علمی است که در طراحی سامانههای امن باید بهطور جدی مدنظر قرار گیرد.
به طور کلی، برای شناسایی تروجانهای سختافزاری، لازم است اندازه و پیچیدگی این تروجانها در نظر گرفته شود، زیرا هر دو عامل در انتخاب روش مناسب شناسایی و مقابله با آنها تعیینکننده است. جدول 2 روشهای رایج شناسایی تروجانهای سختافزاری را بر مبنای اندازه و پیچیدگی نشان میدهد.
جدول 2: طبقهبندی تروجانهای سختافزاری بر اساس اندازه و پیچیدگی
معیار |
توضیح | مثال از ویژگیها | روشهای رایج شناسایی |
نمونه مراجع |
اندازه |
بر اساس تعداد گیتها، سلولهای منطقی یا منابع مصرفی در مدار سنجیده میشود. | الف) تروجان کوچک: شامل تعداد محدودی گیت یا بلوک منطقی
ب) تروجان بزرگ: استفاده از تعداد زیادی گیت و منابع سختافزاری |
تروجانهای کوچک: تحلیل جانبی تروجانهای بزرگ: آزمونهای عملکردی، تحلیل مقایسهای مدار |
[1] [2] [3] |
پیچیدگی |
میزان وابستگی به شرایط خاص، تعداد مسیرهای فعال و سطح هوشمندی در فعالسازی را توصیف میکند. |
الف) فعالسازی با توالی خاص سیگنالها |
روشهای یادگیری ماشین |
[3] [4] |
ارتباط اندازه و پیچیدگی | در بسیاری از موارد، تروجانهای بزرگتر پیچیدهتر هستند، اما تروجانهای کوچک با پیچیدگی بالا نیز وجود دارند. | الف) تروجان بزرگ و پیچیده: تغییر محسوس در توان و تأخیر سیگنالها ب) تروجان کوچک و بسیار پیچیده: بدون تأثیر محسوس بر عملکرد، ولی مخرب |
ترکیبی از تحلیل جانبی، یادگیری ماشین و آزمونهای عملکردی برای ارزیابی همزمان |
[3] [5] |
3-2- طبقهبندی تروجانهای سختافزاری بر اساس روش فعالسازی
روش فعالسازی تروجانهای سختافزاری یکی از مهمترین معیارهای طبقهبندی این نوع تهدیدات است. فعالسازی به معنای شرایطی است که باعث میشود تروجان موجود در مدار یا سامانه فعال شود و عملکرد مخرب خود را آغاز کند. بسته به روش فعالسازی، تروجانها میتوانند به صورت زمانی، رویدادی، سیگنالی یا ترکیبی عمل کنند. این طبقهبندی به متخصصان امنیت سختافزار کمک میکند تا نقاط ضعف احتمالی سامانهها را شناسایی و پیشگیری مؤثرتری انجام دهند [1].
در برخی موارد، تروجانها بر اساس شرط زمانی فعال میشوند. به این معنا که تروجان تنها پس از گذشت یک زمان مشخص یا رسیدن به یک شمارشگر داخلی خاص شروع به عملکرد مخرب میکند. این روش فعالسازی معمولاً برای مخفی نگه داشتن تروجان در طول آزمونهای استاندارد مدار استفاده میشود و شناسایی آن را بسیار دشوار میکند. مطالعات نشان میدهند که بسیاری از تروجانهای سختافزاری در سامانههای حفاظتی صنعتی با مکانیزم زمانبندی پیچیده طراحی شدهاند تا کشف آنها توسط ابزارهای تست مرسوم غیرممکن شود [2].
روش دیگر، فعالسازی بر اساس ورودی یا سیگنال خاص است. در این حالت، تروجان تنها زمانی فعال میشود که یک ورودی مشخص، ترکیبی از سیگنالها یا شرایط منطقی خاص رخ دهد. به عنوان مثال، یک تروجان ممکن است تنها وقتی یک پالس دیجیتال خاص در یک گذرگاه داده رخ میدهد، فعال شود. این نوع تروجانها به دلیل وابستگی به شرایط خاص، معمولاً در محیط واقعی آسیب بیشتری ایجاد میکنند و شناسایی آنها در مراحل طراحی یا تست بسیار دشوار است [8].
علاوه بر این، برخی تروجانها از فعالسازی ترکیبی بهره میبرند، که شامل ترکیبی از شرط زمانی، سیگنال خاص و گاهی ورودی خارجی است. این روش فعالسازی، سطح پنهانکاری بالاتری ایجاد میکند و مهندسان امنیت سختافزار را مجبور میکند تا ابزارهای پیشرفتهای مانند تحلیل جانبی توان یا پایش رفتار مدار را برای شناسایی استفاده کنند [1] [8].
فعالسازی خارجی یکی از روشهای متداول در بهکارگیری تروجانهای سختافزاری است که در آن، مدار مخرب تنها در پاسخ به یک سیگنال یا رویداد خاص از بیرون تراشه فعال میشود. این سیگنال میتواند یک ولتاژ غیرعادی روی پایههای ورودی، یک توالی خاص از دادهها در رابطهای ارتباطی (مانند JTAG یا UART)، یا حتی یک تحریک الکترومغناطیسی/نوری باشد [5]. با استفاده از این روش، تروجان در طول آزمونهای اولیه یا شرایط عادی پنهان میماند و فقط هنگام دریافت محرک خارجی عملکرد تخریبی یا جاسوسی خود را آغاز میکند [3]. این ویژگی سبب میشود که تشخیص چنین تروجانهایی با آزمونهای معمول دشوار بوده و نیازمند روشهای پیشرفته تحلیل جانبی و مانیتورینگ رفتار در شرایط غیرمعمول باشد [1].
فعالسازی تصادفی، روشی است که در آن تروجان سختافزاری بدون نیاز به سیگنال خارجی مشخص، پس از وقوع یک رویداد غیرقطعی یا پس از سپریشدن مدتزمانی طولانی، فعال میشود. در این روش، تروجان میتواند بر اساس شمارش تعداد معینی از سیکلهای کلاک، وقوع یک الگوی تصادفی در نویز حرارتی یا منبع اعداد شبهتصادفی داخلی تراشه، شرایط لازم برای شروع عملکرد مخرب را فراهم کند ]5[. از آنجا که لحظهی فعالسازی از پیش تعیینشده نیست و میتواند در طول عمر کاری مدار رخ دهد، شناسایی این دسته از تروجانها با آزمونهای سنتی تقریباً غیرممکن است و نیاز به تحلیلهای آماری و پایش طولانیمدت دارد ]1[. این نوع فعالسازی به مهاجمان اجازه میدهد تا احتمال کشف تروجان در طول فرآیند تست اولیه یا در کاربردهای کوتاهمدت را به حداقل برسانند ]3[. در جدول 3، روشهای فعالسازی تروجانهای سختافزاری و سطح تهدید هر یک از آنها ارائه شده است.
جدول 3: طبقهبندی تروجانهای سختافزاری بر اساس روشهای فعالسازی
روش فعالسازی |
تعریف | ویژگیهای کلیدی | چالشهای شناسایی |
مراجع |
زمانی |
تروجان پس از گذشت زمان مشخص یا رسیدن به یک شمارشگر داخلی فعال میشود. | الف) پنهانسازی طولانی در طول تستهای استاندارد
ب) وابسته به زمان یا شمارنده داخلی |
شناسایی دشوار به دلیل امکان مخفی ماندن در تستهای کوتاهمدت | [2] |
بر اساس سیگنال یا رویداد خاص |
فعالسازی در صورت وقوع یک سیگنال مشخص، ترکیب ورودیها یا شرایط منطقی خاص |
الف) حساس به ورودیهای خاص یا ترکیب سیگنالها ب) قابلیت ایجاد آسیب در شرایط واقعی |
سختی شناسایی در مراحل طراحی و تست به علت نیاز به ورودی خاص |
[8] |
ترکیبی |
استفاده همزمان از شرط زمانی، سیگنال خاص و گاهی ورودی خارجی |
الف) سطح بالای پنهانکاری ب) نیازمند تحلیل جانبی و پایش رفتار مدار |
نیاز به ابزارهای پیشرفته مانند تحلیل جانبی توان و پایش مدار |
[1] [8] |
فعالسازی خارجی | تروجان تنها در پاسخ به یک محرک خارجی مانند ولتاژ غیرعادی، توالی داده در رابطهای ارتباطی (JTAG/UART) یا تحریک الکترومغناطیسی فعال میشود. | الف) پنهانماندن در شرایط عادی و تستهای اولیه
ب) آغاز عملکرد مخرب پس از دریافت سیگنال بیرونی |
نیاز به تحلیل جانبی و مانیتورینگ در شرایط غیرمعمول |
[1] [3] [5] |
فعالسازی تصادفی |
تروجان بدون سیگنال خارجی مشخص و پس از وقوع رویداد غیرقطعی یا گذر زمان طولانی فعال میشود. |
الف) استفاده از شمارش سیکلهای کلاک یا الگوهای تصادفی نویز ب) زمان فعالسازی غیرقابلپیشبینی |
شناسایی تقریباً غیرممکن با آزمونهای سنتی؛ نیازمند تحلیل آماری و پایش بلندمدت |
[1][3][5] |
4-2- طبقهبندی تروجانهای سختافزاری بر اساس اثرگذاری بر عملکرد سامانه هدف
یکی از مهمترین معیارهای طبقهبندی تروجانهای سختافزاری، اثرگذاری بر عملکرد سامانه هدف است. تروجانهای سختافزاری ممکن است اثرات مستقیمی بر عملکرد مدارها و سامانههای دیجیتال داشته باشند یا به صورت غیرمستقیم باعث کاهش کارایی شوند. برخی تروجانها با هدف ایجاد اختلال و کاهش توان عملیاتی طراحی میشوند و میتوانند زمان پاسخدهی سامانه را افزایش دهند، خطاهای محاسباتی ایجاد کنند یا باعث خرابی اجزای حیاتی شوند [1]. این نوع اثرگذاری اغلب به سرعت قابل شناسایی نیست و ممکن است تا مدتها بدون کشف باقی بماند.
اثرگذاری تروجانها بر عملکرد میتواند به صورت قابل مشاهده یا مخفی باشد. تروجانهای قابل مشاهده، تغییرات عملکردی آشکاری در مدار ایجاد میکنند که با روشهای پایش عملکرد قابل شناسایی است. برای مثال، کاهش فرکانس پردازش یا افزایش غیرمعمول مصرف توان، از نشانههای مستقیم اثرگذاری بر عملکرد است [2]. در مقابل، تروجانهای مخفی به گونهای طراحی میشوند که عملکرد سامانه را ظاهراً بدون تغییر نگه دارند، ولی در پسزمینه دادهها را تغییر داده یا اطلاعات حساس را استخراج میکنند. این نوع تروجانها معمولاً شناسایی سختتری دارند و نیازمند تحلیلهای عمیق جانبی و روشهای ترکیبی هستند.
همچنین، اثرگذاری بر عملکرد میتواند به طور موقت یا دائمی باشد. برخی تروجانها تنها در شرایط خاص فعال میشوند و اثرات کوتاهمدتی بر عملکرد سامانه دارند، در حالی که برخی دیگر میتوانند باعث خرابی دائمی مدار یا کاهش طول عمر سامانه شوند [1] [6]. بنابراین در طبقهبندی تروجانهای سختافزاری، تحلیل دقیق اثرگذاری بر عملکرد اهمیت بالایی دارد و میتواند به طراحی استراتژیهای پیشگیری و شناسایی مؤثر کمک کند. در جدول 4، انواع اثرگذاری تروجانهای سختافزاری به همراه نمونه واقعی از آنها ارائه شده است.
جدول 4: طبقهبندی تروجانهای سختافزاری بر اساس اثرگذاری
نوع اثرگذاری |
شرح | نمونه واقعی / کاربردی |
منبع |
کاهش عملکرد سامانه |
تروجان باعث کاهش سرعت پردازش یا زمان پاسخدهی مدار میشود. | کاهش سرعت پردازنده در سامانههای جاسازیشده بدون تغییر ظاهری عملکرد |
[1] |
ایجاد خطاهای محاسباتی |
تروجان محاسبات را دچار خطا کرده و نتایج اشتباه تولید میکند. | تغییر مقادیر حافظه در سامانههای مالی یا بانکی بدون تغییر عملکرد ظاهری | [6] |
افزایش مصرف انرژی |
تروجان باعث مصرف اضافی توان و حرارت بیش از حد میشود. |
افزایش ناگهانی مصرف انرژی در ماژولهای FPGA یا ASIC |
[2] |
اختلال موقت |
تروجان تنها در شرایط خاص فعال میشود و عملکرد را مختل میکند. |
ایجاد تاخیر در پردازش دادهها تنها هنگام دریافت دستور مشخص |
[1] |
خرابی دائمی | تروجان باعث آسیب یا کاهش طول عمر سختافزار میشود. | آسیب دائمی به حافظه فلش یا بخشهای حساس پردازنده |
[6] |
5-2- طبقهبندی تروجانهای سختافزاری بر اساس سطح انتزاع طراحی
معیار سطح انتزاع طراحی یکی از مهمترین معیارهای طبقهبندی تروجانهای سختافزاری است و به سطحی از طراحی مدار که تروجان در آن تزریق میشود، اشاره دارد. سطح انتزاع طراحی میتواند از سطح بالا تا سطح پایین متفاوت باشد و هر سطح ویژگیها و چالشهای خاص خود را دارد. به عبارت دیگر، سطح انتزاع تعیین میکند که تروجان در کدام بخش از فرآیند طراحی یا تولید مدار وارد میشود و چه تأثیری بر عملکرد نهایی سامانه دارد [1].
در سطح بالای انتزاع طراحی مانند سطح انتقال ثبات یا طراحی مبتنی بر زبانهای توصیف سختافزار، تروجان میتواند به شکل تغییرات در منطق طراحی یا اضافهکردن ماژولهای مخفی در کد HDL اعمال شود. معمولاً شناسایی این نوع تروجانها دشوار است زیرا به رفتار منطقی سامانه نفوذ میکنند و ممکن است با تستهای معمول شناسایی خطا و صحت عملکرد، تشخیص داده نشوند [2]. تحقیقات نشان داده است که تروجانهای سطح انتقال ثبات میتوانند با کمترین تغییرات در کد، تغییرات گستردهای در رفتار نهایی مدار ایجاد کنند و عملکردهای امنیتی سامانه را به طور قابل توجهی تحت تأثیر قرار دهند [3].
در سطح پایینتر انتزاع طراحی، مانند سطح گیت یا لایه فیزیکی، تروجانها میتوانند با دستکاری اتصالات، اضافه کردن سلولهای مخرب یا تغییر توپولوژی تراشه تزریق شوند. به طور معمول، شناسایی این نوع تروجانها از طریق تحلیلهای جانبی، نظارت بر توان مصرفی یا آزمونهای دقیق ساختاری امکانپذیر است. به دلیل نزدیکی به سختافزار، این تروجانها میتوانند اثرات مخرب مستقیم بر عملکرد و امنیت سامانه داشته باشند و مقابله با آنها نیازمند ابزارها و روشهای تحلیل دقیقتر و پیشرفتهتر است ]5]. در جدول 5، مشخصات تروجانهای سختافزاری در سطوح مختلف انتزاع طراحی ارائه شده است.
جدول 5: مشخصات تروجانهای سختافزاری در سطوح مختلف انتزاع طراحی
سطح انتزاع طراحی |
محل تزریق تروجان | نوع تغییرات | روشهای شناسایی | اثرات بر عملکرد و امنیت |
سطح بالا |
کد منطق طراحی (Verilog، VHDL) |
اضافه کردن ماژول مخرب، تغییر منطق شرطی، تغییر مسیرهای داده |
بررسی کد، شبیهسازی، Format Verification
|
میتواند عملکرد منطقی سامانه را تحت تأثیر قرار دهد، شناسایی دشوار |
سطح گیت |
شبکه گیتها و ماژولهای منطقی |
تغییر در گیتها، اضافه کردن گیتهای مخرب، تغییر مسیر سیگنالها |
تحلیل ساختار گیت، آزمونهای اتوماتیک، مقایسه با طراحی اصلی |
اثر مستقیم بر رفتار مدار، تغییر زمانبندی و مصرف انرژی |
سطح فیزیکی | لایههای فیزیکی تراشه
(Placement، Routing) |
دستکاری اتصالات، اضافه کردن سلولهای مخرب، تغییر توپولوژی | آنالیز جانبی، پایش مصرف توان، میکروسکوپی، آزمون حرارتی |
اثرات شدید بر عملکرد، پتانسیل آسیب به امنیت و قابلیت اعتماد سامانه |
6-2- طبقهبندی تروجانهای سختافزاری بر اساس روش استتار
روش استتار تروجانهای سختافزاری یکی از معیارهای مهم طبقهبندی این تهدیدات امنیتی است. منظور از استتار، توانایی تروجان در مخفی ماندن از روشهای شناسایی سنتی شامل آزمونهای عملکردی، تحلیل جانبی و بررسی طراحی مدار است. تروجانهایی که از تکنیکهای پیشرفته استتار استفاده میکنند معمولاً با تغییر رفتار سیگنالها، اضافهکردن تأخیر زمانی یا استفاده از مسیرهای غیرقابل پیشبینی در مدار، خود را از روشهای استاندارد تشخیص پنهان میکنند [1]. این ویژگی باعث میشود شناسایی آنها با استفاده از روشهای سنتی مانند آزمون عملکردی یا تحلیل منطقی ساده بسیار دشوار باشد و بنابراین شناسایی آنها نیازمند رویکردهای جامع و چندجانبه است.
تروجانهای سختافزاری بر اساس روش استتار میتوانند به دو دسته اصلی تقسیم شوند: استتار فیزیکی و استتار منطقی. در استتار فیزیکی، عناصر تروجان به گونهای در مدار جاسازی میشوند که از نظر فیزیکی با سایر بخشها همگن به نظر برسند و به راحتی قابل تشخیص نباشند. در استتار منطقی، تروجان با بهرهگیری از شرایط ورودی خاص یا الگوهای زمانی غیرمنتظره فعال میشود و در شرایط عادی عملکرد مدار را تغییر نمیدهد [2]. این نوع استتار منطقی باعث میشود که حتی آزمایشهای دقیق عملکردی نیز نتوانند آن را شناسایی کنند، زیرا تروجان تنها در شرایط خاص و نادر عمل میکند.
استراتژیهای مقابله با تروجانهای استتار یافته، معمولاً نیازمند ترکیب روشهای تحلیل جانبی و آزمونهای پیچیده هستند. به عنوان مثال، تحلیل مصرف توان، تحلیل سیگنالهای گذرا و تکنیکهای یادگیری ماشین میتوانند به شناسایی تغییرات غیرمعمول در مدار کمک کنند که ممکن است ناشی از تروجانهای استتار یافته باشد [9]. همچنین استفاده از روشهای طراحی مقاوم (مثل طراحی با افزونگی منطقی یا مسیرهای موازی قابل بررسی) میتواند اثرگذاری تروجانهای استتار یافته را کاهش دهد و امکان شناسایی آنها را افزایش دهد. در جدول 6، مشخصات انواع استتار تروجانهای سختافزاری ارائه شده است.
جدول 6، مشخصات انواع استتار تروجانهای سختافزاری
نوع استتار |
مکانیزم استتار | اثرگذاری بر شناسایی | مثالها |
منابع |
استتار فیزیکی |
جاسازی عناصر تروجان در مدار به گونهای که از نظر فیزیکی با اجزای معمول همگن باشند. | بسیار دشوار، بازرسی فیزیکی و تصویربرداری نمیتواند به راحتی تشخیص دهد. | استفاده از دروازههای غیرفعال شده، نودهای اضافه، یا مسیرهای سیگنال موازی که فقط در شرایط خاص فعال میشوند. |
[1] [2] [3] |
استتار منطقی |
فعال شدن تروجان فقط در شرایط ورودی خاص یا الگوهای زمانی نادر. | آزمونهای عملکردی استاندارد قادر به شناسایی نیستند. تروجان در حالت عادی غیرفعال است | فعال شدن تنها وقتی که توالی خاصی از سیگنالها رخ دهد. مثال: تروجانهای مبتنی بر الگوی رمزگذاری یا کلیدهای مخفی |
[3] [5] [9] |
3- شناسایی تروجانهای سختافزاری در سامانههای نظارت تصویری
شناسایی تروجانهای سختافزاری یکی از حوزههای بسیار مهم در امنیت سختافزار و طراحی مدارهای مجتمع است. روشهای شناسایی تروجانهای سختافزاری را میتوان در سه دسته اصلی ذیل در نظر گرفت:
الف) شناسایی تروجانهای سختافزاری در مرحله پیش از تولید
ب) شناسایی تروجانهای سختافزاری در مرحله پس از تولید
ج) شناسایی تروجانهای سختافزاری در مرحله زمان اجرا
1-3- شناسایی تروجانهای سختافزاری در مرحله پیش از تولید
روشهای پیش از تولید برای شناسایی تروجانهای سختافزاری در مرحله طراحی و پیش از ساخت تراشه بهکار میروند. این دسته از روشها معمولاً شامل تحلیل کد منبع، بررسی مدلهای رفتاری و شبیهسازی مدار است. یکی از مهمترین تکنیکها در این حوزه، بازبینی و تحلیل کد HDL مانند Verilog یا VHDL است که به کمک ابزارهای Format verification و آنالیز ایستا انجام میشود. این ابزارها میتوانند منطق اضافی، مسیرهای غیرمنتظره و تغییرات مشکوک در طراحی را آشکار سازند. مزیت اصلی این رویکرد، هزینه پایین و امکان اصلاح سریع قبل از ورود به فاز ساخت است، اما مشکل اصلی آن در پوشش ناکامل حالتها و سناریوهای عملیاتی نهفته است [10].
روش دیگر، شبیهسازی عملکردی و تحلیل مبتنی بر آزمون است. در این رویکرد، مجموعهای از بردارهای آزمون به طراحی اعمال میشود تا رفتار مدار در شرایط مختلف بررسی گردد. اگر بخشهایی از طراحی تنها تحت شرایط بسیار خاص فعال شوند (که یکی از ویژگیهای تروجانها است)، احتمال آشکارسازی آنها وجود دارد. این روش به دلیل فضای ورودی بسیار بزرگ، همواره نمیتواند همه مسیرهای پنهان را فعال کند. برای افزایش دقت، از تکنیکهایی مانند تحلیل پوشش و ایجاد آزمونهای تصادفی استفاده میشود ]5[. در واقع، این دو روش مکمل یکدیگر در شناسایی تروجانهای سختافزاری در مرحله طراحی و پیش از ساخت هستند. یکی برای کشف نقاط ضعف آزمون و دیگری برای ایجاد شرایط غیرمنتظره جهت فعالسازی احتمالی تروجان بهکار میرود.
روش تحلیل پوشش کمک میکند که پی ببریم چه بخشهایی از مدار هنوز تست نشده است و احتمال پنهان بودن تروجان در آنها زیاد است. در تست و اعتبارسنجی مدارهای مجتمع، همیشه این خطر وجود دارد که بخشهایی از مدار هرگز تحت شرایط تست قرار نگیرند. تروجانهای سختافزاری معمولاً در همین بخشهای کمتر تستشده پنهان میشوند و در حالت عادی فعال نمیگردند. به عنوان مثال، فرض کنید یک تروجان فقط زمانی فعال میشود که یک سیگنال کنترلی خاص و یک مقدار داده نادر همزمان رخ دهند. اگر در آزمونهای مرسوم این وضعیت بررسی نشود، تروجان هرگز کشف نخواهد شد. با استفاده از تحلیل پوشش مسیرها و شرایط میتوان دید که چه درصدی از حالات منطقی مدار تست شده و کدام بخشها همچنان بدون تست مانده است. این کار کمک میکند تا احتمال فعال شدن تروجانها در نواحی تستنشده کاهش یابد.
ایجاد آزمونهای تصادفی کمک میکند شرایط غیرمعمولی ایجاد شود که احتمال فعال شدن تروجان را بالا ببرد. آزمونهای مبتنی بر روشهای سنتی، اغلب مبتنی بر الگوهای از پیش تعیینشده هستند. اما چون تروجانها بهگونهای طراحی میشوند که با ورودیهای عادی فعال نشوند، تستهای معمولی ممکن است ناکافی باشند. تولید تصادفی تستها (مثلاً با استفاده از الگوریتمهای تصادفی محدود یا مبتنی بر قید) باعث میشود ورودیهای غیرمنتظره به مدار اعمال شود. این ورودیهای غیرعادی میتوانند شرایطی را فراهم کنند که تروجان فعال شوند. به عنوان مثال، اگر تروجان تنها با یک ترکیب نادر از بیتهای ورودی روشن شود، تولید تستهای تصادفی میتواند احتمال رخ دادن این ترکیب را در فرایند آزمون افزایش دهد.
روش تحلیل ساختاری و مقایسهای نیز از روشهای پرکاربرد دیگر برای شناسایی تروجانهای سختافزاری در مرحله طراحی و پیش از ساخت تراشه است. در این رویکرد، ساختار طراحی با یک نسخه مرجع مقایسه میشود تا منطق یا بلوکهای اضافی شناسایی شوند. این مقایسه میتواند بر پایه تعداد گیتها، توپولوژی مدار یا روابط بین سیگنالها انجام گیرد. اگرچه این روش برای شناسایی تغییرات آشکار بسیار مؤثر است، اما در برابر تروجانهای بسیار کوچک و بهینهشده که تغییرات جزئی در مدار ایجاد میکنند، حساسیت پایینی دارد [9]. بهطور کلی، ترکیب این روشها در مرحله پیش از تولید، امکان شناسایی طیف وسیعتری از تروجانهای سختافزاری را فراهم میسازد.
2-3- شناسایی تروجانهای سختافزاری در مرحله پس از تولید
روشهای پس از تولید برای شناسایی تروجانهای سختافزاری در مرحلهای بهکار میروند که تراشه ساخته شده و قابل آزمایش فیزیکی است. یکی از اصلیترین رویکردها در این حوزه تحلیل کانالهای جانبی است. این روش بر مبنای بررسی ویژگیهای فیزیکی مانند مصرف توان، تابش الکترومغناطیسی و زمانبندی سیگنالها استوار است. ایده اصلی آن است که حضور تروجان حتی اگر کوچک هم باشد باعث تغییرات قابل اندازهگیری در این پارامترها میشود. برای مثال، تحلیل توان میتواند اختلافات آماری میان تراشه سالم و مشکوک را آشکار سازد. با وجود این، تغییرات محیطی و فرآیندی (مانند نوسان دما یا تغییرات ساخت) میتواند دقت این روشها را کاهش دهد [5].
روش دیگر برای شناسایی تروجانهای سختافزاری در مرحله پس از تولید، مقایسه با تراشه مرجع است. در این رویکرد، خروجیها و مشخصات فیزیکی تراشه مشکوک با نسخه سالم و تأییدشده مقایسه میشوند. این مقایسه میتواند در سطح پاسخ به بردارهای تست یا در سطح ویژگیهای جانبی (مانند اثر انگشت تاخیر مسیر) انجام گیرد. مزیت این روش، سادگی و دقت بالا در شرایط وجود تراشه مرجع معتبر است ولی در عمل، همیشه دسترسی به تراشه مرجع امکانپذیر نیست، بهخصوص در زنجیرههای تأمین پیچیده که چندین تأمینکننده درگیر هستند [9].
یکی دیگر از روشهای شناسایی تروجانهای سختافزاری در مرحله پس از تولید، آزمونهای آماری و یادگیری ماشین بهعنوان ابزارهای مکمل است. در این رویکرد، دادههای جمعآوریشده از صدها یا هزاران تراشه تحلیل میشوند تا انحرافهای آماری یا الگوهای غیرعادی که نشانگر وجود تروجان است شناسایی شوند. الگوریتمهای دستهبندی و خوشهبندی در یادگیری ماشین کمک میکنند تا تفاوتهای ظریف ناشی از تروجان، حتی بدون تراشه مرجع آشکار شوند. نقطه ضعف این روش، نیازمندی آن هم به حجم بالای داده و هم به قدرت محاسباتی زیاد است. پژوهشهای اخیر نشان دادهاند که ترکیب یادگیری ماشین با تحلیل کانالهای جانبی میتواند کارایی تشخیص را بهطور چشمگیری افزایش دهد [11].
3-3- شناسایی تروجانهای سختافزاری در مرحله زمان اجرا
روشهای شناسایی تروجانهای سختافزاری در مرحله زمان اجرا به تکنیکهایی اشاره دارند که در هنگام بهرهبرداری واقعی از مدار یا سیستم، رفتار آن را بهطور پویا پایش کرده و به دنبال انحراف از الگوهای معمول عملکردی میگردند. این دسته از روشها برخلاف روشهای پیش از تولید، به تحلیل مستقیم خروجیها، سیگنالهای جانبی و فعالیتهای غیرمنتظره در حین عملکرد واقعی تراشه متکی هستند. یکی از مزیتهای اصلی این رویکرد، توانایی شناسایی تروجانهایی است که تنها تحت شرایط خاص فعال میشوند و ممکن است در فرآیندهای تست اولیه یا شبیهسازی قبل از تولید قابل مشاهده نباشند [12].
یکی از روشهای پرکاربرد در این دسته، پایش ویژگیهای جانبی در زمان اجرا است. برای مثال، تغییرات در توان مصرفی، نویز الکترومغناطیسی یا تأخیرهای سیگنالی میتواند نشانهای از فعالسازی یک تروجان باشد. این روش معمولاً نیازمند مقایسه مداوم بین مقادیر اندازهگیریشده و الگوهای مرجع است. در صورتی که اختلاف قابل توجهی شناسایی شود، احتمال وجود تروجان مطرح میشود [13]. با این حال، محدودیت این رویکرد آن است که تروجانهای کوچک یا کممصرف ممکن است تغییرات چندانی ایجاد نکنند و شناسایی آنها دشوار باشد.
رویکرد دیگر در شناسایی زمان اجرا، استفاده از مکانیزمهای تحمل خطا و بررسی سازگاری خروجیها است. در این روش، سامانه با افزونگی سختافزاری یا نرمافزاری (مانند اجرای همزمان در چند هسته یا استفاده از واحدهای بررسیکننده) تجهیز میشود تا خروجیهای تولیدشده را با یکدیگر مقایسه کند. در صورتی که اختلاف غیرمنتظرهای در خروجیها مشاهده شود، احتمال دخالت تروجان مطرح میشود [9]. این روش بهخصوص در کاربردهای حساس مانند سامانههای نظامی یا فضاپیماها کاربرد دارد، اما هزینه سختافزاری و توان مصرفی آن بالاست.
به طور کلی، روشهای شناسایی زمان اجرا انعطافپذیری بالایی دارند و میتوانند برای شناسایی طیف وسیعی از تهدیدات به کار روند. با این حال، چالش اصلی آنها افزایش سربار سامانه و احتمال خطای مثبت کاذب است. پژوهشهای اخیر به سمت استفاده از یادگیری ماشین و تحلیل آماری آنلاین در این حوزه حرکت کردهاند تا بتوانند الگوهای رفتاری مشکوک را با دقت بیشتر و سربار کمتر شناسایی کنند [14].
4- نتیجهگیری
با توجه به اهمیت سامانههای نظارت تصویری در زیرساختهای حیاتی و افزایش پیچیدگی تهدیدات سختافزاری، تروجانهای سختافزاری بهعنوان یکی از جدیترین خطرات امنیتی مطرح هستند. این تهدیدات به دلیل قابلیت پنهانکاری و تأثیر مستقیم یا غیرمستقیم بر عملکرد مدار، میتوانند نشت اطلاعات، اختلال در عملکرد سامانه و حتی آسیب به زیرساختهای حیاتی ایجاد کنند. بررسی و طبقهبندی تروجانها بر اساس معیارهایی نظیر محل قرارگیری در مدار، اندازه و پیچیدگی، روش فعالسازی، اثرگذاری بر عملکرد، سطح انتزاع طراحی و روش استتار، امکان شناسایی بهتر و طراحی راهکارهای پیشگیرانه و مقابلهای مؤثر را فراهم میکند.
روشهای شناسایی تروجانهای سختافزاری در مراحل مختلف طراحی، تولید و زمان اجرا اهمیت ویژهای دارند. در مرحله پیش از تولید، تحلیل کد HDL، شبیهسازی عملکردی و مقایسه ساختاری، امکان کشف بسیاری از نقاط ضعف طراحی را فراهم میکند، اما تروجانهای پیچیده و پنهان همچنان چالشبرانگیز باقی میمانند. در مرحله پس از تولید، تحلیل کانالهای جانبی، مقایسه با تراشه مرجع و استفاده از الگوریتمهای یادگیری ماشین، دقت تشخیص را افزایش میدهد. همچنین، پایش زمان اجرا و استفاده از مکانیزمهای تحمل خطا، شناسایی تروجانهایی که تنها در شرایط خاص فعال میشوند را ممکن میسازد.
در نهایت، موفقیت در مقابله با تروجانهای سختافزاری نیازمند رویکردی جامع و چندلایه است که ترکیبی از پیشگیری، شناسایی و واکنش سریع باشد. طراحی سامانههای نظارت تصویری امن باید بر اساس تحلیل دقیق تهدیدات، استفاده از ابزارهای پیشرفته تحلیل جانبی، یادگیری ماشین و استراتژیهای مقاومسازی سختافزاری انجام شود تا احتمال نفوذ تروجانها کاهش یافته و قابلیت اعتماد سامانه افزایش یابد. پژوهشهای آینده میتواند با تمرکز بر روشهای تشخیص خودکار، کاهش هزینههای پایش و بهبود شناسایی تروجانهای پنهان و پیچیده، امنیت سختافزار سامانههای حیاتی را بیش از پیش تقویت کند.
منابع و مراجع:
[1] S. Bhunia, M, Tehranipoor, “Hardware Security: A Hands-on Learning Approach”, Oxford, Elsevier, 2018.
[2] W. Stallings, “Computer Security: Principles and Practice”, 4th ed, Boston, MA: Pearson, 2020.
[3] R. Karri, J. Rajendran, K. Rosenfeld, M. Tehranipoor, “Trustworthy Hardware: Identifying and Classifying Hardware Trojans”, Computer, vol. 43, no. 10, IEEE, 2010.
[4] M. Banga, M. S. Hsiao, “A Region Based Approach for the Identification of Hardware Trojans,” Proc. IEEE Hardware-Oriented Security and Trust (HOST), 2008.
[5] M. Tehranipoor, F. Koushanfar, “A Survey of Hardware Trojan Taxonomy and Detection,” IEEE Design & Test of Computers, vol. 27, no. 1, pp. 10–25, 2010.
[6]. M. Potkonjak, “Hardware Trojan Detection and Prevention,” ACM Computing Surveys, vol. 51, no. 1, pp. 1–36, 2018.
[7] M. Hicks et al., “Overcoming the Challenges of Hardware Trojan Detection,” Proceedings of the IEEE, vol. 102, no. 8, pp. 1238–1257, 2014.
[8] R. S. Chakraborty, S. Bhunia, Hardware Trojan: Threats and Emerging Solutions, Springer, 2015.
[9] Y. Jin, Y. Makris, “Hardware Trojan Detection Using Path Delay Fingerprints,” IEEE Transactions on Computers, vol. 58, no. 11, pp. 1394-1405, 2009.
[10] W. Hu, U. Guin, M. Tehranipoor, “A Framework for Hardware Trojan Detection Using Property Checking.” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2016.
[11] C. Lyu, P. Mishra, “Scalable and Efficient Hardware Trojan Detection Using Machine Learning Classifiers.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2019.
[12] X. Zhang, M. Tehranipoor, J. Plusquellic, “Detecting hardware Trojans in integrated circuits using run-time side-channel analysis”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2014.
[13] R. Rad, J. Plusquellic, M. Tehranipoor, “Sensitivity analysis to hardware Trojans using power supply transient signals”, IEEE International Workshop on Hardware-Oriented Security and Trust (HOST), 2010.
[14] C. Lyu, P. Mishra, “Scalable runtime monitoring for hardware Trojan detection using machine learning”, ACM Transactions on Design Automation of Electronic Systems (TODAES), 2018.
درباره نویسنده
احتمالاً این مطالب را هم میپسندید
-
تروجانهای سختافزاری در سامانههای نظارت تصویری، انواع، اجزا و روشهای فعالسازی
-
استاندارد، آزمایش و سنجش انطباقپذیری دوربین مداربسته، مولفههای تحقق کارآمدی نظارت تصویری
-
سپتام چگونه سالیانه هر ایرانی را 500 دلار ثروتمندتر میسازد؟
-
امنیت انتقال تصاویر دوربین مداربسته با کدام روش؟ چرا P2P امن نیست؟
-
دولتِ خستۀ الکترونیک ایران