Búsqueda

lunes, julio 18, 2005

Jake 2.0

Foto de los protagonistas de Jake 2.0Pues no. La verdad es que no he visto aún un episodio completo de Jake 2.0, pero zapeando ayer un rato, vi un poco. En la escena que vi, el prota (supongo que era el prota) se infiltraba en un grupo de hackers que planeaban algo no muy bueno. Pasan a una habitación subterránea y se maravillan ante un megaordenador de varios Teraflops. Dicen que con esa potencia podrían reventar mil cosas, y deciden que se meterán en el sistema de vuelo de un avión lleno de jerifaltes y le harán dar vueltas hasta que no cumplan sus condiciones. Era algo así, pero insisto que sólo vi esa escena. Y sin embargo, ya vi varios errores dignos de mencionar.

El primero es el de los Teraflops, ya que dicen que el ordenador en cuestión puede ejecutar cuarenta mil millones de operaciones por segundo. ¿Y? En informática existe una medida llamada FLOPS. Es la abreviatura de FLoating point OPerations per Second, es decir operaciones de coma flotante por segundo. Como los ordenadores realizan cálculos muy rápido, lo realmente útil son los múltiplos de la unidad. Así, un Megaflops es un millón de FLOPS, un Gigaflops son mil millones de FLOPS, y un Teraflops es un billón de FLOPS (nótese que la unidad se llama FLOPS, incluso en singular). Así que si la velocidad del megaordenador ese se mide en Teraflops, estamos hablando de billones, no de miles de millones de operaciones por segundo.

Esto parece la clásica confusión entre los billones norteamericanos y europeos. En EEUU, un billón son mil millones, pero en Europa (y gran parte de Latinoamérica), un billón es un millón de millones. A veces, al doblar una película o serie estadounidense, los traductores olvidan este detalle, y los personajes hablan de billones cuando en realidad deberían decir miles de millones. Pero aquí ocurre al revés. Tal vez el guionista de turno leyó en algún sitio redactado por algún europeo que un Teraflops es un billón de FLOPS, y así lo puso. El traductor debió pensar "ja, a mí no me la cuelan, hay que poner mil millones", y así quedó la cosa.

Hay otro error, o al menos, un concepto equivocado, en el hecho de que con una máquina de esas se pueda reventar casi cualquier cosa. Está claro que la velocidad de proceso del ordenador siempre ayudará, pero para reventar sistemas, se suelen aprovechar vulnerabilidades conocidas (exploits) en los programas, debidos a errores (bugs) en los mismos. Y para eso no suele hacer falta un bicharraco de máquina como el que aparece en la serie. Hace falta conocimiento. Sólo es necesaria una velocidad exagerada cuando se realizan lo que se conoce como "ataques de fuerza bruta", es decir, probar todas y cada una de las posibles claves hasta dar con la que nos sirve. Y en un sistema que se precie de ser seguro, es inviable.

Pongamos un ejemplo: Cuando nos conectamos a una página segura en Internet (que empieza por https y nos aparece el candadito en la parde de abajo del navegador), los datos viajan cifrados por la red. Si se utilizan claves de 128 bits (que ya debería ser lo habitual, aunque aún quedan sitios que usan claves más pequeñas, de 56 ó 40 bits), resulta que tenemos 3,4 x 1038 claves posibles, es decir, 340 sextillones (europeos). Supongamos que cada intento con consume una única operación de coma flotante. A 40 Teraflops, necesitaríamos 2,698 x 1017 años, es decir, casi 270 mil billones de años (¿Petaaños?) para probar todas las claves posibles. Y eso suponiendo que cada intento sea una única operación de coma flotante, cosa que no es así, ya que la encriptación y desencriptación de datos requiere varias operaciones.

Por eso, realmente no importa mucho la velocidad de proceso, a menos que la vulnerabilidad consista en poder reducir a un número mucho más pequeño el número de posibilidades, a partir de otros datos, y realizar un ataque de fuerza bruta sobre ese conjunto reducido.

Y por último, hay que mencionar el hecho de poder entrar en el sistema de vuelo de un avión, en pleno vuelo, piratearlo, y hacerse con el control. Vamos a ver, para piratear un sistema, el que sea, lo primero que hay que tener es acceso físico a él. Un ordenador sólo puede ser atacado a distancia si se encuentra conectado a una red, accesible desde el ordenador atacante. O dicho de forma más sencilla, si no estás conectado a Internet (ni a ninguna otra red), tu ordenador está totalmente a salvo de cualquier tipo de ataque. Sería necesario que el hacker se sentara delante de él o te hiciera llegar un disco (flexible, CD o DVD) infectado, que tú mismo debes meter en el ordenador. Parece bastante lógico suponer que los sistemas de un avión no están conectados a una red de esa forma.

Y aun en el imposible caso de que pudieran piratear el sistema de vuelo del avión, bueno ¿y qué? Todo sistema automático se puede desconectar. Los aviones pueden ser pilotados manualmente. Es más, el movimiento de alerones y demás, se realiza de forma hidráulica, mediante pedales, timón y palancas, sin que ningún sistema informático controle nada.

En fin, intentaré ver un episodio entero, ya que veo que esta serie dará mucho de sí en este blog.

3 comentarios:

  1. Claro que no me molesta. Siempre se aprende de los errores :-)

    ResponderEliminar
  2. Con la serie, ví dos episodios y me decepcionó. Eso sin meterme a los detalles de ciencia ficción de la serie.

    Hace poco ví la extra (trailer) de la película "Stealth" (no recuerdo su título en castellano). Me parece que tendrás bastante que extraerle a la cinta para tu blog.

    ResponderEliminar
  3. Una puntualización sobre aviones: en muchos aviones modernos (y no hablo de cazas militares que NO pueden volar, como el F16 o el Eurofighter) si se cae el sistema informático... pues... crash. A los Airbus me remito.

    Y no, el Eurofighter no puede volar. Lleva un ordenador que le dice que vuele, pero como casque, el avión es tan inestable que caería como una piedra

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.