Vulnerabilidad del Spectre.

En mi máquina, al tener el kernel 4.14.11, veo que tiene una vulnerabilidad. Y esa vulnerabilidad que trae, es esa... La de Spectre (las 2 variantes).

Instalé ahora mismo, que lo hay, un 'chequeador' de spectre-meltdown-checker, y...ahora mismo, lo único que tengo de vulnerable, tan sólo el Spectre.

El paquete de Debian (en la rama SID o Unstable), lo tenemos aquí:

http://ftp2.de.debian.org/debian/pool/main/s/spectre-meltdown-checker/spectre-meltdown-checker_0.27-1_amd64.deb

Acabé de bajar dicho kernel, que...pues lo haré más tarde para ponerlo en el sistema y dejarlo correr. Me ha dado todos estos datos del Spectre (no en el Meltdown, que no tengo este problema):

Spectre and Meltdown mitigation detection tool v0.27

Checking for vulnerabilities against live running kernel Linux 4.14.11 #1 SMP Fri Jan 5 09:12:28 CET 2018 x86_64
Will use vmlinux image /boot/vmlinuz-4.14.11
Will use kconfig /boot/config-4.14.11
Will use System.map file /proc/kallsyms

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 23 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

Por tanto, el Meltdown me saltó todo esto:

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES
* PTI enabled and active:  YES
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)

Como vemos, ya sólo falta eso que hay más arriba, cosa que en el 4.14.13, esto se ha solventado por todo.

En unas horas hago la correspondiente compilación y el .config del mismo (es lo mismo que en el que tengo, no cambia absolutamente nada, sólo la versión, nada más. Se ha hecho el 'make prepare' por si ver si hay diferencias, no las hay).

En el Mozilla Firefox, con la versión 57.0.4, esto ya está solventado con las vulnerabilidades que comento arriba sobre el Spectre. Lo que espero es, que no se saque más del resto que vaya programando a partir de ahora con lo que tengo. Y no fallará más en ningún sentido.

También indicar, que tengamos mucho cuidado con tener esta línea (lo tengo en el fichero /etc/rc.local):

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

Esta línea, lo que hace es, indicar al sistema que, use toda la velocidad del microprocesador. Lo más correcto y sensato es, dejarlo a que se decida lo que se haga. Es decir, dejándolo en 'ondemand', pues de esta forma, no provoca cuelgues y reinicios. Comento esto, porque da errores de hardware de los microcódigos del microprocesador (nada grave, por cierto). Por tanto, lo dejo en 'ondemand', porque así, trabaja de entre los 800 MHz. y los 2101 MHz., dependiendo de los procesos que trabajen justamente a la hora de ejecutar cualquier programa y sin estorbar ningún proceso de ninguna clase. De hecho, no se cuelga para nada. Es mucho más sano así. Concretamente, me fallaba con el famoso cliente de Spotify. Y a veces, con el VLC. O incluso, el Firefox, cuando se reproducen vídeos.

Quedan pequeñas cosas nuevas aún por arreglar. :-)

Seguiré poniendo buenas cosas, porque mucha gente desconoce de lo que se hace con estas buenas cosas. ;-) ¡Trabajemos todos juntos para que nada falle!

Comentarios