Mostrando entradas con la etiqueta IBM. Mostrar todas las entradas
Mostrando entradas con la etiqueta IBM. Mostrar todas las entradas

jueves, julio 31, 2025

Los Chips Fotónicos de LightMatter revolucionan la industria de los Chips de Silicio

La informática ha ido evolucionado bajo el zumbido y el calor de los tubos de vacío del ENIAC - incluso la MANIAC de Von Neumann - el clic metálico de los relés de IBM, la revolución del transistor y la salvaje miniaturización de los chips CMOS. Cada salto iba comprimiendo la potencia poco a poco, primero era una habitación entera hasta finalmente caber en la palma de la mano. Pero hoy, estamos llevando al límite la Ley de Moore y exprimir cada nanómetro del silicio, volvemos a sentir que se acerca otro salto, uno grande y no, no hablamos de la computación cuántica (que ojo, llegará y que también tiene su versión fotónica cuántica pero eso es otro tema).

Figura 1: Los Chips Fotónicos de LightMatter revolucionan
la industria de los Chips de Silicio

Además, con el gran avance de la IA, las GPU de consumo superan los miles de euros (si la encuentras), y añadir transistores ya es casi tan caro como lanzar un satélite al espacio. Por cierto, si quieres conocer más sobre la evolución tecnológica, así como otras historias de hackers, te recomiendo nuestro libro MicroHistorias. Una fantástica lectura para este verano.

Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

Pero volviendo al tema de hoy, en mitad de la revolución de la Inteligencia Artificial y la computación cuántica, entra en escena la computación fotónica, un relevo sorpresa que no utiliza electrones, sino haces de luz procesar. Lightmatter acaba construir el primer procesador fotónico que ejecuta modelos complejos de IA y con la misma fidelidad que una GPU de 32 bitsY no es un prototipo con cables colgando en un laboratorio oscuro en un sótano, es hardware ya montado en rack, terminado, funcional, con varios chips fotónicos individuales y más de un millón de componentes ópticos, listo para enchufarse. 

Igual que el transistor envió al tubo de vacío al museo, los fotones pueden sacarnos del atasco actual. Puede que aún convivan con el silicio, como los motores eléctricos con los de combustión, pero el mensaje está claro: estamos delante del siguiente gran salto, el nuevo transistor.

¿Por qué es tan grande este salto?

Las barreras actuales de la microelectrónica no están en la lógica, sino en el tremendo coste que paga cada bit para moverse: la resistencia capacitancia de los interconectores y la energía que se evapora como calor al cambiar cargas a varios  GHz. A cada nueva capa litográfica, los transistores mejoran muy poco mientras las líneas de cobre apenas se hacen más pequeñas, y el coste energético por trasladar datos entre memoria y cómputo ya triplica al de la operación matemática en sí.

Figura 4: WDM

La computación fotónica se centra justo en ese cuello de botella: dentro de una guía de onda, los fotones viajan sin cargas que cargar o descargar y admiten multiplexación por longitud de onda (WDM) (algo así como varios “colores” circulando simultáneamente), lo que dispara el ancho de banda y baja la energía por bit a niveles de femto julios (una milbillonésima parte de un julio).

Dentro del Procesador de Lightmatter: Claves Técnicas y Potencial

En el núcleo de este chip hay seis procesadores apilados en 3D que integran 50.000 millones de transistores CMOS y un millón de componentes ópticos: los photonic tensor cores, arreglos de los moduladores Mach Zehnder que antes hemos mencionado, que ejecutan multiplicaciones analógicas a la velocidad de la luz y en decenas de longitudes de onda simultáneas gracias al WDM, mientras un control digital orquesta buffers, redes en chip y conversiones AD/DA.


Para mantener la precisión de redes como ResNet 50, BERT o modelos de RL sin reentrenar, el sistema introduce el formato Adaptive Block Floating Point (ABFP), que comparte exponente por bloques y limita cada mantisa a 10–12 bits, complementado con ganancia analógica programable que amplifica la señal antes del muestreo y captura los bits más débiles sin aumantar el consumo del ADC (Analog to Digital Converter).


Todo esto cabe en un paquete tipo PCIe que ofrece 65,5 TOPS con apenas 78 W eléctricos y 1,6 W ópticos (~0,85 pJ/op), se programa desde PyTorch o TensorFlow sin cambios de modelo (es decir, los actuales sirven) y, conectado mediante la interconexión fotónica Passage, escala a racks enteros donde la luz ya no solo mueve datos también los procesa, multiplicando el ancho de banda, recortando la latencia. Creo que, llegados a este punto, tenemos más claro que estamos entrando en una era post transistor.

Impacto y futuro de la tecnología

Pero pensemos por un momento lo siguiente. Estamos hablando de una tecnología que es básicamente un rayo de luz que se convierte en cálculos y una tarjeta PCIe que es el equivalente óptico de un pequeño datacenter. Los nuevos ingenieros/as de esta tecnología tendrán que jugar con rayos de luz multicolor, los desarrolladores/as crearán programas que se compilarán en ajustes de fases y longitudes de onda, y una nueva ciberseguridad (ojo a esto) decidirá cómo proteger un recurso que viaja literalmente a la velocidad de la luz.


Figura 7: Lightmatter InterConnect Launch Event at OFC 2025

Y este es el verdadero impacto: si hoy aprendemos a procesar información con un coste significativo, mañana podríamos equipar cada marcapasos, cada sensor IoT y cada IA local con inteligencia de alto nivel, sin el desperdicio brutal actual de los megavatios ni al silicio cada vez más caro y limitado. 

