Top

Ingeniería inversa: La discusión sobre su validez y legalidad

Ingeniería inversa

La discusión sobre la validez y legalidad de esta práctica

Resumen

Este artículo aborda el controvertido papel de la ingeniería inversa en la industria informática, entre otros. Para ello, tomamos prestado ejemplos de la industria del software, producción de hardware de alta tecnología y la industria farmacéutica, todos estos ejemplos prácticos de las ventajas y desventajas del uso de esta práctica cuestionable.

Introducción

Cabe resaltar, en primera instancia, la determinación del concepto de ingeniería inversa, sus prácticas y resultados mas significativos. La ingeniería inversa pretende apropiarse de conceptos estratégicos nuevos a partir de la deconstrucción de modelos o soluciones listas.

Esta práctica puede ser considerada como el proceso de análisis de un producto físico o virtual, como aparatos, programas de computador, o hasta modelos de negocios, comprendiendo los detalles de su funcionamiento, generalmente con la intención de construir un “clón” con la misma función, sin efectivamente copiar alguna cosa del original.

Objetivamente, la ingeniería inversa consiste en, por ejemplo, desmontar una máquina o capturar un programa de computador para descubrir como es su funcionamiento.

Según Ricardo Drizin “La ingeniería inversa en el caso de hardware, requiere un nivel mucho mayor de conocimiento, y es mucho mas cara que la del software. Un fabricante, por ejemplo, si quiere saber como funciona el procesador de la competencia, puede comprarlo, hacer la ingeniería inversa y crear un procesador similar. En general, la ingeniería inversa de Hardware utiliza herramientas electrónicas de medición, como multímetro, osciloscópio y un programador de dispositivos.”.

Por un lado, podemos vislumbrar inmensos progresos en la masificación del uso de las tecnologías que se iniciaron por el empleo de ingeniería inversa como punto inicial de la producción a escala, citando aquí el clásico caso de la creación del primer computador personal compatible del mercado por Compaq, que empleó la ingeniería inversa sobre el equipo originalmente fabricado por IBM.

Por otra parte, esta práctica también es puesta al servicio de la llamada “cultura cracker” y de sus prácticas nocivas para la sociedad de consumo, para el derecho a la propiedad intelectual y para el derecho a la autoría. En este artículo, utilizaremos el término ‘cracker’, como el individuo perteneciente a una comunidad específica de programadores, también conocidos como “hackers”, de todas maneras, sus intenciones tienden a actividades consideradas ilegales en la comunidad donde actúan. Es importante discriminar mas claramente los individuos actuantes en la comunidad de desarrollo del llamado ‘software libre’ o ‘opensource‘. Ellos disponen sus conocimientos para el desarrollo tecnológico, desarrollando nuevas funciones a sistemas pre-existentes o creando sistemas nuevos y son conocidos como hacker. En contraste, está el individuo que, la mayoría de las veces, es tratado como paria por esta comunidad, pues generalmente, pone sus competencias al servicio de un proyecto mezquino y de ética cuestionable, al crear sistemas maliciosos violando legal y moralmente sistemas cibernéticos, estos indivíduos son los crackers.

La discusión, aquí levantada, al respecto de los aspectos positivos y negativos resultantes de la aplicación de la ingeniería inversa, podrán lanzar una nueva luz sobre los límites morales, éticos y legales de esta práctica y alertar desarrolladores de sistemas informáticos sobre como prevenirse contra esta práctica.

Software de ingeniería inversa

El área de software, fuera del hecho de hacer ya parte de nuestra vida cotidiana, sea por la presencia marcante y directa en nuestras actividades profesionales, personales o educacionales, sea por la presencia indirecta, a través de las innumerables soluciones tecnológicas embarcadas en nuestros vehículos, equipos electrónicos o electrodomésticos de la llamada ‘ultima generación’ ,aún suscita grandes dudas en la mayoría de la población “no iniciada” en sus secretos. La creación de una nueva tecnología no garantiza automáticamente el derecho a su propiedad o mismo así, el derecho autoral. Para que estos derechos sean reconocidos, se debe proceder a los medios legalmente disponibles para reconocer estos derechos y también para el disfrute financiero de la creación.

