jueves, junio 15, 2006

Redes, virus y cortafuegos

Siguiendo con la nueva serie de Galáctica, hoy voy a comentar algo que no tiene nada que ver con naves espaciales ni movimientos en el espacio, sino con la informática. Al principio de la serie, los cylones inutilizan la flota colonial mediante un virus informático que infecta sus sistemas. La Galáctica es la única nave inmune, ya que sus ordenadores no están conectados entre sí formando una red, de forma que el virus no se puede propagar, y además utiliza tecnología deliberadamente obsoleta.

Bien, en un episodio, la Galáctica debe volver a un punto del que habían huído a toda prisa debido a una Nave Base Cylón, ya que han "perdido" al resto de la flota, y deben calcular sus coordenadas a partir de donde estaban antes. Como es un cálculo complejo que puede durar horas en cualquier ordenador, y mientras tanto deben soportar el ataque de la Nabe Base (y su dotación de cazas, claro), deciden conectar entre sí los ordenadores de la nave, para que cada uno realice sólo una parte del cálculo, y así completar todo el proceso en poco tiempo. Como el unir los ordenadores en una red puede hacer la Galáctica vulnerable a al virus cylón, instalan un cortafuegos (penosamente traducido en el doblaje al castellano, como antifuego).

Bueno, de momento parece todo lógico. Es cierto que varios ordenadores se pueden unir en red, para utilizar lo que se conoce como computación distribuida. La idea básica es que a cada ordenador se le asigna un fragmento de la tarea a realizar, de forma que es como si tuvieras un superordenador con multitud de procesadores en paralelo. No es algo trivial, pero se puede hacer (y se hace). También es cierto que un cortafuegos es un elemento fundamental para evitar intrusiones en una red. Básicamente, un cortafuegos es un hardware o software, por el que pasan todas las conexiones con el exterior, de forma que se puede configurar para bloquear o permitir determinadas comunicaciones.

Fotograma del episodio, que muestra una pantalla con el progreso del virus cylón a través de los cortafuegosEntonces, ¿dónde está la malaciencia? Pues resulta que una vez completan la red y vuelven al punto de origen, los cylones intentan transmitirles el virus, como es lógico. Y aquí empieza la malaciencia. Junto con el inevitable indicador de progreso del cálculo, se nos muestra cómo el virus va atravesando poco a poco los 5 cortafuegos que han instalado, en una pantalla en la que los elementos se vuelven rojos a medida que el virus avanza. Y es que las cosas no son así en realidad. Un cortafuegos no es un pared física que pueda irse desgastando o erosionando a medida que la golpeas. Es un sencillo programa que simplemente no te deja conectarte. Y ya puedes ser un genio informático y haber diseñado el megavirus de la muerte, que si el cortafuegos está configurado para no dejar pasar nada, no hay nada que hacer. Es como si estuvieras desconectado.

Por poner una analogía más entendible, imaginemos que llamamos por teléfono a una centralita para que nos pasen con una extensión. Podemos considerar el operador que nos atiende como una especie de cortafuegos. Si le han dicho que no pase llamadas bajo ningún concepto, ya podemos gritar, llorar y patalear, que el tío no nos va a pasar la llamada.

Por supuesto, en el mundo real, no hay nada infalible. El software del cortafuegos ha sido programado y configurado por personas, que pueden haber cometido errores. Puede existir algún bug, o tener una configuración inapropiada, que permita pasar a un intruso que inicie la conexión de determinada manera. Pero para aprovechar un bug de ese tipo, hay que conocerlo y saber cómo aprovecharlo. Es lo que se conoce en informática como vulnerabilidad o agujero de seguridad. Y eso nos lleva el motivo de instalar un cortafuegos, que es precisamente que todo el software que utilizamos puede tener vulnerabilidades aprovechables (y ojo, que no es lo mismo que pueda tenerlas, a que las tenga). Para para aprovecharlas, hay que conocerlas. Y para conocerlas, hay que estudiar el sistema en cuestión, o bien que alguien que lo haya hecho te lo cuente.

Así que para infectar la Galáctica con un virus, primero los cylones deberían conocer el software que utiliza, que en varias ocasiones se ha dicho que es obsoleto, por lo que es posible que no sea el mismo que el del resto de la flota. Además, dicho software debería de tener vulnerabilidades explotables. También tendrían que conocer el software del cortafuegos (de los 5, si eran distintos) utilizado, algo ya mucho más difícil ya que según se menciona en el episodio, lo programaron sobre la marcha.

Y dejo lo mejor para el final. Hay una forma infalible de mantener una red de ordenadores a salvo de ataques externos: no conectar la red al exterior. Si yo monto en mi casa un red con varios PCs, pero luego no conecto ninguno a Internet, es totalmente imposible que se me cuele un virus a través de la red, porque no hay ningún medio de transmisión entre el origen del virus y mi red (a menos que meta un CD infectado o algo parecido). Así que en la serie, mucho más sencillo que instalar varios cortafuegos, hubiera sido conectar los ordenadores entre sí, pero aislados del exterior, o de cualquier sistema que reciba transmisiones del exterior.

Pero claro, entonces no hubiera habido tanto dramatismo en el episodio.