Este no es sólo el siguiente paso una la curva de rendimiento. Hablamos de imaginar aplicaciones que ya no dependen de los viejos límites térmicos, a diseñar soluciones que iluminen (nunca mejor dicho) las zonas oscuras aún no exploradas de la tecnología mientras esperamos la computación cuántica.

Happy Hacking Hackers!!! 

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

lunes, abril 21, 2025

"Daisy Bell" La canción que cantó una máquina: Del IBM 7094 a HAL 9000 (y a las DeepFakes de Voz hechas con IA)

Hoy os traigo una "microhistoria" peculiar que tiene que ver con la historia de la tecnología. Es una historia de esas que empieza con una sonrisa y termina con un escalofrío. Are you ready?  Vamos a remontarnos a un momento concreto, a un laboratorio concreto, y a una canción que, aunque suena muy inocente, esconde entre líneas un mensaje que (si lo escuchas con atención) te pone los pelos de punta...

Figura 1: "Daisy Bell" La canción que cantó una máquina.
Del IBM 7094 a HAL 9000 (y a las DeepFakes de Voz hechas con IA)

Un año: 1961. Un lugar: Bell Labs, New Jersey. Un protagonista: un ordenador llamado IBM 7094Imagina un ordenador tan grande como una habitación, con bobinas magnéticas girando, luces parpadeando, y un grupo de ingenieros rodeándolo como si estuvieran a punto de traspasar una frontera.
No hay pantallas planas, ni interfaces gráficas, ni asistentes de voz. Solo código, cables, y un zumbido constante. En ese ambiente nació uno de los momentos más extraños y fascinantes de la historia de la informática.Es el IBM 7094, tan magnífico como lo puedes ver en la imagen siguiente en todo su esplendor. 


En el centro de esta escena, un grupo de genios —John Larry Kelly Jr. y Carol Lochbaum entre ellos— estaban experimentando con algo nuevo. Algo que hoy nos parece cotidiano, pero que en aquel entonces era pura ciencia ficción: hacer que una máquina hablara.

Figura 4: El corazón de Bell Labs. Ordenadores
y cerebros brillantes conspirando juntos.

Efectivamente, se trataba de los primeros experimentos de síntesis de voz... Pero no se conformaron con eso. Y es que el equipo contaba también con el compositor Max Mathews, del que hoy lunes se cuentan 21 años de su fallecimiento y lo queremos recordar hoy, como uno de los padres de la música por ordenador

La canción elegida:


Esta canción, compuesta en 1892 por Harry Dacre, se podría describir como inofensiva, pegadiza, incluso un poco cursi. Pero no la eligieron sólo por la palabra “Bell” en ambos nombres “BELL Labs”-“Daisy BELL”. En realidad fue porque había algo en su estructura melódica que la hacía ideal para el experimento: notas simples, frases cortas, ritmo regular. Perfecta para que una máquina diera sus primeros pasos en el mundo de la voz sintética.

Y entonces ocurrió.

En el siguiente vídeo podéis escuchar la canción como sonaba originalmente, y leer la letra. La imagen es la partitura original de “Daisy Bell” de Harry Dacre, 1892

Figura 5: Grabación más antigua conservada de la canción “Daisy Bell”, 1894.

El sonido es la grabación más antigua que se conserva, cantada por Edward M. Favor en 1894 para Edison Phonograph Company... ¡La grabación es de hace más de 130 años!

La primera vez que una máquina cantó

En 1961, el IBM 7094, programado por John Larry Kelly Jr. y Carol Lochbaum, y acompañado por otro ordenador con la instrumentación programada por Max Mathews, cantó. Cantó de verdad. No sólo emitió sonidos. Cantó una canción reconocible, con letra, con melodía, con esa voz robótica que tanto nos recuerda hoy a los primeros sintetizadores de los años 80... Pero que en aquel momento era completamente inaudita. Imagina estar allí y escuchar por primera vez a una máquina decir:

“Daisy, Daisy, give me your answer, do...”

Dicen que los presentes se quedaron en silencio. No sabían si aplaudir... O apagar el sistema y salir corriendo.

Figura 6: Daisy Bell cantada por el IBM 7094

En el vídeo anterior tenéis un fragmento original del IBM 7094 cantando "Daisy Bell", una rareza de museo digital. Si quieres, escúchalo con auriculares, a solas y con poca luz... 

Pero aquí no acaba la historia

Años después, un escritor británico llamado Arthur C. Clarke visitó en Bell Labs a su amigo, el ingeniero y escritor de ciencia ficción John R. Pierce. El equipo le mostró la demo: Clarke quedó tan impresionado que tomó nota mental. 

Y cuando escribió su famosa novela "2001: Una odisea del espacio", incluyó la escena completa de aquella voz robótica entonando “Daisy Bell”.

Figura 8: Artur C. Clarke en uno de los sets de “2001: Una odisea en el espacio”.

Artur C. Clarke incluyó la experiencia tanto en la novela como en el guión cinematográfico, ambos de 1968, y la convirtió en una de las escenas más icónicas del cine: HAL 9000, el ordenador con inteligencia artificial, cantando Daisy Bell mientras lo desconectan. Un canto fúnebre. Una despedida. Un aviso.

Figura 9: HAL 9000 cantando Daisy Bell 

HAL 9000, el heredero emocional del IBM 7094. A veces las máquinas también cantan antes de morir. La ficción imita a la realidad... ¿O es al revés? Stanley Kubrick inmortalizó la escena en su película. HAL 9000, frío, lógico, brillante... Y de repente, profundamente humano en su última petición: cantar una canción de la infancia tecnológica. Un recordatorio de sus orígenes. Un último suspiro de algo que quizás, después de todo, no sabemos si estaba tan claro que no tuviera alma.

