Las versiones actuales de los demonios FTP de Solaris son vulnerables a
varios ataques.
Esta alerta contiene información complementaria a la alerta temprana
«Graves vulnerabilidades en múltiples demonios FTP», publicada el 10 de
Abril de 2.001, a través del servicio comercial de alertas de Hispasec.
La noticia en «una-al-día» se publicó el 13 de Abril de 2.001.
Esta alerta se centra en el servidor FTP distribuido con el
sistema operativo Solaris. Fue distribuida a través del servicio de
alerta temprana de Hispasec el 18 de Abril de 2.001.
El servidor FTP de Solaris puede ser utilizado para ataques DoS
(denegación de servicio), consiguiendo que una conexión FTP consuma una
gran cantidad de memoria y CPU. Lanzando varias sesiones concurrentes,
la velocidad de respuesta del sistema puede degradarse
considerablemente, debido a la carga extrema de CPU. Adicionalmente el
consumo exagerado de memoria puede ocasionar graves problemas de
rendimiento, al utilizar el «swap» y, en el caso extremo, puede bloquear
el sistema si el espacio «swap» se llena.
El problema se localiza en la expansión de máscaras con comodines, y
ante la presencia de componentes recursivos en la expansión solicitada
y/o en el sistema de archivos sobre el que se realiza la expansión.
Existe otro ataque, de desbordamiento de búfer, que podría suponer la
ejecución de código arbitrario en el servidor. El problema se localiza
en la gestión del comando «LIST». La explotación de esta vulnerabilidad
parece bastante complicada y no se tiene noticia de ningún caso hasta el
momento; la consecuencia normal es la muerte de la sesión FTP en curso,
sin otro impacto sobre el servidor u otras sesiones concurrentes.
Es posible un tercer tipo de ataque: es posible generar un «core dump»
del proceso FTP. Dicho «core dump» puede ser accesible a usuarios
locales, y puede contener información sensible, como el contenido del
fichero «/etc/shadow», normalmente no accesible a los usuarios del
sistema.
Este último ataque puede utilizarse también, por un atacante remoto,
para discernir la existencia de un usuario determinado en el sistema.
Solución:
En el momento de escribir esta alerta, SUN no ha publicado todavía una
actualización del servicio FTP. Existen, no obstante, varias
posibilidades paliativas:
a) Deshabilitar el servicio FTP por completo.
Para ello basta eliminar el servicio del macrodemonio «inet».
b) Permitir el acceso al servicio exclusivamente a usuarios de
confianza.
Esto se controla por cortafuegos, «TCP Wrappers» o prohibiendo el
acceso «anónimo» y dejando solo cuentas de confianza.
c) Limitación de los recursos disponibles al proceso.
Una posibilidad relativamente simple consiste en modificar el
macrodemonio «inet» para que no lance el servicio FTP directamente,
sino que lance un «wrapper» cuyo trabajo sería configurar la sesión
con unos límites de consumo de recursos razonables (en memoria y
en CPU) y, a continuación, invocar el servicio FTP.
De esta manera las sesiones FTP tendrían configurados unos límites
en el uso de los recursos, y cualquier proceso que intentase
sobrepasarlos sería eliminado del sistema automáticamente con un
«kill».
El dimensionamiento de estos límites depende de las condiciones de
uso del sistema, por lo que no es posible ofrecer una orientación
genérica. Una posibilidad sería estudiar el consumo de memoria
de los demonios FTP con un «uso» normal, y configurar el límite
al doble, por ejemplo.
Más información en el manual del comando «ulimit», accesible con
«man ulimit». También «man setrlimit».
En cuanto a la segunda vulnerabilidad, no existe ninguna solución hasta
que SUN publique un parche. Una solución paliativa sería la ejecución
del servicio FTP dentro de un entorno CHROOT. Más información en «man
chroot».
Hay que señalar, no obstante, que si el atacante *no* puede crear
directorios ni ficheros en el sistema, el ataque no es factible. Una
solución posible sería, por ejemplo, el usar el servicio FTP sólo para
lectura, sin posibilidad de escritura.
Por último, el tercer problema puede eliminarse configurando el «inet» o
el «FTP» para que no generen un «core dump», o para que lo hagan con
unos permisos que lo conviertan en inaccesible para los usuarios
normales del sistema. Más información en «man ulimit» y «man umask».
La determinación de usuario existente/inexistente no se puede eliminar
hasta que SUN publique una actualización de seguridad.
jcea@hispasec.com
Más información:
13/04/2001 – Graves vulnerabilidades en múltiples demonios FTP
http://www.hispasec.com/unaaldia.asp?id=901
Solaris ftpd glob() Expansion LIST Heap Overflow Vulnerability
http://www.securityfocus.com/bid/2550
COVERT-2001-02: Globbing Vulnerabilities in Multiple FTP Daemons
http://www.securityfocus.com/advisories/3202
NAI:20010409 Globbing Vulnerabilities in Multiple FTP Daemons
http://www.pgp.com/research/covert/advisories/048.asp
CERT:CA-2001-07
http://www.cert.org/advisories/CA-2001-07.html
Deja una respuesta