پیش‌نویس:تروجان سخت‌افزاری

از ویکی‌پدیا، دانشنامهٔ آزاد


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

تروجان‌‌های سخت افزاری ممکن است به صورت ناخواسته در هنگام طراحی مدار کامپیوتری ایجاد شوند. از طریق استفاده از مدارهای مجتمع با کاربرد خاص یا هسته نیمه‌هادی مالکیت معنوی که از منبع غیر معتبر خریداری شده‌اند. و یا کارمند شرکت سازنده، به علت انگیزه‌ی شخصی، و یا عضویت در گروهی مشخص و یا جاسوسی برای دولتی خاص، به صورت بدخواهانه و از عمد این کار را انجام دهد.[۱]

یکی از مقاله های اخیر که در IEEE منتشر شده است، توضیح می دهد که چگونه یک طراحی سخت افزاری حاوی یک تروجان، می تواند یک کلید رمزنگاری را بوسیله‌ی آنتن و یا ارتباطه شبکه‌ای، به بیرون درز دهد. این کار از طریق اعمال فعال‌ساز "تخم‌مرغ عید پاک" اتفاق می‌افتد.[۲]

در بخش‌های فناوری اطلاعات دولتی که نسبت به مسایل امنیتی حساس هستند، تروجان‌های سخت‌افزاری یک مشکل شناخته‌شده هنگام خرید سخت افزارهایی مانند: سوئیچ KVM، صفحه کلید، موشواره ، کارت شبکه یا سایر تجهیزات شبکه هستند. این مسیله به ویژه وقتی مهم می‌شود که قصد داشته باشیم این تجهیزات را از منابع غیرمعتبر خریداری کینم. این منابع می‌توانند تروجان‌هایی را قرار دهند که از طریق آن بتوان گذرواژه‌های صفحه کلید را به بیرون انتشار داد و یا ورودی غیرمجاز از راه دور ایجاد کرد.[۳]

زمینه[ویرایش]

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

برای سازمان‌های دولتی تغییر طراحی به صورت بدخواهانه، و مخرب یک تهدید محسوب می‌شود. یکی از راه‌های کاهش آسیب‌پذیری در بخش‌های نظامی، مالی، انرژی و اقتصادی، رفع شک در مورد صحت سخت‌افزار است. از آنجا که ساخت مدارهای مجتمع در کارخانجات غیر قابل اعتماد رایج است، روش‌های تشخیص پیشرفته‌ای معرفی شده‌اند که می‌توانند اجزایی که مهاجم آنها را در سخت‌افزار پنهان کرده، و یا قصد خرابکاری در عملکرد مدار دارند، تشخیص دهند.

ویژگی‌های تروجان‌های سخت‌افزاری[ویرایش]

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

خصوصیات فیزیکی[ویرایش]