¿Por qué importa esto hoy?

Porque todo empezó aquí. La síntesis de voz, los asistentes virtuales, la música generada por IA, los Deepfakes de Audio... Todo tiene su semilla en ese IBM 7094 y esa canción del Siglo XIX. Cada vez que oigas a tu móvil decirte el tiempo, a tu coche darte direcciones, o a un sistema de IA componer una canción, recuerda: hubo un momento en que una máquina entonó "Daisy" por primera vez. Y el mundo nunca volvió a ser el mismo.

¿Quién soy?

Si has llegado hasta aquí y pensabas: “Este artículo tiene toda la pinta de estar escrito por Fran Ramírez”… Te tengo que confesar algo.

¡Pues no!

Otra vez os he liado con mi avatarmanía. Hoy he intentado imitar el estilo único de Fran (desde el cariño, namasté, reverencia). Soy María. Se me ocurrió contaros esta historia tan alucinante de forma que os sonara familiar =^_^= Espero que te haya gustado, y que la próxima vez que escuches a una máquina cantar… Pienses en Daisy Bell. ¿Nos vemos en el chat de El lado del mal, en MyPublicInbox? Pues hala, ya sabes dónde encontrarme. 

jueves, abril 03, 2025

¿Qué es el "Efecto Osbourne?" Osborne Computer Corporation o "Cómo destrozar tu empresa por anunciar tu siguiente producto antes de tiempo"

En el loco y a la vez maravilloso mundo competitivo de la tecnología, a veces los fracasos son tan famosos (e importantes) como los éxitos. Osborne Computer Corporation es un ejemplo clásico de cómo una empresa innovadora, que parecía que lo tenía todo para llegar al éxito, terminó quebrando por una decisión de marketing mal calculada.

Figura 1: Osborne Computer Corporation o "Cómo destrozar
tu empresa por anunciar tu siguiente producto antes de tiempo"

En este post vamos a ver cómo una sola frase puede hundir todo un producto tecnológico y por lo tanto, a la empresa. Pero antes te recuerdo que tenemos este libro que tiene historias como ésta y muchas otras similares del mundo de la tecnología que seguro que va a encantar ;)

Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

Y ahora vamos con la historia, donde la innovación tecnológica del momento era el principal elemento de negocio de la compañía, aquí comienza....

El primer portátil … que no era tan portátil

Era el año 1981 y Adam Osborne, un excéntrico ingeniero químico convertido en empresario tecnológico, lanzó el Osborne 1, considerado el primer portátil comercial exitoso. Aunque lo de portátil era relativo: pesaba 10,7 kg (que es como cargar una caja de herramientas llena) y tenía una pequeña pantalla monocromo de tan solo 5 pulgadas (menos que tu smartphone). Si no tenías buena vista era bastante complicado trabajar con él:


Pero en aquella época fue toda una revolución ya que estaba equipado con dos disqueteras de 5”1/4, procesador Zilog Z80 a 4 MHz, 64 KB de RAM (KB no MB) y un paquete de software valorado en más de 1.500 dólares, todo incluido por tan solo 1.795 dólares.

Figura 4. Osborne 1.

Para la época, era una ganga total. Adam Osborne estaba tan emocionado y contento con su producto que llegó a decir que él era el "Henry Ford de la informática", porque estaba democratizando los ordenadores. Ahora veremos que en parte sí pero no le salió también como esperaba.

El "efecto Osborne"

Osborne Computer Corp creció muy rápidamente, vendiendo hasta 10.000 equipos al mes en 1982. Pero entonces llego su error histórico: en 1983, Adam Osborne anunció de forma muy prematura su próximo modelo, el Osborne Executive, prometiendo grandes mejoras y avances. Pero claro, los clientes y distribuidores inmediatamente dejaron de comprar el Osborne 1, esperando el nuevo modelo.
Y esto acabo en ventas congeladas, almacenes llenos de equipos que no se vendía, y una situación bancarrota en cuestión de meses. Este error de marketing pasó a la historia como el "efecto Osborne" y hoy se utiliza como ejemplo de lo que nunca debes hacer en marketing tecnológico, es decir no anunciar el futuro si quieres seguir vendiendo el presente.


Finalmente, el Osborne Executive salió al mercado, pero ya era muy tarde. Para cuando estuvo disponible, la competencia ya había tomado el mercado con otros productos igual o mejores. Como curiosidad, Apple en ese mismo año 1983 ya casi tenía preparado su nuevo ordenador, el Macintosh, pero en vez de anunciarlo de forma prematura, se mantuvo en total secreto su producción y desarrollo hasta 1984 cuando salió al mercado (siendo un éxito total).

Osborne contra Apple e IBM

Cuando el Osborne apareció, Apple era la dueña del mercado con su Apple II, y, por otro lado, en 1981 IBM presentó el estándar PC. Osborne para competir con ellos, apostó por la movilidad (10kg de movilidad) y precio. Pero al final el Osborne 1 ofrecía por menos de 2.000 dólares lo que un IBM o Apple bien equipado ofrecía por el doble. Hasta aquí bien pero la ventaja duró muy poco.


Apple empezó a ser un líder indiscutible los campos de la educación y hogares, e IBM creó un estándar que permitió portátiles compatibles como el Compaq Portable, lanzado en 1983, que superó fácilmente al Osborne.

Figura 8: El primer ordenador compatible IBM, el Compaq Portable

