Red de conocimiento informático - Conocimiento informático - Si el programa del microcontrolador está cifrado, ¿cómo descifrarlo?

Si el programa del microcontrolador está cifrado, ¿cómo descifrarlo?

Los métodos comunes para descifrar microcontroladores y cómo lidiar con el descifrado de microcontroladores

Los métodos comunes para descifrar microcontroladores y los métodos para lidiar con el descifrado de chips de microcontroladores son los siguientes:

Los Los métodos de descifrado de chips de microcontroladores son los siguientes: De hecho, la gente común todavía no puede descifrarlos. Los microcontroladores que se pueden descifrar son chips pequeños/programas pequeños (hablando directamente, imitan sus funciones y desarrollan nuevos programas) o el costo de descifrado. es mayor que el desarrollo, siempre y cuando se utilice el siguiente método de descifrado para diseñar productos:

1: Deje que el fabricante del chip original cambie todos los pines del empaque del chip

2: Imprimir. HTXXXX a MDTXXXX y cambie PICXXX a For ATXXXX.....

3: Utilice un tablero de cuatro capas (ejecute deliberadamente más líneas);

4: Utilice enzima de resina epoxi (enzima xxx: puede aumentar la dureza, como abrir el chip); será desechado) Selle la placa de circuito probada;

5: Agregue el programa de protección del chip al programa del chip Si EMXXX tiene entrada de voltaje en el pin 2, se borrará todo el contenido del chip... ...

6: Es mejor utilizar chips desnudos para fabricar productos.

7: Fusionar algunos puertos con alta corriente...

8: Es ilegal descifrar microcontroladores en general. Ahora el país también está tomando medidas enérgicas contra estas personas, como copias pirateadas de libros de software...; sentenciados y atrapados en la UE. A su llegada se les emitirán entre cientos de miles y miles de millones de euros.

Resumen: este artículo presenta los métodos comunes para descifrar programas de microcontroladores, enfocándose en los pasos detallados de los métodos de descifrado de microcontroladores de ataques intrusivos/ataques físicos. Finalmente, desde la perspectiva de la aplicación, se presentan varias sugerencias para lidiar con el descifrado de microcontroladores. presentar.

Palabras clave: descifrado de MCU, software de descifrado de MCU, herramienta de descifrado de MCU, descifrado de MCU, método de descifrado de MCU, precio de descifrado de MCU, descifrado de MCU con imagen, descifrado de MCU stc, descarga de software de descifrado de MCU, descifrado de MCU de Samsung, MCU de motorola descifrado, foro de descifrado de MCU, descifrado de MCU AVR, descifrado de programa de MCU, esquema de descifrado de MCU, cifrado y descifrado de MCU

1 Introducción

MCU (microcontrolador) generalmente tiene ROM/EEPROM/Flash interno es para que los usuarios almacenen programas. Para evitar el acceso no autorizado o la copia del programa en el chip del microcontrolador, la mayoría de los microcontroladores están equipados con bits de bloqueo de cifrado o bytes de cifrado para proteger el programa en el chip del microcontrolador. Si el bit de bloqueo de cifrado del microcontrolador está habilitado (bloqueado) durante la programación, el programa en el microcontrolador no se puede leer directamente con un programador normal. Esta es la llamada función de protección o bloqueo de copia. De hecho, dichas protecciones son frágiles y pueden romperse fácilmente. Los atacantes de microcontroladores utilizan equipos especiales o equipos de fabricación propia, explotan lagunas en el diseño del chip del microcontrolador o defectos de software y utilizan una variedad de medios técnicos para extraer información clave del chip y obtener el programa dentro del microcontrolador. Por lo tanto, como ingeniero de diseño de productos electrónicos, es muy necesario comprender la última tecnología de ataques de microcontroladores actuales, conocerse a sí mismo y al enemigo, y ser consciente de ello, para poder prevenir eficazmente los productos en los que ha gastado mucho. De la noche a la mañana se evita que el dinero y el tiempo para diseñar sean falsificados por otros.

2 Tecnología de ataque a microcontroladores

Actualmente, existen cuatro tecnologías principales para atacar a microcontroladores, a saber:

(1) Ataque de software

Esta técnica normalmente utiliza interfaces de comunicación del procesador y explota vulnerabilidades de seguridad en protocolos, algoritmos de cifrado o esos algoritmos. Un ejemplo típico de un ataque de software exitoso es el ataque a la primera serie de microcontroladores Atmel AT89. El atacante aprovechó las lagunas en el diseño de temporización de la operación de borrado de esta serie de microcontroladores y utilizó un programa escrito por él mismo para detener el siguiente paso de borrar los datos de la memoria del programa en el chip después de borrar el bit de bloqueo de cifrado, convirtiendo así el cifrado. microcontrolador en un microcontrolador no cifrado y luego use el programador para leer el programa en el chip.

