Análisis de aplicaciones web, pensando afuera de la caja

Yago Gómez Trenor - Analista de Seguridad de Vintegris

Yago Gómez Trenor – Analista de Seguridad de Vintegris

Si realizamos una evaluación de las vulnerabilidades de aplicaciones web mediante pruebas manuales en negro, gris y blanco (debemos tener un pensamiento netamente creativo) o de análisis automatizado de código fuente, nos permitirá tener una mirada tridimensional de las diferentes caras de un mismo cubo.

La prueba de caja negra significa mirar una aplicación desde la perspectiva de un atacante externo que no tiene conocimiento previo o interno de la aplicación.

La prueba de la caja gris es similar a la prueba de la caja negra, excepto que el atacante se define como un usuario que tiene algunos privilegios en la aplicación web.

El método más riguroso, el escaneo en caja blanca, presupone el uso de toda la información relevante sobre la aplicación, incluyendo su código fuente.

Las vulnerabilidades se pueden clasificar de acuerdo con la tabla de amenazas del Consorcio de Seguridad de Aplicaciones Web (WASC TC v. 2).

También debemos establecer tres categorías de vulnerabilidades: sesión insegura, falsificación de solicitud de servidor y clickjacking, ya que estas categorías están ausentes de la clasificación WASC pero se pueden encontrar a menudo en las aplicaciones web que se analizan.

La categoría de la sesión insegura incluye fallas de seguridad de sesión, como las banderas de HttpOnly y Secure que permiten a los atacantes interceptar las cookies del usuario en varios ataques.

Server-Side Request Forgery es una vulnerabilidad que permite enviar peticiones HTTP arbitrarias mientras se presenta como el sistema.

Después de recibir una URL o un mensaje HTTP, una aplicación web realiza una comprobación de destino insuficiente antes de enviar una solicitud.

Un atacante puede aprovechar esta vulnerabilidad y enviar solicitudes a servidores con acceso restringido (por ejemplo, equipos en una LAN), lo que puede resultar en la divulgación de datos confidenciales, el acceso al código fuente de la aplicación, ataques del tipo DDoS y otros problemas.

Por ejemplo, un atacante puede obtener información sobre la estructura de segmentos de red que no están disponibles para usuarios externos, acceso a recursos locales y puertos de exploración (servicios).

Por esta razón, no alcanza con seguir un solo modelo de procesos, siempre es necesario pensar afuera de la caja, para ser capaces de equipararse a la creatividad de los cibercriminales.

 

Por Yago Gómez Trenor – Analista de Seguridad de Vintegris