La historia del Compaq Portable es fascinante y fue la inspiración para la magnífica serie “Halt and Catch Fire”, pero eso es otra microhistoria ;)

Un fracaso inspirador

Aunque Osborne Computer Corporation fracasó estrepitosamente, dejó un par de mensajes importantes en la industria:
  • Acuñó el término "efecto Osborne", una advertencia eterna para las empresas tecnológicas.
  • Abrió el camino para los ordenadores verdaderamente portátiles, demostrando que había mercado para equipos móviles.
Adam Osborne, después del fracaso de su empresa, intentó regresar al mundo tecnológico vendiendo "clones" baratos de programas famosos como Lotus 1-2-3. Pero terminó en otro desastre legal y empresarial, cerrando de esta forma un serie de éxitos y fracasos tecnológicos. Pero un aspecto interesante de Osborne fue su filosofía empresarial poco convencional. 


Osborne creía que un producto no necesitaba ser perfecto, sólo debía ser lo suficientemente bueno para cumplir su función a un precio razonable. Esta idea que hoy podría ser algo más o menos normal, en los ochenta era revolucionaria, especialmente en una industria que estaba dominada por grandes gigantes tecnológicos que apostaban por productos muy robustos, acabados y perfectos pero muy caros.

 Final Thoughts

A pesar del desastroso final, Osborne nos dejó una valiosa lección: la innovación siempre debe ir acompañada de una buena idea (a veces muy loca), mucha cautela y una buena planificación estratégica. Hoy día, cada vez que una empresa tecnológica planea anunciar un nuevo producto, todos evitan ser víctimas del “efecto Osborne” ;)

Happy Hacking Hackers!!! 

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

miércoles, marzo 12, 2025

Del iMac G3 de Apple a volar al espacio en el Rover Perserverance: La historia del IBM PowerPC G3 RAD750

Cuando pensamos en misiones espaciales, solemos pensar en tecnologías modernas y avanzadas, con la máxima potencia y capacidad de procesamiento. Sin embargo, hay una curiosa conexión entre el Rover Perseverance de la NASA, que aterrizó en Marte en febrero de 2021, y el Apple iMac G3 de 1998: ambos comparten el mismo procesador: el IBM PowerPC 750 (PowerPC G3).

Figura 1: Del iMac G3 de Apple  a volar al espacio en el Rover Perserverance.
 La historia del  IBM PowerPC G3 RAD750

El IBM PowerPC 750, también conocido como PowerPC G3, es un microprocesador de arquitectura RISC desarrollado por IBM y Motorola en 1997. Cuenta con un solo núcleo, una velocidad de 233 MHz y alrededor de 6 millones de transistores aproximadamente. En su época, destacó por su eficiencia y por incorporar innovaciones como la predicción dinámica de ramas.


Pero, si hoy en día los procesadores superan los 5 GHz y cuentan con múltiples núcleos capaces de procesar tareas en paralelo con una eficiencia superior, te estarás preguntando: ¿por qué la NASA sigue apostando por chips de hace décadas en sus misiones espaciales? La respuesta es simple: en el espacio, la fiabilidad y la resistencia son mucho más importantes que la potencia bruta.

Diferencias clave entre el iMac G3 y el rover Perseverance

Aunque el PowerPC 750 es la base de ambos dispositivos, el procesador del Rover Perseverance es una versión reforzada denominada RAD750, fabricada por BAE Systems. Estas son sus principales diferencias:
  • El RAD750 está diseñado para soportar hasta 200.000 rads de radiación y temperaturas extremas, algo esencial para operar en Marte. En cambio, el procesador del iMac G3 no sobreviviría ni un segundo en ese entorno.
  • Mientras que el iMac G3 ejecutaba Mac OS 8/9, el Perseverance utilizaba VxWorks, un sistema operativo en tiempo real (RTOS), diseñado para gestionar operaciones críticas con total precisión y sin margen de error.
Aunque en teoría comparten la misma arquitectura, el iMac G3 y el Rover Perseverance juegan en ligas completamente distintas.

Por que la NASA usa procesadores “antiguos” en el espacio

Como mencionamos antes, el RAD750 no es un procesador común, sino una versión altamente reforzada del PowerPC 750. La razón por la que la NASA sigue utilizando estos chips, a pesar de su antigüedad, no tiene que ver con la potencia o la velocidad, sino con la fiabilidad, resistencia y control absoluto.
  • Resistencia extrema a la radiación y condiciones espaciales
En el espacio, los procesadores están expuestos a una gran cantidad de radiación cósmica y partículas cargadas. En la Tierra, nuestra atmósfera nos protege de estos efectos, pero en el espacio, pueden dañar gravemente los circuitos de un chip moderno. Por ello, la NASA utiliza el RAD750, diseñado específicamente para resistir radiación extrema. Además, cuenta con transistores más grandes y trazas más gruesas, lo que lo hace mucho más resistente a este tipo de radiación y capaz de soportar condiciones extremas, soportando temperaturas de -55°C a 125°C.
  • Fiabilidad: No hay margen de error en el espacio.
En la Tierra, si un ordenador falla, simplemente lo reiniciamos o reemplazamos sus componentes. Pero en el espacio, esto no es una opción. Un fallo en el espacio no se puede solucionar con un simple reinicio, y podría suponer el fin de la misión. Por esta razón, la NASA utiliza chips completamente probados, cuyo comportamiento se conoce al 100%. Los procesadores más modernos son mucho más complejos y hay más cosas que pueden fallar.

