Auditor铆as de Seguridad sobre Aplicaciones

Las aplicaciones son hoy en d铆a uno de los activos principales de cualquier empresa. Tanto si dan servicio a usuarios finales (por ejemplo aplicaciones de ebanking o ecommerce) como si se trata de aplicaciones corporativas (una intranet), las aplicaciones manejan informaci贸n cuya confidencialidad, disponibilidad e integridad es fundamental para las empresas.

Las Auditor铆as de Seguridad sobre Aplicaciones se han vuelto imprescindibles para evaluar la seguridad de los desarrollos (propios o realizados por terceros). Estas auditor铆as o evaluaciones deben realizarse peri贸dicamente y tendiendo en cuenta tanto la parte interna (accesos desde la red corporativa) como la parte externa (accesos con origen Internet) de los aplicativos.

Uno de las metodolog铆as con m谩s reconocimiento internacional a la hora de realizar auditor铆as de seguridad sobre aplicaciones es la OWASP Testing Guide que alcanza ya su tercera versi贸n. La OWASP (Open Web Application Security Project) lanz贸 este proyecto con el objetivo de crear un marco que incluyera las mejores pr谩cticas en el desarrollo de tests de intrusi贸n en aplicaciones. La ultima versi贸n (v3) de la Testing Guide fue publicada en Diciembre de 2008 y esta previsto que se la v4 de la gu铆a se publicada en Enero de 2011.

A lo largo de m谩s de 300 p谩ginas, la OWASP Testing Guide hace un repaso de las principales t茅cnicas de auditor铆a de seguridad en aplicaciones relacionando estas t茅cnicas con las amenazas que sufren hoy en d铆a de aplicativos. A grandes rasgos las pruebas de intrusi贸n sobre aplicaciones desarrolladas en la OWASP Testing Guide son las siguientes:

1.- Recopilaci贸n de informaci贸n

. Esta primera fase de la Auditoria de Seguridad consiste en recopilar toda la informaci贸n que se pueda sobre la aplicaci贸n cuya seguridad est谩 siendo auditada.
. Los tipos de an谩lisis a realizar en este punto son los siguientes:
– Spiders, robots y crawlers:
– Reconocimiento mediante motores de b煤squeda.
– Identificaci贸n de puntos de entrada de la aplicaci贸n.
– Pruebas de firmas de aplicaciones Web.
– Descubrimiento de aplicaciones.
– An谩lisis de c贸digo de error.

2.- Pruebas de gesti贸n de configuraci贸n de la infraestructura

. En esta etapa se realiza un an谩lisis de la infraestructura tecnol贸gica sobre la que se encuentra desplegada la Aplicaci贸n que se desea auditar.
. Las pruebas a realizar en esta segunda etapa son las siguientes:
– Pruebas de SSL/TLS.
– Pruebas del receptor de escucha de la Base de Datos.
– Pruebas de gesti贸n de configuraci贸n de la infraestructura.
– Pruebas de gesti贸n de configuraci贸n de la aplicaci贸n.
– Gesti贸n de extensiones de archivos.
– Archivos antiguos, copias de seguridad y sin referencias.
– Interfaces de administraci贸n de la infraestructura y de la aplicaci贸n.
– M茅todos HTTP y XST.

3.- Comprobaci贸n del sistema de Autenticaci贸n

. Comprobar el sistema de autenticaci贸n significa comprender como funciona el proceso de autenticaci贸n y usar esa informaci贸n para eludir el mecanismo de autenticaci贸n.
. Las pruebas que se realizan para evaluar el sistema de Autenticaci贸n son las siguientes:
– Transmisi贸n de credenciales a trav茅s de un canal cifrado.
– Enumeraci贸n de usuarios.
– Pruebas de fuerza bruta.
– Saltarse el sistema de Autenticaci贸n.
– Comprobar Sistemas de recordatorio/restauraci贸n de contrase帽as vulnerables.
– Pruebas de gesti贸n del Cach茅 de Navegaci贸n y de salida de sesi贸n.
– Pruebas de CAPTCHA.
– M煤ltiples factores de autenticaci贸n.
– An谩lisis de condiciones de carrera.

4.- Pruebas de gesti贸n de sesi贸n

. Ataques a la gesti贸n de sesiones de una aplicaci贸n pueden ser utilizados para obtener acceso a cuentas de usuario sin necesidad de proporcionar credenciales correctos.
. Para validar una correcta gesti贸n de sesiones, la OWASP Testing Guide propone las siguientes verificaciones:
– Pruebas para el esquema de gesti贸n de sesiones.
– Pruebas para atributos de cookies.
– Pruebas para fijaci贸n de sesi贸n.
– Pruebas para variables de sesi贸n expuestas.
– Pruebas para CSRF.

