La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de la seguridad de aplicaciones. Contenido La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones.

Presentaciones similares


Presentación del tema: "Fundamentos de la seguridad de aplicaciones. Contenido La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones."— Transcripción de la presentación:

1 Fundamentos de la seguridad de aplicaciones

2 Contenido La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

3 Requisitos previos para la sesión Experiencia en desarrollo con Microsoft Visual Basic®, Microsoft Visual C++® o C# Nivel 200

4 Agenda La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

5 Informática digna de confianza Informática digna de confianza se basa en cuatro pilares: Confiabilidad significa que un sistema informático es seguro, está disponible cuando se necesita, y funciona de la manera esperada y con los niveles apropiados. Seguridad significa que un sistema es resistente a los ataques, y que la confidencialidad, la integridad y la disponibilidad tanto del sistema como de sus datos están protegidas. Privacidad significa que los usuarios pueden controlar su información personal y que las organizaciones que utilizan la información la protegen fielmente. Integridad del negocio se refiere a que las compañías de nuestra industria son responsables ante los clientes y les ayudan a encontrar soluciones adecuadas a sus problemas empresariales, resuelven sus problemas con productos o servicios y están abiertos a interacciones con los clientes. - Bill Gates 18 de julio de 2002

6 Escenarios de conexión y preocupaciones por la seguridad Escenarios de conexión: Redes por cable tradicionales Empleados que viajan con frecuencia Redes inalámbricas públicas Problemas de seguridad: Dependencia de las aplicaciones de Internet Dependencia de las empresas de Internet Ataques internos a la seguridad

7 Tipos comunes de ataques Errores de conexión Ataques organizativos Datos restringidos Infracciones accidentales de la seguridad Ataques automatizados Atacantes Virus, caballos de Troya y gusanos Denegación de servicio (DoS) DoS

8 Ejemplos de intrusiones en la seguridad CodeRedILoveYouNimda Atacante Virus

9 Consecuencias de una seguridad insuficiente Robo de propiedad intelectual Tiempo de inactividad del sistema Pérdida de productividad Daño a la reputación de la empresa Pérdida de confianza de los clientes Graves pérdidas financieras por pérdida de ingresos

10 Desafíos al implementar la seguridad Un atacante sólo necesita entender una vulnerabilidad El defensor debe proteger todos los puntos de entrada Los atacantes tienen un tiempo ilimitado El defensor trabaja con limitaciones de tiempo y de dinero Atacantes frente a defensores Seguridad frente a facilidad de uso Los sistemas seguros son más difíciles de utilizar Las contraseñas complejas y seguras son difíciles de recordar Los usuarios prefieren emplear contraseñas sencillas Necesito segurida d La seguridad como idea tardía Los desarrolladores y la dirección creen que la seguridad no aporta ningún valor a la empresa Resolver vulnerabilidades justo antes del lanzamiento de un producto es muy costoso

11 El papel de los desarrolladores en la seguridad de las aplicaciones Los desarrolladores deben: Trabajar con los arquitectos de soluciones y los administradores de sistemas para garantizar la seguridad de las aplicaciones Contribuir a la seguridad: Adoptando buenas prácticas de desarrollo para lograr aplicaciones seguras Conociendo dónde se producen las vulnerabilidades de seguridad y cómo evitarlas Utilizando técnicas de programación seguras

12 Agenda La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

13 Enfoque holístico de la seguridad La seguridad debe tenerse en cuenta en: Todas las etapas de un proyecto DiseñoDesarrolloImplementación Todas las capas RedHostAplicación La seguridad es tan buena como el eslabón más débil

14 Seguridad a lo largo del ciclo de vida del proyecto Planes de pruebas completados Diseñoscompletados Concepto Códigocompletado Entrega Después de la entrega Empuje de la seguridad Preguntas durante las entrevistas Determinar los criterios de validación de la seguridad Revisión externa Analizar amenazas Aprender y refinar Revisión del equipo de seguridad Entrenar a los miembros del equipo Pruebas de mutación de datos y mínimos privilegios Revisar defectos anteriores, comprobar registros directrices de programación segura, usar herramientas =continuo

