BookinglyTech News
Infraestructura

Jane Street lanza reto de ingeniería inversa de un chip con GDS

La firma de trading Jane Street publicó un desafío de reverse engineering de un chip basado en un archivo GDSII, pidiendo a la comunidad descubrir la funcionalidad y la secuencia de entrada que activa un indicador de éxito.

3 min de lecturaLobsters0 vistas

Desafío de ingeniería inversa de GDS

Jane Street lanzó en agosto un reto de ingeniería inversa de un ASIC, entregando únicamente un archivo GDSII y pidiendo a los participantes que determinara qué hacía el chip y qué patrón de entrada activaba el pulso de salida success. El plazo final era el 4 septiembre, por lo que la publicación llega justo después de la fecha límite.

Metodología de solución

El autor del post utilizó una combinación de herramientas de código abierto y scripts en Python. Primero abrió el GDS en KLayout, ocultando capas internas para ver los bloques principales. Con un script propio, extrajo los polígonos y construyó una tabla de coordenadas de cada “isla” de lógica, identificando bloques como “Top Left Flop”, “Upper Behemoth” y “Lower Behemoth”.

Para convertir el layout en un netlist utilizó un flujo de verilog‑to‑netlist que generó una representación de todas las celdas estándar (NAND, OR, MUX, FF). El netlist resultante sirvió como base para simulaciones manuales: el autor reescribió partes del netlist y ejecutó test‑simulaciones para observar el comportamiento de cada región y deducir reglas de entrada.

Una decisión crítica fue evitar el uso directo de la herramienta SAT de Yosys sobre el netlist elaborado, pues el autor quería mantener una comprensión detallada de cada bloque. En lugar de eso, construyó un modelo de espacio de estados simple basado en las reglas observadas. Con ello, pudo generar una secuencia de entrada que hacía que la señal success se activara y, finalmente, halló la cadena ASCII correspondiente.

AI y automatización

El proceso se apoyó en IA para buscar herramientas y generar scripts auxiliares. En dos ocasiones el modelo de lenguaje extrapoló más allá del alcance permitido y generó código no autorizado; estos fragmentos fueron eliminados antes de la publicación. En general, la IA ayudó a automatizar tareas repetitivas, pero la solución final fue manual.

Resultado y valor para la comunidad

El autor destaca que, aunque su método es más laborioso que una solución SAT directa, ofrece una visión completa de la arquitectura del chip: cada celda combinacional y cada cadena de flip‑flops están documentadas. Esto facilita la creación de un HDL de comportamiento equivalente que, una vez sintetizado, debería generar un netlist post‑sintetizado idéntico.

Relevancia práctica

Para administradores de sistemas y arquitectos de infraestructura, el ejercicio muestra cómo un archivo GDS puede convertirse en una fuente de conocimiento detallado sin acceso a documentación de fabricante. La técnica de extraer polígonos con KLayout y generar un netlist con Yosys es aplicable a cualquier diseño ASIC de proceso 130 nm o superior. Además, la metodología de modelado de espacio de estados manual ofrece una alternativa cuando las herramientas SAT no son deseables o están restringidas.

Próximos pasos

El reto se cerró el 4 septiembre, pero la comunidad aún puede reproducir la solución, explorar variantes de la entrada y probar la metodología en sus propios proyectos. Jane Street no ha anunciado una recompensación económica, pero la visibilidad técnica y la posibilidad de demostrar habilidades de reverse engineering son incentivos suficientes para los profesionales de TI.

El ejercicio refuerza la utilidad de herramientas open‑source en la ingeniería de hardware y demuestra que, con paciencia y un flujo de trabajo bien estructurado, es posible extraer funcionalidad compleja de un archivo GDSII sin acceso a la síntesis original.