¿Cómo debo iniciar las pruebas de seguridad de la aplicación independiente de Python?

4

Estoy buscando una respuesta específica para las aplicaciones independientes Windows / Linux , por ejemplo, Dropbox tiene una aplicación para Windows escrita únicamente (creo que sí) en python. ¿Qué pasos debo seguir? ¿Cuáles son las diversas amenazas que debería considerar?

Estoy muy interesado en las aplicaciones independientes de pruebas de penetración, tengo suficiente experiencia con las pruebas de seguridad de aplicaciones web y hago mucho la programación en Python.

Cualquier buena lectura, enlace y escritura son bienvenidos.

    
pregunta dossi 13.12.2015 - 14:24
fuente

1 respuesta

3

Esta es una respuesta en dos partes:

  1. Debes superar cualquier ofuscación o llegar a algún tipo de estado descompilado. Consulte esta pregunta en StackExchangeRE para obtener más detalles sobre la ofuscación de Python.
  2. Una vez que tenga el código (o si tiene la fuente en primer lugar), querrá utilizar una combinación de revisión de código seguro, análisis de tiempo de ejecución y análisis estático centrado en la seguridad para descubrir posibles hallazgos para la clasificación.

Si está buscando herramientas de análisis estático centradas en la seguridad, lamentablemente muchos de los comerciales todavía no están disponibles para el lenguaje Python. Pylint y Flake8 también son principalmente comprobadores de estilo o corrección con cero controles de seguridad. Mi recomendación principal para Python SAST es el proyecto Bandit del equipo de seguridad de OpenStack. Solo hay unos pocos comprobaciones básicas pero puede agregar más. Bandit es solo una mejora leve (pero importante) sobre las técnicas de herramientas antiguas, como se ve en graudit y RATS .

Si está interesado en el análisis de tiempo de ejecución, la mayoría de los probadores de seguridad aprovechan Burp Suite Professional para el tráfico HTTP / TLS y Canape como un proxy de registro local conectable para otros protocolos. Para comprender los controladores de archivos o los protocolos de red que utilizan rutinas de cifrado o compresión durante el análisis de tiempo de ejecución, muchos probadores de seguridad recurren al rastreo de software (porque es más rápido que a la depuración) o técnicas de conexión, como las que se encuentran en Frida framework. Un conjunto popular de fallas que apuntan a la serialización (el decapado en Python) se está haciendo más conocido, por lo que puede valer la pena ver el OWASP Python Página o lista de proyectos de seguridad para obtener más información.

Para obtener una descripción más detallada de Dropbox en particular, consulte esta otra respuesta en StackExchangeRE, además de este Análisis de seguridad del código de Dropbox .

    
respondido por el atdre 13.12.2015 - 20:10
fuente

Lea otras preguntas en las etiquetas