Búsqueda

jueves, noviembre 19, 2009

Eureka: Virus informáticos

Carátula de la primera temporada de Eureka

Ultimamente estoy viendo la serie Eureka, que para el que no lo sepa, es una serie de ciencia ficción, a veces bastante fantasiosa, y con momentos cómicos, que trata sobre la vida en pueblo llamado Eureka, habitado por genios científicos que hacen todo tipo de experimentos y descubrimientos. Se podría sacar bastante mala ciencia, pero hoy voy a comentar justo lo contrario: un toque de buena ciencia que me ha llamado la atención.

En uno de los episodios de la primera temporada, un virus informático se introduce en los sistemas informáticos de Eureka. Resulta que allí, todo está controlado por ordenadores conectados entre sí, por lo que se produce un caos. En un momento dado, uno de los personajes dice que el sistema informático no es ningún software conocido por el público en general, sino que que ha sido diseñado ex profeso para Eureka. Por tanto, deduce que el programador del virus debe ser necesariamente alguien del equipo que en su día programó dicho sistema.

¡Bien! Un acierto en el maltratado mundo de la informática en la ficción. Como ya he comentado alguna vez, un virus no es más que un programa, que se aprovecha de vulnerabilidades del sistema a infectar, para ejecutarse ahí y propagarse. Es decir, es un conjunto de instrucciones que aprovecha errores de otros programas, para ejecutarse sin conocimiento de los usuarios. Y parece evidente que para programar algo que aproveche esas vulnerabilidades, éstas deben ser conocidas por el programador. Es así de sencillo.

Además, como cualquier programa, sólo puede ejecutarse en la plataforma para la que ha sido programado. Así, un virus para Windows es no puede ejecutarse en un Mac, y viceversa. Nuevamente, hay que conocer la plataforma destino para poder programar algo que se ejecute en ella.

La propagación o instalación de los virus merece también una mención. Como todo programa, tiene que copiarse de alguna forma en el sistema destino, para ejecutarse. Para ello, o bien se engaña al usuario para que él mismo ejecute el virus (por ejemplo, como adjunto en un correo electrónico que dice que se trata de un salvapantallas de paisajes muy bonitos), o bien se aprovechan nuevamente de alguna vulnerabilidad del sistema para instalarse sin conocimiento del usuario. En este caso, el virus debe poder «llegar» al sistema de alguna forma, mediante la red (aprovechando algún error en el software que gestiona la comunicación entre el sistema y la red), mediante algún soporte físico que se conecte al sistema (antiguamente era habitual el uso de un sector concreto de los viejos disquetes, que el sistema operativo ejecutaba cuando dicho disquete se introducía en la ranura), o de alguna otra forma.

Así que, ciertamente, sólo alguien que conozca cómo funciona el sistema destino, puede programar un virus para él, así como la forma de infectar el sistema.

