تروجان سختافزاری
تروجان سختافزاری یک تغییر مخرب در یک مدار یکپارچه است. یک تروجان سختافزاری کاملاً از طریق ویژگیهای فیزیکی و ظاهری یا رفتاری مشخص میشود. عامل مخرب یک تروجان سختافزاری، کل فعالیتی است که تروجان هنگام اجرای آن انجام میدهد. بهطور کلی، تروجانهای مخرب سعی در دور زدن یا غیرفعال کردن مکانیزمهای امنیتی یک سیستم دارند: این امر میتواند اطلاعات محرمانه را به بیرون درز دهد. تروجان سختافزاری همچنین میتواند کل تراشه یا اجزای آن را غیرفعال، مختل یا نابود کند.
تروجانهای سختافزاری ممکن است به صورت ناخواسته در هنگام طراحی مدار کامپیوتری ایجاد شوند. از طریق استفاده از مدارهای مجتمع با کاربرد خاص یا هسته نیمههادی مالکیت معنوی که از منبع غیر معتبر خریداری شدهاند. یا کارمند شرکت سازنده، به علت انگیزهٔ شخصی، یا عضویت در گروهی مشخص یا جاسوسی برای دولتی خاص، به صورت بدخواهانه و از عمد این کار را انجام دهد.[1]
یکی از مقالههای اخیر که در IEEE منتشر شدهاست، توضیح میدهد که چگونه یک طراحی سختافزاری حاوی یک تروجان، میتواند یک کلید رمزنگاری را بوسیلهٔ آنتن یا ارتباطه شبکهای، به بیرون درز دهد. این کار از طریق اعمال فعالساز «تخممرغ عید پاک» اتفاق میافتد.[2]
در بخشهای فناوری اطلاعات دولتی که نسبت به مسایل امنیتی حساس هستند، تروجانهای سختافزاری یک مشکل شناختهشده هنگام خرید سختافزارهایی مانند: KVM سوییچ، صفحه کلید، موشواره، کارت شبکه یا سایر تجهیزات شبکه هستند. این مسیله به ویژه وقتی مهم میشود که قصد داشته باشیم این تجهیزات را از منابع غیرمعتبر خریداری کینم. این منابع میتوانند تروجانهایی را قرار دهند که از طریق آن بتوان گذرواژههای صفحه کلید را به بیرون انتشار داد یا ورودی غیرمجاز از راه دور ایجاد کرد.[3]
زمینه
در یک اقتصاد جهانی متنوع، برونسپاری وظایف تولید، روشی متداول برای کاهش هزینه محصول است. دستگاههای سختافزاری نهفته، همیشه توسط بنگاههایی که آنها را طراحی یا میفروشند تولید نمیشوند و همچنین لزومی ندارد که در همان کشور سازنده مورد استفاده قرار گیرند. برونسپاری تولید میتواند باعث ایجاد شک و تردید در تغییر طراحی مشتری توسط شرکت سازنده شود. هر کسی که به فرایند تولید دسترسی داشته باشد، میتواند عملاً تغییراتی را در محصول نهایی وارد کند. برای محصولات پیچیده، تشخیص تغییرات کوچک اما با تأثیرات بزرگ، میتواند مشکل باشد.
برای سازمانهای دولتی تغییر طراحی به صورت بدخواهانه، و مخرب یک تهدید محسوب میشود. یکی از راههای کاهش آسیبپذیری در بخشهای نظامی، مالی، انرژی و اقتصادی، رفع شک در مورد صحت سختافزار است. از آنجا که ساخت مدارهای یکپارچه در کارخانجات غیرقابل اعتماد رایج است، روشهای تشخیص پیشرفتهای معرفی شدهاند که میتوانند اجزایی که مهاجم آنها را در سختافزار پنهان کرده، یا قصد خرابکاری در عملکرد مدار دارند، تشخیص دهند.
ویژگیهای تروجانهای سختافزاری
تروجانهای سختافزاری را میتوان با مشخصات فیزیکی، مرحلهٔ فعال سازی و مرحلهٔ عمل آن دستهبندی کرد. روشهای دیگر تروجانهای سختافزاری را از طریق عامل فعالساز، عامل مخرب و نحوه مخفیسازی دستهبندی میکنند.
خصوصیات فیزیکی
بر اساس خصوصیات فیزیکی میتوان تروجانها را به دو دسته عملکردی یا پارامتری دستهبندی کرد. تروجان از نوع عملکردی است اگر حملهکننده ترانزیستورها یا گیتهای طراحی را اضافه یا کم کند. نوع دیگر تروجان، تروجان پارامتری است که در آن مدار اصلی را تغییر میدهند، مثلاً نازک کردن سیمها، تضعیف فلیپ فلاپها یا ترانزیستورها، قرار دادن تراشه در معرض تشعشع، یا استفاده از (Focused Ion-Beams(FIB برای کاهش قابلیت اطمینان یک تراشه.
اندازه تروجان گستره فیزیکی آن یا تعداد اجزای سازنده آن تعریف میشود. از آنجا که یک تروجان میتواند از اجزای زیادی تشکیل شود، طراح میتواند قسمتهای یک منطق مخرب را روی تراشه توزیع کند. منطق اضافی میتواند هر کجا از تراشه که نیاز برای تغییر، اضافه کردن یا حذف یک عملکرد باشد قرار گیرد. اگر عملکرد تروجان به آن نیاز داشته باشد، اجزای مخرب میتوانند پراکنده شوند. به این توزیع بیقاعده گفته میشود. از طرف دیگر، یک تروجان میتواند تنها از اجزای کمی تشکیل شده باشد، درنتیجه فضای کمی از تراشه را اشغال میکند و به آن توزیع قاعدهمند میگویند.
اگر طرف مقابل نخواهد هیچ تلاشی به خرج دهد، میتواند فقط طرح را بازسازی کند، بنابراین محل قرارگیری اجزای تراشه تغییر میکند. در موارد نادر ابعاد تراشه تغییر مییابد. این تغییرات به عنوان تغییرات ساختاری شناخته میشوند.
ویژگیهای فعالسازی
تروجانها بهطور معمول شرط محور هستند: توسط حسگرها، منطق داخلی، الگوی ورودی خاص یا مقدار یک شمارنده داخلی فعال میشوند. تروجانهای شرط محور از طریق اثرات توانی وقتی که غیرفعال هستند تا حدودی قابل تشخیص هستند. علت آن، کسر جریان توسط عامل فعالساز یا مدار شمارندهای است که تروجان را فعال میکند.
تروجانهای سختافزاری را میتوان با روشهای مختلفی فعال کرد. یک تروجان میتواند به صورت داخلی فعال شود، به این معنی که یک یا چند سیگنال را درون تراشه پایش میکند. مدار مخرب میتواند منتظر یک منطق شمارش معکوس باشد که یک مهاجم به تراشه اضافه کردهاست، به طوری که تروجان پس از یک بازه زمانی خاص فعال میشود. همچینین یک تروجان میتواند به صورت خارجی فعال شود. ممکن است داخل مدار، منطق بدخواهانهای باشد که حملهکننده با استفاده از آنتن یا دیگر حسگرها میتواند به تراشه دسترسی پیدا کند. به عنوان مثال، یک تروجان میتواند در داخل سیستم کنترل موشک کروز قرار داشته باشد. صاحب موشک نمیداند که دشمن قادر خواهد بود موشکها را از طریق رادیو خاموش کند.
تروجانی که همیشه روشن است میتواند یک سیم کاهش یافته باشد. تراشهای که به این روش تغییر یافتهاست، هر زمان به شدت از آن سیم استفاده شود، ایجاد خطا میکند یا از کار میافتد. مدارهای همیشه روشن روشن از طریق اثرات توانی به سختی قابل تشخیص هستند.
در این زمینه تروجانهای ترکیبی و تروجانهای ترتیبی ازهم متمایز میشوند. یک تروجان ترکیبی سیگنالهای داخلی را کنترل میکند تا اینکه یک شرط خاص رخ دهد. تروجان ترتیبی نیز یک مدار شرط محور است که به صورت داخلی فعال میشود، اما بر خلاف تروجانهای ترکیبی، سیگنالهای داخلی و دنبالهها را برای وضعیت یا شرطی خاص، کنترل و جستجو نمیکند.
استخراج کلید رمزنگاری
استخراج کلیدهای سری به وسیله تروجان سختافزاری بدون شناسایی تروجان، مستلزم این است که تروجان از یک سیگنال تصادفی یا رمزنگاری استفاده کند.
برای جلوگیری از ذخیره شدن کلید رمزنگاری در تروجان و کاهش آن، میتوان از یک تابع کپیناپذیر فیزیکی استفاده کرد.[4] تابع کپیناپذیر فیزیکی از نظر اندازه کوچک هستند و در حالی که خصوصیات رمزنگاری آنها میتواند متفاوت باشد، ممکن است دارای طرح یکسان باشند
ویژگیهای عملی
تروجان سختافزاری میتواند عملکرد تراشه را تغییر داده یا خصوصیات پارامتری تراشه را تغییر دهد (به عنوان مثال باعث برانگیخته شدن تأخیر فرایند میشود). اطلاعات محرمانه نیز میتوانند به حملهکننده (انتقال اطلاعات کلیدی) منتقل شوند.
تروجانهای سختافزاری دستگاههای جانبی
یک عامل تهدید جدید برای شبکهها و نقاط انتهایی شبکه، تروجان سختافزاری است که به عنوان یک دستگاه جانبی فیزیکی که به منظور تعامل با نقطهٔ انتهایی شبکه با استفاده از پروتکل ارتباطی دستگاه جانبی تأیید شده، ظاهر میشود. به عنوان مثال، یک صفحه کلید USB تمام چرخههای پردازش مخرب را با برقراری ارتباط با نقطه انتهایی شبکه هدف با استفاده از کانالهای USB ناخواسته، از نقطه انتهایی شبکه هدف که به آن وصل شدهاست مخفی میکند. هنگامی که دادههای حساس از نقطه انتهایی شبکه مورد نظر به تروجانهای سختافزاری منتقل میشوند، تروجانهای سختافزاری میتواند دادهها را پردازش کرده و تصمیم بگیرد که با آنچه کاری انجام دهد: ذخیره آن در حافظه برای بازیابی در آینده یا فیلترکردن آن به اینترنت با استفاده از شبکه بیسیم یا استفاده از نقطهٔ انتهایی تحت نفوذ قرار گرفته.[5][6]
پتانسیل تهدید
یک تروجان معمولاً در بیشتر بازهٔ زمانی استفاده از دستگاه تغییریافته، منفعل است اما فعال شدن آن میتواند خسارت مهلکی ایجاد کند. اگر تروجان فعال شود، عملکرد آن میتواند تغییر کند، دستگاه میتواند نابود یا غیرفعال شود، میتواند اطلاعات محرمانه را به بیرون درز دهد یا امنیت و ایمنی را خراب کند. تروجانها مخفی هستند، به این معنی که پیش شرط فعال سازی آنها یک اتفاق بسیار نادر است. تکنیکهای آزمایش سنتی کافی نیستند. یک خطای تولید در یک موقعیت تصادفی اتفاق میافتد در حالی که تغییرات بدخواهانه در جایی قرار داده میشوند که از شناسایی آنها جلوگیری شود.
تشخیص
بازرسی فیزیکی
ابتدا برای ظاهر شدن مدار، روکش آن برش داده میشود. سپس، مهندس در حالی که لایههای تراشه را خرد میکند، مرتباً سطح مدار را اسکن میکند. چندین عملیات برای اسکن مدار وجود دارد. روشهای معمول بازرسی بصری عبارتند از: اسکن میکروسکوپ نوری(SOM) اسکن میکروسکوپ الکترونی (SEM) ,[7] تجزیه و تحلیل مدار تصویربرداری پیکو دوم (PICA)، تصویربرداری کنتراست ولتاژ (VCI) , تغییر ولتاژ القای نور (LIVA) یا القای شارژ تغییر ولتاژ (CIVA). برای مقایسه طرح کف تراشه باید با تصویر تراشه واقعی مقایسه شود. این هنوز هم بسیار چالشبرانگیز است. برای تشخیص تروجان سختافزاری که شامل کلیدهای (رمزنگاری) متفاوت است، با استفاده از تصویری که تفاوت را نشان میدهد میتوان به ساختار متفاوت روی تراشه پی برد. تنها تروجان سختافزاری شناخته شده با استفاده از کلیدهای رمزنگاری منحصر به فرد اما دارای همان ساختار است.[8] این خاصیت غیرقابل کشف بودن تروجان را افزایش میدهد.
آزمایش عملکردی
این روش تشخیصی، درگاههای ورودی یک تراشه را تحریک میکند و بر خروجی نظارت میکند تا خطاهای ساخت را تشخیص دهد. اگر مقادیر منطقی خروجی با الگوی اصلی مطابقت نداشته باشد، میتوان نقص یا تروجان را پیدا کرد.
تستهای داخلی
خودآزمایی داخلی (BIST) و طراحی برای تست (DFT) روشهایی هستند برای اضافه کردن مدار و منطقی به تراشه به منظور تأیید این که مدار مشخصات عملکردی خود را پیادهسازی میکند. منطق دیگری بر برانگیخته شدن ورودی و سیگنالهای داخلی یا وضعیتهای حافظه نظارت میکند. این کار بهطور کلی با محاسبه checksums یا با نمایش دادن رجیسترهای داخلی از طریق روشهای اسکن، انجام میشود. در جایی که معمولاً DFT با برخی سازوکارهای تست خارجی هماهنگ میشود، تراشههای دارای BIST مولدهای الگوی تست را با یکدیگر ترکیب میکنند. عملکرد BIST اغلب برای انجام تأیید سرعت (سرعت بالا) است. در جایی که امکان استفاده از زنجیرههای اسکن یا سایر قابلیتهای DFT با سرعت کم امکانپذیر نیست، هر دو روش در ابتدا برای تشخیص خطاهای هنگام تولید ساخته شده بودند، اما همچنین دارای پتانسیل استفادهٔ خوب و بد هستند به این صورت که میتوان از آنها برای تشخیص برخی از اثرات منطق مخرب بر روی تراشه استفاده کرد، یا منطق مخرب بوسیلهٔ آنها به صورت پنهانی وضعیت چیپ را از راه دور بازرسی کند.
در نظر بگیرید که چگونه DFT منطق ناخواسته را تشخیص میدهد. هنگامی که توسط ورودیهای DFT هدایت میشود، تراشه اصلی یک امضای آشنا تولید میکند، اما یک تراشه معیوب یا تغییر یافته یک امضای غیرمنتظره را نشان میدهد. امضا ممکن است از تعداد مختلفی از دادههای خروجی تراشه تشکیل شود: یک زنجیره اسکن کامل یا نتیجهٔ دادهٔ واسط. در زمینه شناسایی تروجان، منطق DFT ممکن است به عنوان یک الگوریتم رمزنگاری در نظر گرفته شود: استفاده از ورودی DFT به عنوان کلید برای امضای پیام برگرفته از رفتار طرح مورد آزمایش. در زمینهٔ جلوگیری از نفوذ، عملکردهای BIST یا DFT بهطور معمول در خارج از محیط تولید، غیرفعال (از طریق پیکربندی سختافزار) هستند زیرا دسترسی آنها به وضعیت داخلی تراشه میتواند عملکرد آن را در معرض کنترل مخفی یا حملهٔ خرابکارانه قرار دهد.
تجزیه و تحلیل کانال جانبی
هر وسیله فعال الکتریکی سیگنالهای مختلفی مانند میدان مغناطیسی و الکتریکی را منتشر میکند. این سیگنالها که ناشی از فعالیت الکتریکی هستند، برای بدست آوردن اطلاعاتی در مورد وضعیت و دادههایی که دستگاه پردازش میکند، میتوان مورد تجزیه و تحلیل قرار داد. روشهای پیشرفتهای برای اندازهگیری این اثرات جانبی ایجاد شده و بسیار حساس هستند (حملهٔ کانال جانبی). از این رو، میتوان از طریق اندازهگیری این سیگنالهای آنالوگ، تروجانهای بههمپیوسته را تشخیص داد. مقادیر اندازهگیری شده را میتوان به عنوان امضای دستگاه مورد نظر استفاده کرد. همچنین معمول است که مجموعهای از مقادیر قابل اندازهگیری برای جلوگیری از خطاهای اندازهگیری یا دیگر بیدقتیها مورد ارزیابی قرار گیرند.
جستارهای وابسته
- FDIV
- در پشتی سختافزاری
- مبهمسازی سختافزاری
- امنیت سختافزار
- کلبد قطع اضطرای
- تابع کپیناپذیر فیزیکی (PUF)
- سوییچ امنیتی
خواندن بیشتر
- Mainak Banga and Michael S. Hsiao: A Region Based Approach for the Identification of Hardware Trojans, Bradley Department of Electrical and Computer Engineering, Virginia Tech. , Host'08, 2008
- A. L. D’Souza and M. Hsiao: Error diagnosis of sequential circuits using region-based model, Proceedings of the IEEE VLSI Design Conference, January, 2001, pp. 103–108.
- C. Fagot, O. Gascuel, P. Girard and C. Landrault: On Calculating Efficient LFSR Seeds for Built-In Self Test, Proc. Of European Test Workshop, 1999, pp 7–14
- G. Hetherington, T. Fryars, N. Tamarapalli, M. Kassab, A. Hassan and J. Rajski: Logic BIST for large industrial designs, real issues and case studies, ITC, 1999, pp. 358–367
- W. T. Cheng, M. Sharma, T. Rinderknecht and C. Hill: Signature Based Diagnosis for Logic BIST, ITC 2006, Oct. 2006, pp. 1–9
- Rajat Subhra Chakraborty, Somnath Paul and Swarup Bhunia: On-Demand Transparency for Improving Hardware Trojan Detectability, Department of Electrical Engineering and Computer Science, Case Western Reserve University, Cleveland, OH, USA
- Yier Jin and Yiorgos Makris: Hardware Trojan Detection Using Path Delay Fingerprint, Department of Electrical Engineering Yale University, New Haven
- Reza Rad, Mohammad Tehranipoor and Jim Plusquellic: Sensitivity Analysis to Hardware Trojans using Power Supply Transient Signals, 1st IEEE International Workshop on Hardware-Oriented Security and Trust (HOST'08), 2008
- Dakshi Agrawal, Selcuk Baktir, Deniz Karakoyunlu, Pankaj Rohatgi and Berk Sunar: Trojan Detection using IC Fingerprinting, IBM T.J. Watson Research Center, Yorktown Heights, Electrical \& Computer Engineering Worcester Polytechnic Institute, Worcester, Massachusetts, ۱۰ نوامبر ۲۰۰۶
- P. Song, F. Stellari, D. Pfeiffer, J. Culp, A. Weger, A. Bonnoit, B. Wisnieff, T. Taubenblatt: MARVEL - Malicious Alteration Recognition and Verification by Emission of Light,IEEE Int. Symp. on Hardware-Oriented Security and Trust (HOST), pp. 117–121, 2011
- Xiaoxiao Wang, Mohammad Tehranipoor and Jim Plusquellic: Detecting Malicious Inclusions in Secure Hardware, Challenges and Solutions, 1st IEEE International Workshop on Hardware-Oriented Security and Trust (HOST'08), 2008
- Miron Abramovici and Paul Bradley: Integrated Circuit Security - New Threats and Solutions
- Zheng Gong and Marc X. Makkes: Hardware Trojan Side-channels Based on Physical Unclonable Functions - Information Security Theory and Practice. Security and Privacy of Mobile Devices in Wireless Communication 2011, Lecture Notes in Computer Science 6633, P294-303.
- Vasilios Mavroudis, Andrea Cerulli, Petr Svenda, Dan Cvrcek, Dusan Klinec, George Danezis. A Touch of Evil: High-Assurance Cryptographic Hardware from Untrusted Components. 24th ACM Conference on Computer and Communications Security, Dallas, TX, Oct 30th-Nov 3rd 2017.
- Xinmu Wang , HARDWARE TROJAN ATTACKS: THREAT ANALYSIS AND LOW-COST COUNTERMEASURES THROUGH GOLDEN-FREE DETECTION ANDSECURE DESIGN , CASE WESTERN RESERVE UNIVERSITY.
منابع
- Detecting Hardware Trojans with GateLevel InformationFlow Tracking, Wei Hu et al, IEEE publication, 2015
- Detecting Hardware Trojans with GateLevel InformationFlow Tracking, Wei Hu et al, IEEE publication, 2015
- Building Trojan Hardware at Home, BlackHat Asia 2014
- Zeng Gong and Marc X. Makkes "Hardware Trojan side-channels based on physical unclonable functions", WISTP 2011, LNCS 6633 pp.293-303 doi:10.1007/978-3-642-21040-2_21
- J. Clark, S. Leblanc, S. Knight, Compromise through USB-based Hardware Trojan device, Future Generation Computer Systems (2010) (In Press). doi:10.1016/j.future.2010.04.008
- John Clark, Sylvain Leblanc, Scott Knight, "Hardware Trojan Device Based on Unintended USB Channels," Network and System Security, International Conference on, pp. 1-8, 2009 Third International Conference on Network and System Security, 2009. doi:10.1109/NSS.2009.48
- Swapp, Susan. "Scanning Electron Microscopy (SEM)". University of Wyoming.
- Zeng Gong and Marc X. Makkes "Hardware Trojan side-channels based on physical unclonable functions", WISTP 2011, LNCS 6633 pp.293-303 doi:10.1007/978-3-642-21040-2_21