Vulnerabilidad descubierta en todos los processores

#1
Hola amigos, desde hace 48 horas es conocido públicamente la existencia de 2 vulnerabilidades, no de la software o sistema operacional, sino en la implementación en hardware dentro de los procesadores. Una de las vulnerabilidades solo afecta procesadores de Intel, la otra afecta todos los procesadores modernos, siendo listados Intel, AMD y ARM. No tengo noticia de procesadores MIPS! Pero afecta no solo ordenadores y servidores con estos procesadores, sino también los teléfonos móviles!

Aquí el enlace a una página que permite informarse en detalle!

Esta vulnerabilidad fue descubierta por investigadores de Google, quiénes informaron entre otras a Intel, AMD y Microsoft ya en verano del 2017. Interesante es que el CEO de intel vendió un paquete de sus acciones en diciembre, aparentemente debido al impacto que esta noticia tuviera en el valor de la acción!

El problema afecta todos los sistemas operacionales como son Microsoft, Apple OS y Linux ejecutadas en procesadores mencionados arriba. Esto realmente es una alarma roja, pues realmente solo parece ser solucionable usando ordenadores con procesadores nuevos rediseñados para este propósito. Actualmente no he sido capaz de encontrar una actualización para Windows 10.

Por ahora se espera que se publicaran actualizaciones que dificulten el uso de estas vulnerabilidades por atacantes! Ya estas actualizaciones se escribe que costarán entre 18 y 20% de la capacidad de procesamiento de los procesadores afectados. Creo que los usuarios normales pagaremos con una perdida de potencia de procesamiento y un riesgo de sufrir ataques. Pero todos los servicios de procesamiento en la nube y por eso en servidores están fuertemente afectados.

A ver como sigue este drama!
 
Última edición por un moderador:

capitanp

Miembro irreconocible
#2
Lo malo es que ahora se conoce esta vulnerabilidades, vaya uno a saber cuantos años la llevan explotando y vaya a saber "quien" , guiño guiño
 
Última edición:

DOSMETROS

High 2m Modereitor
#3
No me cabe la más mínima duda que Google son importantes accionistas de empresas fabricantes de celulares , de PC's , Notebooks , Netbooks , etc.

Sinó ¿ Cual sería su interés de llenarte de actualizaciones el celular ? , de aún las cosas que no usás . . . caramba , ha de ser facil sólo actualizar lo que usas y lo que no , no ; y entonces tengas que renovar el celular porque "ya no sirve"

Ahora ¿ Cual sería el interés de Google que las empresas salgan disparando a adquirir nuevos procesadores sin falla ? (conociada)
 
#4
Eso no es novedad. Todas estas empresas espían las computadoras de los usuarios y saben todo de ellos (nosotros); lean las políticas de privacidad y lo sabrán.

Aquí un poco de lo que saben: :eek:

-Tu ubicación.
-Leen los emails.
-Registran las llamadas del móvil con sus números telefónicos.
-Saben toda tu actividad en Internet (también en modo incógnito).
-Saben que programas utilizas y en que trabajas.
-Tienen acceso a fotografías, videos y cualquier otro archivo en tu móvil y también en la PC.
-Te pueden tomar fotografías y videos con las cámaras del móvil o PC, sin que te enteres.

etc...

Así que no se preocupen por las vulnerabilidades de sus procesadores ... de todas formas estamos siendo espiados. :unsure:
 
#6
A mi parecer todo se trata de control, y de Caballos de Troya. Hay algo que no se si se dieron cuenta, al instalar el google crhome cuando lo abres por pimera ves va directo aun sitio, que por supuesto no sale en la barra de direcciónes, e intenta instalarte un troyano, entonces ¿porque google haría esto?. ¿Que sentido tiene?, para un neófito no lo tendrá para aquel que sabe como es el mundo en realidad si lo tendrá.

