|
La siguiente lista es un
resumen tomado de
http://www.owasp.org/index.jsp
Un a organización dedicada a
la colaboración de seguridad en aplicaciones Web
Las 10 vulnerabilidades mas
comunes en una aplicación Web
- Entrada no validada. La información de
entradas Web no es validada antes de ser usadas por la aplicación Web.
Los agresores pueden usar estas fallas para atacar los componentes
internos a través de la aplicación Web.
o
Tipo de datos (string, integer, real, etc…)
o
Conjunto de caracteres permitidos
o
Longitud mínima y máxima
o
Si nulo es permitido
o
Si el parámetro es requerido o no
o
Si los duplicados son permitidos
o
El rango numérico
o
Valores específicos permitidos (enumeración)
o
Patrones específicos (expresiones regulares)
- Control de Acceso Interrumpido. Las
restricciones de aquello que tienen permitido hacer los usuarios
autentificados no se cumplen correctamente. Los agresores pueden
explotar estas fallas para acceder a otras cuentas de usuarios, ver
archivos sensitivos o usar funciones no autorizadas.
o
www.sitio.htlm
o
www.sitio.htm/productos.
- Administración de Autenticación y Sesión
Interrumpida. Las credenciales de la cuenta y los tokens de sesiones
no están propiamente protegidos. Los agresores que pueden comprometer
las contraseñas, claves, cookies de sesiones u otro token, pueden vencer
las restricciones de autenticación y asumir la identidad de otros
usuarios.
- Fallas de Cross Site
Scripting (XSS). La aplicación Web puede ser usada como un
mecanismo para transportar un ataque al navegador del usuario final. Un
ataque exitoso puede comprometer el token de sesión del usuario final,
atacar la maquina local o enmascarar contenido para engañar al usuario.
q
Validación de los scripts de salida.
q
Uso de correo electrónico
- Desbordamiento del Búfer. Los componentes
de aplicaciones Web en ciertos lenguajes que no validan adecuadamente
las entradas de datos pueden ser derribados y, en algunos casos, usados
para tomar control de un proceso. Estos componentes pueden incluir CGI,
bibliotecas, rutinas y componentes del servidor de aplicación Web.
q
Staks de los componentes
q
No ambiente Java
- Fallas de Inyección. La aplicación Web
puede pasar parámetros cuando accede a sistemas externos o al sistema
operativo local. Si un agresor puede incrustar comandos maliciosos en
estos parámetros, el sistema externo puede ejecutar estos comandos por
parte de la aplicación Web. Llamadas a:
o
system,
o
exec,
o
fork,
o
Runtime.exec,
o
solicitudes SQL
- Manejo Inadecuado de Errores. Condiciones
de error que ocurren durante la operación normal que no son manejadas
adecuadamente. Si un agresor puede causar que ocurran errores que la
aplicación Web no maneja, éste puede obtener información detallada del
sistema, denegar servicios, causar que mecanismos de seguridad fallen o
tumbar el servidor.
- Almacenamiento Inseguro. Las aplicaciones
Web frecuentemente utilizan funciones de criptografía para proteger
información y credenciales. Estas funciones y el código que integran a
ellas han sido difíciles de codificar adecuadamente, lo cual
frecuentemente redunda en una protección débil.
o
Fallar al encriptar información crucial.
o
Almacenamiento inseguro de llaves, certificados y
contraseñas.
o
Almacenamiento incorrecto de secretos en memoria.
o
Fuentes pobres de aleatorización.
o
Elección pobre de algoritmo.
o
Intentar inventar el nuevo algoritmo de encriptación.
o
Fallar al incluir soporte para cambios en las llaves de
encriptación
- Negación de Servicio. Los agresores pueden
consumir los recursos de la aplicación Web al punto de que otros
usuarios legítimos no puedan ya acceder o usar la aplicación. Los
agresores también pueden dejar a los usuarios fuera de sus cuentas y
hasta causar que falle una aplicación entera.
- Administración de Configuración Insegura.
Tener una configuración de servidor estándar es crítico para asegurar
una aplicación Web. Estos servidores tienen muchas opciones de
configuración que afectan la seguridad y no son seguros desde la
instalación original del software.
o
Fallas de seguridad no parchadas en el software del servidor
o
Fallas de seguridad en el software del servidor o malas
configuraciones que permiten ataques de listado de directorio o cross
directory.
o
Innecesarios archivos por defecto, de respaldo o de ejemplo,
incluyendo Scripts, aplicaciones, archivos de configuración y páginas Web.
o
Permisos no adecuados en archivos y directorios.
o
Servicios innecesarios habilitados, incluyendo manejo de
contenido y administración remota.
o
Cuentas por defecto con contraseñas por defecto.
o
Funciones administrativas o de depuración que son habilitadas
o accesibles.
o
Certificados SSL y opciones de encriptación mal configurados.
o
Uso de certificados por defecto.
o
Autenticación inadecuada con sistemas externos.
|