¿Para qué se usa la ingeniería inversa?

Ingeniería inversa

Desde el momento en el que un grupo de informáticos lograron replicar la BIOS de IBM, la ingeniería inversa ha cambiado la historia de la tecnología, pero ¿Qué es? ¿Cómo funciona? 

Para alguien poco familiarizado con el término, la ingeniería inversa puede sonar a una copia de un sistema a partir del desarme del producto terminado hasta llegar al origen. Sin embargo, la sofisticada técnica de análisis y desarrollo es mucho más, y su uso es muy diverso, tanto para optimizar estrategias informáticas y mejorar la seguridad, como también para un uso malicioso.

¿Qué es la ingeniería inversa?

El objetivo principal de la ingeniería inversa es la obtención de información a partir de un producto. Al mismo se le busca conocer sus componentes, de qué manera interactúan estos entre sí y su proceso de fabricación.

Por ejemplo, en otro orden de cosas, es como si en el área de la ingeniería en alimentos quisiéramos, a través de estudios en laboratorio, tratar de descubrir cuál es la fórmula de Coca Cola a partir del análisis del contenido de la gaseosa.

Sin embargo, desde principios del corriente siglo, los productos que más son sometidos a la ingeniería inversa son los programas de computadoras y los componentes electrónicos.

Esta realidad, tiene mucho sentido si nos ponemos a pensar que, en la actualidad, nos rodeamos cada vez más de recursos tecnológicos interconectados entre sí, para llevar diversas tareas diarias.

ingenieria inversa como funciona

La competencia en el desarrollo de electrodomésticos, sistemas de automatización, softwares, y equipos tecnológicos se ha vuelto despiadada. Por eso, los especialistas en ingeniería inversa son muy cotizados en el mercado para desmembrar los secretos de la competencia y promover avances innovadores.

Aunque pueda  parecer que se trata de un robo de ideas, cuando hablamos del descifrado del proceso de fabricación, si el producto u otro material que fue sometido a la ingeniería inversa fueron obtenidos en forma apropiada, entonces el proceso es legítimo y legal. De esta manera, por ejemplo, se fabrican y distribuyen productos genéricos creados a partir un original.

Para pensarlo con una historia concreta, podemos mencionar el caso del programa Samba que permite a sistemas operativos UNIX compartir archivos con los sistemas cerrados de Microsoft Windows, gracias a un trabajo de ingeniería inversa ya que tuvo acceso a información confidencial sobre los aspectos técnicos relacionados con el sistema de archivos Windows para poder crear su software.

La ingeniería inversa es un método de resolución que como el nombre lo indica, parte del resultado para llegar al origen. Se trata de profundizar en el estudio del funcionamiento, hasta el punto de llegar a entender, modificar y mejorar como funciona un sistema o utilizar dicha información para un beneficio particular.

¿Puede ser la ingeniería inversa utilizada para cometer un crimen?

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 o característica de un código fuente, hasta el punto de poder modificar ese código o generar uno nuevo que cumpla las mismas funciones.

Sin embargo, la mayoría de los software pagos determinan prohíben expresamente en su licencia el uso de ingeniería inversa al código para evitar la reproducción del sistema que pueda afectar el negocio.

qué es ingeniería inversa

Por este motivo, también los sistemas se nutren de patentes y registros de marcas de desarrollo para proteger la competencia ante la posible invasión de “clones” en el mercado, como el millonario caso de Apple contra Samsung Electronics por emular el diseño del Iphone y el Ipad.

Pero la guerra no es sólo comercial, de hecho se fecha el origen de la ingeniería inversa en los procesos de la Segunda Guerra Mundial cuando los ejércitos incautaron insumos enemigos para mejorar el armamento propio y estudiar vulnerabilidades de sus rivales.

Del mismo modo, un hacker experimentado puede desmembrar un código inseguro para hacerse de las suyas e infectar equipos para acceder a determinada información importante de una empresa.

¿Cómo proteger mis sistemas de ataques con ingeniería inversa?

Si sos propietario de una empresa que desarrolla tecnología o innovaciones, el recurso legal para resguardarte ante el robo de ideas es el patentamiento. La competencia siempre querrá saber cómo funcionan los productos de su rival por lo que no hay forma de evitar que quieran aplicar ingeniería inversa sobre un nuevo producto, las limitaciones se dan sobre las oportunidades legales de uso que se podrá hacer con dicha información.

Por otra parte, en materia de software, es importante contar con desarrolladores profesionales que impriman sobre el código fuente las medidas de seguridad necesarias para que el sistema no pueda ser afectado y clonado en su totalidad con fines malintencionados.

¿En qué me puede favorecer el uso de ingeniería inversa?

En software, por su parte, la ingeniería inversa también puede ayudar a la productividad en casos en que se pierda documentación sobre el desarrollo y sea necesario realizar adaptaciones, cambios y/o actualizaciones del sistema.

Del mismo modo, con ingeniería inversa, los desarrolladores pueden detectar efectos laterales de los cambios implementados en el sistema. Es decir, identificar qué causó determinada alteración en el funcionamiento a partir de desmontar las modificaciones ingresadas al código.

Finalmente, también es importante señalar que un buen uso de la ingeniería inversa, permite aumentar la productividad. También puede reducir los costes y los riesgos de mantenimiento, al detectar los componentes de posible reutilización de sistemas existentes de libre uso, o en sistemas previos, en el universo tecnológico y así optimizar los tiempos de desarrollo.

¡Compartir es demostrar interés!