17 comentarios:

  1. Como? Y entonces lo de Independence Day?

    Ya sabia yo que los aliens iban con Windows...

    ResponderEliminar
  2. Además está el chiste "se nos han metido virus" y el poli contesta "¿por que no usaís mac?", luego viene la explicación y tal.

    A mi siempre me ha parecido una serie de un poli "magel" en el colegio de Harry Potter donde debe lidiar con todo tipo de hechizos, lo que nos demuestra que para un guionista medio la ciencia y la magia es lo mismo.

    ResponderEliminar
  3. Qué cierto es y cuantos fallos hay en las pelis respecto a estos temas. Aunque hay virus que son multiplataforma, como los hechos en java y no tienen por qué estar pensado para un sistema operativo...

    ResponderEliminar
  4. Pero un virus hecho en Java, sólo se puede ejecutar sobre una máquina virtual Java. Otra cosa es que existan implementaciones de la máquina virtual en varias plataformas (Windows, Unix, Mac...), pero lo que desarrolles, sólo puede ejecutarse en la máquina virtual.

    ResponderEliminar
  5. En la época dorada de los virus se llego a crear uno multiplataforma (DOS, Windows y Mac) ... pero de eso hace unos años ya :)

    ResponderEliminar
  6. No he encontrado una referencia al virus (hace años ya) pero si una entrevista a uno de los creadores (del grupo 29A):
    http://monograficosnicks.galeon.com/cvitae56735.html

    ResponderEliminar
  7. Existen desde hace tiempo ya virus multiplataforma, que se pueden encontrar en Windows o Unix como por ejemplo Virus.Linux.Bi.a/ Virus.Win32.Bi.a.

    Ciertamente hay que conocer la plataforma y la mayoria de los virus solo afectan a un sistema operativo o aplicación, consideramos que la maquina virtual de java es una aplicación. Pero tambien puede haber virus que ataquen varios SO.

    Lo que es innegable es que sin conocer la interfaz de programación es casi imposible crear un virus, una pena para cuando vengan los extraterrestres a destruir EEUU.

    ResponderEliminar
  8. ¿Que se ejecutaba en DOS, Windows y Mac? O sea, ¿en procesadores x86 y PowerPC?

    ResponderEliminar
  9. Buenos días,

    A mí la serie, cuando la ponían por la tele, no me disgustaba, pero es lo que dice Arturios, que llega un momento en que la ciencia y la magia son indistinguibles. Así que, para volver por los antiguos fueros, aunque yo aterricé en este blog cuando ya tenía casi tres años de vida, ya te rogaría que nos comentaras algo de mala ciencia... mono, que se llama, je je je.

    Saludos cordiales.

    ResponderEliminar
  10. Sí, se ejecutaba en x86 y PowerPC.
    Si no recuerdo mal la historia (fue hace muchos años) se basaba en una instrucción que en x86 era un salto y el PowerPC no la reconocía, pero no daba error y pasaba a ejecutar la siguiente instrucción.
    Es una lástima que no encuentre nada de aquel grupo, porque recuerdo que hacían cosas muy curiosas.

    ResponderEliminar
  11. Ya se que es bastante off-topic y pido perdón. Pero no veo el momento en que veas la peli de 2012 y le empieces a sacar punta.Es fabulosamente demencial.
    Podrías empezar por ejemplo con los Neutrinos Mutantes asesinos.

    ResponderEliminar
  12. Los virus, para que te afecten tienes que ejecutarlos, y en general como administrador, por eso son tan peligrosos en Windows, porque siempre estás como administrador y no necesitas hacer nada especial para que un programa se ejecute por si mismo. En cambio el Linux, esto no es posible (claro hasta donde yo, simple usuaria, sé) También, al ser el Windows un código cerrado, en cuanto aparece un virus no es tan fácil "matarlo" como ocurre con los escasos de linux, ya que éste es un código abieto.

    ResponderEliminar
  13. Me dais pena, tios listos. Quien os asegura?, donde pone?, que ley fìsica existe que impida a los marcianos usar Windows?...No veis que el hasta el Ubuntú, y peor si es en inglés, es muuuucho mas dificil que el Windows?...(Es que no soporto los que va de enteradillo por la vida).
    Pakitu

    ResponderEliminar
  14. A veces me pasa como a Sheldon (The Big Bang Theory), y no estoy seguro de si un comentario es sarcástico o va en serio.

    Sobre 2012, en cuanto la vea la comentaré. He leído una sinopsis y... bueno, tengo ganas de verla :-)

    ResponderEliminar
  15. tienes que verte 2012, no creo que luche con el núcleo pero por ahí va. Disfruto mucho el blog, saludos.

    ResponderEliminar
  16. Una cosa, en 2012 las placas se van deslizando hacia el fondo mientras el avión con los protagonistas pasea. Mi pregunta es: Las placas al deslizarse al fondo, no generarían una corriente de aire descendente?
    Por lo demás la peli fue entretenida, y el guión (?) ...

    ResponderEliminar
  17. Bueno, ciertamente hay virus "multiplataforma" (que más que nada se han creado en ambientes académicos pero tienen poca utilidad práctica). Lo pongo entre comillas porque, obviamente, los virus no son creaciones mágicas sino simples programas, como ya dijo el autor. Por lo tanto, se tiene que crear un ejecutable que sea el que lleve a cabo la infección, y este ejecutable debe estar en el formato de la plataforma destino: se tiene que compilar una versión para cada plataforma/sistema operativo. Una vez ejecutado, lo que hacen estos virus es simplemente analizar los archivos a infectar, y según se trate de ejecutables de Windows, Linux, etc. aplican una infección u otra. Nada para asombrarse en realidad. De hecho, muchos virus para Windows han hecho casi desde siempre algo muy similar: aplicar algunas variaciones en su método de infección de acuerdo a la versión del SO (p. ej. 9x/NT) sobre la que se estén ejecutando.

    ResponderEliminar

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