¿Es posible aplicar ingeniería inversa al diseño de un chip?

¿Podemos hacer algo como un lector de chips, que pueda comprender el diseño del chip y generar un plano del mismo?

¿Qué circuito integrado? Por ejemplo, el temporizador 555, los planes están en línea generalmente en la hoja de datos.
Sería posible diseñar un lector de chips que pudiera "hacer ingeniería inversa" de ciertos tipos de chips (por ejemplo, cualquier diseño que se podría poner en un 16V8, o la mayoría de los diseños se podrían poner en un 22V10), pero en general hay demasiados cosas que un chip podría hacer para que uno tenga confianza en cualquier esfuerzo de ingeniería inversa realizado solo mediante el sondeo. Incluso algo como un 22V10 podría comportarse de una manera hasta que se registren siete direcciones precisas de diez bits, y luego comenzar a comportarse de manera completamente diferente. No habría forma de sondear todas las posibles secuencias de direcciones de 70 bits, por lo que no se podía estar seguro de que no se dejaran características.

Respuestas (4)

ChipWorks tiene un excelente blog sobre cómo hacer exactamente esto, con muchas imágenes geniales aquí .

FlyLogic también tiene un excelente blog. está aquí _

La respuesta corta es que es absolutamente posible. Los IC DIE son básicamente placas de circuito muy pequeñas. Puede realizar ingeniería inversa con bastante facilidad, solo se necesita un conjunto de herramientas diferente.

En particular, quiero llamar la atención sobre algunas publicaciones que hizo flylogic sobre circuitos integrados de ingeniería inversa (¡qué actualidad!) aquí y aquí .

Imagen tomada de flylogic
Imagen del sitio web de flylogic

El primer enlace está roto.
Los chips complejos quizás no sean tan fáciles :-) reverseengineering.stackexchange.com/questions/5878/…

Sí. Hay empresas que se especializan en esto. Esto se hace todo el tiempo, aunque es más un arte que una ciencia. Por lo general, realizan algún proceso de grabado químico y mecánico extravagante para quitar progresivamente las capas del chip (como las capas de una PCB), tomando fotos detalladas de cada capa. Normalmente, estas empresas lo hacen para ayudar a personas como TI e Intel a descubrir por qué fallan sus propios chips, pero puede apostar a que también hay algunos usos ilegales de esto.

Aquí hay un artículo interesante y relevante que acabo de encontrar: http://www.forbes.com/forbes/2005/0328/068.html

Y otro enlace: http://www.siliconinvestigations.com/ref/ref.htm

¿Qué tiene de ilegal la ingeniería inversa del chip de un competidor?
@endolith No dije que la ingeniería inversa sea ilegal. Pero alguien probablemente argumentaría que lo es (DCMA y todo). Dicho esto, se requiere ingeniería inversa para fabricar chips falsificados, lo cual es ilegal en la mayoría de los países. Y, debo agregar, los chips falsificados son un gran problema para la mayoría de los fabricantes medianos y grandes. Sé que nuestro departamento de compras ha sido capacitado para detectar chips falsificados y, de hecho, detectó algunos antes de que llegaran a nuestro sistema.
Creo que la ingeniería inversa para hacer una copia exacta en lugar de usarla para aprender cómo funciona sería una infracción de derechos de autor.
@pfyon: Las leyes que cubren la copia de un trabajo de máscara IC son muy similares a las leyes de derechos de autor que cubren libros, software, fotografías, etc. Creo que la mayor diferencia es que los derechos de autor (con autoría corporativa) duran 95 años, pero los derechos de trabajo de máscara duran solo 10 años.

Otra forma de copiar el diseño de un chip es emular su funcionalidad usando un FPGA. Muchas emulaciones de chips más antiguos como el Z80 y el 6502 están disponibles. Algunos estudiantes incluso produjeron su propia versión de un dispositivo ARM y lo pusieron a disposición a través de la Web, pero tuvieron que eliminarlo cuando ARM amenazó con emprender acciones legales.

Solo puede implementarlo en un FPGA después de realizar ingeniería inversa. La pregunta es sobre esta ingeniería inversa. OP no parece tener una hoja de datos.
Él no ha dicho eso. Es un enfoque viable si hay una hoja de datos disponible y mucho más económico que las otras sugerencias.

Si bien la ingeniería inversa de microchips antiguos es factible con un microscopio óptico y un pulido manual, el desafío es quitar las capas limpiamente. Por ejemplo, la imagen de arriba parece ser un chip más antiguo y, por los cambios de color en el fondo, puede ver que se ha pulido para eliminar una capa. Los procesos típicos de desprocesamiento implican el pulido con máquinas especializadas de pulido/lapeado o grabado químico húmedo con productos químicos más o menos peligrosos.

Sin embargo, para los chips más recientes, los tamaños del proceso son tan pequeños que necesitará equipos sofisticados y más costosos, como un grabador de plasma, un microscopio electrónico de barrido (SEM) o un haz de iones enfocados (FIB). Debido a la complejidad, ya no es tan fácil extraer la lógica (es decir, la información de la lista de conexiones) del chip. Hoy en día, las empresas utilizan herramientas automatizadas que normalmente procesan las imágenes SEM obtenidas de las capas de chips para generar la lista de conexiones. El desafío aquí es desprocesar el chip para evitar los artefactos de desprocesamiento, ya que serían problemáticos para cualquier análisis automatizado posterior.

Hay algunos videos de Youtube y conferencias sobre ingeniería inversa de chips. Por ejemplo, en el video aquí puede ver una configuración más pequeña que la gente podría usar incluso en casa: https://www.youtube.com/watch?v=r8Vq5NV4Ens

Por otro lado, existen empresas que pueden realizar este tipo de trabajos con equipos más sofisticados y costosos. Además de lo mencionado anteriormente, IOActive cuenta con un laboratorio para este tipo de trabajo.

En la UE también hay empresas. Por ejemplo, en el sitio web de Trustworks, puede ver algunas imágenes y algunas de las herramientas de laboratorio necesarias para realizar este tipo de trabajo: https://www.trustworks.at/microchipsecurity . También parecen tener herramientas de software de ingeniería inversa de microchip si observa específicamente su sección "Extracción y análisis de Netlist".