OWASP Top 10 Controles proactivos 2016
Enviado por Helena • 25 de Abril de 2018 • 1.918 Palabras (8 Páginas) • 424 Visitas
...
Identity Management es un tema más amplio que no sólo incluye autenticación y sesiones
Gestión, sino que también cubre temas avanzados como federación de identidad, inicio de sesión único, herramientas de gestión de contraseñas, delegación, repositorios de identidad y mucho más.
6: Implementar controles de acceso.
Autorización (Control de acceso) es el proceso en el que las solicitudes para acceder a una debe ser concedido o denegado. Cabe señalar que la autorización no es equivalente a autenticación (verificación de identidad). Estos términos y sus definiciones son frecuentemente confundidos.
El diseño del control de acceso puede empezar de forma simple, pero a menudo puede convertirse en un control de seguridad de diseño. Los siguientes requisitos de diseño de control de acceso "positivos" deben considerarse en las etapas iniciales de desarrollo de la aplicación. Una vez que haya elegido un patrón de diseño de control de acceso específico, a menudo es difícil y requiere mucho tiempo para reengineer control de acceso en su aplicación con un nuevo patrón. El control de acceso es una de los principales diseños de seguridad de aplicaciones que debe ser muy pensado a través de la parte delantera, respondiendo a requisitos como multitenancy y control de acceso horizontal (específico de datos).
7: Protección de datos.
El cifrado de datos en tránsito:
Cuando se transmiten datos sensibles, a cualquier nivel de su aplicación o arquitectura de la red, encryptionintransit de algún tipo debe ser considerado. TLS es de lejos el más común y modelo utilizado por las aplicaciones web para el cifrado en tránsito amplio apoyo. A pesar publicadas debilidades en implementaciones específicas (por ejemplo heartbleed), que sigue siendo el de facto y método recomendado para la aplicación de cifrado de capa de transporte.
El cifrado de datos en reposo:
Criptográfica de almacenamiento es difícil de construir de forma segura. Es de vital importancia para clasificar los datos en el sistema y determinar que las necesidades de datos a cifrar, tales como la necesidad de cifrar las tarjetas de crédito por la norma de cumplimiento PCIDSS. Además, cada vez que se inicia la construcción de su propio lowlevel funciones criptográficas por su cuenta, asegúrese de que eres o tener la asistencia de un profundo aplicado experto. En lugar de construir funciones criptográficas a partir de cero, se recomienda encarecidamente que se revise por pares y bibliotecas abiertas utilizarse en su lugar, como el proyecto de Google KeyCzar, hinchables Castillo y las funciones incluidas en los SDK. También, estar preparado para manejar los más difíciles aspectos de la criptografía aplicada, tales como la gestión de claves, diseño general la arquitectura criptográfica así como las cuestiones de organización en niveles y la confianza en software complejo.
8: Implementar registro y detección de intrusiones.
La aplicación de registro no debe ser un elemento secundario o limitado a la depuración y solución de problemas. Registro también se utiliza en otras actividades importantes:
● La monitorización de aplicaciones
● El análisis empresarial y visión
● Actividad de auditoría y supervisión del cumplimiento
● Sistema de detección de intrusiones
● Los forenses
El registro y el seguimiento de los eventos de seguridad y las métricas de ayuda para permitir la "defensa attackdriven ". Asegurarse de que su prueba de seguridad y los controles están alineados con los ataques del mundo real contra tu sistema.
Para hacer más fácil el análisis de correlación y, ajustarse a un método de registro común dentro del sistema y a través de los sistemas cuando sea posible, utilizando un marco de registro extensible al igual que con SLF4J, Logback o Apache Log4j2, para asegurar que todas las entradas de registro son consistentes.
9: Marcos y bibliotecas de seguridad de apalancamiento.
Partiendo de cero cuando se trata de desarrollar los controles de seguridad para cada aplicación web, servicio web o aplicación móvil conduce a la pérdida de tiempo y agujeros de seguridad masivas. Segura codificación de las bibliotecas y los marcos de software con los desarrolladores de software de ayuda de seguridad incorporando guardia contra defectos de diseño e implementación securityrelated. Una escritura desarrollador de una aplicación desde cero puede no tener suficiente tiempo y presupuesto para implementar la seguridad, características y diferentes industrias tienen diferentes estándares y niveles de cumplimiento de la seguridad.
Cuando sea posible, se debe hacer hincapié en el uso de las funciones de seguridad existentes de marcos en lugar de importar bibliotecas de terceros. Es preferible tener los desarrolladores, aprovechan lo que ya están usando en lugar de forzar a otra biblioteca en ellos. Aplicación web marcos de seguridad a tener en cuenta incluyen:
● Seguridad de Primavera
● Apache Shiro
● Seguridad Django
● Seguridad Frasco
10: Error y Control de excepciones.
La implementación de error correcto y el manejo de excepciones no es emocionante, pero al igual que la validación de datos de entrada, es una parte importante de la codificación defensiva, fundamental para hacer un sistema fiable, así como seguro. Los errores en el manejo de errores pueden dar lugar a diferentes tipos de vulnerabilidades de seguridad:
1. filtrar información a los atacantes, lo que ayuda a entender más acerca de su plataforma y el diseño de CWE 209 . Por ejemplo, volviendo un seguimiento de pila u otros detalles del error interno puede decir que un atacante demasiado acerca de su entorno. Volviendo diferentes tipos de errores en diferentes situaciones (por ejemplo, "usuario no válido" vs "contraseña no válida" en la autenticación errores) también pueden ayudar a los atacantes a encontrar su camino.
2. No verificar errores, dando lugar a errores no detectados resultados,
...