¿Existen medidas para la complejidad de la aplicación web que se correlacionan positivamente con el número? Vulnerabilidades?

0

Las aplicaciones web tienen vulnerabilidades. En general, una aplicación web más compleja tiene más vulnerabilidades, en comparación con una aplicación web más simple y más pequeña. Por ejemplo, los hackers de sombrero blanco tienen encontrado más de 2400 vulnerabilidades para Facebook desde 2011 . Pero para un sitio web más pequeño como Coinbase, los sombreros blancos solo han encontrado más de 200 vulnerabilidades en los últimos 2 años , a pesar de que ambos sitios tienen una gran recompensa incentivos.

Mi pregunta es, ¿existen medidas para la complejidad de una aplicación web ? Si es así, ¿hay alguna herramienta? Un requisito es que la medición se realice desde una vista de caja negra, es decir, sin acceso al código fuente. Además, sería bueno si la medición de complejidad se correlaciona positivamente con la cantidad de vulnerabilidades dentro del sistema. O la cantidad de vulnerabilidades encontradas por los hackers de White Hat en un año.

Una idea es utilizar arañas web. Las herramientas de penetración web, como Burp Suite, tienen una función de araña web. Sin embargo, las arañas web tienen muchos problemas, como el manejo de la autenticación de los usuarios y los contenidos generados dinámicamente.

    
pregunta ZillGate 13.02.2016 - 00:00
fuente

1 respuesta

1

Cada vez que presentamos una oferta para una prueba de penetración nos enfrentamos a la misma pregunta: ¿Qué tan compleja es la aplicación? La complejidad conduce a una superficie de ataque adicional, lo que conduce a muchas pruebas, lo que podría llevar a muchos hallazgos que requieren mucha documentación. Este esfuerzo debe reflejarse en la oferta.

Para determinar la posible complejidad, analizamos la aplicación desde diferentes puntos de vista:

Código

  • ¿Cuántos archivos de código?
  • ¿Cuántas líneas de código?
  • ¿Cuántas funciones?
  • ¿Validación de entrada centralizada?

Representation/Features

  • ¿Cuántas formas?
  • ¿Autenticación disponible?
  • ¿Está disponible el manejo de sesiones?
  • ¿El usuario inició el registro?
  • ¿Restablecer contraseña?
  • Captcha?
  • Acceso a la base de datos?
  • ¿Descarga de archivos?
  • ¿Subir archivo?
  • ¿Envío de correo?
  • etc.

No es inusual que un cliente no pueda responder estas preguntas. Echando un vistazo a la aplicación permite tener una idea de ello. Un rastreador como Wget o el módulo Burp correspondiente puede ayudar a recopilar los datos deseados. Un simple grep / find permite determinar las formas y otros aspectos responsables de la complejidad muy rápidamente. Pero este tipo de análisis de caja negra siempre viene con cierta incertidumbre.

    
respondido por el Marc Ruef 08.06.2016 - 23:31
fuente