Estuve leyendo cuando anunciaron los nuevos procesadores de AMD en específico una línea de estos, AMD explicaba que estos procesadores solo servirían para ser usados con WIN10 o versiones superiores, ya en el mismo procesador contaba con ciertas instrucciones que no permitirán usar otro sistema operativo. Esto en parte se podría entender de que una ves mas las grandes corporaciones forzarían de manera abrupta a una actualización masiva a nivel mundial de toda la tecnología, en informática siempre fue algo gradual paso a paso, pero siempre los sistemas mas antiguos eran compatibles con los mas modernos “hasta cierto punto”.
Ahora bien si AMD o INTEL anuncian que sus procesadores son vulnerables y que quedaran obsoletos esto no es por casualidad, no solo porque no es que no sabían de que podía pasar sino que fuerzan al consumidor, del nivel que sea, a actualizarse a un sistema operativo determinado como base digamos para una nueva generacion SO y hardware.
Ya muchos sabrán que Win10 es solo una mera modificación de Win7 que fue el sistema operativo mas estable que pudo hacer Microsoft, pero win10 a diferencia de su versión anterior, trae en las condiciones legales muchas cosas raras que la mayoría ni si quiera le presta atención, y ahí esta el caballo de Troya, una de las cosas que son mas alarmantes, por lo menos para mi, es que al aceptar este contrato legal tu estas aceptando que microsoft puede hacer uso de toda tu información personal y privada a como se les antoje a ellos, claramente esto es una locura, pero muchos podían decir ¿que es lo que podrán sacarme a mi?, ¿para que querrán mi información?, etc.
El simple echo de hacer esto es violar la privacidad de cada persona, podriamos decir que es un derecho natural, entonces que será de nuestras vidas si ya no tenemos mas privacidad o lo peor que esta este controlada por corporaciones. A partir del momento que aceptas el contrato establecido, tu privacidad ya no existe, estas aceptando que microsoft pueda acceder a ella y pueda monitorearla haciendo de ella lo que quiera. Entonces la pregunta del millón es: ¿Qué será de nuestras vidas si para acceder a cualquier dispositivo tecnológico tendrás que aceptar forzosamente que cualquier corporación monitoree tu vida?.

Esto no es tema nuevo cuándo las agencias de seguridad investigan algún caso de la índole que sea casi siempre solicitaban a microsoft que les permitan tener acceso al ordenador de la persona investigada. Claramente esta que si ellos quieren pueden acceder a tu ordenador cuando quieran, esto nos dice que siempre hay un Caballo de Troya metido en los sistemas operativos y en particular yo creo que es servicio svchost.exe siempre esta transmitiendo y no puede desactivarse.

Si estas practicas se hacían de una manera puntual y llevaban a un montón de burocracia legal para poder lograrlo hoy en día directamente esta expuesto en las condiciones legales y eres tu quien directamente dices que si. Microsoft desde que fue vendida por Bill Gates ciertamente no se sabe quien tiene el control pero si se sabe que es lo que buscan.

Es lo mismo que los celulares cuando instalas una app para poder instalarla debes aceptar que esa aplicación tenga acceso a toda tu información personal alojada en tu celular, entonces porque un lector de códigos QR me pide que tenga acceso a mis llamadas, foto, Messenger, etc, si es un lector QR. Esto es algo que nadie le presta atención pero es real. WhatsAPP es lo mismo cuando lo instalas pide prácticamente que tome el control de tu teléfono, bueno ni hablar del sistema Andriod que es un verdadero Caballo de Troya.

Quizás haya algún plan compulsivo de actualización global de SO de diversa índole, pero valla uno a saber que es lo que se traen entre manos. Para mi va mas allá de una cuestión de mercados y ganancias a ciertos niveles cuando los ceros vienen de a nueve o doce ya no es lo importante sino el control. Quieren ir mas lejos hay un software muy bueno WireShark que es para monitoreo, ahí veras cosas increíble como cientos de ataques o intentos de acceder a tu pc, conexiones establecidas a servidores extraños, salida constante de paquetes de datos a empresas de Seguridad Informática y mucho mas. Constantemente el navegador opera intenta enviar información cifrada a ciertos servidores ¿Por qué?. En los últimos meses he recibido unos 50.000 ataques y lo único que quiero y busco es armar un amplificador a válvulas, ¿debe de ser una actividad muy peligrosa?.
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
#7
A mi parecer todo se trata de control, y de Caballos de Troya. Hay algo que no se si se dieron cuenta, al instalar el google crhome cuando lo abres por pimera ves va directo aun sitio, que por supuesto no sale en la barra de direcciónes, e intenta instalarte un troyano, entonces ¿porque google haría esto?. ¿Que sentido tiene?, para un neófito no lo tendrá para aquel que sabe como es el mundo en realidad si lo tendrá.

Estuve leyendo cuando anunciaron los nuevos procesadores de AMD en específico una línea de estos, AMD explicaba que estos procesadores solo servirían para ser usados con WIN10 o versiones superiores, ya en el mismo procesador contaba con ciertas instrucciones que no permitirán usar otro sistema operativo. Esto en parte se podría entender de que una ves mas las grandes corporaciones forzarían de manera abrupta a una actualización masiva a nivel mundial de toda la tecnología, en informática siempre fue algo gradual paso a paso, pero siempre los sistemas mas antiguos eran compatibles con los mas modernos “hasta cierto punto”.
Ahora bien si AMD o INTEL anuncian que sus procesadores son vulnerables y que quedaran obsoletos esto no es por casualidad, no solo porque no es que no sabían de que podía pasar sino que fuerzan al consumidor, del nivel que sea, a actualizarse a un sistema operativo determinado como base digamos para una nueva generacion SO y hardware.
Ya muchos sabrán que Win10 es solo una mera modificación de Win7 que fue el sistema operativo mas estable que pudo hacer Microsoft, pero win10 a diferencia de su versión anterior, trae en las condiciones legales muchas cosas raras que la mayoría ni si quiera le presta atención, y ahí esta el caballo de Troya, una de las cosas que son mas alarmantes, por lo menos para mi, es que al aceptar este contrato legal tu estas aceptando que microsoft puede hacer uso de toda tu información personal y privada a como se les antoje a ellos, claramente esto es una locura, pero muchos podían decir ¿que es lo que podrán sacarme a mi?, ¿para que querrán mi información?, etc.
El simple echo de hacer esto es violar la privacidad de cada persona, podriamos decir que es un derecho natural, entonces que será de nuestras vidas si ya no tenemos mas privacidad o lo peor que esta este controlada por corporaciones. A partir del momento que aceptas el contrato establecido, tu privacidad ya no existe, estas aceptando que microsoft pueda acceder a ella y pueda monitorearla haciendo de ella lo que quiera. Entonces la pregunta del millón es: ¿Qué será de nuestras vidas si para acceder a cualquier dispositivo tecnológico tendrás que aceptar forzosamente que cualquier corporación monitoree tu vida?.

Esto no es tema nuevo cuándo las agencias de seguridad investigan algún caso de la índole que sea casi siempre solicitaban a microsoft que les permitan tener acceso al ordenador de la persona investigada. Claramente esta que si ellos quieren pueden acceder a tu ordenador cuando quieran, esto nos dice que siempre hay un Caballo de Troya metido en los sistemas operativos y en particular yo creo que es servicio svchost.exe siempre esta transmitiendo y no puede desactivarse.

Si estas practicas se hacían de una manera puntual y llevaban a un montón de burocracia legal para poder lograrlo hoy en día directamente esta expuesto en las condiciones legales y eres tu quien directamente dices que si. Microsoft desde que fue vendida por Bill Gates ciertamente no se sabe quien tiene el control pero si se sabe que es lo que buscan.

Es lo mismo que los celulares cuando instalas una app para poder instalarla debes aceptar que esa aplicación tenga acceso a toda tu información personal alojada en tu celular, entonces porque un lector de códigos QR me pide que tenga acceso a mis llamadas, foto, Messenger, etc, si es un lector QR. Esto es algo que nadie le presta atención pero es real. WhatsAPP es lo mismo cuando lo instalas pide prácticamente que tome el control de tu teléfono, bueno ni hablar del sistema Andriod que es un verdadero Caballo de Troya.

