Wolff’s Blog


Tuesday 8 May, 2007

Ataques de DOS para noobs

Hace no mucho tiempo en Kriptopolis aparecía la siguiente noticia en la que alguien supuestamente desvelaba una grave vulnerabilidad que afectaba a todos los sistemas Linux, derivados de Unix, supuestamente desvelada por un “programador del kernel”.
En realidad lo único que desveló fué una Bomba Fork un tipo en concreto de las denominadas Bombas Lógicas que así a lo cotidiano son programas, o trozos de código, que explotan algún tipo de fallo o peculiaridad del sistema a fín de hacerlo inestable o causar algún tipo de fallo en él.

El trozo en cuestión, y de la discordia, es el siguiente:
:(){ : | :& };:

Básicamente, y sin entrar a desgranarlo, se trata de la declaración de una función recursiva que se declara a sí misma. El resultado es fácil de imaginar, si se comprende el concepto de recursividad.
Lanzas la supuesta función, que no hace nada salvo llamarse a si misma y esta se llama a si misma, por lo que tenemos 2 procesos en el sistema, el original y el nuevo. Al finalizar la primera, siguiendo el principio de recursividad vuelve a ejecutarse, creando una nueva función. La segunda, generada por la primera, lanza una tercera, y vuelve a ejecutarse…. así hasta el infinito. Reproduciéndose cada vez a una velocidad más rápida y siguiendo una progresión exponencial. Resultado final, la máquina se satura, ya que tiene un montón de procesos que “no hacen nada” pero que crean nuevos procesos y ocupan tiempo de CPU y memoria, lo que proboca un enlatecimiento de la máquina y finalmente un ataque de DOS en toda regla.

No tardaron en aparecer flames por todo el hilo, con los que quieren atacar a Linux riéndose del “sistema perfecto” y los usuarios medio-avanzados de Linux comentando el motivo de “la vulnerabilidad”. No se trata de una vulnerabilidad, si no de un uso incorrecto de una herramienta necesaria que es la recursividad. Es fácilmente solventable aquí se explica como, y requiere solo un mínimo de atención por parte del responsable de la máquina. Bien es cierto que se trata de un fallo que es extraño que se siga produciendo, es un ataque de DOS conocido desde la noche de los tiempos en cualquier sistema, pero tampoco es nada por lo que haya que criticar a unos ni ponerle la etiqueta de “gran hacker” a cualquiera que lo use, como mucho un script kiddie con suerte.

Equiparar esto a “exploit grave en la seguridad” sería como definir de “virus” un ejecutable de linux que realice un “format C:” o un “rm -rfi /” en un sistema GNU/Linux.

Una de las cosas importantes, y mejores, de Linux es que, con una puesta a punto conveniente, se trata de un entorno muy seguro y estable evidentemente, si el responsable de mantener ese sistema seguro y estable, se dedica a ejecutar cosas así siendo root … apaga y vamonos, se merece lo que le pasará.

Es importante tener un sistema seguro, pero es más importante que el que lo usa sepa usarlo, una cosa es la seguridad informática, y otra, que es cada vez más grande y dificil de controlar, es la estupidez humana.

Si queréis ejecutarlo en un sistema Windows, su equivalente es:
:s
start %0
goto s

Clasificado en: Tecnología, Linux/Unix, Seguridad Informática — Lupin @ 17:19

Friday 27 April, 2007

Seguridad “a la vista”

Windows VistaUno de los aspectos por los que siempre se han destacado los sistemas *nix es por su robustez a la hora de trabajar en modo multiusuario siempre que haya un administrador competente detras.
La estructura de directorios y de permisos usuario:grupo está muy bien hecha, ya lo comentaré en otro post, y evidentemente, como en todos los casos puede acabar siendo del todo ineficiente, basta con dar a todo el mundo permisos para hacer todo, mítico 777, y ya nos hemos saltado la seguridad.
En el otro punto, a Windows siempre se le ha criticado una falta de este tipo de administración en sus diferentes versiones. En XP lo mejoraron algo, y en Vista iban a mejorarlo mucho más, cosa que no se si se ha conseguido.

El tema es, que me encuentro con que en lugar de hacer un sistema de permisos “robusto”, o al menos un poco más serio, se han basado en algo tan simple como el nombre del fichero ( Genbeta ). Es decir, si el fichero contiene la cadena install en su nombre, el sistema operativo decide que debe ser un instalador y, por tanto, necesitará permisos de administración. En cambio si no lo tiene, no debe serlo y puede ejecutarlo cualquiera. Sonaría bien si los nombres de fichero no pudieran cambiarse, pero va a ser que sí…
Microsoft alega que, de este modo, se evitan problemas con troyanos,spyware etc… pero no hace falta ser un Ingeniero de Microsoft para darse cuenta que, si el problema está en el nombre del fichero, me da igual que se llame “install_spyware_ver_very_very_bad” que “kurnikova_nude“, por citar un mítico, mientras al final, obtenga lo que quiero, metérsela hasta el fondo a un pobre usuario con pocos conocimientos y aprobecharme de ello.

La verdad, que pensaba que chapuzas como estas eran imposibles en un sistema operativo que se vende, y a que precio.

Clasificado en: Tecnología, Seguridad Informática — Lupin @ 12:45

Powered by WordPress