Imagínense que cuando hacen la tarea para una materia tienen en la mesa todo en un cuaderno con lápiz y tienen un compañero ayudándolos;
y cuando quieren guardar las respuestas finales en birome, ponen en la mesa el cuaderno oficial donde también tienen anotada su dirección, teléfono, email, passwords y demás;
Potencialmente el compañero que los esta ayudando puede tratar de ver lo que tienen escrito en el cuaderno de birome.
La solución implica que cuando quieren pasar a birome, echen al compañero antes de ponerse a copiar y volverlo a llamar cuando quieren seguir trabajando..
Obviamente, esto lleva mucho más tiempo, porque tienen que esperar a que se vaya, y a que vuelva cuando quieran seguir trabajando o, visto de otra manera: que se lleven el cuaderno a otra mesa y ahí copien las respuestas lejos del compañero
El parche funciona de manera similar, para acelerar las cosas, Intel “dejaba el cuaderno de lápiz, al lado del de birome” y ahora “el compañero” encontró como mirar de reojo”. Y ahora saca el programa de la memoria inmediata cuando entra en modo de trabajo kernel.
- Que afecta realmente el problema?
Todas las syscalls, interrupts y (page) faults; cada vez que se lee o escribe en disco o a la red por ejemplo, esto afecta muchísimo a todas las maquinas virtuales (hasta java) y potencialmente a todo el uso, sí, potencialmente los juegos también si estos usan mucho la red, o el disco. Cada vez que un dispositivo necesita llamar la atención del kernel, cada vez que una página de memoria no esta cargada… esto afecta a todo…
- Escaparle al parche es una solución temporal y no recomendable, ya que el agujero potencial de seguridad es muy serio, si no estas parcheado, literalmente cualquier script bien armado puede tener acceso administrador/root/kernel a tu máquina… conviene eso sí esperar a ver cuanto afecta a la performance real mediante benchmarks, habrá que ver.
Otro Ejemplo de /u/Ottavis-idolo :
Ponele que vas a los bosques de palermo a levantar travestis todos los días para que te tiren la goma, al pagarle abris la billetera, sacás el billete de $50 y se lo das, pero en esa maniobra te pispeó cuánta guita tenés y las tarjetas de crédito. El parche lo que hace es que estaciones el auto a la vuelta, prepares la plata y la dejes en la guantera ya lista para cuando el travesti se suba al coche. Es más lento pero más seguro
Update 1: Ya salieron los primeros benchmarks en Windows y parecen ser positivos para el usuario promedio, poca incidencia en juegos y en uso estándar, si afecta VMs y escritura de disco.
Update 2: Más info del problema.
Ya que se convirtio en el post de discusión acá va la última info del problema segun el último post de Google Security Blog:
Básicamente el problema se divide en 2 prartes.
Que sistemas están afectados por Meltdown(Fusión)?
Portátiles, escritorios y computadores en la nube pueden ser afectados por Meltdown. Más técnicamente todos los procesadores Intel que implementan ejecuciones fuera de orden están potencialmente afectados, es decir todos los procesadores desde 1995 (excepto Intel Itanium and Intel Atom de antes del 2013). Se testeo exitosamente Meltdown en generaciones de procesadores Intel tan tempranos como 2011. Actualmente solo se pudo verificar Meltdown en procesadores Intel y no esta claro si ARM y AMD processors son también afectados por Meltdown.
Que sistemas son afectados por Spectre(Espectro)?
Casi todos los sistemas son afectados por Spectre: Escritorios, Portatiles, servidores de la nube, y hasta celulares. Más específicamente todos los procesadores modernos capaces de mantener varias instrucciones simultáneamente son potencialmente vulnerables. En particular se ha verificado Spectre en procesadores Intel, AMD y ARM.
¿Que es Meltdown?
Meltdown rompe la separación más fundamental entre las aplicaciones de usuario y el sistema operativo. El ataque permite a un programa acceder la memoria y por ende los secretos de otros programas y del sistema operativo.
Si su computadora tiene un procesador vulnerable y utiliza un Sistema Operativo no parchado, no es seguro trabajar con información sensible con total seguridad de que la información no sea comprometida. Esto aplica tanto a computadoras personales como la infraestructura de servidores. Por suerte, hay parches ya disponibles contra Meltdown.
¿Que es Spectre?
Spectre rompe la separación entre diferentes aplicaciones. Permite a un atacante engañar a progamas sin errores, que siguen las “mejores practicas”, en soltar sus secretos. De hecho, los checkeos de sseguridad de las mejores practicas aumentan la superficie de ataque y hacenn más susceptibles las aplicaciones a Spectre.
Spectre es más dificil de explotar que Meltdown, pero es más dificil de mitigar. sin embargo es posible prevenir el uso de exploits determinados a traves de patches de software.
Cual es la diferencia entre Meltdown y Spectre?
Meltdown rompe el mecanismo que evita que las aplicaciones acedan a memoria del sistema de manera arbitraria. Spectre engaña a otras aplicaciones para que accedan ubicaciones arbitrarias en su memoria. Ambos ataques utilizan side channels (canales paralelos) para obtener la información de la memoria accedida. Para una discusión más técnica pueden consultar los papers (Meltdown and Spectre)
Hay parches para Meltdown para Linux (KPTI (anteriormente KAISER)), Windows, y OS X. Se esta trabajando también para endurecer el software contra explotaciones futuras de Spectre.
Que proveedores de servicios en la nube son afectados por Meltdown?
Los proveedores que usan CPUs Intel y Xen PV como virtualizacion sin aplicar los parches. Más aún, proveedores de servicios sin hardware real de virtualización que dependen de contenedores que comparten un kernel como Docker, LXC, o OpenVZ tambien estan afectados.
El bug basicamente derrite/funde las barreras de seguridad que normalmente aplica el hardware.
El nombre está basado en la causa raíz, “Ejecución especulativa“. Y no es fácil de arreglar, nos acechará por un buen tiempo.
Nota: Toda la información fue recopilada y traducida por el usuario de Reddit r/ziggrrauglurr