Las últimas versiones de los kernel de diversos miembros de la familia *BSD son vulnerables a varios ataques de denegación de servicio (Denial of Service) y seguridad.
*BSD es una familia de kernel Unix «Open Source», formados principalmente por «NetBSD», «FreeBSD» y «OpenBSD». Son, en cierta medida, comparables al popular Linux, cada uno de ellos con sus virtudes y defectos.
En las versiones recientes de varios kernel *BSD se han encontrado las siguientes vulnerabilidades:
* Ataque de denegación de servicio a través de la red.
Un atacante malicioso puede enviar datagramas especialmente formateados, que pueden causar corrupción de datos en el sistema y «kernel panic».
* La versión Alpha de FreeBSD no dispone de los dispositivos «/dev/random» y «/dev/urandom».
Estos dispositivos proporcionan valores aleatorios obtenidos a partir de entropía recogida en el sistema (actividad de disco y memoria, pulsación de teclas, interrupciones, movimiento del rat¢n, etc).
Dichos valores aleatorios de alta calidad son utilizados como fuentes de datos, t¡picamente, en aplicaciones criptogr ficas.
El problema es que la versi¢n Alpha no incorpora dichos dispositivos, por lo que muchas aplicaciones con componente criptogr fico (lo cual incluye servicios como la protecci¢n SSL de los servidores web) o bien no funcionar n, o utilizar n valores aleatorios de muy baja calidad (lo que puede comprometer la seguridad de claves, certificados, etc).
Una vez que el usuario instale una versi¢n kernel actualizada, se recomienda regenerar todas aquellas claves y certificados que se hubieran podido crear bajo el kernel antiguo.
* La implementaci¢n «libdes» de NetBSD genera clavea de muy baja calidad si no existe el dispositivo «/dev/urandom».
Si el kernel NetBSD se compila sin la opci¢n «pseudo-device rnd», no existir n los dispositivos «/dev/random» ni «/dev/urandom», y la librer¡a «libdes» generar claves de baja calidad.
* Ataque de denegaci¢n de servicio a trav’s de sockets.
Escribiendo un datos con un determinado tama_o, FreeBSD produce un «kernel panic». NetBSD y OpenBSD no se «caen», pero el soporte de red dejar de funcionar.
* Denegaci¢n de servicio a trav’s del sistema IPC de sem foros.
El sistema IPC (Inter Process Communication) permite la intercomunicaci¢n de procesos a trav’s de recursos compartidos, como memoria o sem foros. El ataque consiste en bloquear la tabla de sem foros, de forma que los procesos que empleen sem foros se paralizar n.
Toda la familia *BSD ha sido actualizada ya; los usuarios que utilicen esos kernel en sus m quinas deben acudir al web correspondiente y asegurarse de que cuentan con una versi¢n kernel moderna. En algunos casos tambi’n se publican «parches» (posibles ya que el kernel es «open source»), para que los usuarios puedan proteger sus sistemas sin necesidad de instalar un kernel nuevo, con los posibles problemas de integraci¢n que ello pudiera provocar.
M s informaci¢n:
OpenBSD
http://www.openbsd.org/
FreeBSD
http://www.freebsd.org/
NetBSD
http://www.netbsd.org/
Remote denial-of-service in IP stack
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-00%3a23.ipopt.asc
Parche para el ataque IP
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00%3A23/ip-options.diff
IP options processing Denial of Service
ftp://ftp.NetBSD.ORG/pub/NetBSD/misc/security/advisories/NetBSD-SA2000-002.txt.asc
FreeBSD Alpha Port Lack Of /dev/random and /dev/urandom Vulnerability
http://www.securityfocus.com/vdb/bottom.html?vid=1340
Multiple Vendor *BSD Denial of Service Vulnerability
http://www.securityfocus.com/vdb/bottom.html?vid=1296
Multiple Vendor BSD Semaphore IPC Denial Of Service Vulnerability
http://www.securityfocus.com/vdb/bottom.html?vid=1270
Jesos Cea Avi¢n
jcea@hispasec.com