15 SD 3 El marco de seguridad SD 3 Seguro por diseño Seguro de forma predeterminada Seguro en la implementación Arquitectura y código seguros Análisis de amenazas Reducción de vulnerabilidades Se reduce el área de ataques Características no utilizadas desactivadas de forma predeterminada Uso de privilegios mínimos Protección: detección, defensa, recuperación, administración Proceso: guías de procedimientos, guías de arquitecturas Personas: entrenamiento

16 Modelado de amenazas El modelado de amenazas es: Un análisis de una aplicación basado en la seguridad Una parte crucial del proceso de diseño Modelado de amenazas: Reduce el costo de proteger una aplicación Ofrece un proceso lógico y eficiente Ayuda al equipo de desarrollo: Identificar dónde es más vulnerable la aplicación Determinar qué amenazas requieren mitigación y cómo tratar dichas amenazas

17 Educación continua Ofrezca información acerca de: Cómo funcionan las características de seguridad Cómo utilizar las características de seguridad para crear sistemas seguros Qué apariencia tienen las vulnerabilidades de seguridad para poder identificar código defectuoso Cómo evitar vulnerabilidades de seguridad frecuentes Cómo evitar la repetición de errores

18 Validación de los datos de entrada Desbordamientos de búfer Inyección de SQL Secuencias de comandos entre sitios Todos los datos de entrada son perversos mientras no se demuestre lo contrario

19 Demostración 1 Desbordamientos de búfer Eludir las comprobaciones de seguridad

20 Recomendaciones para mejorar la seguridad RecomendaciónVentaja Adoptar el modelado de amenazas Identifica las vulnerabilidades de seguridad Aumenta el conocimiento de la arquitectura de las aplicaciones Entrenar al equipo de desarrollo Evita defectos comunes de seguridad Correcta aplicación de las tecnologías de seguridad Revisión de código Protege el código que Tiene acceso a la red Se ejecuta de forma predeterminada Utiliza protocolos no autenticados Se ejecuta con privilegios elevados Usar herramientas Pruebas más coherentes para detectar vulnerabilidades Usar soluciones de infraestructura Más seguro con SSL/TLS e IPSec Usar soluciones de componentes Más robusto con CAPICOM y el espacio de nombres.NET Cryptography Migrar código administrado Evita vulnerabilidades comunes

21 Agenda La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

22 Introducción a las tecnologías de seguridad Los desarrolladores necesitan utilizar y aplicar: CifradoHashing Firmas digitales Certificados digitales Comunicación segura AutenticaciónAutorización Servidores de seguridad Auditoría Service Pack y actualizaciones

23 Cifrado El cifrado es el proceso de codificación de datos Para proteger la identidad de un usuario o impedir que se lean los datos Para impedir que se modifiquen los datos Para comprobar que los datos proceden de un usuario en particular El cifrado puede ser: AsimétricoSimétrico

24 Cifrado simétrico frente a cifrado asimétrico Tipo de algoritmoDescripción Simétrico Utiliza una clave para: Cifrar los datos Descifrar los datos Es rápido y eficiente Asimétrico Utiliza dos claves relacionadas matemáticamente: Clave pública para cifrar los datos Clave privada para descifrar los datos Es más seguro que el cifrado simétrico Es más lento que el cifrado simétrico

25 Comprobación de la integridad de los datos mediante valores de hash Usuario A Usuario B Datos Valor de hash Algoritmo de hash Datos Valor de hash Algoritmo de hash Si los valores de hash coinciden, los datos son válidos El usuario A envía datos y el valor de hash al usuario B

26 Usuario AUsuario B Datos Valor de hash Algoritmo de hash Clave privada del usuario A Datos Valor de hash Clave pública del usuario A Algoritmo de hash Valor de hash Si los valores de hash coinciden, los datos proceden del propietario de la clave privada y son válidos Firmas digitales

27 Funcionamiento de los certificados digitales Clave privada Par de claves privada y pública Usuario Aplicación Equipo Servicio Administrador certificado Entidad emisora de certificados Clave pública

