[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Evitar vulnerabilidad de bash



On Fri, 6 May 2005, Santiago Vila wrote:

> On Fri, 6 May 2005, José Luis Patiño Andrés wrote:
>
> > El vie, 06-05-2005 a las 10:36 +0200, Urizev escribió:
> > > Hola chicos, como puedo evitar que el comando siguiente no tueste
> > > el ordenador.
> > >
> > > $ :(){ :|:& };:
> >
> > Por cierto, no puedo resistir la curiosidad... ¿de dónde has sacado eso?
> > ¿sirve para algo? ¿qué es lo que hace?
>
> Lo que hace es definir una función de shell llamada `:' y luego
> (de ahí el punto y coma) ejecutar dicha función. La función es
> recursiva y de ahí viene el desastre. En bash(1) hay información sobre
> las funciones de shell, por si a alguien le interesa.

Hola Santiago permiteme que sin corregirte en nada, añada algo porque
aquí lo que yo veo es que el que pregunta no solo no entendía lo que
hacia ese comando sino que lo ha interpretado en clave de vulnerabilidad,
que a mi modo de ver merece alguna aclaración adicional.

En esa misma página bash(1) viene información sobre el comando interno
ulimit que aclara bastante las cosas.

Hay muchas variantes de ataques de este tipo que se basan en hacer un
uso desmedido de los recursos del sistema porque lo normal es no limitar
excesivamente estos recursos a unos usuarios que por tener acceso a una
cuenta de shell supuestamente serán usuarios de cierta confianza.

En este caso el fallo de seguridad no estaría en una hipotética vulnerabilidad
del bash, sino en proporcionar una cuenta sin limitación adecuada de recursos
a un usuario con mala uva.

Desde un programita en C se puede hacer igualmente un uso abusivo de
todos los recursos del sistema abriendo ficheros a lo loco, consumiendo
memoria a lo loco, generando procesos a lo loco, accediendo de forma
aleatoria en todo el espacio de memoria para forzar la swap, etc.

No controlo mucho el tema pero he querido hacer una prueba rápida y
he probado con:    ulimit -n 200 -s 500 -u 500 -v 150000

Con eso ya no se cuelga en mi sistema pero como es lógico en otros sistemas
habrá que adecuar los valores.

-- 
Un saludo
Antonio Castro

       /\     /\
         \\W//
        _|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro@ciberdroide.com   |
+()()()---------()()()--------------------+



Reply to: