sábado, 29 de noviembre de 2008

Seguridad para todos: vulnerabilidades

En el último artículo, vimos que los ejecutables podían ser usados para colar programas malignos (virus, spyware, rootkits, etc.) en nuestro ordenador. Pero hay otros métodos más sutiles.

Aquí se complica la cosa un poco (sólo un poco). Espero que no os sea muy difícil explicarlo a vuestro primo o vuestra cuñada. Un programa, recordad, es una serie de instrucciones que le dice al ordenador qué hacer. Esas instrucciones se almacenan en memoria. Pero en memoria también se almacenan datos. Dicho de otra forma, si abrimos Word y escribimos una carta, en la memoria del ordenador estarán tanto las instrucciones de Word (que, al fin y al cabo es un programa) como el texto de la carta.

Para no hacerse un lío, el ordenador habitualmente mantiene separadas las instrucciones (los programas) de los datos. Y todo funciona perfectamente. Pero a veces los programas tienen fallos, que me permiten construir un documento (un conjunto de datos) de forma que confunda al ordenador y lo haga pasar por instrucciones (lo mismo os suenan los "ataques de desbordamiento de buffer"; esa es sólo una de las técnicas). Esto en un programa bien escrito no debería pasar nunca, pero los programadores, como todo el mundo, a veces cometen errores. Y los que hacen los virus lo saben, y se aprovechan de ello. A estos fallos "aprovechables" los llamamos "vulnerabilidades", porque hacen vulnerable al ordenador.

¿Cómo les podemos hacer frente? En primer lugar, procurando que no entren en nuestro ordenador datos de los que no estemos seguros. Un documento de Word guardado por un amigo nuestro no plantea ningún problema, pero si recibís algo (un Word, un PowerPoint, lo que sea) de una persona que no conocéis, o lo descargáis del eMule, siempre existe la posibilidad de que haya sido manipulado para colar un virus o un spyware en vuestro ordenador. También es importante tener instalado y correctamente configurado un firewall o cortafuegos en el ordenador: los datos no tienen que venir en un documento, sino que pueden ser lanzados a través de Internet desde otro ordenador. Un firewall os protegerá de la mayoría de esos ataques.

La mejor solución sería, desde luego, corregir los programas para que no tuvieran vulnerabilidades. Sin embargo, como no somos programadores, no podemos hacerlo por nosotros mismos. Así que tenemos que esperar a que alguien lo haga. Y ese alguien, casi siempre, es el programador original. Habitualmente, cuando se encuentra una vulnerabilidad, el programador saca una nueva versión del programa, o bien un "parche", para corregirla. Es muy importante que siempre apliquemos todos los parches, y tengamos nuestros programas de uso diario (navegador, programa de correo, procesador de textos...) actualizados con la última versión.

En el siguiente artículo de la serie veremos una tercera forma en la que se pueden "inyectar" instrucciones en nuestro ordenador (y cómo evitarla).

No hay comentarios: