-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-04-21 a las 23:03 +0200, Camaleón escribió:
De la explicación del correo, entiendo lo siguiente:
:() # crea la función sin parámetros (que irían dentro del paréntesis)
{ # inicio de la función
:|:& # comando a ejecutar, en este caso los dos puntos, la barra y los dos puntos crean procesos en el sistema de forma recursiva (¿pero qué tipo de procesos?)
La función creada se llama ":". Podía igual llamarse pepe: pepe(){ pepe|pepe& };pepe O, desglosándolo: pepe() { pepe | pepe & }; pepe Es decir, la función 'pepe' se llama a sí misma redirigiendo la salida a otra función 'pepe', ambas en segundo plano (por lo que no mueren al matar al padre).
Sí, tendría haber un monitor de procesos desbocados que impida la creación de nuevos en el sistema si se ve comprometida su estabilidad. No es lo mismo tumbar un servicio (servidor web) que el sistema completo... aunque también es verdad que propio el sistema es un servicio más.
No es sencillo. La lección es que hay que tener cuidado en a quien le das capacidad de usar una shell en tu sistema y ejecutar programas cualesquiera.
En el documento de la Wikipedia sugieren limitar el número de procesos que puede ejecutar un usuario para evitar este tipo de ataques.
Es lo más fácil... ya se ha comentado otras veces, que los "ulimit" que tiene la suse por defecto son muy liberales: cer@nimrodel:~> ulimit unlimited Se pueden poner límites generales en /etc/profile o en /etc/initscript - el segundo es mejor (en suse se ajusta en /etc/sysconfig/ulimit) Y me suena que había otro sitio mediante pam. Otra medida de seguridad sería dejar algunos procesos y memoria reservados para el root, lo mismo que hay un espacio reservado en cada partición. Pero no creo que "esté inventado". - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFGKoRBtTMYHG2NR9URAkwuAKCIJZ4byR2rkXFOHsYSzDNdYYH9bACeIP19 +s57RzawiWjrh87u0e+g83E= =/8zL -----END PGP SIGNATURE-----