La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

OWASP Top 10 Web Application Security Web Risks for ASP.NET Erwin Oviedo.

Presentaciones similares


Presentación del tema: "OWASP Top 10 Web Application Security Web Risks for ASP.NET Erwin Oviedo."— Transcripción de la presentación:

1 OWASP Top 10 Web Application Security Web Risks for ASP.NET Erwin Oviedo

2 – 10 años de experiencia desarrollando aplicaciones con.Net – 5 años de experiencia desarrollando en ASP.NET Web Application y MVC – Trabajando actualmente como Web UI developer, en aplicaciones donde la seguridad es critica. (ej. SAAS) – Titulado de la Universidad Nur en la carrera de Ingeniería de Sistemas

3 Como estamos hoy?

4 Que es el OWASP Top 10? El OWASP Top Ten representa un consenso acerca de cuales son las fallas de seguridad mas criticas en una aplicación Web. Punto de referencia de especialistas en seguridad y web developers. Es una lista de 10 riesgos y por cada uno de ellos provee: – Descripción – Ejemplo de casos vulnerables – Ejemplo de un ataque – Guia de como evitarlo – Referencias

5 Tabla de Valores Agente de Amenaza Vectores de Ataque Prevalencia de Debilidades Debilidades de Seguridad Impacto Técnico Impacto al Negocio Especifico de la Aplicación FácilDifundidoFácilSevero Especifico de la Aplicación PromedioComúnPromedioModerado DifícilPoco Común DifícilMenor

6 Analizando Cada Riesgo a Detalle Descripción general Nivel de Severidad Descripción del Riesgo Ejemplo paso a paso de un ataque Entendiendo el Riesgo Ejemplo de practicas recomendadas para mitigar el riesgo Aplicando las Defensas

7 A1. Inyección

8 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad FACIL Prevalencia COMUN Detección PROMEDIO Impacto SEVERO Especifico de la Aplicación

9 Ejemplo SQL-Inyeccion

10 Untrusted data ‘ or 1=1 -- select Id, Nombre, Apellido from Usuarios where UserName = ' ' and password='123' Untrusted data

11 Demo

12 Usar SQL Queries parametrizados Usar Store Procedures parametrizados Aplicar Least Privilege principle – Basado en aplicar seguridad en diferentes capas – No usar usuarios de bases de datos con el rol db_owner Recomendaciones

13 A2. Perdida de Autenticación y Gestión de Sesiones

14 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad PROMEDIO Prevalencia COMUN Detección PROMEDIO Impacto SEVERO Especifico de la Aplicación

15 Demo

16 ASP.NET Session Management ASP.NET – Session Ids son almacenadas en cookies por defecto. – Cookies necesitan permisos del navegador.

17 ASP.NET Cookieless mode

18 Recommendations No usar cookieless mode Proteger las cookies de XSS No manejar sesiones con infinitos timeout

19 A3. Secuencia de Comandos en Sitios Cruzados (XSS)

20 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad PROMEDIO Prevalencia MUY DIFUNDIDA Detección FACILImpacto Moderado Especifico de la Aplicación

21 Demo

22 Untrusted Data Ejemplo de urls con trusted y untrusted data TRUSTED DATAUNTRUSTED DATA http://www.website.com/Buscador/Buscar?Texto=Polo http://www.website.com/Buscador/Buscar?Texto= alert(‘hola mundo’)

23 Recommendatciones CONTEXTENCODED RESULT HTML<i>Polo</I> JavaScript\x3ci\x3ePolo\x3cx3fi\x3e CSS\00003Ci\00003EPolo\00003C\00002Fi\00003E XML<i>Polo</I> Siempre hacer Encode al Untrusted Data No escribas tu propio encoder Utilizar el Encode apropiado para el Contexto usado

24 A4. Referencia directa insegura a objetos

25 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad FÁCIL Prevalencia COMÚN Detección FÁCILImpacto MODERADO Especifico de la Aplicación

26 Demo

27 Recommendations Aplicar Access Controls Usar las referencia indirectas solo para conciliar los datos Revisar todos los directorios de la aplicación para asegurarse que no exista componentes o funcionalidad no deseada en producción – Prototipos de funcionalidad – Test codes

