Artículo BIT
Seguridad: seguridad en circuitos integrados, la ingeniería inversa ataca…
Seguridad en circuitos integrados9 la ingeniería inversa ataca La seguridad en los circuitos integrados es un tema que no suele ser tratado habitualmente La única información que llega al dominio público es la que preven los vendedores de circuitos integrados tipo custom Estos indicara como una ventaja del diseño de chips a la medida respecto a las placas de circuito impreso implementadas con chips estándar la enorme dificultad con que se enfrentan aquellos que pretendan copiar los equipos diseñados de la primera forma1 En este artículo va a presentarse brevemente5 y a un nivel divulgativo la actividad que permite extraer información de los circuitos integrados5 tanto custom como estándar y que recibe el nombre de ingeniería inversas Texto Octavio Nietos al adriz y Carlos López Barrio LA labor del diseñador fo equipo de diseño de circuitos integrados consiste en imp mentar chips partiendo de unas especificaciones de partida Los pasos a seguir pa ra el diseño de un circuito pasan por la definición sucesiva del chip a los siguientes niveles de descripción 9 FuncionaL 9 lógica 9 Eléctrica 9 Geometría La descripción geométrica es la que se manda al fabricante para que traduzca al silicio los dibujos realizados El resultado de este proceso es un conjunto de muestras del chip que se ha diseñada El proceso que realiza la ingeniería inversa es exactamente igual al realizado por el diseñador de circuitos solamente que en orden inverso de ahí el nombre de ingeniería inversa Partiendo de un chip1 y aplicándole el proceso de ingeniería invers puede obtenerse de ese chip la misma información que posee el diseñador o equipo de diseño que lo ha implementada QUE UTILIDAD TIENE7 En la ingeniería inversa1 atendiendo a sus aplica ciones1 pueden definirse tres grandes campos de actuación la copia de chips1 como fuente de conocimiento y para controlar diseños realizados 9 La primera aplicación consiste en poder hacer la copia exacta de un chip para fabricar más unidades y emplearlas en nuestros propios desarrollos1 Casos tH picos de esta aplicación son los que a veces aparecen reseñados en la prensa como pesca de boyas de señalización en el mar del Norte o recuperación de electrónica de armamento variado por países del Este para realizar reproducciones de algunos de los circuitos que encuentran Lo que en un principio puede parecer una tarea muy sencilla de realizan copiar la descripción del chip a nivel geométrico y mandarla a fabrican no puede hacerse El problema surge porque el proceso de fabricación es el que condiciona el diseño geométrico1 haciendo prácticamente imposible la transportabilidad La solución que se aplica en estos casos es subir al nivel eléctrica hallando la descripción del chip a d cho nivel1 y aplicar la ingeniería directa para bajar al nivel geométrico según las reglas del fabricante que se desee 9 El segundo campo de aplicación que se considera como la principal utilidad de la ingeniería inversal es como fuente de conocimien Cuando se va a abordar cualquier diseño1 un mayor grado de experiencia sobre el problema a resolver dunda en un menor coste asociado En el caso de ci cuitos integrados se puede obtener un menor tiempo de diseño de los prototipos un mejor rendimiento en área1 y el empleo de soluciones robustas y probadas1 lo que al final permite lograr una mejor fiabilidad y un menor coste por chip fabricado Seguridad La realización del proceso de ingeniería inversa so bre circuitos previamente seleccionados permite al diseñador saber como otros diseñadores han resuelto los problemas a los que actualmente se enfrenta o los que presumiblemente le van a surgid sabiendo además que dichas soluciones funcionan Asimismo1 el estudio comparativo de soluciones a un mismo problema que han sido empleadas por diferentes diseñadores permite al diseñador obtener un grado de experiencia mayor que cada uno de ellos individualmente El conocimiento puede obtenerse a cualquiera de los niveles de abstracción en la descripción de un ci cuito integrado que se han enunciado anteriormente1 Solamente que según se suba de nivel más tiempo y esfuerzo hay que aplicar en la ingeniería inversa del chip bajo estud 9 Por último1 la ingeniería inversa puede aplicarse sobre circuitos que han sido diseñados por nosotros mismos1 y que el fabricante nos ha devuelto en forma de chips Esta aplicación que en principio puede parecer a surdal es de sumo interés para hacer un seguimiento de las evoluciones del proceso tecnológico del fabr Con los resultados que se obtienen pueden elaborarse pautas para la evaluación de las especificac nes y su evolución a lo largo del tiempo que dura el suministro de chips1 que ofrece el fabricante Estas especificaciones1 habitualmente reflejadas en forma de fiabilidad y parámetros eléctricos tensiones umbral de los transistoresTresistividades1 latchup1 etc J1 han sido firmadas en el contrato de suministro1 siendo algunas de ellas de muy difícil comprobación sin la ayuda de la ingeniería inversa1 Esta aplicación es principalmente utilizada para la xcaza de culpables que se realiza cuando los chips no funcionan o cuando la tasa de fallos es superior a la firmada en el contrate Para este uso solamente se realiza la ingeniería inversa del nivel geométrico Una vez descritos los principales campos de aplicación de la ingeniería inversa1 y viendo que realmente es muy útil e interesante1 cabe preguntarse por qué sigue siendo una actividad prácticamente desconocida Una primera respuesta que se nos ocurre es la p blemática legal asociada Las antiguas leyes de patentes no contemplaban a tividades como la ingeniería inversa1 en ellas se penalizaba solamente la copia exacta Por lo tanto1 la pr mera aplicación estaba prohibida1 mientras que sobre las otras dos no había nada legislado Las nuevas leyes de patentes siguen prohibiendo la copia1 mientras que se permiten las dos últimas fo mas de ingeniería inversa antes mencionadas Un caso típico es un artículo en el que un fabricante cuenta a grandes rasgos como partiendo del microprocesador 8086 en tecnología nMOS diseñaron el 80C86 en CMOS1 comercializándole Sin embargo la respuesta a esa pregunta es que la ingeniería inversa es una técnica sumamente comp ja1 que requiere personal con una gran capacitación y experiencia1 y el uso de un material altamente sofis cado Prueba de ello es que la ingeniería inversa es habitualmente practicada por un muy reducido núrr ro de grupos de trabajo1 algunos de los cuales ofrecen sus servicios a la idt cQUE INFORMACIÓN PUEDE OBTENERSE7 La vanguardia tecnológica está presente solamente en los centros de investigación y desarrollo muy avanzados Un paso por detrás están los productos comercializados1 estos aplican las soluciones de laboratorio cuando éstas son rentables y con una eficiencia probada1 Y finalmente en el último lugar están tanto las publicaciones de todo tipe revistas y librosl como los cursos Cuando se quiere abordar el diseño de un nuevo circuito1 la forma habitual de obtener tanto la experiencia como el conocimiento necesario para realiza lo es el estudio de la bibliografía existente sobre el tema a resolver o la asistencia a algún curso1 Esta forma de adquisición de conocimiento presenta los problemas antes comentados sobre la actualidad del material recopilade La ingeniería inversa permite al diseñador tener un punto de partida más actualizado1 el de los productos comerciales haciendo más eficiente la labor de diseñe Como se ha comentado anteriormente1 la ingeniería inversa parte de chips1 y sobre ellos se trabaja Ate diendo al tipo de procesado al que se someten los ci cuitos1 se pueden distinguir dos tipos de ingeniería inversa el estudio en profundidad1 y el estudio en s perficie Para el estudio en profundidad se realizan en el chip cortes verticales perpendiculares al área activa del dadoj1 trabajando sobre el perfil que se ha obtenn de De su estudio se obtiene información sobre el proceso tecnológico empleado por el fabricante Los datos que pueden obtenerse se dividen en dos tipos 9 Los geométricos son medidas físicas que se realizan en el perfil y que permiten hallar parámetros sobre la geometría del procese Los resultados que se hallan son los espesores1 profundidades y perfiles de las diferentes capas que componen el chip fdifusiones1 epitaxias1 metalizaciones1 óxidos etc Asimismo pueden estudiarse los defectos tanto su tipo como su densidad1 de las capas Para esta tarea se emplea habitualmente un microscopio electrónico debido a las pequeñas dimensiones de los objetos a visualizar 9 Los de composición permiten obtener la composición física y química1 los dopajes y la concentración de impurezas de las diferentes capas Dado el pequeño tamaño de los objetos sobre los que hay que trabajar en este tipo de estudio se emplean equipos de identificación de materiales alt mente sofisticados Aunque también suele utilizarse un tipo especial de ingeniería inversa en superficie para incrementar el tamaño de los objetos sobre los que se trabaja Como resultado de este tipo de estudio se obtiene una caracterización de la tecnología y proceso de fabricación que tiene el fabricante del chip bajo estudie La mayor parte de los datos que se obtienen son so lamente de interés para los tecnólogos mientras que son de poca utilidad para el diseñador de circuitos Sin embargo1 y para el diseñador de circuitos un resultado muy interesante es que de aquí pueden hallarse los parámetros eléctricos de la tecnología bajo estud Estos parámetros son los que se utilizan en los programas de simulación eléctrica que se emplean habitualmente en el diseño de circuitos integrados La combinación de ambos elementos permite obtener va liosa información sobre formas especiales de diseño feomo resistencia a diferentes tipos de radiaciones electromagnéticas o nucleares El estudio superficial se realiza sobre el área a tiva del chip Se realizan cortes a diferentes profundidades en planos paralelos a la superficie de chip y se estudian las superficies resultantes El tamaño de los objetos que se estudian son mayo res que en el estudio en profundidad1 por lo que gene ralmente puede utilizarse un microscopio óptico Ash mismo hace falta una tecnología de tintados que permita distinguir las diferentes capas que aparecen en cada plano de corte1 sin la cual el estudio no puede realizarse Y finalmente el sistema de corte ha de ser bastante especiad pues en muchas ocasiones la distancia entre dos planos de corte es menor de 600 amstrongs En el estudio en profundidad el volumen de datos que se maneja no es muy elevadc por lo que no hay que buscar ninguna organización especial Sin errv bargo1 en el estudio de superficie1 la cantidad de da tos es muy grande fácilmente pueden tenerse 500 000 rectángulos por lo que hay que definir una forma de trabajo La metodología de trabajo que nosotros hemos de finidc y que no nos ha dado ningún tipo de problema1 consiste en la realización de los siguientes pasosi 9 Procesos físico químicos sobre el chip para pe mitir trabajar con él que constan de los siguientes pa SOSi 1 Desencapsulado Limpieza Eliminación de las protecciones ísi las hubieran t Planificación y almacenamiento de las imágenes para trabajar con ellas de una manera más cómoda w Identificación de los diferentes materiales que se han utilizado en la fabricación del chip metales sioneSp polisilicios1 óxidos1 etc En este paso mente se trabaja con las máscaras que el diseñador define cuando realiza la descripción a nivel geométr cc desechando el resto fpor ejemplo y en algunos casos el ajuste de tensión umbral de los transistores1 la pasivación etc J por no ser útiles en este estud 9 Identificación de las formas geométricas y ubicación de cada uno de los materiales frectángulos1 t pecios1 y círculos son los más habituales para cada plano de corte La Ingeniería inversa puede aplicarse sobre circuitos que han sido diseñados por nosotros mismos y que el fabricante nos ha devuelto en forma de ch Una ventaja muy importante de los resultados obtenidos mediante la ingeniería inversa es que las soluciones son viables pues los chips de partida funcionan Una vez finalizada esta tarea1 y uniendo la información de los diferentes cortes que se han realizado se tiene la descripción geométrica del chip tal y como la obtuvo el diseñador del circuito y mandó a fabricar La información que se obtiene es de tipo geométr cc como puede ser la distribución en la superficie del chip de los elementos que se extraerán a otros niveles más altos1 mapa de distribución de masa y alimenta ción1 plano de base empleada eta Extracción de los elementos eléctricos transistores resistencias1 condensadores diodos elementos especiales eta y su interconexión Como resultado de esta tarea se obtiene una red compuesta por e mentos interconectados que están descritos a nivel eléctrico1 es decir la descripción eléctrica del circuito que hizo el diseñador del chip Con los resultados del punto anterior y reuniendo elementos geométricos1 se identifican los elementos descritos a nivel eléctrico y las interconexiones entre ellos Tanto la red completa como partes de ella pue den ser simulados con simuladores eléctricos para estudiar su comportamiento eléctricotemporal Con los resultados obtenidos se pueden estudiar las técnicas que se han empleado en el diseño como lógica clásica1 precargada1 multievaluada forma de almacenamiento de datos1 diseños para máxima veloc dad o simetría en los tiempos de subida y bajada1 asimetrías definidast relaciones de aspecto de los transitores1 etcj y como han sido implementados los bloques que se obtendrán en el siguiente punte 9 Agrupación de elementos eléctricos interconectados para formar macroelementos analógicos diferenciales operacionales fuente multiplicadores VCCX PLL etc J o digitales puertas biestables contadores memoria ALU1sI etc Como resultado de esta operación se obtiene una descripción del chip a alto nivel como una red de macros interconectados Este es el punto en el que habitualmente finaliza el proceso de ingeniería inversa1 ya que el resultado es una descripción del chip que entiende perfectamente el diseñador de circuito y del que puede obtener tc da la información que desee sobre el funcionamiento del chip El circuito descrito a este nivel puede simularse con simuladores de alto nivel para ver el comportamiento bien al nivel lógico como al funcional De cada uno de los macros que se han obtenido en este punto se tiene1 gracias a los resultados de los sos anteriores toda la información tanto a nivel trico como geometría Como resultado del estudio superficial puede obtenerse tanto el comportamiento del chip de patas ra cia afueran como las soluciones empleadas por su diseñador para resolver los problemas que le han su gido a todos los niveles de descripción del circuito fgeométrico1 eléctrico1 lógico y funcionáis ÓCOMO SE UTILIZAN LOS RESULTADOS7 Una vez definido el problema que el diseñador quie re resolver el primer paso a dar consiste en la elección del chip o conjunto de ellos sobre los que se va a realizar el proceso de ingeniería inversa1 La selección se realiza por similitud1 bien en su comportamiento de patas hacia afuera cuando se busca como otro diseñador ha implementado el chip a alto nivel funcional o lógico como de condicionantes de trabajo tensiones de funcionamiento inmunidad frente a condiciones externa etc h donde san las soluciones empleadas tanto a nivel eléctrico como geométrico Como se indica en el anterior parrad los resultados que se obtienen sirven al diseñador como fuente de conocimiento bajo dos vertientes La primera es saber como funciona a alto nivel el chip sobre el que se ha realizado la ingeniería inversa Y la segunda conocer las soluciones que se han adoptado para las condiciones de trabajo para las que ha sido diseñado casos típicos y de gran interés son los chips que mane jan varias tensiones a los que han de trabajar en ambiente de alta radiación Una ventaja muy importante de los resultados obtenidos mediante la ingeniería inversa es que las sol ciones halladas son viables1 pues los chips de partida funcionan Con la información que se obtiene mediante la ingeniería inversa el diseñador tiene un punto de part da para el diseño de circuitos asimilable a una gran experiencia puntual y altamente actualizada sobre el problema que debe resolver Todo esto se logra con un coste asociado bástate razonable sobre todo si se BITSl Seguridad tiene en cuenta el precio que se paga por generar o contratar un experto para cada chip que se desarrollad 6Y LA PR0TECCI0N7 Hasta el momento1 y prácticamente finalizado el a título lo único que se ha hecho ha sido definir la irv geniería inversa1 se ha comentado su utilidad1 y se ha hecho una breve descripción de la forma de trabajo1 pero no se ha dicho nada de las protecciones que se aplican a los chips contra la ingeniería inversa La protección de chips solamente se realiza frente a la ingeniería inversa superficial ya que no hay forma de protección frente a la ingeniería inversa en profundidad Los métodos que se emplean se dividen en dos grandes grupos ocultamiento1 y movimien 9 El ocultamiento consiste poner capas opacas sobre la superficie del chip para evitar el reconocimiento tanto de los materiales como de las formas geométricas Esta técnica permite proteger los chips sin degradar sus características pues son capas que se ponen so bre la pasivación1 cuando el circuito ya está procesa dc siendo su coste no muy elevado Sin embargo1 las técnicas avanzadas de decapado y coloración que se han desarrollado en la ingeniería inversa hacen que este tipo de protección sea inope rante1 por lo que ha sido prácticamente abandonado La lucha contra este tipo de protecciones se realiza por medio de procesos físicos y químicos que vienen a ser similares1 o al menos inspirados en los utilizados en la fabricación de los chips 9 La técnica del movimiento consiste en quef una vez diseñado el circuito a nivel de transistores1 se h ce un revuelto con ellos para ubicarlos sobre la superficie del chip y generar la descripción al nivel georr tri Con ello se logra dificultar la identificación de macros1 y por lo tantol impedir el conocimiento de su comportamiento a alto nivel El principal problema de este tipo de protección es que se degradan las características de velocidad y área ocupada por el chip ya que se aumenta la long Octavio Nieto Taladriz Garcial es Ingeniero de Telecomunicación por la ETSIT de Madrid Becario del Instituto Tecnológico para Postgraduados 198485 Becario de Formación de Personal Investigador 198587 Profesor Titular EU Interino f1987ctualidadj en el Departamento de Ingeniería Electrónica de la ETSIT de Madrid Responsable y creador del grupo de Ingeniería Inversa del mismo departamento tud del conexionado entre transistores Es decir1 se aumenta el coste por chip y se degradan las prestaciones por lo que prácticamente ha sido abandonada La definición de metodologías avanzadas para ingeniería inversa unido a programas CAD de ayuda1 experiencia1 y paciencia1 hacen que este tipo de protección sea también violaba Sin embargc las protecciones antes descritas son perfectamente válidas cuando no se dispone de una ingeniería inversa lo suficientemente desarrollada1 tanto en la parte fisicoquímica como en la metodo gi Por lo tanto1 y para tener una actividad operativa1 ésta ha de seguir actualizándose al mismo ritmo de los procesos de fabricación lo que solamente es alcanzable por grupos de trabajo altamente cualificados En definitiva1 por el momento no existe ningún rr todo de protección que sea eficaz frente a una ingeniería inversa bien planteada y con los medios tecnológicos necesarios CONCLUSIONES La ingeniería inversa es una herramienta muy potente cuya utilidad es muy valiosa en dos frentes1 la adquisición de conocimiento1 y el control del fabr cante que suministra los chips Para abordar el diseño de nuevos circuitos1 el conocimiento y experiencia puntuales que puede o tener un diseñador poco experto con ayuda de los x sultados de la ingeniería inversa está al mismo nivel que los diseñadores expertos en esa problemática y con un coste muy razonaba También es una herramienta muy potente para el control de los parámetros tecnológicos que se ha comprometido a mantener el fabricante que suministra los chips que hemos diseñado1 y que aparecen en el contrato de suministre Finalmente1 la conclusión que puede extraerse de este breve repaso a la seguridad en los circuitos integrados es que las protecciones actuales son absolutamente ineficientes frente a grupos cualificados de ingeniería inversa Y que previsiblemente esta tendencia será válida en el futuro Carlos López Barrio es Ingeniero de Telecomunicación Doctor Ingeniero de Telecomunicación por la UPM Catedrático de Tecnología Electrónica Dirige el laboratorio de Sistemas Integrados que se dedica a la investigación sobre arquitecturas digitales y diseño VLSL
30 oct 2015