Header Image

Protege tu Python… porque si es tan malo como suena, mejor que nadie lo vea

Python es un lenguaje de scripting basado en una máquina virtual. Su especificación es abierta, con lo que cualquiera puede crear su propia implementación con las suficientes ganas, esfuerzo y falta de amigos.

Python no fue diseñado para ser compilado, o no como normalmente entendemos. Aunque esto es una verdad a medias, como se verá en la charla.

Hasta aquí todo genial. El código abierto es maravilloso, hasta que te encuentras en alguna de las siguientes situaciones:

  • Necesitas proteger la propiedad intelectual de tu código, y no quieres dar el código fuente a tus clientes.
  • Necesitas distribuir tu aplicación. Pero te gustaría tenerla empaquetada, y no tener que enviar a tu cliente una lista de instrucciones, a cual mueble de Ikea, para que instale la librerías necesarias, entornos, versión de Python, etc.
  • Necesitas mejorar el rendimiento de tu proyecto. Te gustaría traspilarlo a C. Y después compilarlo y crear un binario nativo.
  • Necesitas que algunas partes de tu código estén protegidas de ojos ajenos, como pueden ser ciertos algoritmos.
  • Te gustaría poder ejecutar scripts de Python de terceros de forma más segura.
  • Te gustaría que en tu sistema solo se pudieran ejecutar scripts de Python que hayan sido creados en tu propio sistema, evitando puntos de entrada de posibles fallos de seguridad.

Tras años de investigación he aprendido muchas formas para proteger código de Python: desde le método más sencillo del que hacer reversing, hasta el nivel Radare, A.K.A. hardcore.

Estas técnicas van desde las más sencillas hasta las mas estrambóticas: como crear intérpretes de Python personalizados (una auténtica fumada). Os contaré más en la charla.

La charla será amena, entretenida, instructiva y sobre todo: un auténtico brainfuck

octubre 6 @ 13:30

13:30

– 14:20

(50′)

Sala CrowdStrike

Daniel García (cr0hn)