Después de los tramites legales establecidos, un objeto puede ser reconocido por la persona u organización que lo creó como no suficientemente rentable para justificar su explotación comercial. En este caso, existen algunas opciones posibles de ser adoptadas por el titular de los derechos en cuestión, por ejemplo: 1) el puede abandonar el objeto rechazando cualquier divulgación o acceso a él; 2) puede disponer el producto final para uso general clasificado como freeware que es la distribución gratuita de su creación, pudiendo así, haber alguna licencia restrictiva de su uso, distribución y modificación; 3) puede disponerlo en la forma de shareware, que es la distribución gratuita del software, pudiendo restringir algunas de sus funcionalidades y/o para uso por tiempo determinado, con la intención de provocar la experiencia de uso y crear la necesidad de la adquisición de la versión integral; o también 4) puede disponer la versión integral del producto acompañada de sus códigos de desarrollo, los llamados ‘codigos fuente’, permitiendo que futuros usuarios puedan usar, copiar, estudiar, modificar y redistribuir sin ninguna restricción; esta modalidad es conocida como ‘software libre’.

Según el prof. Rodolfo Politano en su artículo para la revista UNIEMP Innovación, “Otro aspecto importante es que la protección esta vinculada a la forma que la nueva concepción se materializó – y no la idea en si. Mecanismos de enmascaramiento interno en los algoritmos, garantizan una prevención contra la ingeniería inversa.

El uso de la ingeniería inversa en el desarrollo de nuevas aplicaciones, es legalmente aceptada cuando es aplicada a softwares abandonados por desarrolladores, como por ejemplo el Cosmo Player (software para navegación en ambiente de realidad virtual desarrollado originalmente por Computer Associates). En un primer momento la empresa comercializó este producto en las bases tradicionales de comercio de software, sin embargo, esta práctica no produjo la rentabilidad suficiente para justificar el esfuerzo de mantenimiento y comercialización. Bajo este escenario, la empresa decidió descontinuar su producción y soporte y dispuso el software integral para uso generalizado sin remuneración. Algunos años pasaron y cuando un grupo de desarrolladores se mostró interesado en adquirir los derechos de ese software, el propietario original alegó que la documentación y las fuentes no eran mas localizables y autorizó violar el código. El proceso de Ingeniería Inversa puede ayudar en la recuperación del código fuente que pasó por mejoras y nuevos desarrollos proporcionados por un consorcio de desarrollo mundial que sirvió de base para varios productos comercializados independientemente.

Una de las empresas que participó del consorcio para la explotación de la herramienta, fue la brasileña P3D Ingeniería de Software Ltda. Esta empresa que hasta entonces distribuía gratuitamente el Cosmo Player con sus softwares de educación, en el 2007 recibió subsidios a través del programa de subvención de la FINEP y esta concluyendo el desarrollo de un player de realidad virtual propio, a partir de las características del software original. Este producto llegará al mercado en el 2009, si las previsiones se confirman.

La ingeniería inversa también se considera una herramienta eficaz para la seguridad de los sistemas de garantía de alta criticidad porque a través de sus técnicas pueden explorar el código de los programas con el fin de determinar si existe un código malicioso, comprobar si el código original de un software no sufrió alteraciones como inserción de rutinas ocultas o si no hay desarrollo de códigos olvidados por los diseñadores.

Las técnicas de ingeniería inversa también pueden ser útiles en la recuperación de desastres con datos. Por ejemplo, un sistema de archivos criptografados puede ser entendida y su decodificación ser fundamental para recuperar los datos perdidos.
En algunos países la práctica de la ingeniería inversa es considerada ilegal y algunos profesionales se interesan en obtener acceso no autorizado a recursos de software que no son ofrecidos libremente por los titulares de los derechos comerciales del producto. Esta práctica es denominada Cracking.

Aplicabilidad legal de la ingeniería inversa

La cuestión de la legalidad de la ruptura de un proceso funcional, la aplicabilidad y modelo de negocio, pueden ser ampliamente discutidas, pero son justamente en las patentes, derecho autoral y derecho de propiedad que el cuestionamiento de la validez de uso de la ingeniería inversa es combatida masivamente.

Por otra parte, ciertas aplicaciones de la ingeniería inversa son consideradas perfectamente válidas y hasta elevadas a la categoría de “mejoras prácticas”. Podemos citar como ejemplos bienvenidos de utilización de esta práctica a, clasificada por algunos “guerra” contra los virus de computador, la investigación militar y aspectos de seguridad nacional o gubernamental y en la auditoria de seguridad, entre otras.