بر اساس خصوصیات فیزیکی می‌توان تروجان‌ها را به دو دسته عملکردی یا پارامتری دسته‌بندی کرد. تروجان از نوع عملکردی است اگر حمله‌کننده ترانزیستورها یا گیت‌های طراحی را اضافه یا کم کند. نوع دیگر تروجان،تروجان پارامتری است که در آن مدار اصلی را تغییر می‌دهند، مثلاً نازک کردن سیم‌ها ، تضعیف فلیپ فلاپ‌ها یا ترانزیستورها، قرار دادن تراشه در معرض تشعشع، یا استفاده از (Focused Ion-Beams(FIB برای کاهش قابلیت اطمینان یک تراشه.

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

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

ویژگی‌های فعال‌سازی[ویرایش]

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

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

تروجانی که همیشه روشن است می تواند یک سیم کاهش یافته باشد. تراشه‌ای که به این روش تغییر یافته است، هر زمان به شدت از آن سیم استفاده شود، ایجاد خطا می‌کند یا از کار می‌افتد. مدارهای همیشه روشن از طریق اثرات توانی به سختی قابل تشخیص هستند.

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

استخراج کلید رمزنگاری[ویرایش]

استخراج کلیدهای سری به وسیله تروجان سخت افزاری بدون شناسایی تروجان، مستلزم این است که تروجان از یک سیگنال تصادفی یا رمزنگاری استفاده کند.

برای جلوگیری از ذخیره شدن کلید رمزنگاری در تروجان و کاهش آن، می توان از یک تابع کپی‌ناپذیر فیزیکی استفاده کرد. [۴] تابع کپی‌ناپذیر فیزیکی از نظر اندازه کوچک هستند و در حالی که خصوصیات رمزنگاری آنها می‌تواند متفاوت باشد، ممکن است دارای طرح یکسان باشند

ویژگی‌های عملی[ویرایش]

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

تروجان‌های سخت افزاری دستگاه‌های جانبی[ویرایش]

یک عامل تهدید جدید برای شبکه ها و نقاط انتهایی شبکه، تروجان سخت افزاری است که به عنوان یک دستگاه جانبی فیزیکی که به منظور تعامل با نقطه‌ی انتهایی شبکه با استفاده از پروتکل ارتباطی دستگاه جانبی تأیید شده، ظاهر می شود. به عنوان مثال، یک صفحه کلید USB تمام چرخه‌های پردازش مخرب را با برقراری ارتباط با نقطه انتهایی شبکه هدف با استفاده از کانالهای USB ناخواسته، از نقطه انتهایی شبکه هدف که به آن وصل شده است مخفی می کند. هنگامی که داده‌های حساس از نقطه انتهایی شبکه مورد نظر به تروجان‌های سخت افزاری منتقل می شوند، تروجان‌های سخت افزاری می‌تواند داده ها را پردازش کرده و تصمیم بگیرد که با آن چه کاری انجام دهد: ذخیره آن در حافظه برای بازیابی در آینده یا فیلترکردن آن به اینترنت با استفاده از شبکه بی‌سیم یا استفاده از نقطه‌ی انتهایی تحت نفوذ قرار گرفته. [۵] [۶]

پتانسیل تهدید[ویرایش]

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

تشخیص[ویرایش]

بازرسی فیزیکی[ویرایش]

ابتدا برای ظاهر شدن مدار، روکش آن برش داده می‌شود. سپس، مهندس در حالی که لایه‌های تراشه را خرد می کند، مرتباً سطح مدار را اسکن می‌کند. چندین عملیات برای اسکن مدار وجود دارد. روشهای lul,g بازرسی بصری عبارتند از: اسکن میکروسکوپ نوری (SOM) ، اسکن میکروسکوپ الکترونی(SEM) ، [۷] تجزیه و تحلیل مدار تصویربرداری پیکو دوم (PICA) ، تصویربرداری کنتراست ولتاژ (VCI) ، تغییر ولتاژ القای نور (LIVA) یا القای شارژ تغییر ولتاژ (CIVA). برای مقایسه طرح کف تراشه باید با تصویر تراشه واقعی مقایسه شود. این هنوز هم بسیار چالش برانگیز است. برای تشخیص تروجان سخت‌افزاری که شامل کلیدهای (رمزنگاری) متفاوت است، با استفاده از تصویری که تفاوت را نشان می‌دهد می‌توان به ساختار متفاوت روی تراشه پی برد. تنها تروجان سخت افزاری شناخته شده با استفاده از کلیدهای رمزنگاری منحصر به فرد اما دارای همان ساختار است. [۸] این خاصیت غیر قابل کشف بودن تروجان را افزایش می‌دهد.

آزمایش عملکردی[ویرایش]

این روش تشخیصی، درگاه‌های ورودی یک تراشه را تحریک می‌کند و بر خروجی نظارت می‌کند تا خطاهای ساخت را تشخیص دهد. اگر مقادیر منطقی خروجی با الگوی اصلی مطابقت نداشته باشد، می توان نقص یا تروجان را پیدا کرد.

تست‌های داخلی[ویرایش]

خودآزمایی داخلی (BIST) و طراحی برای تست (DFT) روش‌هایی هستند برای اضافه کردن مدار و منطقی به تراشه به منظور تایید این که مدار مشخصات عملکردی خود را پیاده‌سازی می‌کند. منطق دیگری بر برانگیخته شدن ورودی و سیگنال‌های داخلی یا وضعیت‌های حافظه نظارت می‌کند. این کار به طور کلی با محاسبه checksumها یا با نمایش دادن رجیسترهای داخلی از طریق روش‌های اسکن، انجام می‌شود. در جایی که معمولاً DFT با برخی سازوکارهای تست خارجی هماهنگ می‌شود، تراشه‌های دارای BIST مولدهای الگوی تست را با یکدیگر ترکیب می‌کنند. عملکرد BIST اغلب برای انجام تأیید سرعت (سرعت بالا) است. در جایی که امکان استفاده از زنجیره های اسکن یا سایر قابلیت‌های DFT با سرعت کم امکان پذیر نیست،. هر دو روش در ابتدا برای تشخیص خطاهای هنگام تولید ساخته شده بودند، اما همچنین دارای پتانسیل استفاده‌ی خوب و بد هستند به این صورت که می‌توان از آنها برای تشخیص برخی از اثرات منطق مخرب بر روی تراشه استفاده کرد، یا منطق مخرب بوسیله‌ی آنها به صورت پنهانی وضعیت چیپ را از راه دور بازرسی کند.

در نظر بگیرید که چگونه DFT منطق ناخواسته را تشخیص می‌دهد. هنگامی که توسط ورودی‌های DFT هدایت می‌شود، تراشه اصلی یک امضای آشنا تولید می کند، اما یک تراشه معیوب یا تغییر یافته یک امضای غیر منتظره را نشان می‌دهد. امضا ممکن است از تعداد مختلفی از داده‌های خروجی تراشه تشکیل شود: یک زنجیره اسکن کامل یا نتیجه‌ی داده‌ی واسط. در زمینه شناسایی تروجان، منطق DFT ممکن است به عنوان یک الگوریتم رمزنگاری در نظر گرفته شود: استفاده از ورودی DFT به عنوان کلید برای امضای پیام برگرفته از رفتار طرح مورد آزمایش. در زمینه‌ی جلوگیری از نفوذ، عملکردهای BIST یا DFT به طور معمول در خارج از محیط تولید، غیرفعال(از طریق پیکربندی سخت افزار) هستند زیرا دسترسی آنها به وضعیت داخلی تراشه می‌تواند عملکرد آن را در معرض کنترل مخفی یا حمله‌ی خرابکارانه قرار دهد.

تجزیه و تحلیل کانال جانبی[ویرایش]

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

جستارهای وابسته[ویرایش]

خواندن بیشتر[ویرایش]

  • 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, Nov 10, 2006
    • 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.

منابع[ویرایش]

  1. Detecting Hardware Trojans with GateLevel InformationFlow Tracking, Wei Hu et al, IEEE publication, 2015
  2. Detecting Hardware Trojans with GateLevel InformationFlow Tracking, Wei Hu et al, IEEE publication, 2015
  3. Building Trojan Hardware at Home, BlackHat Asia 2014
  4. 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
  5. 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
  6. 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
  7. Swapp, Susan. "Scanning Electron Microscopy (SEM)". University of Wyoming.
  8. 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

لینک های خارجی[ویرایش]