28 Comunicación segura Tecnologías Entre las tecnologías se incluyen: IPSecSSLTLS Cifrado RPC SSL/TLS IPSec Cifrado RPC

29 Comunicación segura Funcionamiento de IPSec Negociación de la asociación de seguridad Capa TCP Controlador IPSec Capa TCP Controlador IPSec Paquetes IP cifrados Directiva IPSec

30 Comunicación segura Funcionamiento de SSL El usuario explora un servidor Web seguro mediante HTTPS El explorador crea una clave de sesión única y la cifra mediante la clave pública del servidor Web, que se genera a partir del certificado raíz El servidor Web recibe la clave de sesión y la descifra mediante su clave privada Una vez establecida la conexión, toda la comunicación que tiene lugar entre el explorador y el servidor Web es segura Certificado raíz del servidor Web Mensaje Servidor Web seguro HTTPS Explorado r seguro

31 Demostración 2 Certificados de servidor SSL Ver un sitio Web en un servidor que no es seguro Generar una solicitud de certificado Solicitar un certificado de prueba Instalar el certificado SSL Probar el certificado SSL

32 Autenticación Propósito de la autenticación Comprueba la identidad de un principal: Aceptando credenciales Validando dichas credenciales Protege las comunicaciones al asegurarse de que su aplicación sabe quién está llamando No basta con cifrar los datos

33 Autenticación Métodos de autenticación Básica De texto implícita Firmas digitales y certificados digitales Integrada El protocolo Kerberos versión 5 NTLM Microsoft Passport Biométrica

34 Autenticación Autenticación básica Es simple pero efectiva La aceptan los principales exploradores y servidores Es fácil de programar y de configurar Administra las credenciales de usuario Requiere SSL/TLS

35 Autenticación Funcionamiento de la Autenticación de texto implícita Cliente 1 Solicitud Servidor Desafío 2 3 Algoritmo de compendio Contraseña X$!87ghy5 4 Active Directory Contraseña 5 X$!87ghy5 6

36 Autenticación Certificados digitales de cliente Se utilizan en aplicaciones Web El servidor protege las comunicaciones utilizando SSL/TLS con un certificado de servidor X.509 El servidor autentica a los clientes utilizando datos contenidos en el certificado X.509 del cliente, si es necesario La entidad emisora de certificados emite un certificado para el cual el servidor contiene un certificado raíz Se utilizan en aplicaciones distribuidas La aplicación utiliza un canal de comunicaciones SSL/TLS Las aplicaciones del cliente y del servidor se autentican mediante certificados Pueden implementarse en tarjetas inteligentes

37 Autenticación Cuándo usar la Autenticación integrada Cliente ¿Intranet? No puede utilizar Autenticación integrada No Sí Servidor de seguridad Sí No NTLM Autenticación del servidor No Sí ¿Dominio de Active Directory? Kerberos Autenticación de cliente y servidor Integrada de Windows ¿Windows 2000 o posterior?

38 Autenticación Cómo utilizar Kerberos versión 5 Inicio de sesión inicial 1 Vale de concesión de vales KDC TGT en caché local 3 TGT Solicitud de servicio Cliente KDC Servidor de destino Vale de servicio ST Cliente 2 TGT 1 3 ST 2 Se establece sesión 4

39 Demostración 3 Técnicas de autenticación de IIS Uso de Autenticación anónima Uso de Autenticación básica Uso de Autenticación de Windows integrada

40 Autorización Qué es la autorización Autorización: Ocurre una vez autenticada la solicitud del cliente Es el proceso de confirmar que un principal autenticado tiene permitido el acceso a determinados recursos Comprueba los derechos asignados para archivos, carpetas, valores del Registro, aplicaciones, etc. Puede estar basada en funciones Puede estar basada en código

41 Autorización Técnicas frecuentes de autorización Permisos Web (y restricciones IP/DNS) de IIS Seguridad basada en funciones de.NET Seguridad de acceso a código de.NET Listas de control de acceso (ACL) de NTFS Inicios de sesión de SQL Server Permisos de SQL Server