La guerra contra los virus de computador parece interminable, pero sin la ingeniería inversa ella podría considerarse como perdida. Según Ricardo Drizin, “Las empresas de antivirus acostumbran a tener equipos especializados en recibir archivos infectados (de usuarios y colaboradores) y a analizarlos para que en la próxima versión (de las suscripciones) del antivirus, haya la detección del nuevo virus. Los virus modernos utilizan las mismas tecnologías de encriptación que los packers y por eso la ingeniería inversa puede utilizar para estudiar un virus las mismas técnicas que usa para cracker un programa”.

Los presupuestos: gubernamentales y militares para una permanencia segura en el mundo virtual, han vaumentado vertiginosamente. En 1999, Bill Clinton anunció US$1,46 billones para mejorar la seguridad de los computadores del gobierno y esto fue apenas el comienzo. Sin la ingeniería inversa, tales valores podrán ser muchas veces multiplicados y con una expectativa de eficiencia mucho mayor que la encontrada actualmente

¿Como garantizar la seguridad de trillones de dólares de capital público y privado recorriendo en un mundo cada vez mas globalizado y conectado? La búsqueda de la relativa tranquilidad deseada por las instituciones financieras para garantizar la seguridad de sus datos, encuentra eco en la auditoria sobre los principales softwares que utilizan. Cuando el código fuente está disponible, el pasa por una auditoria de seguridad, que va evaluar los riesgos implicados. Cuando el código fuente no esta disponible, se acostumbra utilizar la ingeniería inversa para certificar la seguridad y comportamiento del software.

Cuestionamientos en cuanto a la protección del copyright

Cabe señalar la motivación que lleva a la protección de un producto intelectual. Para el Prof. Dr. Rodolfo Politano en su artículo para el periódico Órbita do Ipen, “Existe una preocupación referente a la evasión del patrimonio intelectual. .Una innovación que deja de ser protegida es como un bien material que queda expuesto indolentemente. Otros pueden hacer uso de esta innovación sin que el inventor (y la institución) reciban cualquier retribución financiera -y peor, sin ningún mecanismo legal para que se pueda exigir esta retribución”. Por tanto, podemos considerar una obligación del proponente de un copyright, hacer uso de todas las formas a su alcance para dificultar la práctica de la ingeniería inversa, caso sea esta su intención.

El DMCA es una ley americana que vuelve crimen la producción y diseminación de tecnologías que puedan driblar medidas tomadas para proteger el copyright, y aumenta las penas para la el descrifrado de copyrights en Internet. La violación de copyright no es el objetivo de este artículo y si la producción y diseminación de tecnologías o conocimiento.

Ricardo Drizin cita, en sus escritos, el descrifrado del formato de encriptación del DVD “Los DeCSS, programa para decriptar DVDs, fue escrito por un adolescente de 16 años en Noruega, y por eso no estaba sujeto a las leyes americanas (DMCA). Sin embargo, fue juzgado por infracción de copyright en su propio país y su programa fue prohibido de ser hospedado en websites americanos. Los abogados del adolescente alegan que la decriptografía del DVD no fue para hacer copias de películas, sino para poder crear un software que reprodujera DVD en Linux, que hasta entonces no existía.

Pero un copyright puede ser violado o esquivado. Para esto existe una metodologia chllada ‘clean room design’.’.

Un caso de clean room design que fue practicado por Compaq en 1982 es tratado como clásico. En el año anterior, IBM había entrado en el negocio del computador personal con su IBM-PC. La BIOS de las máquinas era código de propiedad de IBM y, como tal, era protegido. En la onda de éxito de IBM, Compaq produjo el primer computador, llamado “PC compatible”. De acuerdo con una decisión judicial, Compaq no podría copiar directamente la BIOS de IBM, pero podia hacer ingeniería inversa de esta y crear su propia BIOS usando clean room design.

Ulisses Buonanni define Clean Room Design como “Un método donde se puede usar la ingeniería inversa para entender el funcionamiento de un software y clonarlo, siempre y cuando el equipo que haga la codificación del clon tenga contacto apenas con la especificación del sistema, hecha por el equipo que hace la ingeniería inversa. De este modo, alguien que tuvo contacto con el código original no puede participar del desarrollo directo del clone, sólo de la especificación detallada”.

