El proyecto abierto de seguridad en aplicaciones
Web (OWASP por sus siglas en inglés) es una
comunidad abierta dedicada a facultar a las
organizaciones a desarrollar, adquirir y mantener
aplicaciones que pueden ser confiables.
MIGUEL ANGEL GOMEZ VIVAS
OWASP Top 10 de Riesgos de
Seguridad en Aplicaciones
Inyección
Annotations:
Las fallas de inyección, tales como SQL, OS, y LDAP, ocurren cuando datos no confiables son enviados a un
interprete como parte de un comando o consulta. Los datos hos=les del atacante pueden engañar al
interprete en ejecutar comandos no intencionados o acceder datos no autorizados.
Las fallas de inyección, tales como SQL, OS, y LDAP, ocurren cuando datos no confiables son enviados
a un interprete como parte de un comando o consulta. Los datos hostiles del atacante pueden
engañar al interprete en ejecutar comandos no intencionados o acceder datos no autorizados.
Pérdida de AutenCcación y GesCón de Sesiones
Annotations:
Las funciones de la aplicación relacionadas a autenticación
y gestión de sesiones son frecuentemente implementadas incorrectamente, permitiendo
a los atacantes comprometer contraseñas, claves, token de sesiones, o explotar
otras fallas de implementación para asumir la identidad de otros usuarios.
Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son
frecuentemente implementadas incorrectamente, permitiendo a los atacantes comprometer
contraseñas, claves, token de sesiones, o explotar otras fallas de implementación para asumir la
identidad de otros usuarios.
Secuencia de Comandos en Sitios Cruzados (XSS)
Annotations:
Las
fallas XSS ocurren cada vez que una aplicación toma datos no confiables y los
envía al navegador web sin una validación y codificación apropiada. XSS permite
a los atacantes ejecutar secuencia de comandos en el navegador de la victima
los cuales pueden secuestrar las sesiones de usuario, destruir sitios web, o
dirigir al usuario hacia un sitio malicioso
Las fallas XSS ocurren cada vez que una aplicación toma datos no confiables y los envía al navegador
web sin una validación y codificación apropiada. XSS permite a los atacantes ejecutar secuencia de
comandos en el navegador de la victima los cuales pueden secuestrar las sesiones de usuario,
destruir sitios web, o dirigir al usuario hacia un sitio malicioso
Referencia Directa Insegura a Objetos
Annotations:
Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de
implementación interno, tal como un fichero, directorio, o base de datos. Sin un chequeo de control de
acceso u otra protección, los atacantes pueden manipular estas referencias para acceder datos no
autorizados.
Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de
implementación interno, tal como un fichero, directorio, o base de datos. Sin un chequeo de control de
acceso u otra protección, los atacantes pueden manipular estas referencias para acceder datos no
autorizados.
Configuración de Seguridad Incorrecta
Annotations:
Una buena seguridad requiere tener definida e implementada
una configuración segura para la aplicación, marcos de trabajo, servidor de
aplicación, servidor web, base de datos, y plataforma. Todas estas
configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo
general no son seguras por defecto. Esto incluye mantener todo el software
actualizado, incluidas las librerías de código utilizadas por la aplicación.
Una buena seguridad requiere tener definida e implementada una configuración segura para la
aplicación, marcos de trabajo, servidor de aplicación, servidor web, base de datos, y plataforma.
Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo
general no son seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las
librerías de código utilizadas por la aplicación. Eliminar
Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de
implementación interno, tal como un fichero, directorio, o base de datos. Sin un chequeo de control de
acceso u otra protección, los atacantes pueden manipular estas referencias para acceder datos no
autorizados.
Exposición de Datos Sensibles
Muchas aplicaciones web no protegen adecuadamente datos sensibles tales como números de tarjetas de
crédito o credenciales de autenticación. Los atacantes pueden robar o modificar tales datos para llevar a
cabo fraudes, robos de identidad u otros delitos. Los datos sensibles requieren de métodos de protección
adicionales tales como el cifrado de datos, así como también de precauciones especiales en un intercambio
de datos con el navegador
Ausencia de Control de Acceso a las Funciones
La mayoría de aplicaciones web verifican los derechos de acceso a nivel de función antes de hacer visible en
la misma interfaz de usuario. A pesar de esto, las aplicaciones necesitan verificar el control de acceso en el
servidor cuando se accede a cada función. Si las solicitudes de acceso no se verifican, los atacantes podrán
realizar peticiones sin la autorización apropiada.
Falsificación de Peticiones en Sitios Cruzados (CSRF)
Un ataque CSRF obliga al navegador de una victima autenticada a enviar una petición HTTP falsificado,
incluyendo la sesión del usuario y cualquier otra información de autenticación incluida automáticamente, a
una aplicación web vulnerable. Esto permite al atacante forzar al navegador de la victima para generar
pedidos que la aplicación vulnerable piensa son peticiones legítimas provenientes de la victima.
Uso de Componentes con Vulnerabilidades Conocidas
Algunos componentes tales como las librerías, los frameworks y otros módulos de software casi siempre
funcionan con todos los privilegios. Si se ataca un componente vulnerable esto podría facilitar la intrusión
en el servidor o una perdida seria de datos. Las aplicaciones que utilicen componentes con vulnerabilidades
conocidas debilitan las defensas de la aplicación y permiten ampliar el rango de posibles ataques e
impactos.
Redirecciones y reenvíos no validados
Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y
utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los
atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder
páginas no autorizadas.
para desarrolladores
Procesos y controles de Seguridad
Requisitos de Seguridad en Aplicaciones
Arquitectura de seguridad
en aplicaciones
Controles de Seguridad
Estándar
Ciclo de vida de desarrollo
seguro
Educación de la Seguridad en Aplicaciones
Testers
Para verificar la seguridad de una aplicación web que ha desarrollado, o que está considerando comprar, OWASP recomienda
que revise el código de la aplicación (si está disponible), y también evaluar la aplicación. OWASP recomienda una combinación de
análisis de seguridad de código y pruebas de intrusión siempre que sean posibles, ya que le permita aprovechar las fortalezas de
ambas técnicas, y además los dos enfoques se complementan entre sí. Las herramientas para ayudar en el proceso de
verificación pueden mejorar la eficiencia y efec=vidad de un analista experto. Las herramientas de evaluación de OWASP están
enfocadas en ayudar a un experto en ser más eficaz, más que en tratar de automa=zar el proceso de análisis
Próximos pasos para las organizaciones
Comience
Enfoque basado en el catálogo de
riesgos
Integre la Seguridad en los Procesos Existentes
Proporcione una visión de
gestión
Cuente con una base sólida
Lo importante son los riesgos
Aunque las versiones del Top 10 de OWASP del 2007 y las anteriores se centrasen en identificar las
vulnerabilidades más comunes, el Top 10 de OWASP siempre se ha organizado en base a los riesgos. Esto ha
causado en la gente una confusión más que razonable a la hora de buscar una taxonomía de
vulnerabilidades hermética. La versión 2010 del Top 10 de OWASP clarifica el motivo por el cual centrarse
en el riesgo, explicitando, cómo las amenazas, vectores de ataque, debilidades, impactos técnicos y de
negocio, se combinan para desencadenar un riesgo. Esta versión del TOP 10 de OWASP sigue la misma
metodología