28 A5. Configuración de Seguridad Incorrecta

29 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad FÁCIL Prevalencia COMÚN Detección FÁCILImpacto MODERADO Especifico de la Aplicación

30 Considerar – Usuarios y Contraseñas por defecto – Herramientas hechas para modo desarrollo expuestas en modo produccion

31 Demo

32 Recommendaciones Mantener los components de tercero actualizados utilizando NuGet Encriptar los datos sensitives en el web.config Configurar Custom Errors apropiadamente Estar seguros que el IIS esta actualizado con los ultimos patchs Remover Server HTTP Header Desabilitar MVC Response Header

33 A6. Exposición de datos sensibles

34 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad DIFÍCIL Prevalencia NO COMÚN Detección PROMEDIO Impacto SEVERO Especifico de la Aplicación

35 Que es sensitive data? – Información Bancaria Numero de Cuentas Numero de Tarjetas de Crédito – Registros médicos – Información Personal – Credenciales de Usuario Que implica el exponer estos datos? – Fraude bancario – Robo de identidad – Perdida de Reputación y confianza en la marca Considerar Datos en Transito – Web Proxys (Lugares donde hay acceso publico de internet) – Historial en los Navegadores

36 Ejemplo de como datos confidenciales son interceptados en un proxy server

37 Recommendaciones Usar SSL al momento de transferir sensitive data como en la pagina de login o al momento de realizar pagos. Deshabilitar la función Autocomplete de HTML Usar los últimos algoritmos de encriptación Cuidado con los error pages y mostrar datos como código fuente y connection strings

38 A7. Inexistente Control de Acceso a nivel de funcionalidades

39 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Exploitability EASY Prevalence COMMON Detectability AVERAGE Impact MODERATE Especifico de la Aplicación

40 Considerar Puede un usuario navegar directamente a un recurso no autorizado? Back end Paginas AdministrativasFront end Paginas de usuario normal

41 Recommendaciones Usar configuraciones de directorio en web.config

42 A8. Falsificación de Peticiones en Sitios Cruzados (CSRF)

43 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad PROMEDIO Prevalencia COMÚN Detección FÁCILImpacto MODERADO Especifico de la Aplicación

44 Consideraciones Imagine que una persona pueda engañarla desde un sitio web maligno y por debajo pueda hacer spam en su estado de facebook si que usted se de cuenta inmediatamente. Imagine que desde un sitio web maligno alguien pueda hacer que usted transfiera dinero de su cuenta a otra cuenta sin dares cuenta inmediatamente.

45 Demo

46 Recommendaciones Use AntiForgeryKeyToken

47 A9. Uso de Componentes con Vulnerabilidades Conocidas

48 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad PROMEDIO Prevalencia DIFUNDIDO Detectabilidad DIFÍCIL Impacto MODERADO Especifico de la Aplicación

49 Considerar – Exponer components utilizados como ser Asp.net y la version utilizada, IIS y su version Base de Datos y su version

50 Demo

51 Recommendations Utilizar Nugets para administrar facilmente los componentes y sus actualizaciones Ser cautelosos a la hora de elegir un componente para ser usado en la aplicacion – Si el componente no es mas soportado significa que nadie va a arreglar cualquier problema que pueda identificarse Mientras mas components externos utilicemos mas riesgos vamos añadir a la aplicacion

52 A10. Redirecciones y reenvíos no validos

53 Agentes de Amenaza Vectores de Ataque Debilidades de SeguridadImpactos Técnicos Impacto al Negocio Especifico de la Aplicación Explotabilidad PROMEDIO Prevalencia POCO COMÚN Detección FÁCILImpacto MODERADO Especifico de la Aplicación

54 Reccomendations Demo

55 Recomendaciones Validar redireccionamiento de Urls en el Login – Permitir solo Urls locales

56 Preguntas

57 References Sitio web http://www.owasp.orghttp://www.owasp.org Pluralsight http://www.pluralsight.comhttp://www.pluralsight.com Port Swigger https://portswigger.net/https://portswigger.net/ HP Fortify on demand (paga)


Descargar ppt "OWASP Top 10 Web Application Security Web Risks for ASP.NET Erwin Oviedo."

Presentaciones similares


Anuncios Google