Fue a partir del clean room design, y de la iniciativa de Compaq, que surgió la industria de los clones de PC y la popularidad de estos sistemas que cimentaron la llamada ‘cultura de la información’.

Noticias ampliamente divulgadas por la imprensa brasileña e internacional, informaron que en el año 2001, el ministro de salud del gobierno brasileño determinó el primer descrifrado de patente de medicamentos de Brasil. El medicamento Nelfinavir, fabricado por los laboratorios Roche, tuvo violada su patente debido al precio elevado para el consumidor. Cada comprimido del medicamente costaba el equivalente a US$1,36. En Brasil, este medicamente es usado por el 25% de los pacientes con AIDS. El laboratorio publico FAR-Manguinhos, de Fiocruz (Fundación Oswaldo Cruz), pasó a producir el medicamento genérico de Netfinavir de forma no exclusiva. El laboratorio consiguió producir el medicamento por un valor 40% mas bajo que el cobrado por la dueña del derecho de fabricación del Nelfinavir. Esto representó una economía del US$88 millones por año para el país.

La copia de la molécula de la sustancia de este medicamento, fue obtenida a partir de la técnica de la ingeniería inversa y tests de bioequivalencia.

Para justificar el procedimiento, el gobierno brasileño usó el artículo 71 de la Ley de Patentes, que dice “Art. 71 – en los casos de emergencia nacional o interes público, declarados en el acto del Poder Ejecutivo Federal, siempre y cuando el titular de la patente o su licenciado no atienda a esta necesidad, podrá ser concedida de oficio, licencia forzosa, temporal y no exclusiva, para la explotación de la patente, sin prejudicar los derechos del respectivo titular. 

Párrafo Único – El acto de concesión de la licencia establecerá su plazo de vigencia y la posibilidad de prorrogación”, y así preve la licencia forzosa en casos de emergencia. El gobierno alegó que era difícil mantener la distribución gratuita con el alto costo del medicamento importado.

A quien no le gustó la determinación unilateral del gobierno brasileño fue a Roche, fabricante del producto y víctima de la ingeniería inversa. Como medida inmediata, la industria redujo su presupuesto de investigación en nuevos medicamentos, alegando que los costos para el desarrollo de nuevas moléculas eran considerados inversiones garantizados por ley, que ahora se volvían inciertos.

Otros laboratorios, ante la violación de patentes ejercidas por países como India y Brasil, establecieron una política de incentivo inverso para sus investigadores. Tal política consistia en una premiación para el investigador que encerrase la investigación de nuevos medicamentos, caso detectase la posibilidad de fracaso inminente. O sea, la violación de las garantías de patente desestimularon las investigaciones mas largas e inciertas, teniendo como consecuencia directa el no lanzamiento de una molécula realmente innovadora por la industria farmaceutica mundial hace mas de cuatro años a la fecha.

Conclusión

La práctica de la ingeniería inversa, cuando es tratada como un fenómeno sin ideología, es una herramienta eficaz para el desarrollo tecnológico y la adopción de prácticas mas seguras para el dia a dia de las organizaciones y de la sociedad. Es indiscutible que la ingeniería inversa acelere el proceso de desarrollo y estimule la divulgación de tecnologías por intermedio de la reducción de los costos y consecuentemente reducción del precio final de los productos desarrollados, pero lo que debemos reflexionar es si el costo social ético y moral oculta en la adopción de esta práctica justifican la economía inmediata obtenida.

El estímulo a la creación e invención no puede ser opacado por las prácticas mas convenientes o por la falta de inversiones en centros de investigación por instituciones o países despreparados para actuar en la era del conocimiento.

Definitivamente, la ingeniería inversa convive en un permanente sube y baja entre la legalidad y la ilegalidad, la validad y la condenación y sus practicantes, por asociación, pueden ser considerados gurús del estímulo al conocimiento o piratas navegantes del oceano tecnológico.

Eduardo José Stefanelli
Ricardo Infantozzi
Miltom Mansilla Vargas
El Dr. Rodolfo Politano

Eduardo Stefanelli

Engenheiro por profissão, professor por vocação