
Escribiendo sobre el tema "métricas de la seguridad del software", encuentro un concepto que si bien había escuchado, no lo había asociado a un producto de software: Superficie de ataque..!! Encontré un artículo me pareció interesante como para transcribirlo con mínimos cambios.
Es común oir hablar de sitios vulnerados a través de servicios como FTP o SMTP e inclusive POP3, NNTP y muchos otros, pero cuál es la razón por la cual este tipo de ataques no solo es frecuente sino que es posible..? Ocurre que muchas aplicaciones web son vulnerables por la extensa "superficie de ataque" que dejan expuesta.
Para entender el concepto de "superficie de ataque", podemos utilizar una analogía con esta situación: un bombardeo de la segunda guerra mundial intentando descarga sus bombas sobre un objetivo en tierra. Desde el atacante B-25 se trata de visualizar la posición del objetivo. Una época donde (aunque uds. no lo crean) no existían radares sofisticados, ni GPS, por lo cual la visibilidad del objetivo era uno de los principales factores que influían en su vulnerabilidad. Si era mas visible, era alcanzado con mayor facilidad. Un objetivo muy visible, necesitaba una protección antiaérea muy buena y en ocasiones camuflaje. Por otro lado, desde el lado del atacante existían y existen espías, que podían desde el campo de batalla, enviar información precisa sobre la superficie: forma, importancia del objetivo. En esas condiciones, hasta un objetivo bien camuflado podía ser identificado por instalaciones adyacentes, que rompían el paisaje camuflado. Por ejemplo, un aeropuerto y sus aviones, podían ser camuflados, pero si existían grandes depósitos de combustible, muchos "graneros" con forma de hangar, o demasiada actividad de personal, se podía comprometer el camuflaje y dejar al descubierto la operación.
Regresando al campo de batalla de la web y analizando la analogía, es indudable que mientras mas rutinas, páginas dinámicas y especialmente formularios tenga una aplicación, mayor será su superficie de ataque. Podríamos decir que mayor cantidad de estos elementos, tendremos mayor "superficie de ataque neta". Luego, a mayor "superficie de ataque neta", mayor vulnerabilidad.
Servicios adicionales que utiliza el programador o que han quedado instalados por defecto, también comprometen la seguridad de la aplicación, tal como ocurría con la actividad de personal y los depósitos de combustible en el caso del ejemplo del ataque aéreo. Estos generan una "superficie de ataque adicional", superflua, innecesaria, que aumenta la vulnerabilidad.
El caso mas típico es la variedad de servicios instalados en un servidor, que quedan a disposición de un B-25, cuando se procede a instalaciones por defecto de paquetes pre-configurados, por ejemplo XAMPP, algunas versiones de WAMP o LAMP entre otros. Pueden ver una
tabla de comparación de los mas conocidos. El mismo resultado se logra con instalaciones de paquetes de código abierto mal configurados como gestores de contenidos. El administrador de servidores instala dichos paquetes sin entender ni percatarse de la configuración por defecto, que es básica desde el punto de vista de la seguridad, hasta puede ser inocente. No hace falta decir, por ejemplo que no tiene mucho sentido proteger el servicio MySQL si se deja el acceso a PHPMyAdmin completamente libre. Y esta es solo una de las configuraciones por defecto en las que no se repara a la hora de instalar software pre-configurado.
Un simple escaneo de puertos, muchas veces permite observar qué tipo de software pre-configurado se ha instalado en un servidor web. Puertos como el 21, 25, 110, 443 y 119 son habituales, y pueden dejar abiertas puertas de acceso a potenciales ataques. Si un atacante logra vulnerar uno solo de estos servicios, inocentemente configurados desde el punto de vista de la seguridad, tendrá el camino abierto a nuestras aplicaciones o podrá utilizar los servicios para sus fines, como enviar SPAM por el SMTP server, ubicar un sitio de phishing en nuestro servidor o colocar grandes cantidades de software ilegal para distribuirlo desde nuestro servidor FTP.
Cuando hablaba arriba de "espías", se puede hacer una analogía con lo que se conoce como "
Google Hacking DataBase". No hay mejor conocedor de nuestras aplicaciones web que google. Los atacantes lo saben. Y logran que trabaje para sus objetivos mediante una serie de técnicas y consultas que han desarrollado y permiten buscar sitios con determinadas vulnerabilidades (superficies de ataque) conocidas, en base a su tipo de servidor y servicios. Es alarmante la cantidad de sitios vulnerables que puede encontrarse mediante el uso de GHDB. El equipo de Google trabaja permanentemente en la caza de este tipo de consultas para reducir los posibles perjuicios, pero ellos mismos son víctimas del enorme potencial de la herramienta y no pueden controlar su potencia por lo que permanentemente descubren nuevos trucos.
Luego de leer este artículo, le debe quedar una idea más clara del concepto "superficie de ataque" y sería bueno que pueda generar ideas para reducirla a fin de minimizar su vulnerabilidad a atacantes.
En realidad esto tiene que ver con técnicas de reducción de ataque y camuflaje. Recuerdan "Depredador" ..??
Original: Mauro Maulini R., publicado en www.e-securing.com.-