42 Autorización Modelo de suplantación/delegación La identidad del cliente se utiliza para tener acceso a recursos inferiores Servidor Web o de aplicaciones Servidor de base de datos o de otros recursosA B C A B C

43 Autorización Modelo de subsistema de confianza A los clientes se les asignan funciones Se utilizan cuentas de servicio de Windows dedicadas para cada función al tener acceso a recursos inferiores Servidor Web o de aplicaciones Servidor de base de datos o de otros recursos A B C 1 2 Función 1 Función 2

44 Demostración 4 Técnicas de autorización del modelo Subsistema de confianza Revisar la aplicación Establecer la autenticación en el servidor Web Crear cuentas de servicio en el servidor Web Establecer la autorización en el servidor de base de datos

45 Servidores de seguridad Los servidores de seguridad pueden ofrecer: Puerta de enlace segura hacia Internet para los clientes internos Filtrado de paquetes Filtrado en el nivel de circuito Filtrado de aplicaciones Auditoría Los servidores de seguridad no pueden ofrecer: Protección contra ataques en el nivel de aplicación sobre HTTP o HTTPS

46 Auditoría Entre las acciones de auditoría se incluye el seguimiento de: Acceso a recursos y uso de los mismos Intentos correctos y fallidos de inicio de sesión Errores de aplicaciones Entre las ventajas de la auditoría cabe citar: Ayuda a los administradores a detectar intrusiones y actividades sospechosas Seguimiento en caso de disputas legales por no incumplimiento Diagnóstico de brechas en la seguridad

47 Service Pack y actualizaciones Actualización de seguridad Descripción Revisión Resuelve un único problema o un número reducido de problemas Puede combinarse mediante QChain Paquete de seguridad Varias revisiones empaquetadas para facilitar su instalación Service Pack Ofrece actualizaciones importantes Conjunto acumulativo de actualizaciones anteriores Puede contener revisiones no anunciadas previamente Puede contener cambios en características

48 Agenda La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

49 Desarrollo proactivo de la seguridad Integrar mejoras a la seguridad en todo el proceso de desarrollo Al centrarse en la seguridad y proteger el código puede resistir nuevos ataques Fomentar el papel clave que desempeña la educación Aumentar la concienciación dentro de su equipo Aprender de sus errores y de los errores de otros

50 Adopción del marco de seguridad SD3 Cree modelos de amenazas Cree modelos de amenazas Realice revisiones de código, pruebas de penetración Ejecute código con privilegios mínimos Minimice la superficie de ataque Habilite los servicios de manera segura Aproveche las recomendaciones de seguridad Cree consejos sobre seguridad Cree herramientas para evaluar la seguridad de las aplicaciones Seguro por diseño Seguro de forma predeterminada Seguro en la implementación

51 Resumen de la sesión La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones seguras Tecnologías de seguridad Directrices para el desarrollo seguro

52 Pasos siguientes 1. Mantenerse informado sobre la seguridad Suscribirse a boletines de seguridad: Suscribirse a boletines de seguridad: (este sitio está en inglés) Obtener las directrices de seguridad de Microsoft más recientes: Obtener las directrices de seguridad de Microsoft más recientes: (este sitio está en inglés) 2. Obtener información de seguridad adicional Buscar seminarios de aprendizaje en línea y presenciales: Buscar seminarios de aprendizaje en línea y presenciales: (este sitio está en inglés) Buscar un CTEC local que ofrezca cursos prácticos: Buscar un CTEC local que ofrezca cursos prácticos: (este sitio está en inglés)

53 Para obtener más información Sitio de seguridad de Microsoft (todos los usuarios) (este sitio está en inglés) Sitio de seguridad de MSDN (desarrolladores) (este sitio está en inglés) Sitio de seguridad de TechNet (profesionales de IT) (este sitio está en inglés)

54 Preguntas y respuestas

55


Descargar ppt "Fundamentos de la seguridad de aplicaciones. Contenido La importancia de la seguridad de las aplicaciones Recomendaciones para el desarrollo de aplicaciones."

Presentaciones similares


Anuncios Google