Método de craqueo de chip
(1) Ataque de software
Esta tecnología generalmente utiliza la interfaz de comunicación del procesador y explota las vulnerabilidades de seguridad en los protocolos, algoritmos de cifrado o estos algoritmos. . para atacar. Un ejemplo típico de un ataque de software exitoso es el ataque a la primera serie de microcontroladores ATMEL AT89C. 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.
En la actualidad, basándose en otros métodos de cifrado, se pueden desarrollar algunos equipos y utilizarlos con determinado software para llevar a cabo ataques de software.
Recientemente, apareció en China un dispositivo de descifrado de 51 chips (fabricado por un maestro en Chengdu). Este descifrador está dirigido principalmente a SyncMos. Tiene lagunas en el proceso de producción y utiliza ciertos programadores. El byte insertado y utiliza un determinado método para encontrar si hay vacantes continuas en el chip. Es decir, encontrar los bytes FF FF continuos en el chip. Los bytes insertados pueden ejecutar la instrucción de enviar el programa en el chip. fuera del chip, y luego use el dispositivo descifrado para interceptarlo, de modo que el programa dentro del chip se descifre.
(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.
En la actualidad, los programadores de RF pueden leer directamente los programas en modelos más antiguos de MCU cifradas, lo que se basa en este principio.
(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 microposicionamiento Puede llevar 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.
Edite este párrafo
Proceso intrusivo de craqueo de chips
El primer paso en un ataque intrusivo es eliminar el paquete de chips (lo que se denomina "descubrir" o, a veces, llamado "Kaifeng", en inglés es "DECAP", decapsulación). 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 un banco 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 y puede operarse 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 las conexiones. Este proceso generalmente se realiza en condiciones muy secas, ya que la presencia de agua puede corroer las conexiones de aluminio expuestas (lo que puede causar fallas en el descifrado).
Luego se limpia el chip con acetona en un baño de ultrasonidos para eliminar el ácido nítrico residual y se remoja.
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 fallas de diseño, solo necesita cortar una determinada línea de señal desde el fusible de protección a otros circuitos (o cortar todo el circuito de cifrado) o conectar de 1 a 3 cables dorados (generalmente llamado FIB: haz de iones enfocado en todo). La función de protección está desactivada para que el contenido de la memoria del programa se pueda leer directamente utilizando un programador simple.
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.
En la actualidad, las empresas de craqueo de chips más famosas de China incluyen Husheng Electronics, Yuyang Electronics, Xingchen MCU, Hengfeng MCU y Longren Technology.
Edite este párrafo
Sugerencias para lidiar con el cracking de chips
En teoría, los atacantes pueden usar cualquiera de los microcontroladores anteriores con suficiente inversión y tiempo para romperlos. a través de. 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 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. Se evita que el dinero y el tiempo necesarios para diseñar se falsifiquen de la noche a la mañana. Hacemos las siguientes sugerencias basadas en la práctica de descifrado de Husheng:
(1) Antes de seleccionar un chip de cifrado, realice una investigación completa para comprender los nuevos desarrollos en la tecnología de descifrado de chips, incluidos los microcontroladores que se ha confirmado que son descifrables.
Trate de no utilizar chips que ya sean descifrables o de la misma serie y modelo. Elija microcontroladores que utilicen nuevos procesos, nuevas estructuras y un menor tiempo de comercialización. Por ejemplo, puede utilizar ATMEGA88/ATMEGA88V. El costo de craqueo nacional actual es de aproximadamente. 6K, actualmente Los que son relativamente difíciles de descifrar incluyen la serie ST12, DSPPIC, etc.; otros también se pueden cifrar en combinación con CPLD, por lo que el costo de descifrado es muy alto y cuesta alrededor de 10,000 descifrar uno. CPLD general.
(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 del producto generalmente tiene las características de una gran producción, por lo que puede elegir un microcontrolador relativamente raro e impopular para aumentar la dificultad de adquisición de los falsificadores. Algunos microcontroladores raros, como ATTINY2313, Los microcontroladores AT89C51RD2, AT89C51RC2, Motorola y otros chips que son difíciles de descifrar son actualmente desarrollados y utilizados por muy pocas personas que estén familiarizadas con los microcontroladores Motorola en China, por lo que el costo de descifrarlos también es bastante alto, oscilando entre 3.000 y 30.000.
(4) Siempre que el costo del diseño lo permita, se debe utilizar un chip de tarjeta inteligente con función de autodestrucción de hardware para hacer frente de manera efectiva a los ataques físicos. Además, al diseñar el programa, agregue un tiempo; función de vez en cuando, como el uso Después de 1 año, todas las funciones se detendrán automáticamente, lo que aumentará el costo del cracker.
(5) Si las condiciones lo permiten, se pueden usar dos tipos diferentes de microcontroladores para respaldarse y verificarse mutuamente, aumentando así el costo del craqueo.
(6) Pula el modelo del chip y otra información o vuelva a imprimir otros modelos para que parezca real (tenga en cuenta que el logotipo en el reverso también debe borrarse. Para muchos chips, el descifrador Puede juzgar 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) Cifre usando el comando A5 en MCS-51. De hecho, todos los materiales del mundo, incluidos los materiales en inglés, no mencionan este comando. De hecho, este es un comando de cifrado muy bueno. La función A5 es de dos bytes. El método de cifrado de instrucciones sin operación agrega un código de operación de dos o tres bytes después de A5, porque todo el software de desmontaje no desensamblará la instrucción A5, lo que provocará un caos normal en el desmontaje del programa. Al ejecutar el programa, el imitador no puede cambiar el programa fuente.
(9) Debe anotar el tiempo de desarrollo de su nombre en el área del programa y la declaración de que se investigará la falsificación para obtener protección legal, además, al escribir su nombre, puede ser; aleatorio En otras palabras, usando un determinado algoritmo, sus nombres serán diferentes bajo diferentes condiciones externas, como wwwhusooncom1011, wwwhusooncn1012, etc., que serán más difíciles de desmontar y modificar.
(10) Utilice un programador de alta gama para quemar algunos de los pines internos. También puede utilizar equipos caseros para quemar los cables dorados. Esto actualmente es casi imposible de descifrar en China. Para descifrarlo, se necesitarán decenas de miles de dólares y se necesitarán varios maestros.
(11) Utilice gel de sílice confidencial (pegamento para macetas de resina epoxi) para sellar toda la placa de circuito. También se pueden mezclar algunos componentes inútiles con el gel de sílice. Al mismo tiempo, intente borrar los números de modelo de los componentes electrónicos en los circuitos alrededor de la MCU.
(12) Para los microcontroladores SyncMos y Winbond, el archivo que se va a grabar se convertirá en un archivo HEX, de modo que el espacio del programa grabado en el chip agregará automáticamente 00. Si está acostumbrado a archivos BIN También puede usar El programador cambia el FF en el área en blanco a 00, de modo que el descifrador general no pueda encontrar los bits vacíos en el chip y no pueda realizar operaciones de descifrado posteriores.
Por supuesto, es imposible evitar fundamentalmente que el microcontrolador sea descifrado. La tecnología de cifrado continúa desarrollándose, y la tecnología de descifrado también continúa desarrollándose ahora, sin importar qué microcontrolador, siempre que alguien esté dispuesto a hacerlo. Pague por ello, básicamente todo se puede hacer, pero el costo y la duración del ciclo son problemas. 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