La ingeniería inversa es el proceso de aislar y analizar con detalle una obra de ingeniería determinada con el objeto de obtener información relevante acerca de su diseño, implementación y funcionamiento.
A menudo se tiende a creer que el objetivo final de la ingeniería inversa es siempre obtener una obra derivada de la que se ha estudiado originalmente (que, muy probablemente sea el trabajo de una tercera persona que detenta la autoría de la obra que estamos estudiando). Esto es un error. Se debe disociar la ingeniería inversa como técnica de sus aplicaciones. Una cosa son los métodos que empleamos para obtener la información y otra muy diferente el uso que hagamos de ella.
Desde el punto de vista de la ingeniería del software, los programas desensambladores son, junto con los descompiladores (también denominados retrocompiladores o compiladores inversos) una de las herramientas mas relevantes de la ingeniería inversa, ya que el uso de estas permite obtener, a un nivel total o parcial, código fuente a partir de un software ejecutable.
Técnicamente, no hay nada de reprobable en el uso de un desensamblador como el que se ha empleado en el caso que nos atañe aquí. Desde la perspectiva de las ciencias de la computación es perfectamente válido y relevante. El problema lo tiene la industria. Concretamente, nuestro actual y muy discutible modelo de propiedad intelectual, que intenta arrinconar las técnicas de ingeniería inversa, a menudo castigándolas o directamente prohibiéndolas. Al mercado no le interesa que se acceda al código fuente, le interesa vender software ejecutable, así que no es poco frecuente encontrar cláusulas como esta de aquí en las licencias de uso de software privativo.
Modification, decompilation, reverse engineering, reverse compiling, or disassembly of the Software is expressly prohibited. Any information obtained during such unlawful reverse engineering and/or decompilation activities, including but not limited to the logic, organization, algorithms and processes of the Software, shall be deemed confidential and proprietary information of the Developer.
Todo ese texto legal prohíbe las técnicas de ingeniería inversa. Lo cual no tiene mucho sentido: prohibir la ingeniería inversa es como prohibir la mecánica turbodiesel o la dinámica de fluidos. El mero hecho de utilizar un desensamblador no es un crimen. Sin ir más lejos, desensamblar es algo extremadamente didáctico. Y, en casos concretos como el de la industria de las soluciones antivirus, es la clave del negocio. ¿Cómo se puede identificar y aislar un malware si no es desmontándolo para su estudio?
Lo que realmente sucede es que el uso de técnicas de ingeniería inversa viola los acuerdos de licencia de uso de la mayor parte del software privativo existente al proporcionar acceso a la información propiedad de los autores del mismo. O sea, que no es que sea ilegal desensamblar un binario que no es obra nuestra, sino que ello anula nuestro derecho a ejecutarlo. No podemos estudiar lo que ejecutamos y no podemos ejecutar lo que hemos estudiado. Así es como están las cosas. Muy bonito. Nos ha tocado vivir en una etapa de la história de la sociedad de la información realmente oscura.
Si, al emplear métodos de ingenieria inversa, actuamos amparados por la segunda libertad del software libre (que nos garantiza el derecho a estudiar el software, acceder a su código fuente y, por lo tanto, desensamblarlo), nunca violaremos ninguna licencia. Ahora bien, desensamblar software privativo sería otra cosa. Y tendría otras consecuencias, algunas de ellas, judiciales.
¿Te imaginas un Virus con la clausula de prohibición de uso de ingenieria inversa?, Cualquier producto antivirus que lo detectase quiza la estaria violando, y por tanto delinquiendo. ¿el mundo al reves?
Incluso puedo llegar a entender que un parrafo como ese que pasteas en ingles asuste un poco, pero en realidad lo unico que dice es que cualquier informacion obtenida del uso de las herramientas de ingeniería inversa, es propiedad del autor/desarrollador
Modification, decompilation, reverse engineering, reverse compiling, or disassembly of the Software is expressly prohibited
Me parece que tu inglés debería mejorar un poco (no demasiado, que el resto sí que lo has entendido). Y no es que ese párrafo en inglés sea ad-hoc si no que es el habitual.
--
La libertad se mide en la que le damos a los demás, no en la que nos tomamos nosotros.
Marco legal del desensamblaje de binarios
(Puntos:4, Informativo)A menudo se tiende a creer que el objetivo final de la ingeniería inversa es siempre obtener una obra derivada de la que se ha estudiado originalmente (que, muy probablemente sea el trabajo de una tercera persona que detenta la autoría de la obra que estamos estudiando). Esto es un error. Se debe disociar la ingeniería inversa como técnica de sus aplicaciones. Una cosa son los métodos que empleamos para obtener la información y otra muy diferente el uso que hagamos de ella.
Desde el punto de vista de la ingeniería del software, los programas desensambladores son, junto con los descompiladores (también denominados retrocompiladores o compiladores inversos) una de las herramientas mas relevantes de la ingeniería inversa, ya que el uso de estas permite obtener, a un nivel total o parcial, código fuente a partir de un software ejecutable.
Técnicamente, no hay nada de reprobable en el uso de un desensamblador como el que se ha empleado en el caso que nos atañe aquí. Desde la perspectiva de las ciencias de la computación es perfectamente válido y relevante. El problema lo tiene la industria. Concretamente, nuestro actual y muy discutible modelo de propiedad intelectual, que intenta arrinconar las técnicas de ingeniería inversa, a menudo castigándolas o directamente prohibiéndolas. Al mercado no le interesa que se acceda al código fuente, le interesa vender software ejecutable, así que no es poco frecuente encontrar cláusulas como esta de aquí en las licencias de uso de software privativo.
Todo ese texto legal prohíbe las técnicas de ingeniería inversa. Lo cual no tiene mucho sentido: prohibir la ingeniería inversa es como prohibir la mecánica turbodiesel o la dinámica de fluidos. El mero hecho de utilizar un desensamblador no es un crimen. Sin ir más lejos, desensamblar es algo extremadamente didáctico. Y, en casos concretos como el de la industria de las soluciones antivirus, es la clave del negocio. ¿Cómo se puede identificar y aislar un malware si no es desmontándolo para su estudio?Lo que realmente sucede es que el uso de técnicas de ingeniería inversa viola los acuerdos de licencia de uso de la mayor parte del software privativo existente al proporcionar acceso a la información propiedad de los autores del mismo. O sea, que no es que sea ilegal desensamblar un binario que no es obra nuestra, sino que ello anula nuestro derecho a ejecutarlo. No podemos estudiar lo que ejecutamos y no podemos ejecutar lo que hemos estudiado. Así es como están las cosas. Muy bonito. Nos ha tocado vivir en una etapa de la história de la sociedad de la información realmente oscura.
Si, al emplear métodos de ingenieria inversa, actuamos amparados por la segunda libertad del software libre (que nos garantiza el derecho a estudiar el software, acceder a su código fuente y, por lo tanto, desensamblarlo), nunca violaremos ninguna licencia. Ahora bien, desensamblar software privativo sería otra cosa. Y tendría otras consecuencias, algunas de ellas, judiciales.
Re:Marco legal del desensamblaje de binarios
(Puntos:2)( http://geeks.ms/blogs/cpsaez/ | Última bitácora: Miércoles, 12 Octubre de 2016, 21:19h )
Under a sea of dust lies a vast wealth of wisdom
Re:Marco legal del desensamblaje de binarios
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Viernes, 31 Julio de 2009, 22:34h )
Modification, decompilation, reverse engineering, reverse compiling, or disassembly of the Software is expressly prohibited
Me parece que tu inglés debería mejorar un poco (no demasiado, que el resto sí que lo has entendido). Y no es que ese párrafo en inglés sea ad-hoc si no que es el habitual.
La libertad se mide en la que le damos a los demás, no en la que nos tomamos nosotros.