Quizás haya algún plan compulsivo de actualización global de SO de diversa índole, pero valla uno a saber que es lo que se traen entre manos. Para mi va mas allá de una cuestión de mercados y ganancias a ciertos niveles cuando los ceros vienen de a nueve o doce ya no es lo importante sino el control. Quieren ir mas lejos hay un software muy bueno WireShark que es para monitoreo, ahí veras cosas increíble como cientos de ataques o intentos de acceder a tu pc, conexiones establecidas a servidores extraños, salida constante de paquetes de datos a empresas de Seguridad Informática y mucho mas. Constantemente el navegador opera intenta enviar información cifrada a ciertos servidores ¿Por qué?. En los últimos meses he recibido unos 50.000 ataques y lo único que quiero y busco es armar un amplificador a válvulas, ¿debe de ser una actividad muy peligrosa?.
Si vos tenes problemas con Windows, que seguramente no tengas en una condición muy legal que digamos, la solución es muy simple: Usá LINUX y quitate todos los problemas de encima de una sola vez. Nadie te va a espiar ni cosas por el estilo... ni vas a tener que escribir quejándote por no usar una solución que es gratuita ;)

Para hablar de seguridad informática HAY QUE SABER, y para crear teorías conspirativas HAY QUE TENER IMAGINACION: como lo segundo es mas fácil que lo primero... pues bueno... ya sabemos como sigue la historia
 
#8
Ja ja ja. Es muy gracioso lo que decís de todas maneras es tu punto de vista y eso no implica para nada que la realidad sea así. A propósito, ya hace cuantooooo, 20 años o mas que estoy relacionado con la informática si creo que mas mi primer PC una 80286 a no un ZX Espectrun , no no una Comore64 ya ni me acuerdo. Usábamos CD no no Casetes, luego Disquete de 5 1/4, 3 1/2, Zip Drive, Monitores de fósforo verde, naranja, blanco y negro, escala de grises. Cuantos recuerdos.

Cual fui mi primer lenguaje COBOL, después seguí con Basic, Visual Basic, C, C++, Python, que buenos recuerdos. A propósito mi preferido es Red Hat por eso Hatman, cual use mucho tiempo también Debían, otro Slackware y como olvidarme de Ubuntu.
Mis comentarios son en forma general y si algo se que la seguridad informática es puro verso y lucro. Seguridad en telefonía (6 años dedicado a esto) algoritmos AES 128, 56 ja ja ja, encriptacion de llamadas otro chiste. No hay clave ni algoritmo que se resista a HashCat, seguridad en redes aéreas WEP, WPA otro chiste, Firewall ja ja ja.

Hace mucho tiempo conoci algo que se llamaba Ethical Hacking fue algo maravilloso, en ese tiempo esto no formaba parte de alguna carrera o curso universitario recien estaba saliendo a la luz, ahi aprendi porque White Hat, Blue Hat, Black Hat y demas cuestiones.

Pero bueno solo di mi opinión porque creo que tengo la trayectoria necesaria para hacerlo. Me equivoque otra vez y porque: "Creer es un acto de fe y saber es un acto de conocimiento" y yo se.

"No hay peor ciego que el que no quiere ver".
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
#9
Ja ja ja. Es muy gracioso lo que decís de todas maneras es tu punto de vista y eso no implica para nada que la realidad sea así. A propósito, ya hace cuantooooo, 20 años o mas que estoy relacionado con la informática si creo que mas mi primer PC una 80286 a no un ZX Espectrun , no no una Comore64 ya ni me acuerdo. Usábamos CD no no Casetes, luego Disquete de 5 1/4, 3 1/2, Zip Drive, Monitores de fósforo verde, naranja, blanco y negro, escala de grises. Cuantos recuerdos.

Cual fui mi primer lenguaje COBOL, después seguí con Basic, Visual Basic, C, C++, Python, que buenos recuerdos. A propósito mi preferido es Red Hat por eso Hatman, cual use mucho tiempo también Debían, otro Slackware y como olvidarme de Ubuntu.
Mis comentarios son en forma general y si algo se que la seguridad informática es puro verso y lucro. Seguridad en telefonía (6 años dedicado a esto) algoritmos AES 128, 56 ja ja ja, encriptacion de llamadas otro chiste. No hay clave ni algoritmo que se resista a HashCat, seguridad en redes aéreas WEP, WPA otro chiste, Firewall ja ja ja.

Hace mucho tiempo conoci algo que se llamaba Ethical Hacking fue algo maravilloso, en ese tiempo esto no formaba parte de alguna carrera o curso universitario recien estaba saliendo a la luz, ahi aprendi porque White Hat, Blue Hat, Black Hat y demas cuestiones.

Pero bueno solo di mi opinión porque creo que tengo la trayectoria necesaria para hacerlo. Me equivoque otra vez y porque: "Creer es un acto de fe y saber es un acto de conocimiento" y yo se.

"No hay peor ciego que el que no quiere ver".
Esto no es cuestión de recuerdos, y la seguridad infomática no es ni verso ni curro: los que curran y versean son los que se dicen "expertos en seguridad infomática" (son personas, no ciencia) y te garantizo que tengo muuucha experiencia con ellos.
El tema es que si vas a construir una teoría conspirativa acerca de las fallas de seguridad incluidas en Windows para que te espíe la NSA y toda esa sanata (que tal vez sea cierta), te aseguro que no tenés idea de como proteger información privada ni como impedir que salga de un contexto protegido.
Con lo que comentás te garantizo que vos, en "Creer es un acto de fe y saber es un acto de conocimiento", estás 100% del lado del creer y 0% del lado del saber. ;)
 
#10
Entones desde tu punto de vista como vos supones que sabes mas que yo, yo no tengo derecho a dar mi opinión, porque al parecer esto es un foro en donde nosotros "los participantes" podemos dar nuestra opinión, que no es mas que nuestro punto de vista sobre un tema, porque si no es asi entonces es un Club Selecto donde los que suponen saber mas tienen el único derecho a expresarse, yo en particular no creo que así sea, por lo menos esa es mi impresión. De todas maneras respeto tu opinión porque así debe de ser el marco en donde se trate cualquier tema este o no de acuerdo es simple educación. Pero créeme que a mi nadie me quita lo bailado, por otra parte yo no construyo nada, ni tampoco tengo ánimos de hacerlo es solo mi opinión de como yo veo las cosas a través de mi propia experiencia que son pilares básicos para poder expresarse sobre algun tema. Que estés o no de acuerdo es respetable, ya lo dije, pero no por eso tu opinión tiene que tratar de condicionar la MIA. Tampoco creo necesario andar sacando certificaciones ni nada por el estilo para demostrarlo, me resulta muy infantil, pero no tengo duda alguna de mi experiencia y mi conocimiento sobre el tema en general. Tampoco el fin de mi comentario en el tema busco en ningún momento llegar a esto. Es tu opinión la respeto como tal, pero no es más que eso para mi "una simple opinión".
 
#12
Creo que contribuciones a este hilo deben atenerse estrictamente al tema y no resultar en ataques de tipo personal! Si leo algo que considero "no relevante", simplemente lo ignoro!

Yo personalmente sigo con las actividades que he iniciado después de que mi PC fuera rendido inoperable por uno o mas ataques. Estudio las materias relacionadas y empezaré a reiniciar mis experimentos una vez que me sienta capacitado a actuar de forma consciente y mas informada que antes y que mir problemas de salud lo permitan. Tengo una acción abierta con el Dr. Zoidberg, quien muy amablemente y competente me ha dado su apoyo. Pero primero tengo que cumplir con el lado de las acciones de mi lado!

En lo personal: Me quedo con mi PC, que busco proteger lo mejor que pueda y me espero una nueva generación de procesadores que cierren las vulnerabilidades descubiertas. Ya he echo cálculos. Para modernizar mi PC a un nivel de potencia similar a la que el Intel(R) Core(TM) i7 920 q 2.67 GHz me daba cuando lo compré necesitaré mas de 1.500 Euros. Siendo el procesador la parte mas cara.

Comentario: Aquí en Alemania ha habido indicaciones que hablan de analizar si el proveedor de un procesador tiene de igual forma la responsabilidad que su producto cumpla con su especificación. El usuario "pagando" aprox. un 20% de la potencia de su procesador para que "patches" de software protejan de las vulnerabilidades del procesador como lo tienen proveedores de otros artículos como es el caso en los carros! Claro, como procesadores son usados en trillones de equipos, la cosa no es simple. La perdida del valor de las acciones de Intel en el mercado bursátil son indicativo que el mercado bursátil ve esa posibilidad.

En el caso del PC, las placas madre solo posibilitan el uso de procesadores compatibles. Eso resulta, ha mi opinión personal que requiero comprar una nueva placa madre y nuevas memorias adicionalmente al procesador! Pero la magnitud del impacto económico de tal acción hace la idea de la responsabilidad del proveedor! A fin de cuentas, cuando en un carro se identifica un problema, el proveedor tiene que resolverlo en los talleres a su cuenta!
 

Dr. Zoidberg

Well-known-Papá Pitufo
#13
@Hellmut
Era cuestión de tiempo hasta que alguien encontrara como explotar el problema del cover-channel de la caché, pero aún así es un ataque complicado de realizar, aunque si se logra es muy peligrosa la exposición de información "potencialmente" (digo potencialmente por que aún no hay un exploit que ataque explícitamente alguna aplicación específica y se robe las claves y/o cosas similares) privada.
El caso de Intel (meltdown) es grave por que es mas simple de realizar, pero Sptectre, al ser de aplicación muy amplia a todos los procesadores que usan ejecución especulativa (todos!!!), si bien es un ataque complicado de implementar, puede violar hasta sistemas de virtualización... con lo que comentamos hace tiempo de usar virtualización como medio de protección queda medio..... chueco...

De todas formas, hay que esperar para ver que sucede, por que ya hay parches para la mayoría de los S.O. y "parece" que el impacto en la performance no es muy notorio (o eso es lo que dicen).

Por ahora, hay que hacer lo de siempre: proteger el sistema y cuidarse de meter programas desconocidos o de fuentes poco confiables. Firewallear el acceso a internet para que no nos manden fruta desde afuera y cuidar cuales programas pueden acceder a Internet... esto con la idea de que no nos inyecten código malicioso ni que si ya lo tenemos, este pueda lograr transmitir nuestra información "privada".
 
#14
A fin de contribuir con información relacionada a este tema subo esta nota
la cual leí en "Un informático del lado del mal", un blog de seguridad.
Si acaso resultase inoportuna o indujera a equivocos les pido de antemano
a los señores moderadores la eliminen de plano.

Si habéis leído sobre los fallos, supongo que ya estaréis más que al día, pero dejadme que haga un pequeño resumen para que sea fácil de entender para todo el mundo en qué se basa el fallo, y por qué es tan importante desde el punto de vista de la seguridad, y desde el punto de vista de - lo que para mí es crucial - el rendimiento.

Arquitecturas Avanzadas

Si estás estudiando en la Universidad, esto se suele explicar en las asignaturas de Arquitecturas Avanzadas, que es donde lo aprendí yo cuando estuve acabando la Ingeniería Informática. En esa parte de la formación es donde se analizan cómo los microprocesadores aplican técnicas para aprovechar al máximo el paralelismo que ofrece el hardware incluido en los chips. Técnicas como el adelanto de instrucciones, el cómputo de todas las ramas de una instrucción alternativa, o el paralelismo de estructuras secuenciales. Para que os hagáis una idea - resumiendo mucho - supongamos que una teneos una instrucción que dice algo como:
Si A> 10 entonces B=1 de lo contrario B=0
Esto, en un microprocesador sin utilizar toda la potencia del paralelismo llevaría a ejecutar primero la comparación del valor de A y después el movimiento de un valor al registro B. ¿Sencillo, no? Ahora vamos a complicarlo un poco.
Si f(A)>0 entonces g(B) de lo contrario h(B)
Vale, supongamos ahora una instrucción en la que f(A) tarda 10 segundos, g(B) toma 5 segundos calcular y h(B) 7 segundos su ejecución. En este entorno, una arquitectura tradicional tardaría, como mínimo 15 segundos, y como máximo 17 segundos, luego en media tendríamos un procesador que ejecutaría este programa en 16 segundos.