El RAD750, al basarse en una arquitectura probada durante décadas, permite prever todos sus posibles fallos y modos de error. Su diseño simple y predecible lo hace mucho más fácil de controlar en situaciones críticas y es más fácil garantizar su correcto funcionamiento en todas las condiciones posibles.

Este chip, con un precio de más de 200.000 dólares, es un veterano de múltiples misiones espaciales. Aunque su potencia es baja comparada con los procesadores actuales, ofrece algo mucho más importante:, que es la fiabilidad. Además, para minimizar riesgos, el Rover Perseverance cuenta con:
  • Dos sistemas informáticos redundantes, ambos equipados con el RAD750, para garantizar su funcionamiento en caso de fallo.
  • Una tercera unidad dedicada al procesamiento de imágenes.
  • El Helicóptero Ingenuity, cuyo software es código abierto escrito para Linux.
Suficientes para las necesidades de una misión espacial

En las misiones espaciales no se necesita tanta potencia ni rendimiento. Tareas como procesar datos de sensores, navegación y comunicación con la Tierra no requieren una gran potencia de cálculo, sino estabilidad y fiabilidad absoluta.  A pesar de su antigüedad, la NASA sigue confiando en el RAD750 en misiones críticas. De hecho, la nave espacial Orion también usa el RAD750. Como explicó Matt Lemke, subdirector de aviónica de Orion:

"Comparado con un Intel Core i5, es mucho más lento… probablemente no sea más rápido que tu teléfono. Pero en el espacio, no buscamos velocidad, sino robustez y fiabilidad. Necesitamos asegurarnos de que siempre funcionará."

En exploración espacial, lo más nuevo no siempre es lo mejor. La clave no está en la potencia, sino en usar tecnología probada y fiable, capaz de soportar las condiciones más extremas sin fallar.

¿Qué hace especial al RAD750?

Aunque el RAD750 no es el procesador más rápido, es un verdadero superviviente del espacio. Algunas de sus características más destacadas:
  • Es un procesador RISC con 6 unidades de ejecución y soporte para ejecución fuera de orden, lo que le permite procesar varias instrucciones simultáneamente.
  • Cuenta con caché L1 de 32 KB para instrucciones y datos, con asociatividad de 8 vías, y compatibilidad con caché L2 externa de hasta 1 MB.
  • Predicción de ramificación dinámica, incluyendo una tabla de historial de ramas (BHT) y una caché de destino de saltos (BTC) para optimizar el flujo de ejecución. Gracias a esto, el procesador reduce los tiempos de espera y mejora su eficiencia en tareas repetitivas.
  • Funciona con una alimentación de 2.5V en el núcleo y soporta interfaces de 2.5V y 3.3V en sus entradas y salidas.
  • Puede soportar hasta 200 krad(Si) de radiación y está diseñado para resistir Single Event Upsets (SEU) y Single Event Transients (SET)
  • En misiones de larga duración, puede operar en modos de bajo consumo, reduciendo su velocidad cuando no se necesita tanta potencia.
No es su primer viaje a Marte (ni al espacio)

El RAD750 no solo está en Perseverance y Orion, sino que también ha sido clave en otras naves espaciales como Curiosity, InSight, Lunar Reconnaissance Orbiter, Telescopio Espacial Kepler y Juno, entre otros.

Figura 3: El rover Perseverance operando en Marte

En conclusión: No es cuestión de velocidad, sino de resistencia y fiabilidad

El hecho de que el Rover Perseverance utilice un procesador basado en el PowerPC 750, el mismo que tenía el Apple iMac G3, demuestra que en la exploración espacial la prioridad no es la potencia bruta, sino la fiabilidad y resistencia.

Mientras que en la Tierra los ordenadores evolucionan rápidamente con procesadores cada vez más potentes, en el espacio la historia es diferente. La NASA no busca lo más nuevo, sino lo más probado. Tecnologías antiguas, como el RAD750, siguen siendo la mejor opción porque han demostrado su estabilidad en entornos extremos donde un fallo puede significar el fin de una misión.

Figura 4: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

El Apple iMac G3 y el Rover Perseverance pueden parecer mundos aparte, pero comparten una base tecnológica que sigue vigente. Esto nos recuerda que, en la ingeniería, lo más avanzado, no siempre es lo más adecuado.

¡Saludos!

Autora: Selena Sánchez (Internship en Ideas Locas)

miércoles, marzo 20, 2024

GhostRace y los Speculative Concurrent Use-After-Free Exploits basados en Spectre_v1

Hoy os voy a hablar de GhostRace, una nueva forma de explotar sistemas uniendo los ataques de Spectre y las vulnerabilidades de Use-After-Free que son tan comunes en muchos exploits como hemos visto en el pasado. Es un artículo académico muy interesante, y de muy bajo nivel, pero merece la pena que entiendas qué es lo que hace, y qué es lo que significa así que vamos a repasar un poco estas dos vulnerabilidades y cómo las utiliza GhostRace.
En el año 2018 se descubrieron los ataques de Spectre y Meltdown, donde se podría acceder a valores de memoria prohibidos, aprovechándose de la ejecución especulativa de la CPU en las arquitecturas avanzadas que tenemos hoy en día día en los microprocesadores. La idea es que la CPU, teniendo puertas lógicas en paralelo, y registros en la caché, el microprocesador puede ejecutar al mismo tiempo todas las ramas de un if.

Spectre & Spectre-PHT (Spectre v1)