5.- Pruebas de Autorizaci贸n

. La Autorizaci贸n es un proceso posterior a la Autenticaci贸n por lo tanto el auditor necesitar谩 de credenciales para realizar las pruebas correspondientes a este m贸dulo.
. Se comprobar谩 si es posible evadir la autorizaci贸n de la aplicaci贸n, si existe una vulnerabilidad en el traspaso de rutas o si es posible realizar un escalado de privilegios.
. Las pruebas a realizar para evaluar la seguridad del sistema de Autorizaci贸n son las siguientes:
– Pruebas de path transversal.
– Pruebas para saltarse el esquema de autenticaci贸n.
– Pruebas de escalado de privilegios.

6.- Comprobaci贸n de la l贸gica del negocio

. La principal t茅cnica para detectar errores en la l贸gica de la aplicaci贸n es “pensar de forma no convencional”; por ejemplo, intentar saltarse uno de los 3 pasos del proceso de registro de una aplicaci贸n.
. Las vulnerabilidades de este tipo pueden ser de las m谩s graves de la aplicaci贸n y encontrarlas se basa 煤nicamente en la habilidad y creatividad del auditor.

7.- Pruebas de validaci贸n de datos

. La vulnerabilidad m谩s com煤n en las aplicaciones es la falta de validaci贸n de los par谩metros introducidos por los usuarios. Esta vulnerabilidad provoca que usuarios malintencionados inyectan comandos o sentencias en vez de simples datos, con el peligro que esto conlleva para la normal ejecuci贸n de la aplicaci贸n.
. Las pruebas de evaluaci贸n a realizar durante la comprobaci贸n de validaci贸n de datos en la aplicaci贸n auditada son las siguientes:
– Pruebas de cross site scripting.
– Inyecci贸n SQL.
– Inyecci贸n LDAP.
– Inyecci贸n ORM.
– Inyecci贸n XML.
– Inyecci贸n SSI.
– Inyecci贸n XPATH.
– Inyecci贸n IMAP/SMTP.
– Inyecci贸n de c贸digo.
– Inyecci贸n de comandos de sistema operativo.
– Pruebas de desbordamiento de buffer.
– Pruebas de vulnerabilidad incubada.
Pruebas de HTTP Splitting/Smuggling.

8.- Pruebas de denegaci贸n de servicio

. El objetivo fundamental de un ataque de denegaci贸n de servicio es lograr que la aplicaci贸n objeto del ataque se vea desbordada (ya sean sus funciones de red, su memoria, su espacio de disco, etc.) hasta conseguir que deje de funcionar adecuadamente.
. Las pruebas de DoS que se tratan en la OWASP Testing Guide son las siguientes:
– Denegaci贸n de servicio mediante ataques SQL Wildcard.
– Bloqueando cuentas de usuarios.
– Desbordamiento de b煤fer.
– Reserva de Objetos Especificada por Usuarios.
– Pruebas de Escritura de Entradas Suministradas por Usuario a Disco.
– Fallar en la liberaci贸n de recursos.
– Pruebas de Almacenamiento Excesivo en la Sesi贸n.

9.- Comprobaci贸n de servicios Web

. Los servicios web suelen utilizar el protocolo HTTP junto con tecnolog铆as como XLM, SOAP, WSDL y UDDI; por lo que las pruebas de seguridad sobre servicios web deben centrarse en las b煤squeda e identificaci贸n de las vulnerabilidades en dichas tecnolog铆as.
. Las pruebas a realizar en esta fase de la auditor铆a son las siguientes:
– Obtenci贸n de informaci贸n en Servicios Web.
– Pruebas de WSDL.
– Pruebas estructurales de XML.
– Comprobaci贸n de XML a nivel de contenido.
– Comprobaci贸n de par谩metros HTTP GET/REST.
– Adjuntos SOAP maliciosos.
– Pruebas de repetici贸n.

10.- Pruebas de AJAX

. Las aplicaciones basadas en tecnolog铆as AJAX han tenido una r谩pida expansi贸n debido a la gran interactividad y facilidad de uso que proporcionan. Sin embargo, al aumentar la superficie de ataque y al procesar instrucciones tanto en el lado cliente como en el lado servidor, las vulnerabilidades de seguridad de las aplicaciones AJAX son tantas o incluso m谩s que las de las aplicaciones desarrollados con otras tecnolog铆as.

Fuente: Internet Security Auditors

Share

This entry was posted in info, pentest. Bookmark the permalink.

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *

Este sitio usa Akismet para reducir el spam. Aprende c贸mo se procesan los datos de tus comentarios.