Pero... ¿y si le añadimos al sistema un módulo de Ejecución Especulativa y una caché con el objeto de paralelizar esto? Es decir, supongamos que el microprocesador es capaz de ejecutar f(A), g(B) y h(B) totalmente en paralelo, es decir, que antes de que se termine f(A) ya sabemos el resultado de g(B) y deh(B). El resultado es que el tiempo de ejecución máximo en cualquiera de los casos sería de 10 segundos, lo que nos ha incrementado un 60 % el rendimiento del sistema.

Para conseguir esto, lo que se hace es aprovecharse de dos características del hardware de los microchips. En primer lugar la existencia de puertas lógicas en los chips duplicadas que permiten paralelizar acciones y la segunda de zonas de memoria caché que permiten almacenar los resultados de g(B) y h(B) hasta saber cuál es el resultado que pasa a la memoria principal del programa.

Por supuesto, no siempre es necesaria una comparación, supongamos ahora que tenemos que ejecutar algo como:
R1=f(A) tarda 5 segundos
R2=g(A) tarda 8 segundos
R3=h(A) tarda 4 segundos
Imprime R1+R2+R3 tarda 1 segundo
En este caso tenemos cuatro instrucciones serializadas, que si se ejecutan secuencialmente harán que el programa tarde 18 segundos en media. Pero... si tenemos hardware de sobra, y no hay dependencia de ninguna función (solo la última instrucción depende del cálculo de las anteriores), podríamos ejecutar en paralelo el cálculo de R1, R2 y R3, lo que haría que el tiempo máximo fuera 8 segundos y luego imprimirlo, con lo que de 18 segundos habríamos pasado a 9, justo la mitad.

¿Y la seguridad?

Aquí viene el problema que ha sido descubierto por Metldown (y en una variación por Spectre). Si cualquier programa pudiera leer cualquier zona de memoria del sistema tendríamos un serio problema. Esto implicaría que cualquier ejecución (por ejemplo un JavaScript que te muestra un anuncio en el navegador) podría ejecutar cualquier cosa en tu sistema - por ejemplo un malware - porque sabría qué direcciones de memoria se van a ejecutar con privilegios dentro del sistema.

Por ello, es necesario establecer mecanismos de protección de la memoria para que cada proceso pueda leer solo su memoria, y que los procesos con altos privilegios puedan guardar los datos sensibles sin que se vean afectados por programas de usuario - como el JavaScript que muestra los anuncios que contaba antes -.

Para que esto sea posible, es necesario que la memoria de los procesos esté protegida desde el microprocesador, y ningún programa que se ejecute en el procesador acceda a zonas de memoria protegida o de otro proceso. Para ello hay varios mecanismos de protección, pero dos fundamentales. Uno que prohíbe acceder a zonas de memoria y otro que aleatoria la carga de direcciones en memoria, el famoso ASLR (Address Space Layout Randomization) que en el Kernel del sistema operativo se llamaKASLR.

Perdonad por la simplificación al extremo de los mecanismos de protección, pero para entender cómo funciona Meltdown es suficiente. Si quieres saber mucho más, tus libros son, sin duda, Linux Exploiting y Máxima Seguridad en Windows. Imaginemos ahora un programa que hace algo como:
A=R1
B=(A+0)*A
Como se puede ver, en este caso las instrucciones no "deberían" ser paralelizables, pero tal y como funciona el microprocesador sí que lo es, al menos parcialmente. Imaginemos que R1 es un registro protegido que va a hacer que salte una excepción, que va a ser tratada por un código de error que evitará que el programa se siga ejecutando por un intento de violación del espacio de memoria protegida. Eso debería implicar que la instrucción con el cómputo de B no se debería ejecutar, pero lo cierto es que el mecanismo de Ejecución Especulativa que paraleliza las instrucciones paraleliza también el tratamiento el error con el cálculo de B, por lo que en la caché del microprocesador se encuentra B calculado.

