(computerhoy.com).- Hoy vamos a hablar de un truco que ha permitido cambiar el rumbo de la historia de la tecnología en más de una ocasión, la ingeniería inversa. ¿Sabéis qué es y en qué consiste? Os lo contamos.
¿Alguna vez habéis estado jugando con un juguete mecánico y lo habéis desmontado y vuelto a montar para ver cómo funcionaba? Pues esa es más o menos la base de la ingeniería inversa. Este proceso «hacia atrás» se sigue usando en muchas ocasiones de manera legal para crear nuevos sistemas o mejorar los ya existentes, vamos a ver en qué consiste.
Cuando pensamos en el proceso de creación de la tecnología que nos rodea, nos imaginamos a un grupo de ingenieros buscando ideas innovadoras para desarrollar desde cero y poco a poco darle forma hasta tener el producto completo. Pero esto no ha sido siempre así, muchos de los sistemas y productos que utilizamos hoy en día se han creado a través del proceso de ingeniería inversa, que tiene como objetivo obtener la mayor cantidad de información de un producto ya terminado.
Podríamos decir que consiste en averiguar cómo está construida una casa ya finalizada, sin los planos ni ninguna idea previa, simplemente observando la estructura y desmontando pieza a pieza de nuevo. Puede parecer algo rebuscado pero en muchos casos nos encontraremos con que el fabricante no quiera darnos explicaciones del proceso de creación de su producto y eso no nos impide estudiarlo.
Los orígenes de este proceso se remontan a la Segunda Guerra Mundial, cuando la tecnología armamentística empezó a ser tan importante que podía hacer que la balanza de la victoria se decantara por unos países o por otros. Tanto el bando de los Aliados como las Potencias del Eje se dedicaban a capturar aviones, máquinas y armas del enemigo para estudiarlas y buscar puntos débiles de su tecnología, para conseguir una ventaja estratégica frente al bando contrario.
Ellos no tenían ni los planos ni sabían cómo se habían diseñado esa máquinas pero debían averiguarlo para crear las suyas propias más potentes o conocer el punto exacto en el que un avión, por ejemplo, era más fácil de derribar.
De esta época, en la que la ingeniería inversa servía para analizar hardware, pasamos a la actualidad en la que estamos más centrados en el uso del software. Actualmente la ingeniería inversa tiene muchas aplicaciones: desde analizar la tecnología de la competencia, para mejorar la nuestra o saber si las otras empresas infringen alguna de nuestras patentes; pasando por desarrollar productos compatibles con otros sistemas de los que no tenemos los detalles técnicos; hasta comprobar que un programa informático no cuenta con ninguna brecha de seguridad.
Uno de los ejemplos más famosos de ingeniería inversa y que supuso un nuevo rumbo de la historia de la tecnología fue el caso de Phoenix Technologies. Bernard A Galler cuenta este suceso en libro «Software and Intellectual Property Protection.
A principios de los años 80, la compañía IBM era la reina del mundo tecnológico, y su secreto mejor guardado era el código de la BIOS de sus PCs, algo así como la fórmula de la Coca Cola.
Los ingenieros de IBM eran los reyes del cotarro, si alguna empresa intentaba copiar su BIOS y presentaba PCs clónicos con ellas, les enterraban a base de demandas legales. Hasta que llegó Phoenix Technologies y utilizó la ingeniería inversa para conseguir descifrar la BIOS del gigante azul.
Esta compañía se organizó en dos equipos: el primero se dedicó a estudiar la BIOS de IBM para después describirles al segundo equipo qué es lo que hacía la BIOS pero sin decirles cómo lo conseguía. Este sistema se conoce como clean room o muralla china por el cual dos equipos trabajan en un mismo proyecto pero crean una barrera de información entre ambos para no contaminar el resultado del otro.
Ingeniería Inversa
De esta manera el segundo equipo replicó ese sistema pero desde cero y sin copiar prácticamente ni una sola línea del código creado por IBM, porque no lo conocían. Así evitaron una demanda legal por parte de IBM y le quitaron el monopolio de los PCs abriendo las puertas a otros sistemas operativos tan conocidos como Windows.
Esa técnica se utilizó después en otras empresas como Compaq que creó el primer PC compatible con el sistema de IBM, sin embargo, otras no consiguieron realizarlo con tanta precisión como Phoenix Technologies y siguieron sufriendo las demandas de IBM, aunque en el mercado ya había muchos más jugadores.