رمزگشایی تراشه

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

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

روش رمزگشایی تراشه

1. حمله نرم افزاری

این تکنیک معمولاً از رابط های ارتباطی پردازنده استفاده می کند و از پروتکل ها، الگوریتم های رمزگذاری یا حفره های امنیتی در این الگوریتم ها برای انجام حملات سوء استفاده می کند. یک مثال معمولی از یک حمله نرم افزاری موفق، حمله به میکروکنترلرهای اولیه سری ATMEL AT89C است. مهاجم از خلأهای موجود در طراحی دنباله عملیات پاک کردن این سری از میکروکامپیوترهای تک تراشه استفاده کرد. پس از پاک کردن بیت قفل رمزگذاری، مهاجم عملیات بعدی پاک کردن داده ها در حافظه برنامه روی تراشه را متوقف کرد، به طوری که ریز رایانه تک تراشه رمزگذاری شده تبدیل به میکروکامپیوتر تک تراشه رمزگذاری نشده می شود و سپس از برنامه نویس برای خواندن اطلاعات روی تراشه استفاده می کند. برنامه تراشه

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

2. حمله تشخیص الکترونیکی

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

3. تکنولوژی تولید خطا

این تکنیک از شرایط عملیاتی غیرعادی برای ایجاد اشکال در پردازنده استفاده می کند و سپس دسترسی اضافی برای انجام حمله فراهم می کند. پرکاربردترین حملات مولد خطا شامل نوسانات ولتاژ و نوسانات ساعت است. حملات ولتاژ پایین و ولتاژ بالا می توانند برای غیرفعال کردن مدارهای حفاظتی یا مجبور کردن پردازنده به انجام عملیات اشتباه استفاده شوند. گذراهای ساعت ممکن است مدار حفاظتی را بدون از بین بردن اطلاعات محافظت شده بازنشانی کنند. گذرای نیرو و ساعت می تواند بر رمزگشایی و اجرای دستورالعمل های فردی در برخی از پردازنده ها تأثیر بگذارد.

4. فن آوری کاوشگر

این فناوری به این صورت است که سیم‌کشی داخلی تراشه را مستقیماً در معرض دید قرار می‌دهد و سپس برای رسیدن به هدف حمله، میکروکنترلر را مشاهده، دستکاری و تداخل می‌کند.

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

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