OWASP SEGURIDAD INFORMÁTICA
ING. CARLOS ORELLANA INTEGRANTES:
JOSÉ MANUEL RIVAS VÁSQUEZ GUSTAVO VLADIMIR GONZÁLEZ VILA JULIO ALBERTO MARTÍNEZ CABRERA
Contenido INTRODUCCIÓN ............................................................................................................................................. 4 OBJETIVOS ..................................................................................................................................................... 5 Objetivo General: ...................................................................................................................................... 5 Objetivos Específicos: ............................................................................................................................... 5 ALCANCES ...................................................................................................................................................... 6 METAS: .......................................................................................................................................................... 6 JUSTIFICACIÓN: ............................................................................................................................................. 7 MARCO TEÓRICO: ......................................................................................................................................... 8 HISTORIA: .................................................................................................................................................. 8 ¿QUÉ ES OWASP? ...................................................................................................................................... 8 ESTRUCTURA Y LICENCIAMIENTO ............................................................................................................. 8 PARTICIPACIÓN Y MEMBRESÍA ................................................................................................................. 9 SITIO OFICIAL DE OWASP. ......................................................................................................................... 9 PROYECTOS ................................................................................................ Error! Bookmark not defined. PROYECTOS DE DOCUMENTACIÓN: .................................................................................................... 10 LOS PROYECTOS DE DESARROLLO: ..................................................................................................... 22 OWASP DEVELOPMENT GUIDE (Guía de proyectos OWASP) ................................................................. 10 MARCOS DE POLÍTICA DE OWASP ...................................................................................................... 11 OWASP TOP TEN ..................................................................................................................................... 13 OWASP TESTING GUIDE .......................................................................................................................... 19 OWASP CODE REVIEW ............................................................................................................................ 21 WebGoat ................................................................................................................................................. 22 WebGoat 6.0 ........................................................................................................................................... 23 WebScarab .............................................................................................................................................. 24 Versiones ................................................................................................................................................. 24 . NET ........................................................................................................................................................ 25 APLICACIONES: ........................................................................................... Error! Bookmark not defined. VENTAJAS: ............................................................................................................................................... 27 DESVENTAJAS: ......................................................................................................................................... 27 CONCLUSIÓN: .............................................................................................................................................. 28 RECOMENDACIONES: .................................................................................................................................. 29
GLOSARIO: ................................................................................................................................................... 30 Bibliografía .................................................................................................................................................. 31 ANEXOS ....................................................................................................................................................... 32
INTRODUCCIÓN OWASP cuyas siglas en inglés Open Web Application Security Project (Proyecto Abierto de Seguridad de Aplicaciones Web traducido al español) es una organización sin fines de lucro, que está en constante actualización, y cuenta con miembros alrededor de todo el mundo que ponen a disposición el material necesario para que cualquier persona u organización tenga acceso a información completamente gratuita para poder aumentar la seguridad en sus aplicaciones o sistemas. OWASP es una guía para cualquier persona u organización que desee aumentar la seguridad o disminuir los riesgos en el entorno web. A lo largo del presente reporte se presentan los aspectos más importantes de esta comunidad, así como los proyectos documentales más importantes de la misma, entre los cuales podemos mencionar:
OWASP TOP TEN OWASP DEVELOPMENT GUIDE OWASP TESTING GUIDE OWASP CODE REVIEW OWASP STANDARS
Se menciona una breve explicación de estas guías y se contestan las siguientes interrogantes ¿Qué son? ¿Para qué sirven? ¿Qué debo hacer en casos de tener vulnerabilidades? Se recomienda a las organizaciones empezar por solucionar los problemas mencionados en la guía del OWASP TOP TEN, debido a que la seguridad no es un aspecto que se soluciona del día a la mañana, sino que es un proceso que puede llevar mesas incluso años, pero es decisión de la empresa adoptar la guía que más le parezca, OWASP no se compromete a que los resultados serán totalmente satisfactorios debido a que es una organización sin ánimos de lucro, no tiene presión de nadie. Pero hay muchas empresas de alto calibre que respaldan OWASP. Además se exponen los proyectos de desarrollo de OWASP, explicando los más importantes o más conocidos, a lo largo de las guías se brindan ejemplos de cómo detectar vulnerabilidades a través de herramientas que pueden ser encontradas en el sitio oficial de OWASP o incluso se brinda la solución que debe emplearse para dicha vulnerabilidad. Cabe destacar que este informe es simplemente un enfoque general de OWASP, si desea obtener más información debe visitar el sitio oficial de OWASP www.owasp.org www.owasp.org,, y descargar el material de forma gratuita.
OBJETIVOS Objetivo General:
Conocer los aspectos más importantes de OWASP.
Objetivos Específicos:
Identificar qué es OWASP. Establecer la importancia de OWASP en las Tecnologías de Información. Mencionar las aplicaciones de OWASP.
ALCANCES
Tener una idea clara acerca de que es OWASP. Aumentar los conocimientos acerca de la seguridad de la información. Identificar los peligros que asechan a las aplicaciones informáticas.
METAS:
Conocer la metodología de OWASP al menos de manera general en un 75%. Explotar vulnerabilidades mediante una o varias herramientas, que tengan relación con OWASP.
JUSTIFICACIÓN: En un mundo donde la tecnología de la información se vuelve una parte de todas las organizaciones, debido a las innumerables ventajas que ésta brinda, es por esta misma razón en la que a medida que la esta tecnología ha venido tomando una gran importancia en las empresas u organizaciones, que también existen muchas personas que tienen intención de explotar las vulnerabilidades que puedan tener los sistemas informáticos, siendo según información una de las ramas más vulnerables a ataques la tecnología web. Es por tal razón por la que se decide investigar una metodología, en este caso OWASP, debido a que se considera esta comunidad como una solución para las empresas, que ya se dieron cuenta de los agujeros que podrían tener en aspectos de seguridad y por lo tanto quieren tomar cartas en el asunto y evitar que personas puedan dañar o comprometer los datos de la empresa, así como también organizaciones que ya sufrieron algún incidente y por lo tanto no desean por ningún motivo que se repita. Es por todo lo mencionado anteriormente que se estudiará OWASP de una manera generalizada y se expondrán los aspectos más importantes de dicha comunidad.
MARCO TEÓRICO: HISTORIA: La Fundación OWASP entró en funcionamiento el 1 de diciembre de 2001, se estableció como una organización caritativa sin fines de lucro en los Estados Unidos el 21 de abril de 2004, para garantizar la disponibilidad continua y el apoyo a nuestro trabajo en OWASP. OWASP es una organización internacional y la Fundación OWASP, OWASP apoya los esfuerzos de todo el mundo.
¿QUÉ ES OWASP? El Open Web Application Security Project (OWASP) que en español significa Proyecto Libre de Seguridad de Aplicaciones Web, es un espacio abierto o comunidad dedicada a la búsqueda y la lucha contra las causas del software inseguro. Es además una comunidad dedicada a permitir a las organizaciones desarrollar, comprar y mantener las aplicaciones que puedan ser confiables. Todas las herramientas, documentos, foros, y los capítulos de OWASP son gratuitos y abiertos a cualquier persona interesada en mejorar la seguridad de aplicaciones. En OWASP se pueden encontrar los siguientes elementos de manera gratuita y libre.
Las herramientas y estándares de seguridad de aplicaciones Libros completos de las pruebas de seguridad de aplicaciones, desarrollo de código de seguridad, y la seguridad de revisión de código Los controles de seguridad estándares y bibliotecas Los capítulos locales en todo el mundo La investigación de vanguardia Conferencias que se extienden en todo el mundo Listas de correo Muchos otros aspectos para aumentar la seguridad en las organizaciones.
OWASP debido a que no tiene presiones comerciales le permite brindar información imparcial, práctica y rentable sobre seguridad de aplicaciones. OWASP no está afiliado con ninguna compañía de tecnología, sin embargo apoya la utilización de tecnología de seguridad.
ESTRUCTURA Y LICENCIAMIENTO La Fundación OWASP es una entidad sin fines de lucro que proporciona la infraestructura para la comunidad de OWASP. La Fundación proporciona servidores y ancho de banda, facilita los proyectos y capítulos, y gestiona las Conferencias OWASP de Seguridad de Aplicaciones en todo el mundo. Todos los materiales OWASP están disponibles bajo un aprobado método de licencia de código abierto. Si opta por convertirse en una organización miembro de OWASP, también puede utilizar la licencia comercial que le permite usar, modificar y distribuir todos los materiales OWASP dentro de su organización bajo una única licencia.
PARTICIPACIÓN Y MEMBRESÍA Todo el mundo es bienvenido a participar en OWASP: foros, proyectos, capítulos, y conferencias. OWASP es un lugar fantástico para aprender sobre seguridad de aplicaciones, de red, e incluso construir su reputación como un experto. Muchos expertos en seguridad de aplicaciones y las empresas participan en OWASP porque la comunidad establece su credibilidad.
SITIO OFICIAL DE OWASP.
En el sitio oficial de OWASP en el cual se puede visitar en el siguiente link: www.owasp.org , se puede ver una página web con mucha información organizada en grandes partes pero al mismo tiempo desorganizada ya que a la página le hace falta una organización correcto, esto se puede deber a que no hay nadie concreto administrando la página, dejando de lado el lado estético se puede notar que para los informáticos esto es de gran ayuda ya que en la página se dan a conocer todos los proyectos que la organización tiene. Entre las actividades que se pueden hacer en la página tenemos:
Saber sobre la organización Hacer descargas de las herramientas. Hacerse miembro de organización Donar a la organización. Sección de videos. Ver ataques y vulnerabilidades vulnerabilidades Calendario de actividades alrededor del mundo. Crear cuenta. Inscribirse para recibir noticias.
Como muestra de la poca actualización se muestra en la siguiente imagen la última actualización hecha a la página de OWASP:
PROYECTOS DE DESARROLLO Un proyecto OWASP es un conjunto de tareas relacionadas que tienen una hoja de ruta definida y los miembros del equipo. Los líderes del proyecto OWASP son responsables responsables de definir la visión, plan de trabajo y las tareas t areas del proyecto. El líder del proyecto también promueve el proyecto y construye el
equipo. OWASP cuenta actualmente con más de 148 proyectos activos, y las nuevas solicitudes de proyectos se presentan cada semana. Todas las herramientas de OWASP, documentos y proyectos de la biblioteca de código se organizan en las siguientes categorías: Incubadora de Proyectos: Proyectos Incubadora OWASP representan el parque experimental, donde los proyectos están siendo plasmadas las ideas aún están siendo probados, y el desarrollo está todavía en curso. Proyectos de Laboratorio: Proyectos Labs OWASP representan proyectos que han dado una opinión OWASP entrega de valor. Proyectos emblemáticos: La designación Flagship OWASP se da a los proyectos que han demostrado su madurez superior, de calidad establecida, y el valor estratégico de la OWASP y la seguridad de la aplicación en su conjunto. A continuación detallaremos ejemplos de proyectos de OWASP: Los proyectos de OWASP están ampliamente divididos en dos categorías principales: los proyectos de desarrollo, y los proyectos de documentación. PROYECTOS DE DOCUMENTACIÓN: La Guía - Este documento que proporciona orientación detallada sobre la seguridad de aplicaciones web. El Top Ten de las vulnerabilidades más críticas de Aplicaciones Web - Un documento de alto nivel para ayudar a centrarse en las cuestiones más críticas, cuyas versiones van desde la 2005, 2007, 2010 y 2013. Métricas - Un proyecto viable para definir las métricas de seguridad de aplicaciones web. Legal - Un proyecto de software para ayudar a compradores y vendedores negociar una seguridad adecuada en sus contratos. Guía de Testeo - Una guía eficaz centrada en pruebas de la seguridad de aplicaciones web. ISO17799 - Los documentos de soporte para las organizaciones haciendo revisiones ISO17799 AppSec FAQ - Preguntas frecuentes y respuestas sobre seguridad de aplicaciones Otros documentos como la documentación de WebGoat y WebScarab.
OWASP DEVELOPMENT GUIDE (Guía de proyectos OWASP) Las aplicaciones web se pueden escribir de muchas maneras diferentes, y en muchos idiomas diferentes. Aunque la Guía se concentra en las tres opciones comunes para sus ejemplos (PHP, ASP.NET y J2EE), la Guía puede utilizarse con cualquier aplicación web de tecnología. Esta guía se enfoca principalmente en contramedidas y debilidades para asegurar la ingeniería de software.
En esta edición, los arquitectos, jefes de proyecto y desarrolladores pueden hacer referencia a un libro de texto masivo que cubre todos los aspectos de la moderna arquitectura de aplicaciones de seguridad, diseño seguro, y los patrones de diseño detallado. Esta edición se alinea con los resultados del programa de estudios de la titulación de Software Assurance Pregrado y Maestría en Software Assurance. Los temas principales:
Seguridad de Fundación Arquitectura Diseño Construir Funcionar Respuesta a Incidentes
MARCOS DE POLÍTICA DE OWASP Muchos de los controles contenidos en la Guía OWASP se encuentran influenciados por requerimientos incluidos en estándares nacionales o marcos de control tales como COBIT; normalmente los controles seleccionados de la guía satisfarán los requerimientos relevantes de ISO 17799 o COBIT. COBIT
Si usted está implementando COBIT, OWASP es un excelente punto de partida para identificar riesgos en el desarrollo de sistemas y para asegurar que aplicaciones hechas a medida o adquiridas cumplimenten con COBIT. ISO 17779
Las organizaciones que utilizan ISO 17799 pueden usar OWASP como una guía detallada al seleccionar e implementar una amplia gama de controles de la ISO 17799, particularmente aquellos detallados en el capítulo de Desarrollo de Sistemas, entre otros de esta guía. Esta guía de desarrollo se centra que una una aplicación no se puede puede tener una seguridad seguridad si los usuarios no poseen una educación con respecto respecto a seguridad y un buen habito ya que no pueden ver un riesgo hasta que ya no pueden remediar el problema de seguridad que se les presenta ya sea este un phishing, también esta nos enmarca que como PSI debemos definir políticas las cuales deben ser comunicadas a los usuarios para poder relacionarnos con la seguridad ya que ni el administrador puede pedir información confidencial de un usuario y también el usuario debe estar seguro en que sitios y tener en cuenta todos las políticas del servicio web al que acceda tanto el usuario como el administrador tienen derechos a mantener la privacidad de la información que ambos comparten así como la seguridad que deben de mantener y como protegerse de algún ataque. Así los PSI para tener una buena buena seguridad nuestro servidor debe debe ser capaz de identificar autentificar autentificar y dar Acceso utilizando unas serie de llaves tanto tanto del emisor como una del receptor para poder identificar si estos información procede de una fuente confiable también menciona que podemos utilizar firmas
para poder identificar si esta información información es fiable o no, esta guía debe establecer establecer como tanto el el usuario como el proveedor de servicios puede tener una mejor seguridad los estándares necesarios, metodología y encriptación para lograr una mejor mejor seguridad. La guía te muestra herramientas las cuales cuales puedes implementar implementar y utilizar para el desarrollo de aplicaciones web.
OWASP TOP TEN El OWASP Top 10 se basa en los datos de riesgo de 8 empresas que se especializan en seguridad de aplicaciones, incluyendo 4 empresas de consultoría y 4 proveedores de herramientas. Estos datos abarcan más de 500.000 vulnerabilidades a través de cientos de organizaciones y miles de aplicaciones. Los 10 mejores artículos son seleccionados y priorizados de acuerdo a estos datos de prevalencia, en combinación con las estimaciones del consenso de explotabilidad, detectabilidad y estimaciones de impacto. El objetivo principal de la OWASP Top 10 es educar a los desarrolladores, diseñadores, arquitectos, gerentes y organizaciones sobre las consecuencias de los más importantes puntos débiles de seguridad de aplicaciones web. El Top 10 proporciona las técnicas básicas para proteger contra estas áreas problemáticas de alto riesgo y también proporciona orientación sobre dónde ir desde aquí. Pero al combatir los 10 peligros del TOP TEN no quiere decir que ya está protegido, en el documento hace un alto énfasis en que no debe detenerse en estos peligros, ya que hay muchos más, además el documento está en constante actualización, y puede que uno u otro peligro avance en el ranking o desaparezca del mismo. A continuación se presenta una comparación entre las ediciones del 2010 y 2013 del OWASP TOP TEN: OWASP 2010 TOP TEN A1- Inyección A2- Scripting de Sitios-Cruzados (XSS) A3- Autenticación rota y Manejos de Sesiones A4- Referencias de Objetos Directos Inseguras A5- Solicitudes de Falsificación a Sitios-Cruzados A6- Mala configuración de seguridad A7- Almacenamiento Criptográfico Inseguro (Mezclado con el A9) A8- Falla a Acceso Restringido de las URL A9- Insuficiente Protección de la Capa de Transporte A10- Redirecciones Redirecciones y Forwards Invalidados
OWASP 2013 TOP TEN A1- Inyección A2- Autenticación rota y Manejos de Sesiones A3- Scripting de Sitios-Cruzados (XSS) A4- Referencias de Objetos Directos Inseguras A5- Mala configuración de seguridad A6- Exposición de Datos Sensibles Sensibles A7- Funciones Faltantes del Control de Nivel de Acceso A8- Solicitudes de Falsificación a Sitios-Cruzados A9Usando Componentes Vulnerables Conocidos A10- Redirecciones Redirecciones y Forwards Invalidados
Lo más importante a resaltar en la comparación anterior sería que se sigue considerando la Inyección SQL como el problema principal de los sitios, y unos ligeros cambios en algunos problemas, como la Autenticación y Manejo de Sesiones A continuación explicaremos de manera rápida cada uno de los problemas de la edición de OWASP del 2013: En la guía se establece desde la definición, el tipo de atacante, los impactos, así como también como saber si se es vulnerable y las soluciones a los mismos. Si desea obtener todos los detalles se recomienda leer y descargar de manera gratuita el OWASP TOP TEN 2013 desde la página oficial de OWASP.
A1 - Inyección Las fallas de inyección, tales como SQL, OS, y la inyección LDAP se producen cuando los datos no son de confianza se envía a una intérprete como parte de un comando o consulta. Datos hostiles del atacante puede engañar al intérprete para que ejecute comandos no deseados o acceder a datos no autorizados. En la guía se explica la raíz del problema, el tipo de atacante y una serie de pautas de cada vulnerabilidad, ATACANTE Usuarios externos, los usuarios internos y administradores.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante envía simples ataques basados en texto que explotan la sintaxis del intérprete apuntado. Casi cualquier fuente de datos puede ser un vector de inyección, incluyendo fuentes internas.
IMPACTOS TÉCNICOS La inyección puede causar la pérdida de datos o la corrupción, la falta de rendición de cuentas, o la denegación de acceso.
IMPACTO EN EL NEGOCIO Todos los datos pueden ser robados, modificados o eliminados. ¿Podría ser dañada su reputación?
¿CÓMO SABER SI SE ES VULNERABLE? •Comprobación
del
código. •Herramientas
de
análisis de código como BRUTUS.
¿CÓMO EVITAR LA INYECCIÓN SQL? Mantener los datos no confiables separados de comandos y consultas. 1. La opción preferida es usar una API de seguridad. 2. Validación de código.
A2 - Autenticación y administración de Sesión Funciones de aplicación relacionados con la autenticación y gestión de sesiones a menudo no son correctas en la aplicación, lo que permite a los atacantes comprometer contraseñas, llaves, los tokens de sesión, o la explotación de otros defectos de implementación para asumir la identidad de otros usuarios. ATACANTE Considere atacantes externos anónimos, así como los usuarios con sus propias cuentas.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante utiliza fugas o fallas en las funciones de gestión de autenticación o sesión (por ejemplo, cuentas a la vista, contraseñas, ID de sesión) para hacerse pasar por usuarios.
IMPACTOS TÉCNICOS El atacante puede hacer todo lo que la víctima podía hacer. Las cuentas con privilegios son con frecuencia blanco de ataques.
IMPACTO EN EL NEGOCIO Todos los datos pueden ser robados, modificados o eliminados. ¿Podría ser dañada su reputación?
¿CÓMO SABER SI SE ES VULNERABLE? 1.Credenciales protegidas. 2.¿Pueden las credenciales ser adivinadas? 3. Son los identificadores de sesión expuestas en la dirección URL, etc.4.
¿CÓMO EVITAR ESTE PROBLEMA? 1. Un único conjunto de autenticación fuerte y controles de administración de sesiones. 2. También se deben hacer grandes esfuerzos para evitar fallas de XSS que pueden ser utilizados para robar los identificadores de sesión.
A3 - Cross-Site Scripting (XSS) Las fallas de XSS ocurren cuando una aplicación toma datos no confiables y los envía a un navegador web sin necesidad de una correcta validación. XSS permite a los atacantes ejecutar scripts en el navegador de la víctima, que pueden secuestrar sesiones de usuario, modificar sitios Web, o redirigir al usuario a sitios maliciosos. ATACANTE Usuarios externos, los usuarios internos y administradores.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante envía secuencias de comandos de ataque textbased que explotan el intérprete en el navegador. Casi cualquier fuente de datos puede ser un vector de ataque, incluyendo fuentes internas tales como los datos de la base de datos.
IMPACTOS TÉCNICOS Los atacantes pueden ejecutar scripts en el navegador de la víctima para secuestrar sesiones de usuario, modificar sitios Web, insertar contenido hostil, redirigir a los usuarios, secuestrar el navegador del usuario con malware, etc.
IMPACTO EN EL NEGOCIO Depende de la importancia de los datos. Todos los datos pueden ser robados, modificados o eliminados. ¿Podría ser dañada su reputación?
¿CÓMO SABER SI SE ES VULNERABLE? Se debe revisar que todos los datos que se envían a través del navegador son seguros, como la que se incluye en la página de salida, o se comprueba que es seguro a través de la validación de entrada.
¿CÓMO EVITAR ESTE PROBLEMA? Prevenir XSS requiere mantener los datos no confiables separados de contenido activo navegador. Considere bibliotecas autodesinfección como AntiSamy de OWASP.
A4- Referencias Inseguras a Objetos Directos Una referencia de objeto directo ocurre cuando un desarrollador expone una referencia a un interno objeto de implementación, como un archivo, un directorio o base de datos de claves. Sin una comprobación de control de acceso o de otro tipo de protección, los atacantes pueden manipular esas referencias para acceder a datos no autorizados. ATACANTE Tenga en cuenta los tipos de usuarios de su sistema.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante, que es un usuario autorizado del sistema, simplemente cambia el valor del parámetro que se refiere directamente a un objeto del sistema a otro objeto que el usuario no está autorizado para.
IMPACTOS TÉCNICOS Tales defectos pueden comprometer todos los datos que pueden ser referenciados por el parámetro.
IMPACTO EN EL NEGOCIO Considere el valor comercial de los datos expuestos. También considere el impacto en el negocio de la exposición pública de la vulnerabilidad.
¿CÓMO SABER SI SE ES VULNERABLE? La mejor manera de saber si una aplicación es vulnerable a las referencias a objetos directos inseguros es verificar que todas las referencias a objetos tienen defensas adecuadas.
¿CÓMO EVITAR ESTE PROBLEMA? Se requiere la selección de un enfoque de protección de cada objeto accesible para el usuario (por ejemplo, número de objeto, nombre): 1. Utilice por referencias a objetos indirectos usuario o sesión. 2. Comprobar el acceso.
A5- Mala configuración de seguridad Una buena seguridad requiere tener una configuración segura definido y desplegado para la aplicación, frameworks, servidor de aplicaciones, servidor web, servidor de base de datos y plataforma. Todos estos ajustes se deben definir, implementar y mantener ya que muchos no se envían con valores predeterminados seguros. ATACANTE Atacantes externos anónimos y usuarios, además insiders que desean ocultar sus acciones.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante accede a las cuentas por defecto, las páginas no utilizadas, defectos sin parches, archivos desprotegidos y directorios, etc., para obtener acceso no autorizado o el conocimiento del sistema.
IMPACTOS TÉCNICOS Tales defectos suelen dar los atacantes el acceso no autorizado a algunos datos del sistema o la funcionalidad.
IMPACTO EN EL NEGOCIO Los costos de recuperación podrían ser muy altos.
¿CÓMO SABER SI SE ES VULNERABLE? Averiguar si se actualizan los sistemas, se aplican parches, etc. Se han desactivado los recursos innecesarios, puertos, así como las cuentas por default.
¿CÓMO EVITAR ESTE PROBLEMA? Automatizar los procesos de las nuevas actualizaciones de software y parches. Una arquitectura de la aplicación fuerte que proporcione una buena separación y la seguridad entre los componentes, y auditorías.
A6- Exposición de Datos Sensibles Muchas aplicaciones web no protegen adecuadamente los datos sensibles, tales como tarjetas de crédito, identificadores de impuestos, y las credenciales de autenticación. Los atacantes pueden robar o modificar tales datos débilmente protegidos para llevar a cabo el robo de identidad, fraude de tarjetas de crédito, u otros delitos. Los datos sensibles deben tener protección adicional, como el cifrado en reposo o durante el transporte, así como las precauciones especiales cuando se intercambia con el navegador. ATACANTE
Cualquier persona con acceso al sistema, incluso clientes.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? Los atacantes roban claves, datos del servidor, roban durante el transporte o desde el navegador.
IMPACTOS TÉCNICOS
IMPACTO NEGOCIO
EN
EL
¿CÓMO SABER SI SE ES VULNERABLE?
¿CÓMO EVITAR PROBLEMA?
ESTE
Las fallas usualmente comprometen los datos : credenciales, registros, datos personales, etc.
Considere el valor de negocio de los datos y el impacto de su reputación perdida. ¿Cuál es su responsabilidad legal si se exponen estos datos? También considere el daño a su reputación.
Lo primero que hay que determinar es qué datos son lo suficientemente sensibles como para requerir protección adicional. Encriptar la información, directivas del navegador, etc.
Encriptar la información. No guarde información innecesaria, como tarjetas de crédito. Utilizar fuertes algoritmos estandarizados, etc.
A7- Funciones Faltantes del Control de Nivel de Acceso Prácticamente todas las aplicaciones web verifican los derechos de acceso a nivel de función antes de tomar esa funcionalidad visible en la interfaz de usuario. Sin embargo, las aplicaciones tienen que realizar las mismas comprobaciones de control de acceso en el servidor cuando se accede a cada función. Si no se verifican peticiones, los atacantes serán capaces de forjar peticiones con el fin de acceder a la funcionalidad no autorizada. ATACANTE
Cualquier persona con acceso a la red puede enviar su solicitud a petición.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante, que es un usuario autorizado del sistema, simplemente cambia la dirección URL o un parámetro a una función privilegiada.
IMPACTOS TÉCNICOS
IMPACTO NEGOCIO
EN
EL
¿CÓMO SABER SI SE ES VULNERABLE?
¿CÓMO EVITAR PROBLEMA?
ESTE
Estos defectos permiten que los atacantes accedan a la funcionalidad no autorizada.
Importancia de los datos robados. Daño a la reputación de la empresa.
Verificar todas las funciones de la aplicación: 1. ¿Muestra el interfaz de usuario de navegación de funciones no autorizadas? 2. ¿Es debida autenticación y autorización comprueba?
1. Piense en el proceso de gestión de derechos y asegúrese de que puede actualizar y auditar fácilmente. 2. El mecanismo de aplicación (s) debe negar el acceso de forma predeterminada.
A8- Solicitudes de Falsificación a Sitios-Cruzados Un ataque CSRF fuerza una sesión iniciada en el navegador de la víctima para enviar una petición HTTP forjado, incluyendo cookie de sesión de la víctima y cualquier otra información de autenticación incluyen automáticamente, a una aplicación web vulnerable. Esto permite al atacante para forzar el navegador de la víctima para generar solicitudes de la aplicación vulnerable piensa son peticiones legítimas de la víctima. ATACANTE
Cualquier persona con acceso a la aplicación a través de un navegador.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? Los atacantes crean solicitudes y trucos a la víctima enviándole vía etiquetas de imagen, XSS u otras técnicas. Si el usuario está autenticado, el ataque tiene éxito.
IMPACTOS TÉCNICOS
IMPACTO NEGOCIO
EN
EL
¿CÓMO SABER SI SE ES VULNERABLE?
El atacante puede cambiar los datos, o realizar cualquier otra función que la víctima está autorizada a ejercer.
Según la importancia de los datos. Daño a su reputación.
Una defensa alternativa es requerir que el usuario demuestre su intención de presentar la solicitud, ya sea a través de nueva autenticación, o alguna otra prueba de que son un usuario real (por ejemplo, un captcha).
¿CÓMO EVITAR PROBLEMA? 1. 2.
3.
ESTE
Incluir el token único de manera oculta. El token puede ser incluido también en la URL o un parámetro. Forzar al usuario a reautenticarze ej: Captcha.
A9- Usando Componentes Vulnerables Conocidos Los componentes vulnerables, como las bibliotecas, los marcos, y otros módulos de software casi siempre se ejecutan con privilegios completa. Por lo tanto, si se explota, pueden causar pérdida de datos importantes o absorción servidor. Las aplicaciones que utilizan estos componentes vulnerables pueden socavar sus defensas y permitir una serie de posibles ataques e impactos. ATACANTE
Cualquier persona con una herramienta automatizada, o conocimiento experto.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? El atacante identifica un componente débil por barrido o un análisis manual. Ellos personalizan el exploit según sea necesario y ejecutan el ataque.
IMPACTOS TÉCNICOS
IMPACTO NEGOCIO
EN
EL
¿CÓMO SABER SI SE ES VULNERABLE?
¿CÓMO EVITAR PROBLEMA?
ESTE
La gama completa de los puntos débiles es posible, incluyendo la inyección, el control de acceso rota, XSS, etc
Se debe ver que datos comprometen al negocio. Tiene repercusiones en la empresa, etc.
Mediante la comprobación para ver si el código utiliza la parte del componente de la vulnerabilidad y si la falla podría resultar en un impacto que le interesan.
Uno opción de es a no utilizar componentes que usted no hizo o escribió. Pero, siendo realistas, la mejor manera de lidiar con este riesgo es mantener los componentes actualizados.
A10- Redirecciones y Forwards Invalidados Las aplicaciones Web frecuentemente redirigen y reenviar los usuarios a otras páginas y sitios web, y el uso de datos no confiables para determinar las páginas de destino. Sin una correcta validación, los atacantes pueden redirigir a las víctimas a sitios de malware o phishing, o utilizar delante para acceder a páginas no autorizadas. ATACANTE
Personas con acceso al sitio web.
¿CÓMO EXPLOTAN ESTA VULNERABILIDAD? Los atacantes engañan a las víctimas con links que los envían a lugares pensados por el atacante.
IMPACTOS TÉCNICOS
IMPACTO NEGOCIO
EN
EL
¿CÓMO SABER SI SE ES VULNERABLE?
¿CÓMO EVITAR PROBLEMA?
ESTE
Estas redirecciones pueden intentar instalar malware o engañar a las víctimas para que revelen contraseñas u otra información sensible.
Perdida de la confianza de los clientes.
Revise el código para todos los usos de redirigir o reenviar (llamado transferencia de. NET). Comprobar todos los parámetros.
Simplemente evitar el uso de redirecciones y forwards. Si los utiliza, no implique el cálculo de los parámetros del usuario en el destino y asegúrese que el valor es válido y autorizado para el usuario.
OWASP TESTING GUIDE Es una guía cuyo propósito poner a prueba las aplicaciones de las organizaciones, mediante uso de cierto tipo de herramientas automatizadas, así como otro tipo de conocimientos que han sido aportados por los miembros y colaboradores de OWASP. Esta guía es mejor vista como un conjunto de técnicas que se pueden utilizar para encontrar los diferentes tipos de agujeros de seguridad. Pero no todas las técnicas son igualmente importantes. El resultado de este proyecto es un marco de pruebas completa, de la que otros puedan construir sus propios programas de pruebas o calificar los procesos de otras personas. Guía de pruebas se describen en detalle tanto el Marco de pruebas generales y las técnicas necesarias para aplicar el marco en la práctica. ¿Por qué habría de utilizarse la Guía de Pruebas?
Los desarrolladores deben usar esta guía para asegurarse de que están produciendo código seguro. Probadores de software deberían utilizar esta guía para expandir el conjunto de casos de prueba que se aplican a las aplicaciones. La captura de estas vulnerabilidades temprana ahorra mucho tiempo y esfuerzo más tarde. Especialistas en seguridad deberían utilizar esta guía en combinación con otras técnicas como una manera de verificar que no haya agujeros de seguridad en una aplicación.
A continuación se presenta una serie de principios tomados de la gúia de pruebas de OWASP: No existe ninguna bala de plata, que destruya los atacantes. Piense estratégicamente, no tácticamente. El SDLC es el rey. (Integrar la seguridad en el ciclo de desarrollo de software). Pruebe temprano y pruebe a menudo. Comprenda el alcance de la seguridad. Use las herramientas adecuadas. Documente los resultados de las pruebas, etc.
MARCO DE PRUEBAS OWASP En esta sección se describe un marco de pruebas típico que se puede desarrollar dentro de una organización. Puede verse como un marco de referencia que comprende las técnicas y las tareas que son apropiados en diferentes fases del ciclo de vida de desarrollo de software (SDLC). Este marco de pruebas consta de las siguientes actividades que deben llevarse a cabo:
Antes de que comience el Desarrollo Durante el diseño y definición Durante el Desarrollo Durante la implementación
- OWASP
Mantenimiento y Operaciones
20
- OWASP OWASP CODE REVIEW Muchas organizaciones se han dado cuenta de que su código no es tan seguro como habían pensado. Ahora están comenzando la difícil labor de verificación v erificación de la seguridad de sus aplicaciones. Existen cuatro técnicas básicas para el análisis de la seguridad de una aplicación de digitalización automatizada de software, pruebas de penetración manual, análisis estático y revisión de código manual. Esta guía de OWASP se centra en la última de estas técnicas. Por supuesto, todas estas técnicas tienen sus fortalezas, debilidades, puntos dulces, y los puntos ciegos. Los argumentos acerca de qué técnica es la mejor es como discutir si un martillo o sierra es más valiosa cuando se construye una casa, y ambos son imprescindibles. Todavía más importante que la herramienta es probablemente la persona que sostiene el martillo de todos modos. Las guías de OWASP están destinadas a enseñar cómo utilizar estas técnicas. Pero el hecho de que están separadas no debe ser un indicador de que deben usarse solas. La Guía de desarrollo de su proyecto muestra cómo construir una aplicación segura, esta Guía de revisión de código se indica cómo verificar la seguridad del código fuente de la aplicación, y la guía de pruebas se muestra cómo verificar la seguridad de su aplicación en ejecución. La revisión de código es probablemente la técnica individual más eficaz para identificar las fallas de seguridad. Cuando usted utiliza herramientas automatizadas y pruebas de penetración manual, la revisión de código puede aumentar significativamente la rentabilidad de un esfuerzo de verificación de seguridad de la aplicación. Este documento no establece un proceso para llevar a cabo una revisión del código de seguridad. Más bien, esta guía se centra en los mecanismos de revisión de código para ciertas vulnerabilidades, y ofrece orientación limitada sobre cómo debe ser el esfuerzo estructurado y ejecutado. Este Manual de Código de Seguridad ofrece información sobre el "riesgo real" asociado con código inseguro. Este es el único valor más importante de un enfoque manual. Un usuario humano puede comprender el contexto de ciertas prácticas de codificación, y hacer una estimación del riesgo grave que representa la probabilidad de ambos, del ataque y el impacto en el negocio de una violación. Código de seguridad crítica es el proceso de auditoría de código fuente de una aplicación para verificar que los controles de seguridad no están presentes, que funcionan según lo previsto, y que se han invocado en todos los lugares correctos. La revisión de código es una forma de asegurar que la aplicación ha sido desarrollada de una manera que es segura. Una regla general es que una prueba de penetración no debe descubrir las vulnerabilidades de las aplicaciones adicionales relacionados con el código desarrollado después de la aplicación ha sido objeto de un examen adecuado código de seguridad. Básicamente en este manual enseñan a realizar una serie de controles al código fuente de los programas, según código ya probado y seguro, se hace un chequeo del código utilizado, y se brindan las sugerencias que se deben aplicar para eliminar las vulnerabilidades. vulnerabilidades.
21
- OWASP LOS PROYECTOS DE DESARROLLO: WebScarab - Una aplicación Web que incluye una suite de evaluación de vulnerabilidades y herramientas Proxy. WebGoat - una herramienta de capacitación y evaluación interactiva que los usuarios pueden utilizar para aprender sobre seguridad de aplicaciones aplicaciones web en un lugar seguro y legal. DotNet - una variedad de herramientas para asegurar entornos .NET
WebGoat WebGoat es una aplicación web insegura deliberadamente deliberadamente mantenida por OWASP diseñado para enseñar lecciones de seguridad de aplicaciones web. En cada lección, los usuarios deben demostrar su comprensión de un problema de seguridad mediante la explotación de una vulnerabilidad real en las aplicaciones WebGoat.
El proyecto “WebGoat” está patrocinado por:
Pero WebGoat no es simplemente una aplicación insegura a propósito. Este proyecto nos presenta paso a paso un tutorial de las mayores amenazas existentes en la web, y nos lleva de la mano a aplicar las técnicas y entender las razones por las cuáles fueron exitosas, para luego luego ser capaces de prevenirlas en nuestros futuros desarrollos. XSS, SQL Injection, Parameter manipulation, Hidden fields manipulation, Weak Session Cookies y muchas otras son las amenazas que aprenderemos a manejar y comprender para pasar a defender a nuestras aplicaciones de dichas vulnerabilidades de forma eficiente. Pantalla Principal:
22
- OWASP Versiones de WebGoat: Versión WebGoat 3.7 WebGoat 4.0 WebGoat 5.0 RC1 WebGoat 5.0 WebGoat 5.1 WebGoat 5.2 WebGoat 5.3 WebGoat 5.4
Fecha. 04.08.2005 30.05.2006 17.01.2007 31.01.2007 08.01.2008 08.07.2008 10.11.2010 27.04.2012
WebGoat 6.0 Los administradores de OWASP están en busca de personas que quieran ayudar a llevar el proyecto de WebGoat a un nivel un poco más elevado, y está en busca de personas que puedan contribuir en los siguientes ámbitos:
Diseño de interfaz de usuario Spring MVC JavaEE ESAPI y otros controles de seguridad Ataques de aplicaciones Escritura técnica
Soluciones: Aung Khant (YGN Ethical Hacker Group) ha creado una serie de películas que muestran las posibles soluciones a las lecciones WebGoat. Estas películas de entrenamiento se pueden consultar en: http://yehg.net/lab/pr0js/training/webgoat.php
23
- OWASP WebScarab Webscarab es un marco de trabajo para analizar aplicaciónes web que se comunica usando los protocolos HTTP y HTTPS. Está escrito en Java, por lo que es portable a muchas plataformas. WebScarac tiene muchos modos de operación, implementados por varios plugins. Su uso más común es operar WebScarab como un proxy de intercepción, que permite al operador revisar y modificar las peticiones creadas por el navegador antes de que sean enviados al servidor, y para revisar y modificar respuestas enviadas por el servidor antes de que sean recividas por el navegador. Webscarab es capaz de interceptar comunicacion en HTTP y HTTPS. Principales características de WebScarab:
Escrito en java(Portable) Revelar campos ocultos Permite interpretar y modificar WSDL antes de que llegue al servidor Recolección y análisis de Cookies Permite al usuario modificar peticiones y respuestas HTTP y HTTPS "al vuelo", antes de que alcancen el servidor o el navegador. El proxy de WebScarab es capaz de observar trafico HTTP y HTTPS Sustitución automatizada de valores en los parámetros de las peticiones para detectar vulnerabilidades como Cross Site Scripting XSS o SQL Injection
Versiones Existen dos versiones: 1. WebScarab 2. WebScarab-NG
24
- OWASP Esta última es una reimplementación del proyecto haciendo foco en una interfaz de usuario más amigable. Ambos proyectos están estancados y casi no hay actividad reciente en ellos. Sus responsables están trabajando en un reemplazo de ambos: OWASP Proxy, pero todavía no está listo.
. NET El propósito de la OWASP. NET Project es proporcionar un repositorio central de información y herramientas de software para los profesionales que utilizan el Microsoft. NET Framework para aplicaciones y servicios web. El proyecto trata de incluir recursos de Microsoft y de la comunidad de código abierto, la comunidad Alt.NET y otros recursos relacionados con la seguridad. Muchas de las vulnerabilidades que se aplican al software .NET están en la sección de vulnerabilidades en OWASP, la sección contiene una tabla de referencia rápida para los proyectos de OWASP en los cuales se puede aplicar la seguridad.
MANTRA Descripción básica: Mantra es una colección de herramientas de código abierto integradas en un navegador. Éste, muestra una página virtual desde donde el usuario puede acceder a su página web y se le mostrará todas las funcionalidades que le ofrece la aplicación. Entre las herramientas que contiene se encuentran algunas como SQLite Manager, Firebug, etc. De este modo, los usuarios pueden comprobar la seguridad de su página web, así como los posibles fallos que alberga y que no habían sido detectados hasta el momento.
25
- OWASP FUNCIONALIDAD Exploración y explotación de fallos en la web. w eb. Mediante el conjunto de de plugins y herramientas incluidas es posible explorar la página web con la finalidad de detectar y resolver los errores que puedan encontrarse. Entre otras funcionalidades, el usuario puede asegurarse de que el código html y los estilos CSS sean correctos, así como de validar que todos los enlaces contenidos en su página web siguen activos. Reconocimiento, enumeración enumeración y detección de accesos y ataques en la web. Las herramientas incorporadas en la aplicación permiten al usuario detectar ataques externos en la página web, controlarlos y evitar que vuelvan a producirse mediante mejoras en los controles de acceso. Encriptación y desencriptación de información. La funcionalidad de encriptación ofrece al usuario la posibilidad de realizar procedimientos de encriptación en los contenidos de una página web mediante la utilización de funciones hash para evitar que la información sea accedida, accedida, modificada o borrada por terceros no autorizados. autorizados. Gestión de las bases de datos del sitio web. La aplicación permite la creación y gestión de la base de datos del sitio web sin la necesidad de tener conocimientos muy extensos sobre lenguaje de base de datos SQL. Esta posibilidad se da gracias g racias a que el gestor muestra una paleta de opciones en una barra superior que permite al usuario ir rellenando los comandos con estructuras como nombres de las tablas o valores a insertar/borrar en ellas.
26
- OWASP APLICACIONES DE OWASP COMO UNA METODOLOGÍA: OWASP puede aplicarse a cualquier persona u organización con el deseo de mejorar la seguridad en sus aplicaciones. En este caso se habla que todas las personas pueden tomar las guías, los manuales, los estándares publicados en la página oficial de OWASP y adaptarlos e implementarlos en su organización.
VENTAJAS: 1. 2. 3. 4.
Es una comunidad libre y todos los recursos se pueden obtener de manera gratuita. Flexible. Fomenta el trabajo en equipo. Cualquier persona con deseo de incrementar la seguridad de sus aplicaciones puede implementar esta metodología.
DESVENTAJAS: 1. Requiere desarrolladores altamente competentes 2. Precisa de bastantes conocimientos, reflexión y competencia humana para ser efectiva. 3. Se hacen referencia a usos de herramientas externas, y por lo tanto no se garantiza el correcto funcionamiento de las mismas.
27
- OWASP CONCLUSIÓN:
28
- OWASP RECOMENDACIONES:
29
- OWASP GLOSARIO:
30
- OWASP Bibliografía
31
- OWASP ANEXOS
32