(2) Ataque de detección electrónica

Esta tecnología generalmente monitorea las características analógicas de todas las conexiones de interfaz y alimentación del procesador durante el funcionamiento normal con alta resolución de tiempo y monitorea su radiación electromagnética. Características para realizar ataques. Debido a que el microcontrolador es un dispositivo electrónico activo, cuando ejecuta diferentes instrucciones, el consumo de energía correspondiente también cambia en consecuencia. De esta manera, mediante el uso de instrumentos de medición electrónicos especiales y métodos estadísticos matemáticos para analizar y detectar estos cambios, se puede obtener información clave específica en el microcontrolador.

(3) Tecnología de generación de fallas

Esta tecnología utiliza condiciones de trabajo anormales para causar errores en el procesador y luego proporciona acceso adicional al ataque. Los ataques de generación de fallas más utilizados incluyen descargas de voltaje y descargas de reloj. Se pueden utilizar ataques de bajo y alto voltaje para desactivar los circuitos de protección o forzar al procesador a realizar operaciones erróneas. Los transitorios del reloj pueden restablecer el circuito de protección sin destruir la información protegida. Los transitorios de energía y de reloj pueden afectar la decodificación y ejecución de instrucciones individuales en algunos procesadores.

(4) Tecnología de sonda

Esta tecnología expone directamente el cableado interno del chip y luego observa, controla e interfiere con el microcontrolador para lograr el propósito del ataque.

Por conveniencia, la gente divide las cuatro técnicas de ataque anteriores en dos categorías. Una es el ataque intrusivo (ataque físico) que requiere destruir el paquete y luego utilizar equipos de prueba de semiconductores y microscopios. y el microposicionamiento lleva horas o incluso semanas completarlo en un laboratorio especializado. Todas las técnicas de microsonda son ataques intrusivos. Los otros tres métodos son ataques no intrusivos y el microcontrolador atacado no sufrirá daños físicos. Los ataques no intrusivos son particularmente peligrosos en determinadas situaciones porque el equipo necesario para realizar ataques no intrusivos a menudo puede ser de fabricación propia y actualizado y, por tanto, muy barato.

La mayoría de los ataques no intrusivos requieren que el atacante tenga buenos conocimientos del procesador y del software. Por el contrario, los ataques de sondeo intrusivos no requieren mucho conocimiento inicial y, a menudo, pueden usarse contra una amplia gama de productos utilizando un conjunto similar de técnicas. Por lo tanto, los ataques a microcontroladores a menudo comienzan con ingeniería inversa intrusiva, y la experiencia acumulada ayuda a desarrollar técnicas de ataque no intrusivas más baratas y rápidas.

3 El proceso general de un ataque intrusivo

El primer paso en un ataque intrusivo es eliminar el paquete del chip. Hay dos formas de lograrlo: la primera es disolver completamente el paquete del chip y exponer las conexiones metálicas. El segundo es quitar sólo el paquete de plástico del núcleo de silicona. El primer método requiere unir el chip al dispositivo de prueba y operarlo con la ayuda de una estación de unión. Además de ciertos conocimientos y habilidades necesarias del atacante, el segundo método también requiere sabiduría y paciencia personal, pero es relativamente fácil de operar.

El plástico del chip se puede quitar con un cuchillo y la resina epoxi alrededor del chip se puede corroer con ácido nítrico concentrado. El ácido nítrico concentrado caliente disolverá el paquete del chip sin afectar el chip ni las conexiones. Este proceso generalmente se realiza en condiciones muy secas, ya que la presencia de agua puede corroer las conexiones de cables de aluminio expuestas.

Luego, el chip se lava primero con acetona en un baño ultrasónico para eliminar el ácido nítrico residual, luego se lava con agua limpia para eliminar la sal y se seca. Si no tiene un grupo de ultrasonidos, generalmente se omite este paso. En este caso, la superficie del chip estará un poco sucia, pero no afectará el efecto de funcionamiento de la luz ultravioleta en el chip.

