¿Qué herramientas se necesitan para desbloquear el chip de cifrado?
(1) Ataque de software
Esta tecnología generalmente utiliza la interfaz de comunicación del procesador para atacar explotando agujeros de seguridad en protocolos, algoritmos de cifrado o estos algoritmos. Un ejemplo típico de un ataque de software exitoso es el ataque al primer microcontrolador de la serie ATMEL AT89C. El atacante aprovecha las lagunas en el diseño de secuencia de la operación de borrado de esta serie de microcontroladores. Después de borrar el bloqueo de cifrado, el atacante detiene la siguiente operación de borrar datos en la memoria del programa del chip, convirtiendo el microcontrolador cifrado en un microcontrolador no cifrado. Y luego utiliza el programador para leer el programa en el chip.
En la actualidad, basándose en otros métodos de cifrado, se pueden desarrollar algunos dispositivos para cooperar con cierto software para realizar ataques de software.
Recientemente, apareció en China un dispositivo de craqueo de 51 chips (fabricado por un maestro en Chengdu). Este descifrador apunta principalmente a vulnerabilidades en el proceso de producción de SyncMos. Winbond, y utiliza algunos programadores para localizar los bytes insertados y averiguar si hay vacantes consecutivas en el chip mediante un método determinado, es decir, encontrar los bytes FF FF consecutivos en el chip. Los bytes insertados pueden ejecutar instrucciones para enviar el programa dentro del chip al exterior del chip y luego interceptarlo con un dispositivo de descifrado.
(2) Ataque de detección electrónica
Esta tecnología generalmente monitorea las características analógicas de todas las fuentes de alimentación y conexiones de interfaz cuando el procesador está funcionando normalmente con alta resolución de tiempo, y se implementa mediante monitoreo sus características de ataque de radiación electromagnética. Dado que el microcontrolador es un dispositivo electrónico móvil, cuando ejecuta diferentes instrucciones, el consumo de energía correspondiente también cambia. De esta manera, mediante el uso de instrumentos de medición electrónicos especiales y métodos de estadística matemática para analizar y detectar estos cambios, se puede obtener información clave específica en el microcontrolador.
En la actualidad, los programadores de radiofrecuencia pueden leer directamente los programas en antiguas MCU cifradas, lo que se basa en este principio.
(3) Tecnología de generación de fallas
Esta tecnología utiliza condiciones operativas anormales para causar fallas en el procesador y luego proporciona vías de ataque adicionales. Los ataques de generación de fallas más utilizados incluyen sobretensiones y sobretensiones de reloj. Se pueden utilizar ataques de bajo y alto voltaje para desactivar circuitos de protección o forzar al procesador a realizar operaciones incorrectas. Los transitorios del reloj pueden restablecer el circuito de protección sin destruir la información protegida. Los saltos momentáneos en la potencia y los relojes 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, manipula e interfiere con el microcontrolador para lograr el propósito del ataque.
Por conveniencia, las cuatro técnicas de ataque anteriores se dividen en dos categorías. Uno es un ataque intrusivo (ataque físico) que requiere romper el paquete y luego pasar horas o incluso semanas en un laboratorio especializado con la ayuda de equipos de prueba de semiconductores, microscopios y microposicionadores. Todas las técnicas de microsonda son ataques invasivos. 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 algunas situaciones porque requieren equipos que a menudo pueden ser hechos en casa y mejorados, lo que los hace muy económicos.
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 detección de intrusiones no requieren mucho conocimiento inicial y, a menudo, pueden manejarse en 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 invasiva, y la experiencia acumulada ayuda a desarrollar técnicas de ataque no invasivas más baratas y rápidas.
Edite este párrafo
Proceso intrusivo de craqueo de chips
El primer paso en un ataque intrusivo es eliminar el paquete de chips (denominado en inglés "de- "encapsulación" o "decapsulación"). Hay dos formas de lograrlo: la primera es disolver completamente el paquete del chip, dejando al descubierto el cableado metálico. La segunda es quitar únicamente el sello de plástico del núcleo de silicona. El primer método requiere unir el chip al dispositivo de prueba y hacerlo con la ayuda de una mesa de unión. El segundo método requiere no solo el conocimiento y las habilidades necesarias del atacante, sino también sabiduría y paciencia personales, pero es relativamente conveniente de operar y puede operarse completamente en casa.
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 el cableado. Este proceso generalmente se realiza en condiciones muy secas, ya que la presencia de agua puede corroer las conexiones de los cables de aluminio expuestos (lo que puede provocar una falla en el descifrado).
Luego, el chip se limpió con acetona en un baño de ultrasonidos para eliminar el ácido nítrico residual y se remojó.
El último paso es encontrar la ubicación del fusible protector y exponerlo a la luz ultravioleta. Generalmente utilice un microscopio con un aumento de al menos 100x para rastrear la conexión del pin de entrada de voltaje de programación para encontrar el fusible de protección. Si no tienes un microscopio, realiza una búsqueda sencilla exponiendo diferentes partes del chip a la luz ultravioleta y observando los resultados. Durante el funcionamiento, el chip se cubre con papel opaco para proteger la memoria del programa contra el borrado por la luz ultravioleta. La exposición del fusible de protección a la luz ultravioleta durante 5 a 10 minutos puede destruir la función protectora de la punta de protección. Posteriormente, el contenido de la memoria del programa se puede leer directamente mediante un sencillo programador.
No es viable utilizar una capa protectora para proteger el microcontrolador de la unidad EEPROM y utilizar luz ultravioleta para resetear el circuito. Para este tipo de microcontrolador, generalmente se utiliza tecnología de microsonda para leer el contenido de la memoria. Después de desembalar el chip, puedes encontrar fácilmente el bus de datos desde la memoria al resto del circuito colocando el chip bajo un microscopio. Por alguna razón, los bits de bloqueo del chip no bloquean el acceso a la memoria en modo de programación. Aprovechando este defecto, puedes leer todos los datos deseados colocando la sonda en la línea de datos. En el modo de programación, toda la información en el programa y la memoria de datos 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 buscar fusibles protectores con la ayuda de un microscopio y un cortador láser para encontrar todas las líneas de señal relacionadas con esta parte del circuito. Debido a un defecto de diseño, toda la protección se puede desactivar siempre que se conecte una línea de señal desde el fusible de protección a otros circuitos (o se corte todo el circuito de cifrado) o de 1 a 3 cables de oro (a menudo llamados FIB: Focused Ion Beam) están conectados, de modo que el contenido de la memoria del programa se puede leer directamente usando un programador simple.
Aunque la mayoría de los microcontroladores comunes tienen la función de fundir fusibles para proteger el código en el microcontrolador, debido a que los microcontroladores de gama baja no están posicionados como productos de seguridad, a menudo no brindan medidas preventivas específicas y tienen un bajo nivel de seguridad. nivel. Además, los microcontroladores tienen una amplia gama de aplicaciones, grandes ventas, frecuentes procesamientos por encargo y transferencias de tecnología entre fabricantes, y una gran cantidad de datos técnicos filtrados, lo que hace posible utilizar las lagunas de diseño de dichos chips y las interfaces de prueba del fabricante para modificar. bits de protección de fusibles y otros métodos de ataque intrusivos o no invasivos, resulta más fácil leer el programa interno del microcontrolador.
En la actualidad, entre las empresas nacionales de craqueo de chips más conocidas se incluyen Husheng Electronics, Yuyang Electronics, Mingxing Microcontroller, Hengfeng Microcontroller, Longren Technology, etc.
Edite este párrafo
Consejos sobre cracking de chips
Teóricamente, con suficiente inversión y tiempo, cualquier microcontrolador puede ser roto por un atacante. Este es un principio básico que los diseñadores de sistemas siempre deben tener en cuenta. Por lo tanto, como ingeniero de diseño de productos electrónicos, es muy necesario comprender la última tecnología de ataques a microcontroladores y conocerse a sí mismo y a su enemigo, para poder prevenir eficazmente los productos en los que ha gastado mucho dinero y tiempo diseñando minuciosamente. siendo falsificado de la noche a la mañana. Con base en la práctica de descifrado de Hu Sheng, hacemos las siguientes sugerencias:
(1) Antes de elegir un chip de cifrado, es necesario investigar y comprender a fondo los nuevos desarrollos en la tecnología de descifrado de chips, incluidos los microcontroladores que se han Se confirmó que estaba agrietado. Trate de no elegir chips crackeables o chips de la misma serie y modelo. Elija microcontroladores con nuevas tecnologías, nuevas estructuras y un corto tiempo de comercialización. Por ejemplo, puede usar ATMEGA88/ATMEGA88V. El precio interno actual es de alrededor de 6K. Otros chips que actualmente son difíciles de descifrar incluyen la serie ST12 y DSPPIC. Otros también se pueden cifrar con CPLD, por lo que el costo de descifrado es muy alto. Generalmente, el descifrado de CPLD también requiere alrededor de 10,000.
(2) Intente no elegir la serie de microcontroladores MCS51, porque este tipo de microcontrolador es el más popular y mejor investigado en China.
(3) El creador original del producto generalmente tiene las características de una gran producción, por lo que es más difícil para los falsificadores comprar microcontroladores relativamente poco comunes e impopulares. Actualmente se están desarrollando en China algunos microcontroladores poco comunes, como Attiny 2313, AT89C51RD2, AT89C51RC2, microcontroladores Motorola y otros chips difíciles de descifrar.
(4) Cuando el costo del diseño lo permita, se debe seleccionar un chip de tarjeta inteligente con función de autodestrucción de hardware para responder eficazmente a los ataques físicos, además, al programar, agregar tiempo a una función de sincronización determinada; Por ejemplo, después de un año de uso, todas las funciones dejarán de ejecutarse automáticamente, lo que aumentará el costo de las galletas.
(5) Si las condiciones lo permiten, se pueden usar dos tipos diferentes de microcontroladores para respaldarse y verificarse entre sí, lo que aumenta el costo del craqueo.
(6) Borre información como el modelo del chip o reimprima otros modelos para que parezca falso (tenga en cuenta que el logotipo en el reverso también debe borrarse. Para muchos chips, el descifrador puede determinar el modelo desde el reverso, como 51, Winbond, MDT, etc.).
(7) Los bits o unidades de bandera no divulgados y no utilizados del microcontrolador se pueden utilizar como bits de bandera de software.
(8) Utilice el comando A5 en MCS-51 para cifrar. De hecho, toda la información del mundo, incluida la información en inglés, no menciona esta instrucción. De hecho, esta instrucción es una buena instrucción de cifrado. La función de A5 es agregar un código de operación de dos o tres bytes después de A5 en el método de cifrado de instrucciones de no operación de doble byte, porque todo el software de desensamblado no desensamblará la instrucción A5, lo que hará que el programa normal sea Desmontaje, si no hay problemas con la ejecución del programa, los plagiadores no podrán cambiar su programa fuente.
(9) Debe escribir el tiempo de desarrollo de su famosa empresa en el área del programa y una declaración de que se buscará la imitación para protección legal. Además, el nombre se puede escribir al azar, es decir, en Bajo diferentes condiciones externas, su nombre es diferente, como WWWHUSOONCOM 1011, wwwhusoocnn 1012, etc. , difícil de desmontar y modificar.
(10) Utilice un programador avanzado para quemar algunos pines internos, o puede utilizar equipos caseros para quemar alambre de oro. Actualmente, es casi imposible descifrarlo en China. Incluso si se descifra, costará decenas de miles de yuanes y requerirá varias películas maestras.
(11) Toda la placa de circuito está sellada con silicona confidencial (pegamento para macetas de resina epoxi) y hay muchas almohadillas inútiles en la PCB. Algunos componentes inútiles también se pueden dopar con silicona e intentar limpiar los componentes electrónicos alrededor de la MCU.
(12) Para SyncMos y Winbond MCU, el archivo que se va a grabar se convertirá en un archivo hexadecimal, de modo que el espacio del programa grabado en el chip agregará automáticamente 00. Si está acostumbrado a archivos BIN, también puede utilizar un programador para cambiar el FF en el área en blanco a 00, de modo que el descifrador general no pueda encontrar el espacio en el chip y no pueda realizar operaciones de descifrado posteriores.
Por supuesto, es imposible evitar fundamentalmente que se descifre el microcontrolador. Con el desarrollo continuo de la tecnología de cifrado y descifrado, no importa qué tipo de microcontrolador sea, siempre que alguien esté dispuesto a pagar, básicamente se puede fabricar. Es solo una cuestión de costo y duración del ciclo. Los programadores también pueden proteger su desarrollo a través de medios legales (como patentes). Resulta que tengo este documento en mi computadora, espero que pueda ayudarte.