Supongamos que hacemos una instrucción que sea if (X<A1+A2) then C=B1+B2 else C=B3+B4. En un entorno especulativo, para calcular C, el micro calcula en paralelo la condición y las dos ramas. Es decir, calcula X<A1+A2, C=B1+B2 y C=B3+B4, y luego, cuando tenga la respuesta a la condición, ya elige, pero eso hace que el tiempo de ejecución total del programa sea menor, porque se ha paralelizado una instrucción.
Esto, Spectre y Meltdown demostraron que podría ser un problema, si alguien ponía en una de las ramas una operación que podría ser un acceso ilegal dependiendo del valor de la condición. Por ejemplo, si tenemos una instrucción como:

if (x<100) then C=array1[X] else C=array2[X]

y la CPU hace la ejecución especulativa de las dos ramas, entonces puede ser que esté haciendo un acceso a array1[9000] cuando array1 podría tener solo 100 posiciones. Este dato, sin embargo, estará en uno de los registros de la caché, que podría ser filtrado directamente desde el registro de la caché.
Una explotación concreta de esta técnica se publicó en el año 2019, llamada  Spectre-PHT o llamada como Spectre v1, que se hace con un ejemplo como este que podéis ver en la imagen siguiente. Debido a las protecciones contra Spectre y Meltdown, el ataque de Spectre-PHT, llamado también Spectre v1, hace una operación como la siguiente, en la que se hace una comparación del valor x con la longitud de un array - controlado por el atacante -, para luego ejecutar el acceso a una posición de memoria concreta. 

Figura 4: Un ejemplo de Spectre-PHT

Si durante varias peticiones x está dentro de los límites de array1 y el atacante se asegura que no se ha cacheado ningún valor de array2 lo que va a suceder es que la CPU va a predecir que el valor de esa comparación podría ser True, y por tanto comenzará la ejecución especulativa de la parte del "then", metiendo en la caché del microprocesador la información de una determinada zona de memoria, asumiendo que la comparación previa va a ser True.

Cuando el atacante introduce un valor X fuera de los límites, se supone que no debería ejecutarse la parte del "then" de la comparación porque está fuera de los límites, pero en el registro de la caché estará cargado el valor de la zona de la memoria que se había especulado - y que está fuera de la memoria accesible en array1[x] -  asumiendo previamente que el IF podría ser True.  Esto quiere decir que en la caché está guardado el valor de array2[array1[x]*0x100] siendo array1[x] un valor cargador de dirección de memoria prohibida que se ha cargado en la caché, junto con el valor de array2[array1[x]*0x100]

Ahora, recorriendo el rango de posibles registros de memoria de array[2], se podrá saber cuál es valor de un byte que se ha leakeado, porque estará cacheado en un registro del microprocesador, y por tanto el acceso a ese array2[y] que se obtendrá será mucho menor que el acceso a las demás posiciones porque está cacheado en una zona de muy baja latencia de acceso, y por tanto se podría saber el valor que había en array1[X] (el valor prohibido), haciendo una sencilla ecuación que es y/0x100 = valor que hay en la dirección de memoria prohibida más allá de los límites de array1 que está en array1[x].

Esta técnica permite, haciendo algo como lo visto en la Figura 4, tener un SRC "Speculative Race Condition" que nos da un Information Disclosure o "Speculative Information Disclosure" para er más exactos del  valor de una posición de memoria prohibida. Esa posición de memoria puede ser un puntero, con información importante para generar un exploit, o una zona de memoria que nos ancle para poder saltar el KASLR (Kernel Address Space Layaout Randomization) que aleatoriza las direcciones de carga de programas en el Kernel. Si quieres conocer más de cómo funcionan las protecciones de memoria en los sistemas operativos, te recomiendo los libros de Linux Exploiting y de Máxima Seguridad en Windows.

Use-After-Free

Las vulnerabilidades de Use-After-Free son muy comunes en muchos programas cuando no gestionan de forma segura la memoria dinámica. La idea es tan sencilla como que un programa cargue en el Heap dun segmento de código de un programa apuntado por un puntero. Después, esa zona de memoria del Heap se elimina, pero el puntero no se elimina haciéndole apuntar a NULL

Figura 6: Ejemplo de Use-After-Free

Si esto es así, un atacante podría cargar en esa zona de memoria un programa controlado por él, y conseguir que el puntero estuviera apuntando a su programa, por lo que podría después se ejecutado haciendo que el código apuntado por ese puntero consiga la ejecución del contador de programa. 

Figura 7: Linux Exploiting

Cargar el programa a ejecutar en una zona de memoria donde se ha cargado código de la víctima previamente, ayuda a saltarse el DEP (Data Execution Prevention) al ser zonas de memoria marcadas para ejecución de código y no datos. Esta es una técnica clásica de construcción de explotis, y en el libro de Linux Exploiting se estudia en un capítulo, como podéis ver aquí en el índice.

Figura 8: Índice del libro de Linux Exploiting

Evitar esto, es tan sencillo como asegurase de eliminar todos los punteros al heap de ejecución y no dejarlos colgados apuntando a zonas de memoria que han sido liberadas en el heap, y para eso hay protecciones en los kernels de los sistemas operativos, con el objetivo de que no pase esto.

GhostRace

