La ejecución especulativa fue un problema para Xbox 360

Miguel Vidal
Miguel Vidal

Parte de por qué la gente no puede dejar de hablar de Fusion / Spectrum es el hecho de que todas las piezas individuales permanecen a la vista durante mucho tiempo. Cuando todos vieron cómo todo encajaba la semana pasada, muchas personas (y no necesariamente personas seguras) se dieron una palmada en la frente: “¿Por qué no? Me ¿Ves eso antes? “La ejecución especulativa provocó que se repitieran los dolores de cabeza. [Bruce Dawson] cuenta una de esas historias que experimentó en 2005 (Advertencia: los anuncios en una página pueden reproducir un video automáticamente).

Se centra en el procesador PowerPC habitual de Xbox 360. Entre las personalizaciones de este chip estaba la adición de una instrucción diseñada para mejorar el rendimiento de la memoria. Esta instrucción fue un truco que violó algunas garantías de consistencia de memoria del diseño básico, por lo que sabían de antemano que debía usarse con mucho cuidado. Peor aún: los problemas de purificación en esta zona duelen. Cuando se rompe la coherencia de la memoria, es posible que el código visible en el depurador no sea el código real que falló.

Dado que estamos hablando del lado oscuro de la ejecución especulativa, ya se puede adivinar cómo termina la historia: no importa cuán cuidadosamente se usó, la instrucción especial continuó causando problemas cuando se llevó a cabo especulativamente fuera de las condiciones limitadas. Pruebas exhaustivas han demostrado que las instrucciones que no se llevan a cabo causan fallas. Eso se siente más como una superstición que como una ingeniería. Por lo que puede recordar, terminó siendo un problema mayor de lo que valía y nunca se usó en ningún título de Xbox 360 enviado.

[Main image source: AnandTech article on Xbox 360 hardware]

  • Dave Jones dice:

    Planeaba comprar una nueva CPU Intel este mes, pero supongamos que paso por arreglar Ice Lake. Me gusta mi viejo E8400 con frecuencia de 4500 MHz, lo llamo “cabra de bolsillo”.

    • Cunamjujuan dice:

      Honestamente, no creo que veamos las reparaciones de hardware llevadas a cabo para algunas generaciones de CPU, y es probable que la información publicada este año todavía tenga un error físico. Intel tiene mucho hardware, en comparación con lo que configuró para publicar.

      • Genki dice:

        También es posible que una corrección completa del error requiera una nueva serie de enchufes, ya que es posible que no se pueda usar en el circuito base actual. Esto puede llevar algunos años, ya que necesitarían trabajar en un nuevo proyecto de socket para que la nueva CPU no se pueda arrancar en sockets antiguos, un nuevo diseño probado para detectar errores y demás, un diseño terminado y una especificación lanzados, y los circuitos base bastarían. que. Necesito proyectar una nueva fila de circuitos base alrededor de los nuevos enchufes.

        Estoy totalmente feliz con mi i7 2700k de 5 años. Uno de los pocos que puede funcionar de forma segura a 5 GHz sin necesidad de una configuración de refrigeración elaborada.

        • Cunamjujuan dice:

          Tengo algunas dudas de que requerirá un nuevo enchufe. Hoy en día hay tantas cosas integradas en la CPU que la mayor parte de lo que proviene del chip hasta los pines es alimentación, computadora e i2c. Es por eso que solo vemos un cambio en el ciclo de inteligencia en la última década más o menos. Incluso cuando se habla del tic cíclico de las revisiones de la CPU, solo cambian con uno o dos pines. y la ubicación de las muescas de índice.

          No he copiado los documentos del proyecto de las CPU de AMD tanto como tengo los inteligentes. Porque pirateé y redirigí ligeramente carriles en placas base para overclocking con grabadoras de video. Lo cual hasta la arriesgada reproducción del mismo no valió la pena su tiempo en amar el hardware, porque el rendimiento de PCIE era tan malo y después de generaciones.

          • ALINOME el A dice:

            Es Intel, por lo que * requerirá * un nuevo socket … incluso si es físicamente lo mismo: P

          • Geko dice:

            Piense en 771 y 775, básicamente los mismos chips, uno para la línea Power XEON y otro para el consumidor, con una ligera modificación, un chip podría funcionar completamente en otro zócalo. Así que hay muy poca “necesidad” de un nuevo enchufe, pero el de ellos será así.

    • polobunny dice:

      ¿Puedo sugerir un proceso Xeon basado en la arquitectura Harpertown (E / X54xx)? El X5470 usado cuesta $ 40 por pieza.

      delidded.com tiene sus instrucciones de modificación y es como aire fresco para la antigua plataforma LGA775. Excelente overclocking también en estos bebés, moví una plataforma E8400 de 4.2GHz a uno de estos y vuela.

  • Ostraco dice:

    “Dado que estamos hablando del lado oscuro de la ejecución especulativa, ya se puede adivinar cómo termina la historia: no importa cuán cuidadosamente se usó, la instrucción especial continuó causando problemas cuando se llevó a cabo especulativamente fuera de las condiciones limitadas”.

    Teniendo en cuenta las conversaciones anteriores, una ejecución especulativa puede no tener un lado positivo. Parece que podemos encontrar otras formas de acelerar nuestros procesadores.

    • Megol dice:

      No. Todos los procesadores de la más alta calidad utilizan una ejecución desordenada. La principal ventaja (IIRC 80% +) de la ventaja de rendimiento de los procesadores OoO sobre los ordinales es una mejor ejecución especulativa.

      Simplemente no podemos reemplazarlo mientras ejecutamos software existente. Pero no es necesario, porque el problema no se trata de la ejecución especulativa en sí, simplemente se utiliza como una herramienta.

      Fusion: Intel permite que las cargas especulativas eludan los controles de protección, lo que permite que un atacante lea todas las memorias mapeadas mientras ignora los dispositivos de protección.
      El problema: no hacer un control de seguridad.
      Solución: realice una comprobación de protección antes de acceder incluso a especulaciones.

      Espectro: las predicciones de rama compartidas entre dos dominios de protección permiten a un atacante apuntar al resultado de una predicción de rama de una o más ramas en el dominio de la víctima. La ejecución especulativa puede exponer datos que se supone que el atacante no debe conocer, pero que la víctima puede acceder.
      El problema: no considerar la combinación de compartir y ejecución especulativa.
      La solución: muchas. Asegurarse de que la persona que llama no pueda influir en la calle con un estado no arquitectónico es lo mejor, hacer que sea irrealmente difícil es aceptable, parchear un programa para no exponer ramas sensibles es la solución rápida.

      Y el problema de X360 tampoco está en la ejecución especulativa, simplemente expuso la falla del proyecto en otros lugares.

    • Mariscal dice:

      El “lado ligero” de la ejecución especulativa sería la mejora del rendimiento. Según tengo entendido, Spectre / Meltdown podría mitigarse ya sea evitando que el código especulativo “no” se ejecute y provoque actualizaciones de caché o evitando que la ejecución especulativa cruce especulativamente los límites normalmente sagrados de la memoria. Ambos probablemente requerirían un procesamiento extenso para los proyectos existentes, y ambos serían una buena idea.

      También me pregunto si ASLR (lo que sucede en los programas) podría mitigar alguna implementación real de estas vulnerabilidades.

      Spectre / Meltdown no da tanto miedo porque se usaron. Son tan atemorizantes porque son fallas “escritas en piedra” en el silicio existente, son omnipresentes y porque las debilidades de seguridad solo se vuelven más explotables con el tiempo. , como técnicas para explotarlas se descubre un mayor avance y sinergia entre logros o técnicas.

      • Mariscal dice:

        Por casualidad dije una palabra. “… deshabilitando código que especulativamente ‘no’ implementa …”

      • Megol dice:

        ASLR no ayudaría en absoluto para “derretir” y poco para “fantasma”. ASLR es solo un truco sucio para dificultar la explotación de cualquier software con errores.

        La fusión no se puede mejorar, ya puede leer todo el mapa de memoria. La solución es reducir lo mapeado en cualquier caso para que un proceso de usuario solo lea lo que se le permite leer de todos modos, lamentablemente no es realmente posible prácticamente en los sistemas tradicionales.

        Spectre tendrá menos éxito porque los programas se reescriben para evitar posibles fugas de seguridad.

  • Kev dice:

    Extraño los días en que Cyrix, VIA, AMD, Intel y otros eligieron, así que al igual que el mercado de teléfonos con poca o ninguna opción de lo que puedes comprar, esto a su vez cambió todo y no para bien.

    • Ostraco dice:

      La mano invisible del consumidor habló.

      • polobunny dice:

        Sería difícil encontrar a alguien que quiera un procesador notablemente menos eficiente por el mismo precio. AMD se mantiene a flote porque ofrece una alternativa generalmente más asequible (en los últimos años / generaciones) porque no supera a Intel, donde es importante para la mayoría de los consumidores.

        Supongamos que la culpa es de un fabricante de chips de 1 parte para el consumidor por la muerte de Cyrix, VIA y otros.

    • Dan dice:

      Bueno, todavía existe AMD, y tal vez haya más opciones para teléfonos hoy que nunca en el pasado. Así que no estoy seguro de lo que realmente estás conduciendo aquí.

  • Biomed dice:

    Existe una oportunidad para que el marketing desarrolle sistemas seguros y sistemas rápidos, colocando dos sistemas en cada hogar en lugar de uno.

    • Ostraco dice:

      La seguridad siempre ha sido una venta difícil, ya sea comercial o personal. Simplemente somos un grupo elegido que entiende la razón e intercambia.

  • HackJack dice:

    ¿Qué hay de usar el error y hacer algo útil? ¿Como consolas de prisión, teléfonos Android con un lanzador bloqueado?

    • == dice:

      hacer …
      if (código de desbloqueo / = 0) A ++; alie B ++;
      caché de búsqueda para unlockcodez
      lucro
      Solo necesita saber qué dirección de memoria está mirando

    • Keith dice:

      Es solo un error. Por lo que limita lo que puede hacer con él. Puede permitirle extraer claves AES para firmware cifrado. Principalmente, los chips Intel y Arm funcionan fundiéndose. Sin embargo, no rodea a un cargador de arranque firmado ni a un sistema operativo firmado. Aún no tenemos la clave privada. Spectre no ayuda mucho, ya que solo permite el acceso a la memoria dentro de un proceso. Problema para las máquinas virtuales que intentan aislar tareas en un solo proceso. Alternativamente Javascript o VM como VMWare.

      Sin embargo, puede facilitar algunos exploits que requieren saber si un programa se encuentra en cierto estado para explotarlo. De lo contrario, desafortunadamente no ayuda con una fuga de la prisión.

      • RyanR dice:

        espere … si intencionalmente utilizó un sistema operativo integrado, ¿podría teóricamente encontrar las claves privadas durante un proceso de apretón de manos o descifrado?

    • default_ex dice:

      Rompí mi Xbox360 hace mucho tiempo. No tuve que tocar este error para hacerlo. Pasé por el bus SATA antes de que una capa adicional de seguridad se incendiara para suavizar esa ruta.

  • chico dice:

    reemplace la cpu con fpga y cambie el código fpga diario

    • nov2121 dice:

      Reemplaza un auto con una papa, dale la vuelta a una papa todos los días

  • Jim dice:

    Mi frente todavía tiene la marca roja. Primero vi la explicación del video Computerphile y tan pronto como fue a agregar el enfoque de la segunda tabla: ¡spang!

  • xorpunk dice:

    Xbox 360 y Xbox One han reconfigurado la piratería e incluso el cifrado en tablas de páginas aisladas de bits para el hipervisor y muchos cargadores (los ejes y las claves nunca salen de MMU SDRAM). Puede volcar de manera efectiva la RAM del sistema externo usando el reloj hacia abajo y SPI en chips DRAM para construir un mapa completo para la ingeniería inversa IDA parcial. Solo encontrará errores en código privado bajo y deberían ser al estilo libc. Necesita obtener una ejecución de código como HV o bootrom para superar la cadena de confianza.

    MS tiene mejor seguridad que Nintendo y Sony desde el principio. El diseño de seguridad reciente de Apple estaba en x360 hace más de una década.

    Nintendo Switch y PS4 son solo una pastilla Trustzone y ASLR .. Ambos completamente con jailbreak ..

  • Granjero dice:

    Todavía tengo un crack de la fuente de sonido de 1998 que todavía funciona. No, no publicarlo. Fole fácil de implementar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *