18 de julio de 2005

Falla 5: Desbordamiento de búfer

El desbordamiento de búfer se utiliza comúnmente para corromper la ejecución de la pila en una aplicación web mediante el envío de información cuidadosamente seleccionada, de manera que un atacante puede hacer que la aplicación web ejecute cierto código arbitrario a fin de tomar el control de la máquina.

Este tipo de fallas no es fácil de descubrir y aún cuando así fuera, es más complicado el explotarla. Con todo y esto, los atacantes se las han ingeniado para identificar buffer overflows en muchísimos productos y componentes, incluso se sabe de otra variante conocida como ataque de cadena (string attack).

Los desbordamientos de búfer pueden presentarse tanto en el servidor web como en un servidor de aplicaciones que sirva contenidos diámicos y estáticos, o en la aplicación en sí misma. Esto es un problema puesto que al conocerse la falla se cae en un grave riesgo para los usuarios de estos productos. Ahora, cuando las aplicaciones web usan librerías tales como las gráficas para generar imagenes (libtiff, libgif, etc) se exponen a estos ataques.

Lamentablemente, las aplicaciones a la medida tampoco están exentas de este problema, incluso, es más común su presencia en vista de la falta de procesos de escrutinio por los que debería pasar una aplicación web. En estas aplicaciones las fallas de desbordamiento de búfer son más difíciles de detectar puesto que hay mucho menos atacantes queriéndolos encontrar y explotar.

Casi todos los servidores de web, los servidores de aplicaciones y los ambientes de aplicaciones son susceptibles a estas fallas, por lo tanto, debemos alentar a que los administradores de servidores y librerías estén siempre al día con los reportes de errores de los productos que usen, así como de los instalados en toda la infraestructura de red. En el caso de las aplicaciones a la medida, todo el código que acepte entrada de los usuarios por medio de solicitudes HTTP debe revisarse a fin de asegurar que pueda manejar entradas de longitud arbitraria y que tenga los mecanismos necesarios para verificar el tamaño de los datos.

Debemos también ejecutar búsquedas de fallas sobre nuestros servidores o aplicaciones web con varios de los escaners más comunes.

No hay comentarios.: