Ya sé que es un poco tarde, pero hoy he visto El Hobbit. Y sí, la película me ha resultado entretenida, he visto la recreación de un libro divertido en la pequeña pantalla que alguien se ha encargado de transformar en un guión de tres horas para la primera parte de una trilogía. Perdónenme los fanáticos de Tolkien, pero yo jamás pude imaginar que un libro como El Hobbit diese para una trilogía de tres horas cada película.
Y esa misma sensación es la que muchas veces me he encontrado en mi experiencia profesional cuando he tenido que abordar proyectos de seguridad que únicamente tienen en cuenta la fase de la auditoría lógica.
El equipo de seguridad recibe información sobre la infraestructura o aplicación que debe auditar, a veces se les pasan unos documentos de requisitos, análisis o diseño – el libro – y siguiendo metodologías formales – o no – se montan su película – el guión -: vamos a ver si validan los datos de entrada buscando inyecciones SQL, ahora a ver cómo tratan los parámetros de salida intentando detectar algún XSS, y qué están haciendo con la gestión de sesiones, etc… y finalmente ejecutan la auditoría – la película.
En muchos de estos proyectos, este proceso es exitoso y se detectan problemas de seguridad de distinta importancia – premios y éxito de la crítica – , pero en muchos casos, bien por pericia del programador, bien por el adecuado uso de algún framework de desarrollo, esta búsqueda resulta infructuosa – (permítanme) pitos y abucheos – con un consumo de horas importante que pueden alargar la auditoria más allá de lo inicialmente planteado o incluso limitar las acciones por un uso de horas intentando localizar vulnerabilidades donde no las hay, o lo que es peor, sin ser capaces de identificar las vulnerabilidades que sí existen por este motivo.
Este último caso es el menos deseable por todos y, por tanto, uno de los grandes puntos de mejora del proceso. Si somos capaces de identificar correctamente el tipo de problemas de seguridad que nos podemos encontrar, o al menos, descartar los que no podemos encontrar, seremos capaces de aprovechar mejor los recursos asignados para realizar el proyecto y utilizar el tiempo disponible identificando adecuadamente los problemas de seguridad.
Desde mi punto de vista, la revisión del código fuente es una de las respuestas a este punto de mejora: revisemos también cómo se está realizando la codificación de la aplicación, qué tipo de validaciones se implementan, cómo se utiliza el framework de acceso a la base de datos o dónde se almacenan las credenciales de tus usuarios y podremos hacer un plan de auditoría que dedique el esfuerzo a explotar los puntos críticos de la aplicación que son susceptibles de disponer de vulnerabilidades: no dediquemos esfuerzo a inyectar SQL si la aplicación usa almacenamiento en disco…
Es por esto que, a pesar de los efectos especiales, los premios o los festivales, creo que el libro siempre nos aporta una visión distinta a la película, del mismo modo que el código fuente nos lo aporta de la aplicación.
Yo prefiero el libro.
Me encanta la analogía que has hecho! Grande David.
Buena la apologia de la caja blanca. Los análisis de caja negra es a lo que se llega normalmente y ya se asume como lo standard, cuando lo standard deberia ser “leerse el libro”.
La forma de plantearlo es muy original y el fondo tiene mucho sentido común. En definitiva, una reflexión muy interesante.
Muy bueno Deivid
Ahí te va otra analogía: las auditorias de caja blanca son como pasarse un juego con los trucos!
Ahora enserio, una auditoría de caja negra te da una visión de lo que se “aprecia” desde fuera para detectar las cosas obvias, pero lo recomendable sería completarlas con una de caja blanca.
En vez de tener que elegir, habría que usarlas como complemento la una de la otra.
Buen símil David, estoy deacuerdo con Adrian en que no deberíamos descartar ninguna via en detrimento de la otra.
Saludos
Efectivamente, estoy de acuerdo con vosotros: deben ser complementarias.
Pero la tendencia actual en la que, en la mayoría de los casos, sólo nos preocupamos de la caja negra y como dicen Adrián nos quedamos en las detección de las situaciones obvias, como los cines con el 3d o los efectos especiales.
Pasarse un juego con pistas quizá sea más aburrido, pero seguro que tardas menos y encuentras todas las monedas y fases secretas.