[Python-es] Código Python protegido

Chema Cortes pych3m4 en gmail.com
Lun Feb 27 15:28:46 CET 2012


El 2012/2/25 Alvaro Manrique <sanreikaj.foros en gmail.com>:

> Yo creo que mas absurdo es creer que se va a estar en un proyecto de gran
> envergadura, donde tienes que responderle
> a una empresa que invierte en el proyecto y tienes que garantizar que el
> software es robusto a nivel de seguridad y pensar
> en que el código va a estar allí perfectamente visible a cualquiera.

Personalmente, trabajo también con datos "muy sensibles" y nunca he
pensado que la robustez de una aplicación consista en impedir que se
sepa cómo funciona, si no más bien todo lo contrario. Por lo general,
la seguridad de mis aplicaciones se establece a través de librerías
externas bien probadas (y sobre todo bien mantenidas), con métodos
criptográficos hardware (tarjetas con chip) y comunicaciones seguras
(ssl).


> Si protejo la información? me sugieres encriptar toda la base de datos??
> gran parte de ella??
>
> Y cuando se procesen miles de registros??
>
> Sacrifico la rapidez??

¡Por supuesto! No es concebible que por un lado pretendas esconder el
código y que, por otro lado, los datos estén accesibles en claro.


> Yo pienso que la esencia del SL esta en lo que aportemos a la comunidad, no
> en que nos pasemos de "buenos" y dejemos
> códigos por allí así como así.

Pues te tengo que contradecir. La esencia del SL es dar libertad al
usuario para saber qué hace el software que utiliza, estudiarlo,
modificarlo y redistribuirlo libremente. Si impides cualquiera de
estas "libertades", llámalo como quieras, pero no "Software Libre".
Tanta fuga de seguridad se podría considerar el ofrecer el código al
usuario, como venir a un foro de "desconocidos" a comentar cómo
resolver un problema determinado. De hecho, muchas empresas prohiben a
sus trabajadores participar en foros públicos.


> Que pasaría si los interesados en el tema desarrollamos el mecanismo,
> los módulos, etc, para trabajar con código encriptado?
> Eso no seria un gran aporte a la comunidad??

Sí, pero no a cualquier precio.


> Créeme hay grandes razones por la que muchos buscamos proteger el código
> pero siempre pienso en retribuir lo que la comunidad
> me aporte, en mi concepto es lo verdaderamente importante, así ganamos
> todos.

Tampoco pretendemos que cambies de opinión. Siempre que hemos tratado
este tema hemos aconsejado no ocultar el código y probar con otras
cosas, dedicar todo ese esfuerzo en donde realmente se puede mejorar
la aplicación.

De todos modos, y recuperando el tema, hace tiempo creé un script para
empaquetar un programa python y todos sus módulos en un sólo fichero.
No es una maravilla, pero al menos te dará alguna pista, además de
desconcertar a más de uno:

   http://ch3m4.org/pystore/zippack.py

Para usarlo:

$ python zippack.py zipped.py main.py mod1.py mod2.py




-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


Más información sobre la lista de distribución Python-es