QUE ES
Y EN QUE CONSISTE LA INGENIERÍA INVERSA?
El objetivo de la
ingeniería inversa es obtener información o un
diseño a partir de un producto accesible al público, con
el fin de determinar de qué está hecho, qué lo hace
funcionar y cómo fue fabricado
Hoy en día (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, en realidad, 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 sólo 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.
Compartir este articulo : | | | | | |
|
|