Técnicamente, todo el personal que está relacionado con algún proceso de producción sabe cómo hacer ingeniería inversa. Claro que, al relacionarse con el estudio de elementos ya terminados, esta retroingeniería es propensa a desviarse o cruzar los límites de las prácticas éticas. Dada la importancia de este concepto, hoy desvelaremos para qué sirve la ingeniería inversa realmente y cómo ha ayudado al desarrollo humano.
Tecnologías emergentes:
Las 10 nuevas tecnologías que cambiarán nuestro mundo dentro de unos años
La ingeniería inversa es el proceso mediante el cual se estudia a profundidad un producto final, con la intención de extraer de él su diseño, un esquema detallado de sus partes, conocimiento profundo de su funcionamiento o en busca de descubrir cómo pudo haber sido el proceso de fabricación. En un sentido amplio, podemos decir que la ingeniería inversa de un producto trata de entender un objeto al punto de poder reproducirlo y mejorarlo.
¿Qué significa inverso? Se le llama proceso inverso porque el flujo de trabajo va en sentido contrario de lo que suele ser el proceso de ingeniería convencional, donde se parte de un diseño previamente teorizado hacia un producto final.
Las madres de todas las ingenierías fueron las pioneras de este proceso: La ingeniería civil y la ingeniería militar. Se ha llevado a cabo desde hace miles de años sin querer.
Las sociedades más desarrolladas aprendían de los diseños de otras culturas, para incorporar las partes más interesantes a sus propias creaciones.
En la Segunda Guerra Mundial, por ejemplo, era común dejar intacta parte de la maquinaria tecnológica o mecánica del enemigo con la intención de estudiarla a fondo su ingeniería, partes y procesos involucrados en la fabricación, con la intención de crear nuevos diseños, copiar partes de su estructura o realizar mejoras.
En la actualidad, la ingeniería inversa de software es la más implementada, orientándose a los equipos electrónicos o programas informáticos.
Existen varios detalles representativos en el proceso de ingeniería inversa, por ejemplo:
Si revisamos la definición de ingeniería de control o la definición de ingeniería de métodos nos daremos cuenta de que existe un componente en común: El estudio de los procedimientos que dan forma a las soluciones de ingeniería.
Para hacer posibles ramas de estudio como estas, lo que se hace es partir de la ingeniería inversa para crear.
La ingeniería inversa tiene muchos matices. Puntualizando los que funcionan como una ventaja y una desventaja destacan:
A pesar de que los procesos de ingeniería inversa suelen estar involucrados con frecuencia en escándalos de estudios de mercado, de violaciones de las condiciones de patentes y robo de la propiedad intelectual, sigue siendo un proceso que, bien guiado, ha beneficiado al desarrollo tecnológico de la humanidad de manera incalculable.
Algunas ventajas que ofrece este proceso desde su implementación ética son:
Cuando se estudia un objeto a profundidad, del que no se conoce casi nada, el nivel de complejidad inherente a su uso se reduce drásticamente. Esto permite un mayor nivel de manipulación segura y mejores planes de mantenimiento.
El proceso de ingeniería inversa busca producir mejoras en los diseños. No copias. En este sentido, es destacable la capacidad que tiene para sacar lo mejor de determinados métodos de fabricación y mejorar productos finales o inspirar nuevos diseños, creando algo mejor.
Con mucha frecuencia sucede que equipos industriales antiguos siguen siendo insuperables para determinados trabajos. En muchos de estos casos, el fabricante original de piezas ya no las produce o ha dejado de existir, quedando perdida toda la documentación técnica de las piezas y de los objetos en sí mismos.
Para estos casos, la ingeniería inversa representa un proceso ventajoso en cuanto permite recuperar parte de esta documentación y renovar procesos de producción perdidos.
Gracias a la aplicación de ingeniería inversa se pueden estudiar equipos antiguos y diseñar para ellos nuevos mecanismos adaptables que mejoren su productividad o que prolonguen su vida útil.
Especialmente en el área de la informática, los procesos de ingeniería inversa generan puentes de compatibilidad en sistemas de diferentes arquitecturas.
La ingeniería inversa puede aplicarse sobre cualquier elemento creado por el ser humano. Aunque suele destacarse o vincularse de manera más profunda a la industria informática, se usa ampliamente en otras áreas como el arte y en la fabricación de tecnología social. Como, por ejemplo:
La ingeniería inversa es un concepto de ingeniería de software o de sistemas fundamental y se aplica entre muchas otras cosas para:
En lo que respecta a los procesos industriales, la maquinaria industrial y la manufactura, existen aplicaciones como:
En arquitectura, la ingeniería inversa se ha usado por siglos en la construcción de todo tipo de edificios, aplicado especialmente para:
Aunque se aplica con menos frecuencia, dentro del ámbito legal los procesos de ingeniería inversa tienen importantes aplicaciones como:
La industria automotriz es una gran usuaria de los procesos de ingeniería inversa, donde existen aplicaciones comunes como:
Menos conocidas, pero igual de importantes, las aplicaciones de la ingeniería inversa en el mundo del arte y la preservación de los bienes culturales de la humanidad toman formas como:
Las fases del proceso de ingeniería inversa suelen ser exactamente las mismas que un proceso de construcción de ingeniería común, con la salvedad que este se hace a la inversa, es decir, se parte del producto final, hacia la búsqueda de un diseño conceptual. Quedando las partes del proceso de la siguiente manera:
Todo proceso de ingeniería inversa parte de un producto final terminado, una pieza, equipo, estructura o sistema digital. Se detallan las funciones visibles y se produce documentación de la capa exterior que requiere un escaso nivel de desmontaje.
En el proceso de deconstrucción del producto final se comienzan las actividades de desmontaje de piezas, el sistema se separa en sus partes más fundamentales una a una, detallando, tanto como sea posible su ubicación, el número de piezas y todo detalle relevante. Es clave contar con la capacidad de regresarlo a su estado anterior.
Una vez desmontado, se comienza a documentar el diseño final del producto. En las aplicaciones avanzadas, esto significa digitalizar piezas con escáneres de alto espectro para crear modelos virtuales en 3D, tomar medidas exactas o detallar los módulos (funciones) de un programa.
En esta etapa se busca tener una idea amplia del sistema en general y nociones relativamente amplias de su funcionamiento. Para ello, se pueden usar múltiples herramientas de ingeniería inversa o subprocesos de observación directa.
Antes del diseño final, existe un modelo básico, un esqueleto funcional con piezas o partes esenciales del sistema. En esta etapa, se busca llegar a ese modelo fundamental mediante el conocimiento profundo de cada componente. Teóricamente hablando, al finalizar esta etapa se debe tener lo que se necesita para reproducir o modificar el sistema.
Esta es la parte final del proceso de ingeniería inversa y es donde se busca proponer un pre-diseño del sistema, con modificaciones potenciales, junto con todas las bases teóricas documentadas de su funcionamiento, las posibles razones que inspiraron su fabricación y los beneficios/debilidades del sistema.
Existen grandes ejemplos que nos pueden ayudar a entender cuál es la importancia de la ingeniería en la actualidad y cómo ha permitido en el pasado el avance de la tecnología:
Samba es un programa informático que brinda la posibilidad a los ordenadores de la arquitectura LINUX, GNU, MacOS y UNIX compartir archivos con los sistemas basados en arquitectura Windows, que es la más reproducida y adoptada a nivel mundial.
Para lograr el diseño de este sistema de libre implementación, los expertos debieron aplicar ingeniería inversa en los protocolos de archivos compartidos de Windows, produciendo las adaptaciones necesarias.
Gracias a este protocolo es posible usar arquitecturas libres como elementos de servidor o clientes en redes Windows.
Desde los inicios de los ordenadores, IBM tenía un control monopólico sobre la industria, especialmente de los sistemas que daban forma al BIOS, un pequeño chip dentro de las placas madres que hace posible que el ordenador (CPU) y el sistema operativo se comunique con el hardware. Sin él, los sistemas informáticos no podían salir a la luz fuera del seno de IBM.
Debido a que toda empresa que decodificaba y reproducía el sistema recibían demandas multimillonarias por violación de patentes, la innovación se vio congelada por un tiempo.
Esto pasó hasta que Phoenix Technolog creó un sofisticado sistema de ingeniería inversa en donde dos equipos, por separado, trabajaron en un nuevo sistema de BIOS partiendo del modelo de IBM.
El equipo A decodificaba el funcionamiento del sistema y le comunicaba al equipo B lo que hacía, pero no cómo lo hacía. El equipo B en base al diseño conceptual ideo su propio sistema de BIOS.
Este pequeño éxito le concedió inmunidad a la empresa y marcó el inicio de otros sistemas futuros, entre ellos Windows.
El TU-4 fue una de las obras de ingeniería inversa más grandes de la historia. En medio de la Segunda Guerra Mundial, los estados Unidos tenían el control de varias regiones gracias a sus poderosos y sofisticados bombarderos Boeing B-29 ‘Superfortress’. Siendo además uno de los secretos de ingeniería militar mejor guardados de la época.
Eran capaces de destruir ciudades enteras a más de 5.000 kilómetros de distancia llevando a cuestas cargas extrapesadas.
La Unión Soviética estaba interesada en los aviones, aunque no tenía forma de quedarse con los planos.
Todo cambió cuando en 1944, tres Boeing B-29 tuvieron que aterrizar de emergencia en suelo ruso y el personal fue evacuado.
Esta oportunidad fue bien aprovechada por los rusos, quienes en un despliegue descomunal e ignorando las solicitudes de retorno del gobierno aliado, desmantelaron hasta el último tornillo de uno de los tres aviones y usaron los otros dos para pruebas.
En menos de dos años, mediante un intenso proceso de ingeniería inversa lograron levantar al primer Tupolev Tu-4. Un modelo casi idéntico, con partes propias, reemplazando las que no podían tener de los proveedores estadounidenses.
Como se puede ver, las aplicaciones de la ingeniería inversa son muchas y toman forma en casi todo elemento construido por los seres humanos. Aunque se suele asociar esta retroingeniería a equipos sofisticados, escáneres 3D y demás, puede hacerse de forma manual sin problemas en muchas áreas con excelentes resultados.