El último paso es encontrar la ubicación del fusible de protección y exponer el fusible de protección a la luz ultravioleta. Generalmente, se utiliza un microscopio con un aumento de al menos 100 veces para rastrear la conexión desde el pin de entrada de voltaje de programación para encontrar el fusible de protección. Si no tienes un microscopio, puedes realizar una búsqueda sencilla exponiendo diferentes partes del chip a la luz ultravioleta y observando los resultados. Durante el funcionamiento, el chip debe cubrirse con papel opaco para proteger la memoria del programa contra el borrado de la luz ultravioleta. La exposición del fusible de protección a la luz ultravioleta durante 5 a 10 minutos puede destruir el efecto protector del bit de protección. Después de eso, el contenido de la memoria del programa se puede leer directamente usando un programador simple.

Para microcontroladores que utilizan una capa protectora para proteger la unidad EEPROM, no es factible utilizar luz ultravioleta para restablecer el circuito de protección.

Para este tipo de microcontrolador, generalmente se utiliza tecnología de microsonda para leer el contenido de la memoria. Después de abrir el paquete del chip, el bus de datos que conecta la memoria a otras partes del circuito se puede encontrar fácilmente colocando el chip bajo un microscopio. Por alguna razón, el bit de bloqueo del chip no bloquea el acceso a la memoria en modo de programación. Aprovechando este defecto y colocando la sonda encima de la línea de datos, podrás leer todos los datos deseados. En el modo de programación, toda la información en la memoria de datos y programas se puede leer reiniciando el proceso de lectura y conectando la sonda a otra línea de datos.

Otro posible método de ataque es utilizar equipos como microscopios y máquinas de corte por láser para encontrar fusibles de protección y así buscar todas las líneas de señal conectadas a esta parte del circuito. Debido a un defecto de diseño, simplemente cortar una línea de señal desde el fusible de protección a otros circuitos puede desactivar toda la función de protección. Por alguna razón, este cable está muy lejos de los otros cables, por lo que usar un cortador láser puede cortar este cable sin afectar los cables adyacentes. De esta manera, el contenido de la memoria del programa se puede leer directamente mediante un sencillo programador.

Aunque la mayoría de los microcontroladores comunes tienen la función de proteger el código en el microcontrolador contra la fusión de fusibles, debido a que los microcontroladores generales de gama baja no están posicionados para fabricar productos de seguridad, a menudo no brindan medidas de prevención específicas. El nivel de seguridad es bajo. Además, las aplicaciones de microordenadores de un solo chip se utilizan ampliamente, el volumen de ventas es grande, el procesamiento confiado y la transferencia de tecnología son frecuentes entre los fabricantes y se filtra una gran cantidad de datos técnicos, lo que permite explotar las lagunas de diseño de este tipo de chip. y la interfaz de prueba del fabricante, y modificar el bit de protección del fusible y otros métodos intrusivos. Se vuelve más fácil leer el programa interno del microcontrolador mediante ataques o ataques no intrusivos.

4 Algunas sugerencias para lidiar con el descifrado de microcontroladores

¿Cualquier microcontrolador? En teoría, los atacantes pueden utilizar los métodos anteriores para abrirse paso con suficiente inversión y tiempo. Por lo tanto, cuando se utiliza un microcontrolador para la autenticación de cifrado o se diseña un sistema, se deben maximizar el costo y el tiempo del ataque del atacante. Este es un principio básico que los diseñadores de sistemas siempre deben tener en cuenta. Además, también debe prestar atención a los siguientes puntos:

(1) Antes de seleccionar un chip de cifrado, debe realizar una investigación exhaustiva para comprender los nuevos desarrollos en la tecnología de descifrado de microcontroladores, incluidos los microcontroladores que se han confirmado. para poder descifrar. Trate de no utilizar chips que ya sean descifrables o de la misma serie y modelo.

(2) Intente no utilizar la serie de microcontroladores MCS51, porque este microcontrolador es el más popular en China y ha sido el más investigado.

(3) El creador original del producto generalmente tiene las características de una gran producción, por lo que puede elegir un microcontrolador relativamente raro e impopular para dificultar la compra a los falsificadores.

(4) Elija microcontroladores que adopten nuevos procesos, nuevas estructuras y tengan un menor tiempo de comercialización, como los microcontroladores de la serie ATMEL AVR.

(5) Siempre que el coste del diseño lo permita, se debe seleccionar un chip de tarjeta inteligente con función de autodestrucción de hardware para hacer frente eficazmente a los ataques físicos.

(6) Si las condiciones lo permiten, se pueden usar dos microcontroladores de diferentes modelos para respaldarse y verificarse mutuamente, aumentando así el costo del craqueo.

(7) Pula el modelo del chip y otra información o vuelva a imprimir otros números de modelo para que parezca real.

Por supuesto, si queremos evitar fundamentalmente el descifrado de microcontroladores, la piratería de programas y otras infracciones, sólo podemos confiar en medios legales para protegerlos.