viernes, 22 de enero de 2010

Vulnerabilidad: Fallos al reservar memoria

Esta vulnerabilidad trata cuatro aspectos diferentes que pueden llegar a permitir que un atacante tome el control completo del sistema afectado, sobre las versiones desde la 7.0, hasta la 2005 pasando por la 2000 de SQL Server. En este caso sí que se reduce el abanico de aplicaciones de Microsoft con el problema, ya que estará relacionado con aspectos más cercanos al trabajo con una base de datos.

En cuanto a las debilidades del sistema, el primer aspecto está vinculado a la reutilización de páginas de memoria en los procesos de asignación que lleva a cabo la base de datos, el segundo a desbordamientos en el buffer debido a instrucciones SQL mal formadas, el tercero se basa en desbordamientos del buffer para determinadas sentencias de acceso a la base de datos y el último en el trato de archivos que están en local (y a los que se vincula un tamaño) que puede crear desbordamientos en el buffer. En este último caso, concretamente, ese tamaño se guarda en un entero de 32 bits que sirve para reservar a su vez un tamaño en el buffer de la pila que albergará el objeto cuando este se va a cargar en memoria, de modo que si se aumenta su valor no habrá espacio suficiente y creará una condición explotable por un atacante.

En los peores casos, como se ha dicho, el atacante puede ejecutar cierto código para tomar el control completo del sistema modificando los privilegios asignados. Otros efectos menos dañinos podría ser el simple acceso a la información almacenada en la base de datos, sin cambios en los privilegios que permitan otras operaciones que no sean la de lectura.

Los cuatro aspectos de la vulnerabilidad (identificada como MS08-040) se tratan como “importantes” por parte de Microsoft, debido a que afecta a sistemas delicados pero dentro de ese espectro más reducido. Tienen el estado de “Candidatas” en la base de datos que se publica en CVE.

Se ha visto en otras entradas que las vulnerabilidades están, aunque tratándose de forma más concreta, ligadas también con la inyección de código para explotar determinados agujeros de seguridad. Ahora ocurrirá lo mismo, de forma que en muchos casos los ataques se construyen basándose en esa técnica para poder llevar a cabo accesos al sistema. Además estos podrán llevarse a cabo aprovechando cuentas por defecto, como la que utiliza SQL Server 2005 (“Network Service”) para dar acceso a usuarios sin privilegios y que podría ser utilizada por cualquiera para realizar consultas en la base de datos. El atacante podría usar entonces el protocolo SMB (Server Message Block) o el estándar WebDav (que a través del protocolo HTTP permite realizar acciones de gestión de archivos en el sistema) para, una vez dentro, construir el ataque.

No hay comentarios:

Publicar un comentario en la entrada