Logo Studenta

Ingeniería inversa

¡Estudia con miles de materiales!

Vista previa del material en texto

Ingeniería inversa
La ingeniería inversa es el proceso llevado a cabo con el objetivo de obtener información o un diseño a partir de un producto, con el fin de determinar cuáles son sus componentes y de qué manera interactúan entre sí y cuál fue el proceso de fabricación.
Actualmente (principios del siglo XXI), los productos más comúnmente sometidos a ingeniería inversa son los programas de computadoras y los componentes electrónicos, pero realmente cualquier producto puede ser objeto de un análisis de Ingeniería Inversa.
El método se denomina así porque avanza en dirección opuesta a las tareas habituales de ingeniería, que consisten en utilizar datos técnicos para elaborar un producto determinado. En general, si el producto u otro material que fue sometido a la ingeniería inversa fue obtenido en forma apropiada, entonces el proceso es legítimo y legal. De la misma forma, pueden fabricarse y distribuirse, legalmente, los productos genéricos creados a partir de la información obtenida de la ingeniería inversa, como es el caso de algunos proyectos de software libre ampliamente conocidos.
El programa Samba es un claro ejemplo de ingeniería inversa, dado que permite a sistemas operativos UNIX compartir archivos con sistemas Microsoft Windows. El proyecto Samba tuvo que investigar información confidencial (no liberada al público en general por Microsoft) sobre los aspectos técnicos relacionados con el sistema de archivos Windows. Lo mismo realiza el proyecto WINE para el conjunto de API de Windows y OpenOffice.org con los formatos propios de Microsoft Office, o se hace para entender la estructura del sistema de archivos NTFS y así poder desarrollar drivers para la lectura-escritura sobre el mismo (principalmente para sistemas basados en GNU/Linux).
La ingeniería inversa es un método de resolución. Aplicar ingeniería inversa a algo supone profundizar en el estudio de su funcionamiento, hasta el punto de que podamos llegar a entender, modificar y mejorar dicho modo de funcionamiento.
Pero este término no solo se aplica al software, sino que también se considera ingeniería inversa el estudio de todo tipo de elementos (por ejemplo, equipos electrónicos, microcontroladores, u objeto fabril de cualquier clase). Diríamos, más bien, que la ingeniería inversa antecede al nacimiento del software, tratándose de una posibilidad a disposición de las empresas para la producción de bienes mediante copiado1​ desde el mismo surgimiento de la ingeniería.
En el caso concreto del software, se conoce por ingeniería inversa a la actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código o generar código propio que cumpla las mismas funciones. La gran mayoría del software de pago incluye en su licencia una prohibición expresa de aplicar ingeniería inversa a su código, con el intento de evitar que se pueda modificar su código y que así los usuarios tengan que pagar si quieren usarlo.
La ingeniería inversa nace en el transcurso de la Segunda Guerra Mundial, cuando los ejércitos enemigos incautaban insumos de guerra como aviones u otra maquinaria de guerra para mejorar las suyas mediante un exhaustivo análisis.
La siguiente figura muestra los procesos que sigue la ingeniería directa, si seguimos ese camino hacia "atrás" (o de manera inversa), hacemos ingeniería inversa, si continuamos con el camino y planteamos cambios (o mejoras), por la derecha, ese camino nos lleva a una reingeniería, si no alteramos el contenido de los modelos obtenidos durante los procesos de la ingeniería inversa y seguimos el camino de la izquierda, eso se llama desarrollar una copia.
Debate Apple - Samsung
Las empresas Apple y Samsung han tenido un debate durante los últimos años en el que Apple ha acusado a Samsung de copiar con ingeniería inversa tanto el iPhone como el iPad. Apple denunció a su rival surcoreano Samsung Electronics por copiar el aspecto, el diseño de producto y la interfaz de sus dispositivos iPhone y iPad, lo que supone según la compañía una infracción de las patentes y marcas registradas por Apple.
Caso:
IBM era el dueño y señor de los bits y los bytes a principios de los 80. En aquella época Apple, Microsoft y los fabricantes de aquellos legendarios ordenadores de 8 bits también despuntaban, pero todo daba igual: el gigante azul dominaba con mano firme la informática empresarial , y para muestra un botón: el PC no se llamaba PC. Se llamaba IBM PC.
Los responsables de aquella empresa nos tenían a todos bien atados, y lo hacían con una técnica de lo más efectiva: aunque publicaron buena parte del código fuente del sistema operativo que gobernaba aquellos PCs antediluvianos, lo que no permitían replicar era el código de la BIOS, aquel sistema que les permitía ser los únicos en poder ofrecer sus PCs. Y entonces llegó Phoenix Technologies para cambiar el mundo -nuestro mundo- con una técnica mucho menos oscura de lo que podría parecer: la ingeniería inversa.
Como explicaban en ComputerWorld años después, en Phoenix Technologies establecieron dos grupos de ingenieros muy distintos y completamente separados visualmente. El primer grupo de ingenieros estudió la BIOS de IBM, cuyo código ocupaba unos 8 KB, y describieron todo lo que ese subsistema iba haciendo sin hacer referencias al código como tal. Simplemente les indicaban a los miembros del segundo grupo de ingenieros cómo se comportaba la BIOS paso por paso.
¿El gran ganador? Microsoft
A partir de esas instrucciones funcionales, el segundo grupo tenía una misión igualmente crítica: tratar de replicar lo que hacía ese subsistema, pero programándolo desde cero y sin poder copiar ni una línea de código de la BIOS de IBM porque literalmente no habían tenido acceso directo a ella.
El resultado fue increíble: lograron replicar perfectamente la BIOS de IBM -incluso con algunas coincidiencias no intencionadas en el código- y eso fue el detonante de que la industria pudiera acceder a una alternativa a aquel código tan restrictivo.
El PC clónico había nacido, e IBM perdió el control del hardware. ¿Quién fue el gran triunfador de aquella historia? No fue IBM, desde luego, pero tampoco lo fue Phoenix Technologies. Fue Microsoft.
La aparición de los PCs clónicos permitió que sus sistemas operativos -primero MS-DOS, luego Windows- acabaran por ser el estándar de facto para un segmento que creció como la espuma gracias a una solución de ingeniería inversa de la que pocos acabaron enterándose.
Phoenix no fue la única en tener esa idea: en Compaq precisamente utilizaron aquel concepto de "habitación limpia" dos años antes y acabaron pudiendo crear el conocido como el primer "PC compatible con IBM al 100%, el Compaq Portable, que se convertiría en un éxito de ventas brutal, aunque Compaq también se guardó aquella BIOS para sus propios PCs y portátiles. AMI fue otra de las empresas que copiaron el modelo de Phoenix Technologies, y decenas (¿cientos?) de fabricantes acabaron licenciando aquellas BIOS para poder ofrecer sus equipos en todo el mundo.
El impacto también se dejó notar en otros ámbitos
Aquel logro sería muchos años después dramatizado en un episodio de la serie 'Halt and Catch Fire', ua producción de AMC que entre otras cosas recreaba la génesis de aquel modelo de negocio de PCs clónicos que puso fin al dominio absoluto de IBM (mencionada expresamente en la serie, aunque otros nombres fueran ficticios).
Como indican en la Wikipedia, IBM acabó reconociendo que no podía demandar a Phoenix Technologies por esa aproximación al problema, y aquello funcionó para un gran número de fabricantes que aprovecharon aquella opción.
Otros no tuvieron tanta suerte, y fabricantes como Corona Data Systems, Eagle Computer y Handwell Corporation fueron demandados y obligados a pagar cuantiosas sumas por violar el copyright de la BIOS de IBM, una empresa que en al menos en ese caso se comportó efectivamente como un 'patent troll' más, sacando dinero de patentes que hacían muy difícil la libre competencia.En IBM de hecho siguieron sacando partido de aquel modelo, porque incluso años después, a principios de los 90, seguían cerrando acuerdos millonarios por el mismo tema: fabricantes como Panasonic y Kyocera habían replicado la BIOS sin esa aproximación de Phoenix Technologies, algo que les saldría muy caro a posteriori. Daba igual, por supuesto: el mundo ya había cambiado, y los ases en la manga ya no los tenía IBM, sino Microsoft.

Continuar navegando