Auditorías de Seguridad Web

Auditorías de Seguridad Web

Herramientas y metodologías para hacer una Auditoría de Seguridad Web

El tema de la ciberseguridad está en boca de todos, en los medios es común ver noticias sobre brechas de seguridad o filtraciones de datos, algo bastante recurrente, incluso entre grandes empresas tecnológicos como Facebook, la cual ha visto como sus acciones se desplomaron tras la filtración que afectaba a 50 millones de usuarios, como recoge The New York Times entre muchos otros medios. Por esto, se hace necesario conocer las herramientas y metodologías con las que contamos para evitarlo.

 

Diseño seguro de aplicaciones

La implantación de la seguridad se inicia desde la fase de diseño. Si hemos realizamos una concienciación de los demandantes (el cliente) y de los desarrolladores sobre la importancia del desarrollo seguro de código, así como sobre nociones básicas de seguridad, el esfuerzo requerido en esta fase será menor.

En la fase de concepción de un proyecto se debe hacer un análisis de riesgos asociados, el objetivo es conocer cómo es nuestro proyecto desde el punto de vista de la seguridad, conocer qué activos tenemos, hacer una lista de posibles amenazas a afrontar, las acciones a tomar para mitigarlas, una forma de validar que dichas amenazas están corregidas (test) y no menos importante cómo actuar para minimizar daños si finalmente se convierten en ciberataques.

Este análisis de riesgos no es estático, un proyecto evoluciona, y con él lo hacen los riesgos asociados, una buena planificación temprana puede evitar más de un susto.

Es importante recordar que, si no nos “auditamos”, otros se encargarán de hacerlo, hackers incluidos, y podrán aprovechar las vulnerabilidades encontradas para atacarnos o usarnos para atacar a otros.

Las amenazas se pueden identificar siguiendo las guías propuestas por guías propuestas por OWASP de las que ya hablamos en su día, teniendo en cuenta:

  • Confidencialidad: Proteger la información de accesos ilegítimos o filtraciones.
  • Integridad: Proteger la información de modificaciones ilegítimas.
  • Disponibilidad: Garantizar el acceso y uso de la información y los sistemas.

Una herramienta visual que puede ayudar en esta fase es Microsoft Threat Modeling Tool que permite, eligiendo las características o plantilla del proyecto, mitigar los posibles problemas de seguridad en una fase temprana, cuando son relativamente sencillos y poco costosos de resolver.

Microsoft Threat Modeling Tool para tu Auditoría de Seguridad Web

 

Validación de la seguridad

La validación se puede realizar de forma manual o automatizada, teniendo en cuenta una serie de cuestiones.

Revisiones automáticas

La revisión automática permite ahorrar costes asociados a la resolución tardía del problema, pero por el contrario, no permite en muchos casos identificar fallos en la lógica de negocio, como por ejemplo que un usuario no pueda acceder a recursos que no le corresponden, además de ello se necesita identificar los falsos positivos y solo funcionan bien en entornos estándares como la Web.

Estas revisiones automáticas se pueden introducir en el proceso de integración continua utilizando herramientas como OWASP Zed Attck Proxy (ZAP) o Arachni, herramientas muy extendidas y de largo recorrido.

Revisiones manuales

Las revisiones manuales son más costosas y requieren de mucha planificación para resultar exitosas, pero permiten identificar más vulnerabilidades y problemas asociados con la lógica de la aplicación.

 

¿Cuando debemos hacer una Auditoría de Seguridad?

Deberemos realizar una auditoría:

  • Cuando nuestra metodología de trabajo lo indique.
  • Cuando exista una posible exposición de información.
  • Cuando se quiera verificar la implantación de nuevos mecanismos de defensa.
  • Cuando lo indique la ley.
  • Cuando se precise obtener un certificado o mantenerlo.

El enfoque de estas auditorías de seguridad puede variar en función de que queramos revisar:

  • Caja Negra/Caja blanca: Se llaman de caja blanca si tenemos acceso físico al sistema o al código fuente. Por el contrario, en el de caja negra no solemos tener información sobre el sistema, es aquí donde actúan OWASP ZAP y demás herramientas de análisis de vulnerabilidades.
  • Extensión:
    • Horizontal: todos los recursos de una determinada red sin explotar vulnerabilidades.
    • Vertical, el conocido como pentesting: su objetivo es acceder al recurso de mayor valor y con el máximo privilegio. El mayor premio suele ser el administrador de dominio.

 

Sea una revisión manual o automática, tiene unos costes adicionales que deberemos tener en cuenta para asegurar la rentabilidad de la aplicación de un programa de seguridad exhaustivo. Si nuestros clientes y desarrolladores ya están concienciados sobre la seguridad, toda propuesta incluirá estos procedimientos de trabajo de “auditoría interna” de forma estándar, no ya como un valor añadido, si no como un elemento crítico en la aplicación que queremos desarrollar o evolucionar.

Y recordad, si tú no te “auditas”, otros se encargarán de hacerlo.

 

Samuel Garcés Marín

Security Developer en Inycom

Leave A Reply