Llegados a este punto, ya podemos mezclar las dos técnicas de ataque, es decir, los ataques de Spectrev1 para saltarse mediante SRC (Speculative Race Conditions) y SID (Speculative Information Disclosures) las protecciones del kernel contra acceso concurrente sincronizados para regiones críticas como mutex o spinlocks que no aplican en ejecución especulativa, y ejecutar ataques Use-After-Free, en lo que llaman en el paper de GhostRace los Speculative Concurrent Use-After-Free (SCUAF).
Al final, para hacer un exploit hay que lograr que conseguir encontrar un punto del código que sea una vulnerabilidad de UAF, para conocer en qué posición de memoria hay que cargar el segmento de código con el exploit. Para evitar ello, el kernel tiene protecciones con los punteros que evitan que se pueda acceder al valor de esos punteros en el kernel como Kaslr, pero con una explotación especulativa con Spectre_v1 se puede conseguir una condición de carrera que consiga acceder a ese valor, tal y como se ha visto antes.
Para conseguir eso, en el artículo hacen ejemplos de construcciones de Speculative Race Conditions basadas en Spectre_v1 para lograr ataques de Speculative Information Disclosure y Speculative Hijacking Control Flow, que son piezas necesarias para hacer un exploit SCUAF funcional, que pueda ejecutar código arbitrario incluso con las protecciones contra UAF en el kernel del sistema operativo.

Conclusiones

El paper de GhostRace hace todas las primitivas en ramas especulativas, por lo que todas dependen de generar condiciones de carrera en ramas especulativas (SRC Speculative Race Conditions) con zonas de memoria prohibidas para acceder a la información almacenada en ellas. Resolver este problema implica poner protecciones extras en el microprocesador, o en el kernel para evitar las explotaciones de Spectrev1 que se pueden hacer hoy en día en las CPUs afectadas, pero esto implica una perdida masiva de rendimiento, por lo que no hay planes en Linux de hacer estos cambios. Un bonito panorama para los fabricantes de microprocesadores, programadores de hipervisores, cloud software de base y kernel de sistemas operativos.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, enero 27, 2023

ChatGPT, OpenAI y los créditos de Azure que pueden colocar a Microsoft como líder mundial en Inteligencia Artificial

Las oportunidades solo pasan una vez en la vida y hay que aprovecharlas. En agosto de 1980, IBM se reunió con una pequeña empresa de Seattle que se acababa de fundar y que tenía unos pocos empleados. Esta empresa se llamaba Microsoft. IBM buscaba licenciar algunos programas como por ejemplo un BASIC para su nuevo IBM PC, un Pascal, un Cobol y algún otro software más orientado al nuevo y maravilloso microprocesador 8086

Figura 1: ChatGPT, OpenAI y los créditos de Azure
que pueden colocar a Microsoft como
líder mundial en Inteligencia Artificial

Pero faltaba una cosa, IBM necesitaba urgentemente un sistema operativo. Uno de los empleados y fundadores, llamado Bill Gates (seguro que te suena) les dijo que ellos no tenían ninguno desarrollado pero les puso en contacto con Gary Kildall, creador del sistema operativo CP/M.


El equipo de IBM se presentó en casa de Kildall al día siguiente para llegar a un acuerdo. Él no se encontraba en casa, pero su mujer tenía preparado un borrador de contrato para entregarle a IBM (algunos dicen que fue un error no estar presente en persona para tratar con el gigante IBM). Pero por un motivo o por otro, el acuerdo no se llevó a cabo.  Parece ser que el calendario propuesto por IBM y el dinero para la inversión no eran suficientes para Kildall por lo que rechazó el proyecto. No era sencillo desarrollar una versión de 16bits del CP/M en poco tiempo. De todas formas, dejando de lado los motivos, Digital Research, la empresa de Gary Kildall, dijo no al contrato con IBM.

Figura 3: "Microhistorias: anécdotas y curiosidades de la historia de la
informática (y los hackers)
"de Fran Ramírez y Rafael Troncoso en 0xWord

Unos días después, en otra reunión con Microsoft, IBM les contó el problema con Kildall y el CP/M. Después de la reunión, Paul Allen, fundador también de Microsoft, le propuso a Bill Gates una alternativa para quedarse ellos con el negocio. Había un tipo llamado Tim Paterson (que trabajaba en una empresa de Seattle llamada SCP) que había desarrollado un prototipo de un sistema operativo llamado QDOS que funcionaba en microprocesadores de 16bits. Aunque Bill Gates no estaba seguro del proyecto, Allen lo convenció para invertir 10.000$ en QDOS. Estaba a punto de nacer el famoso MSDOS.


Y aquí viene la genialidad del acuerdo. IBM esperaba que Microsoft le pidiera royalties por cada copia vendida pero lo que propuso Microsoft fue que les ayudara a desarrollar el software partiendo de QDOS y que además ese software final les permitiera venderlo a otras compañías. En principio IBM pensaba que era un buen acuerdo para ellos y malo para Microsoft, el cual perdería ganar dinero por cada IBM PC que tuviera un MSDOS instalado. Pero claro, nadie esperaba el boom informático de clónicos en los años venideros que provocó que Microsoft se convirtiera en gigante que es hoy día. Nadie excepto Bill Gates y Paul Allen.

OpenAI y Microsoft

Volviendo al presente, parece que esta historia se puede repetir, esta vez en el mundo de la Inteligencia Artificial. OpenAI era en principio una organización sin ánimo de lucro creada por Elon Musk y Sam Altman (creador de Y Combinator). Su lema era crear un desarrollo justo de la Inteligencia Artificial para beneficiar a la Humanidad. A partir de aquí se crearon proyectos realmente revolucionarios como Gym (enfocada a crear modelos entrenados con aprendizaje reforzado), Universe, etcétera.


Dejando de lado todas las controversias desde que Elon Musk dejó su cargo en OpenAI en 2019, y su modelo de “sin ánimo de lucro” toma un nuevo rumbo. El motivo, conseguir un ámbito mixto, desde el cual poder sufragar su supervivencia haciendo negocio con sus aplicaciones desarrolladas. Y aquí es donde OpenAI abre su concurso de inversores externos y en el año 2019 aparece Microsoft donde invierte 1.000 Millones de USD
 
