Pasar al contenido principal

Auditoría de Aplicación Web

Auditoría de Aplicación Web

Desde Internet Security Auditors analizamos de forma específica, independiente y exhaustiva aplicaciones web tanto internas como externas.

Las empresas normalmente incluyen en su sitio Web pequeñas aplicaciones (Applets, CGIs, ActiveX, etc.) que ayudan a gestionar los datos enviados por los usuarios (datos personales, pedidos, pagos online, control de acceso, etc.). Existen también otras empresas que utilizan su sitio Web para realizar una gran variedad de operaciones con sus clientes/proveedores/personal (p.e. portales corporativos, brokers/banking online, e-commerce, extranets, etc.) y esto implica la utilización de una compleja aplicación que se ejecuta en el servidor Web o de aplicaciones y que gestiona todas estas operaciones.

Las actuaciones que se llevan a cabo para realizar la Auditoría de Aplicación, siguen la filosofía de caja negra, es decir, en ningún momento se audita el código fuente de la aplicación. El motivo de esta metodología de trabajo es la de simular la actuación real de un atacante malicioso que, a través de las aplicaciones auditadas y sin disponer de su código fuente, intente realizar un ataque al sistema, bases de datos, etc...

El proceso de auditar Aplicaciones está planificado en las fases que se presentan a continuación:

Análisis Funcional

Se realiza un estudio general de la aplicación, adquiriendo una visión global de las funcionalidades que proporciona con el fin de plantear las actuaciones y procedimientos óptimos que se llevan a cabo en el Análisis Técnico.

Análisis Técnico

Se realiza un análisis de la aplicación de manera que se pueda decidir a qué tipos de ataques es sensible.

Diseño de las pruebas

En esta fase se diseñan las pruebas a realizar para explotar aquellas deficiencias de seguridad que puedan aparecer en la aplicación auditada.

Desarrollo de las pruebas

Se programarán las pruebas a ejecutar, y se determinará el orden en el que se llevarán a cabo.

Realización de las pruebas

Durante esta fase se llevan a cabo todas las pruebas sobre la aplicación auditada, se analizan los resultados obtenidos y en el caso de detectar nuevas vulnerabilidades a explotar se vuelve a la fase de diseño para intentar explotarlas.

Ámbito de las pruebas

Nuestra metodologia nos permite llevar a cabo una exhaustiva revisión sobre las aplicaciones auditadas cubriendo los siguientes aspectos de seguridad:

Recopilación de información

Antes de auditar una aplicación es necesario determinar el ámbito sobre el que se realizará la revisión de seguridad con ciertos aspectos clave sobre esta y que consiste, entre otros, en estos:

  • Descubrimiento de aplicaciones.
  • Identificación de puntos de entrada a la aplicación.
  • Análisis de códigos de error.
  • Identificación de plataformas.

 

Ingeniería Inversa de Protocolos

Los ataques que pueden realizarse a las aplicaciones, se pueden iniciar a través del análisis de los protocolos implementados por estas. A veces pueden no implementarse controles de seguridad lo suficientemente robustos, y otras veces, implementar librerías propietarias de protocolos estándar de forma incorrecta que implican también vulnerabilidades de seguridad en el sistema.

Análisis de la configuración en la infraestructura

El análisis de la infraestructura y la topología de la arquitectura pueden revelar información como por ejemplo el código fuente, métodos HTTP soportados, funcionalidades de administración, métodos de autenticación o configuraciones de la infraestructura. En este punto se desarrollan las siguientes pruebas:

  • Pruebas sobre SSL/TLS.
  • Pruebas sobre la gestión de la configuración en la infraestructura.
  • Pruebas sobre la gestión de la configuración en la aplicación.
  • Pruebas sobre el manejo de extensiones de archivos.
  • Identificación de ficheros antiguos, de backup o no referenciados.
  • Acceso a interfaces de administración.
  • Pruebas sobre métodos HTTP y XST.

 

Análisis del esquema de autenticación

Autenticación: “es el acto de establecimiento o confirmación de algo (o alguien) como auténtico”. Un ejemplo de este proceso es el proceso de inicio de sesión, para realizar este análisis se realizan las siguientes pruebas:

  • Transmisión de credenciales a través de un canal cifrado.
  • Pruebas de enumeración de usuarios.
  • Pruebas de identificación de cuentas de usuario previsibles.
  • Pruebas de fuerza bruta
  • Pruebas para sobrepasar el esquema de autenticación.
  • Pruebas de finalización de sesión.
  • Pruebas sobre implementaciones de CAPTCHA.
  • Pruebas de autenticación basadas en múltiples factores.
  • Pruebas de condiciones de carrera.

 

Análisis de gestión de sesiones

En el núcleo de cualquier aplicación basada en web se encuentra la forma en que mantiene el control de estado y, por tanto, la interacción con el usuario. En el sentido más amplio, la gestión de sesiones abarca todos los controles sobre un usuario, desde la autenticación hasta la salida de la aplicación.

  • Pruebas del esquema de gestión de sesiones.
  • Pruebas sobre los atributos de las cookies.
  • Pruebas de fijación de sesión.
  • Pruebas sobre exposición de variables de sesión.
  • Pruebas de CSRF.

 

Análisis del esquema de autorización

Autorización: “Es el concepto de permitir el acceso a los recursos únicamente a aquellos permitidos a utilizarlos”. Lo que se pretende analizando el esquema de autorización es entender su funcionamiento y con esa información intentar evadir el mecanismo de autorización. Para ello realizamos las siguientes pruebas:

  • Pruebas de acceso a recursos protegidos.
  • Pruebas para sobrepasar el esquema de autorización.
  • Pruebas de elevación de privilegios.

 

Análisis de las reglas de negocio

Las reglas de negocio pueden incluir reglas que expresen políticas de negocio (como productos, precios o ubicaciones) o workflows basados en tareas ordenadas de transmisión de datos de un participante (una persona o un componente software) a otro.

  • Pruebas sobre las reglas de negocio.
  • Pruebas de abuso de funcionalidad.

 

Análisis del mecanismo de validación de datos

El principal problema que nos encontramos en las aplicaciones, es que no se realizan adecuadamente las validaciones de los datos de entrada antes de usarlos, esto provoca que la mayoría sean sensibles a ataques contra el sistema de ficheros o ataques de desbordamiento de buffer entre otros, al verse afectadas por vulnerabilidades. Para llevar a cabo este análisis se realizan las siguientes pruebas:

  • Pruebas de XSS (stored, reflected y basados en el DOM) / Cross Site Flashing.
  • Pruebas de inyección de código 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 memoria.
  • Pruebas de HTTP Splitting/Smuggling.

 

Análisis de negación de servicio

La negación de servicio (DoS) tiene como objetivo impedir que un sistema proporcione la actividad habitual a los usuarios. Estos ataques maliciosos pueden producirse privando a un sistema de recursos críticos, explotando vulnerabilidades o mediante un abuso de funcionalidad.

Lo que se pretende en este punto es verificar si el sistema resulta vulnerable a este tipo de amenazas, para ello se llevan a cabo las siguientes pruebas:

  • Pruebas de bloqueo de cuentas de usuario.
  • Pruebas sobre escritura en disco.
  • Pruebas sobre liberación de recursos.
  • Pruebas de consultas SQL intensivas de CPU.

 

Análisis de Web Services

Se llevará a cabo un análisis sobre los Web Services implementados para intentar detectar deficiencias. Se revisarán controles de acceso y seguridad a nivel IP, la configuración, fugas de información motivada por deficiencias en la gestión de errores y excepciones, filtros de validación implementados, así como la existencia de controles de auditoría y logging.

  • Pruebas de recopilación de información.
  • Pruebas sobre la estructura XML.
  • Pruebas de parámetros GET de HTTP y REST.
  • Pruebas de datos adjuntos en SOAP.
  • Pruebas de repetición en Web Services.

 

Resultados

  • Resumen ejecutivo de alto nivel con la clasificación de los resultados.
  • Detalle de todas las pruebas realizadas especificando su objetivo.
  • Resultados obtenidos en los diferentes test que se han realizado con descripciones paso a paso del proceso de detección y explotación de cada vulnerabilidad.
  • Recomendaciones que permitan solucionar de la forma más acertada los problemas de seguridad encontrados.
  • Clasificación de los problemas de seguridad según su nivel de peligro, incluyendo valores CVSS. Esto permitirá a la empresa poder elaborar un plan de actuación eficiente para resolver estos problemas de seguridad.
  • Reunión orientada a explicar los resultados obtenidos en la auditoría y asesorar sobre las posibles soluciones que existan para los problemas de seguridad encontrados.

 

No dudes en ponerte en contacto con nosotros si necesitas más información

Mandanos tus dudas y nos pondremos en contacto contigo lo antes posible.
Por favor, introduzca un número de teléfono válido.
CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.