Esto es un grave problema de seguridad, ya que la caché del microprocesador no es una zona de memoria protegida contra ataques side-channel como ya se han visto en otros estudios por lo que es posible saber si un valor está allí o no, lo que haría que cualquier programa de usuario pudiera volcar valores protegidos como R1 de zonas de memoria que no debería ver.... y por eso...Meltdown.

¿Cómo arreglarlo?

Hacer un buen arreglo de este fallo implica tomar muchas decisiones nuevas. Analizar los "corner cases" o poner nuevas medidas de protección a la caché del microprocesador. Esto se puede hacer a nivel de software - con el kernel de los sistemas operativos - o a nivel de hardware - lo que implica el rediseño del funcionamiento de los microprocesadores y la nueva toma de decisiones -. Y nada es fácil ni gratis.

Si hablamos de que Intel (afectado por Meltdown y Spectre) o AMD y ARM (afectados por Spectre) tuvieran que cambiar el funcionamiento de la Ejecución Especulativa haciendo cambios para meter controles de seguridad en estos casos, implicaría que los chips en almacén, los chips en fábricas, los contratos firmados de entrega, etcétera, se verían afectados, por lo que costarían muchos dólares, y eso es malo para el negocio, eso es malo para la acción, eso es malo para tu dinero si tienes acciones de esas compañías.

Pero tendrán que arreglarlo en futuros diseños de sus chips.

Eso sí, mientras tanto, la solución es que lo arregle el SO, poniendo controles por encima. Controles que pueden ser o bien anular la Ejecución Especulativa (imposible desde el punto de vista de rendimiento) o bien empezar a poner controles de seguridad mucho más exhaustivos (rendimiento afectado también, pero se puede ir afinando).

Si no se ponen parches, cualquier programa podría acceder al Kernel del sistema en el core del microchip y ejecutar lo que le diera la gana. Imaginad que un JavaScript de un navegador llega al microprocesador hardware en un equipo en un datacenter de Cloud. Y desde allí puede ver todas las máquinas virtuales, todos los procesos que corren por encima e infectarlo con un software de características de gusano para que esos equipos hagan lo mismo.

Lo que llevaría a que un entorno de Cloud se pudiera convertir en un problema para todas las máquinas, así que hay que parchear sí o sí. Y eso es malo para el negocio. Eso es malo para la acción. Eso es malo para tu dinero si tienes acciones allí.

Todos los fabricantes tienen que parchear. Google, Microsoft, Amazon, Apple, etcétera, y deben hacerlo para todos los sistemas operativos, y luego, todas las empresas deben actualizar el software. Pero....

¿Qué va a suceder con el rendimiento?

Pues que todo va a ir un poco más lento - y a veces mucho más lento -. Al tener que ponerse medidas de seguridad en la Ejecución Especulativa, vamos a ejecutar más instrucciones, se van a paralelizar menos y cuando tengamos procesos complejos, pues la cosa puede ir mucho más lenta.

Puede que los procesos de Machine Learning, los procesos de Inteligencia Artificial basados en Redes Neuronales en algoritmos de Deep Learning, cálculos en SGDB de alto rendimiento (Que aprovechan al máximo las optimizaciones del microprocesador), o muchos sistemas, vayan lentas.

Pero es que si no, la seguridad de un automóvil, o un sistema SCADA, o de un avión, se ven comprometidas por estos fallos de seguridad, que afectan al corazón de la seguridad de las arquitecturas tecnológicas que usamos hoy en día. Las próximas semanas, aún seguiremos viendo muchas noticias al respecto. Os iré contando.
 

capitanp

Miembro irreconocible
#16
Lo malo que en mi MacBookPro ya se actualizo a High Sierra 10.13.2 y el rendimiento bajo mucho para compensar el CPU trabaja de mas y se calienta demasiado, una lastima por que antes de actualizar tenia un rendimiento excelente ahora tengo una carreta de aluminio, buscando downgradear la actualización y buscando metodos de proteccion alternativos