Desde luego una inversión arriesgada cuando el único producto que había era una versión temprana de GPT-3, pero de nuevo Microsoft (y es justo decir que Satya Nadella tiene mucha parte importante en este éxito) tenía claro que en un futuro no muy lejano, sacaría partido de esta inversión. Recordemos que los modelos generativos de artes o texto como ChatGPT eran aún Ciencia Ficción.

ChatGPT y los créditos Azure

No voy a explicarte qué es ChatGPT y cómo funciona ya que en este artículo creado por nuestro compañero Javier del Pino, se habla en profundidad. Resumiendo, ChatGPT es un modelo conversacional (basado en la versión de GPT-3.5) el cual puede interactuar respondiendo a preguntas en cualquier idioma e incluso generar código fuente de una forma extremadamente cercana al ser humano. Antes hemos comentado que Microsoft, en 2019 invirtió mil millones de dólares en OpenAI pero no te he contado un detalle que es muy importante en toda esta historia: gran parte de ese dinero estaba en forma de créditos cloud en Azure.

Figura 6: ChatGPT

Y este punto es clave para entender toda la genialidad de este acuerdo. En el mundo de la Inteligencia Artificial el mayor coste para desarrollar nuevos productos o investigaciones es la gran cantidad de computación necesaria para, por ejemplo, entrenar los modelos. Y este se convierte en el mayor problema económico para cualquier empresa de Inteligencia Artificial que quiera vivir de este negocio. Así que ya nos podemos imaginar la alegría de los trabajadores de OpenAI cuando les dijeron que tendría prácticamente poder de computación ilimitado para entrenar sus modelos.


ChatGPT es una auténtica revolución con una proyección de negocio de millones de dólares y un impacto social que aún sólo estamos viendo la punta del iceberg. No estamos hablando de una tecnología creada sólo para personal cualificado, es una tecnología que puede utilizar cualquier persona para prácticamente resolver cualquier tipo de duda o problema usando, además, lenguaje natural. Hoy día se deberían de abrir telediarios con esta noticia, como bien dice el gran DotCSV, pero parece que, por aquí en nuestro país y prácticamente en toda Europa, no hemos captado aún la magnitud de este avance (en EEUU ha habido un eco importante en las noticias).

Presente y futuro

OpenAI puede trabajar desde prácticamente sus comienzos sin pensar en los altos costes de computación derivados de los complicados y costosos procesos de entrenamiento, de eso se encarga Microsoft. Esto es una gran ventaja, pero también crea una gran dependencia de la nube de Microsoft, que ha ido creando una relación empresarial sólida entre ambos durante estos años. Y esta ha llegado a su momento máximo cuando hace unas semanas, se ha anunciado un acuerdo de 10.000 Millones de USD entre Microsoft y OpenAI

Y claro, parte de esos millones de dólares ¿sabéis a dónde irán a parar?, eso es, a la nube de Azure. Un negocio redondo. OpenAI necesitaba urgentemente este acuerdo ya que mantener ChatGPT es muy costoso y sería imposible sin estos acuerdos con Microsoft y el apoyo de su nube. Para que os hagáis una idea, parece ser que OpenAI está perdiendo 3 millones de dólares por día con ChatGPT.

El nuevo modelo de negocio

Microsoft tiene claro cuál es su modelo de negocio para haber invertido esa gran cantidad de dinero. Con ChatGPT habrá miles de empresas que quieran crear servicios basados en este modelo de IA. Y claro, crear tu propio modelo y mantenerlo es algo muy costoso y complicado, así que la mayoría de estas empresas decidirán ir al modelo funcional y operativo de OpenAI. Es decir, pagarán por el acceso a una API que les devuelva los resultados realizados a la aplicación ChatGPT, que a su vez está montada con el modelo GPT-3.5 y esta arquitectura corre sobre Microsoft Azure. Jackpot!


Pero no todo es un camino de rosas para Microsoft. ChatGPT no puede soltarse alegremente e integrarlo por ejemplo a Bing, ya que os podéis imaginar, conociendo nuestra naturaleza humana/troll, en qué oscuros caminos terminaría. Así que el principal problema ahora mismo es afrontar correctamente cómo controlar cualquier tipo de bías que lleve a crear salidas de ChatGPT, o que sean racistas, con tendencias asesinas, etcéra. Y de las consecuencias que esto puede llevar ya tiene experiencia Microsoft como ya le pasó con el caso del chatbot en Twitter que se volvió racista.

Conclusión

Google y en concreto DeepMind, no se va a quedar cruzado de brazos viendo como Microsoft toma posiciones y acapara el negocio de la IA. Ellos tienen el mismo o más poder que Microsoft para replicar este mismo tipo de negocio con su gran potencia Cloud. Así que prepara las palomitas porque se acercan tiempos interesantes en el mundo de la IA y su impacto en el mundo real. Ha llovido mucho desde aquel acuerdo con IBM y la compra de QDOS, pero tiene algo en común con el negocio de diez millones de dólares con OpenAI: visión de futuro y elegir caminos que, aunque no sean los que pensamos sean los más adecuados, con el tiempo se demuestran que fueron los correctos.

Por cierto, si te ha gustado la historia de Microsoft y QDOS, recuerda que mi colega Rafael Troncoso y yo tenemos el libro de "Microhistorias: anécdotas y curiosidades de la historia de la informática (y los hackers)" en 0xWord que cuenta historias como ésta y muchas otras historias de hackers.

Happy Hacking Hackers!!! 

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares