El día 29 de octubre de 2012 20:29, Dhannier Molina <dhann...@gmail.com> escribió: > Hola!! Alguien me puede ayudar, tengo dudas en relacion a la seguridad en > python. > > Hay alguna forma de impedir que el Bytecode generado al correr un programa > en python sea decompilado? Es decir, que un intruso pueda generar el archivo > .PY a partir del .PYC. > > Necesito blindar lo mejor posible mi sistema, que herramientas podría usar?. > Saludos!! >
En mis tiempos de crackercillo solia usar algún que otro disassembler[1] para obtener el código fuente ensamblador y cackear los programas. En una primera pasada anulaba las protecciones anti-debugging y luego con el debugger era más fácil encontrar las partes del código "interesante". Puede que el programador que comprimia los ejecutables, ponía anti-debuggers en el código, ... creyese que hacía más seguro el código. Pero hasta un adolescente con granos como yo sabía que si lo puede comprender una máquina, también lo puede comprender un humano. La única manera de "asegurar" tu código es no compartirlo. Y esta es una condición necesaria, pero no suficiente, tienes que asegurar que nadie pueda acceder a el a pesar de que no lo compartas. Solo se me ocurren dos opciones aquí: - O dejas de asociar seguridad a la disponibilidad del código fuente. - O implementas la lógica que quieras "asegurar" en servidores que ejecutan el código mediante procedimientos RPC y securizas los servidores. Para el resto de cosas, lo único que vas a hacer es perder más tiempo tu del que vas a hacer perder a quien realmente quiera hacer ingeniería inversa de tu código. Un código limpio es más fácil de auditar, securizar y depurar que un código con herramientas de ofuscación, compresión, anti-debuging que dificultan la depuración y en ocasiones introducen bugs en la ejecución. [1] http://en.wikipedia.org/wiki/Disassembler Un saludo, Javi _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/