Kernel Crash-Exploit descubierto
Horst von Brand
vonbrand en inf.utfsm.cl
Lun Jun 14 14:16:29 CLT 2004
Carlos Manuel Duclos Vergara <carlos en embedded.cl> dijo:
> > Peeeeero, eventualmente, como sería una posible soluciòn?
[...]
> el punto seria buscar la manera de evitar que alguien pueda cambiar los
> bits de la FPU mas que evitar que la interrupcion provoque la debacle;
La interrupcion dentro del nucleo provoca la debacle porque _no_ la
interceptan/manejan adecuadamente. Creian que interrupciones de la FPU en
el nucleo eran imposibles...
> no
> puse mayor atencion al codigo del ejemplo, pero habria que preguntarse:
> 1.- que privilegios requiere el codigo para ser ejecutado?
Usuario corriente.
> 2.- como es que un registro sensible como el estado de la FPU esta
> disponible para ser cambiado?
Porque son flags de estado de la FPU, no es privilegiado de ninguna forma.
> 3.- se necesita cambiar el valor de ese registro?
Yep. Cada vez que efectuas una operacion de punto flotante cambian,
registran modo de redondeo, genero NaN, ...
> 3.a.- No: es posible cambiar el mapa de memoria y dejar ese registro en una
> region ro?
Imposible. Son flags de la CPU.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux