Download Presentación de PowerPoint
Document related concepts
no text concepts found
Transcript
PROGRAMACIÓN SEGURA EN PYTHON Eliezer Romero - Ingeniero en Informática Desarrollador Sistema Nacional de Gestión de Incidentes Telemáticos Comunidad de Canaima GNU/LINUX Activista del software libre Rodrigo Bravo - Ingeniero en Informática Desarrollador Sistema Nacional de Gestión de Incidentes Telemáticos Comunidad de Canaima GNU/LINUX Activista del software libre Riesgos de seguridad en las aplicaciones Desarrollo de software seguro Lista de control genérico en una aplicación Metodología del código seguro Clasificación de los problemas de seguridad en las aplicaciones ¿Qué es Python? Ciclo de desarrollo de Python y sus versiones Propuestas de Mejoras de Python - PEPs Pruebas unitarias con Python Riesgos de seguridad en las aplicaciones 01010110 01100101 01101110 01000011 01000101 01010010 01010100 Noticias Debilidades de Controles de seguridad Seguridad Ataque Debilidad Impactos técnicos Impacto A la institución Impacto Control Recurso Ataque Debilidad Control Impacto Recurso Ataque Impacto Recurso Debilidad Atacante Defectos Vectores de s ataques Control Error (Bugs) Fallas (Flaw) Los atacantes pueden usar diferentes rutas de su aplicación para causar daño Se debe evaluar la aplicación, encontrar y explotar midiendo la complejidad de la misma ¿Qué es el Desarrollo del software seguro? - Diseñado, construido y probado para su seguridad - Continúa ejecutándose correctamente bajo ataque - Diseñado con el fallo en mente - Examinación sistemática del código fuente de un programa informático. - Verificar los controles de seguridad - Fomenta el uso de buenas prácticas. - El código duplicado debe ser evitado, ya que es fuente de incontables errores. Medidas de Seguridad 01010110 01100101 01101110 01000011 01000101 01010010 01010100 Usuario Introducir usuario y contraseña Incluir Autenticación de usuario Autenticación Fuerza Bruta Incluir Aplicaciones/ Server Hacker/ Usuario Malicioso Muestra de errores genéricos Cosecha de cuentas Incluir Bloqueo de cuenta ante muchos intentos de inicio de sesión Diccionario de Ataques Incluir Validar la contraseña con una tamaño mínimo y compleja Configuración de Seguridad y Criptografía Metodología de desarrollo empleando la seguridad Desarrollado en 1989 por Guido van Rossum Multi - Propósito (Web, GUI 'Interfaz gráfica del usuario', scripting) Orientado a Objeto Interpretado Tipado dinámico Multiplataforma Centrado en la legibilidad y la productividad Ciclo de desarrollo de Python y sus versiones Propuestas de mejoras de Python - PEPs PEP 20 PEP 6 Versiones de Correcciones de Errores El Zen de Python por Tim Peters PEP 8 Guía de Estilo para Escribir Código PEP 101 Haciendo Versiones de Python PEP 247 API para Criptografía Pruebas unitarias con Python 01010110 01100101 01101110 01000011 01000101 01010010 01010100 Inspirado por JUnit Automatiza las pruebas Verificación del código Test Fixture Test Case Test Suite Ejecución Código Unittest python Test Runner Errores comunes en las aplicaciones web 01010110 01100101 01101110 01000011 01000101 01010010 01010100 Preocupaciones de Seguridad en Módulos y Funciones 01010110 01100101 01101110 01000011 01000101 01010010 01010100 Comparación de tipos de datos Buffer Overflow Errores Inesperados Atributos Privados >> print (“Muchas Gracias”) Eliezerfot123@gmail.com @eliezerfot123 https://github.com/eliezerfot123 rodri.brv@gmail.com @4KRodrigoxD https://github.com/goidor