Hackers y Seguridad Personal (03.09.2000 v.1.0) |
Seguridad
Personal |
Mi educación formal fue pre-Internet y me conecté a la red
hace no más de dos años con total ignorancia sobre el sistema, entiendo de
Internet tan poco como cualquier persona común que ha ido aprendiendo por su
cuenta y una de las cosas que me ha intrigado siempre es la vulnerabilidad que
tenemos los usuarios corrientes, conectados por línea telefónica,
ante un tipo que maliciosamente pretenda husmear o intervenir nuestro equipo de
manera remota.
Por lo mismo hace poco tiempo comencé a hacer mis averiguaciones al respecto y aquí trataré de resumir, en palabras simples, lo que he aprendido
|
¿Puede alguien remotamente entrar a mi disco duro mientras estoy conectado? |
Esta era mi primera duda y la respuesta es si, puede hacerlo,
aunque no siempre y tampoco es muy fácil que lo logre. Dependiendo de como
estemos conectados y los programas que tengamos instalados tendremos más o
menos riesgo a que alguien ingrese a nuestro disco en forma maliciosa.
Internet se configura según un modelo de clientes (que principalmente piden información, es decir bajan desde Internet) y servidores (que principalmente entregan información a los clientes). Nuestro equipo en la casa es un cliente que pide información al servidor (el equipo de nuestro ISP). Un equipo que solo tuviera capacidad para pedir información y no darla (digamos, un cliente puro) sería invulnerable a cualquier intervención. Pero nuestros computadores como sabemos también envían datos, por ejemplo cuando mandamos un e-mail, cuando subimos información a nuestra página web e incluso en tareas cotidianas. Con solo conectarse, nuestro equipo está enviando datos al servidor (password y contraseña). De aquí concluimos que mientras más habilitada esté nuestro equipo para enviar información, más vulnerable es a la intervención de un intruso. Por ejemplo, si tenemos instalado el Personal Web Server de Microsoft, si usamos un programa de chat o el ICQ seremos mucho más vulnerables que si solo usamos Internet para explorar la web y enviar correo electrónico o news. También son potencialmente riesgosos los programas que permiten controlar nuestro equipo por vía remota como por ejemplo el PC Anywhere, Laplink o Wingate, que para funcionar dejan "puertas abiertas" en el equipo. Otro factor que tiene el mismo efecto son los programas conocidos como "troyanos" que también dejan, sin que lo sepamos, puertas abiertas para que los intrusos ingresen a nuestro equipo sin ser notados. Los troyanos se instalan de manera similar a los virus (vienen dentro de juegos, programas pirateados, etc.) y, si no los detectamos, cada vez que nos conectamos nuestro equipo queda abierto y avisando a los intrusos que tiene entradas disponibles. Un problema con que se encuentra el intruso para acceder remotamente a nuestro equipo es como saber si lo tenemos encendido. Lógicamente solo podrá tener acceso a nuestro computador mientras lo tengamos encendido y conectado a Internet, de otro modo no hay caso. Luego las conexiones que no se cortan nunca como el cable modem y similares, facilitan mucho la tarea del atacante, ya que cuenta con que nuestro equipo podrá estar conectado la mayor parte del tiempo. Ante esta dificultad lo que se hace no es atacar una máquina específica sino "barrer" un rango determinado de direcciones IP hasta encontrar alguna que esté activa. Después de eso simplemente comienzan a revisar los puertos a ver si encuentran alguno abierto y disponible para ingresar
|
IP y Puertos |
Para que alguien pueda entrar remotamente a nuestro
computador, antes que nada debe conocer nuestra dirección IP, que es el número
que nos identifica en Internet.
Las direcciones IP constan de cuatro grupos de tres números cada uno y están organizadas según una jerarquía. Por ejemplo mi dirección IP podría ser algo así como 200.25.566.xx donde los tres primeros grupos de números corresponden a datos de mi ISP y el último número (xxx) es el que me asignan al momento de conectarme. Así, en una conexión mi dirección podría ser 200.25.566.20, en otra 200.25.566.128, etc. Eso presenta una dificultad a alguien que quiera atacar específicamente a mi equipo ¿como podría saber ese último número?, bueno, si estoy usando ICQ por ejemplo y el atacante me tiene en su lista de contactos, podría obtener mi IP en el momento en que estoy conectado y con ella comenzar a escanear mis puertos a ver si hay alguno abierto. Pero aun si estoy conectado vía cable modem donde mi IP es fija (no cambian los últimos tres números) y así una vez que la conoce, el atacante puede tratar de atacar el equipo cuando quiera. Hasta ahora hemos hablado de "puertas" y "puertos" pero ¿que son estas realmente?. Bueno el computador tiene puertos físicos (como el puerto serie donde conectamos el mouse y el modem, o el paralelo donde conectamos la impresora) y puertos lógicos que están asociados a servicios que puede dar el computador. Los puertos físicos son unos pocos pero los puertos lógicos son alrededor de 65.000!, claro que son puertos disponibles y solo unos cuantos son ocupados por un equipo. Podemos pensar en un puerto lógico como una puerta que nos permite o nos impide entrar remotamente a nuestro equipo. Un Scanner es un programa que revisa los puertos más comúnmente usados para ver si están abiertos o cerrados. Si hay alguno abierto, por ahí podríamos entrar remotamente al computador, existen convenciones para asociar servicios a ciertos puertos, por ejemplo, estas son algunas de las asignaciones comunes de puertos: Puerto/ Servicio/ Utilidad Sin embargo, como dijimos antes estas son solo convenciones, un equipo bien podría tener asignado el puerto 22 para ftp o un "troyano" en el puerto 70, etc. Así, el intruso lo que hace con su programa de scanner es revisar cada uno de estos puertos "usuales" para ver si hay alguno abierto por donde pueda ingresar a nuestra máquina
|
Una vez que el Intruso ha entrado ¿que puede hacer? |
Una vez que el intruso ha ingresado por un puerto abierto
tiene a su disposición comandos similares a los que tenemos nosotros desde el
teclado, es decir podría abrir la puerta de nuestro CD-Rom, ver nuestros
directorios, borrar archivos, etc. todo esto si es particularmente estúpido, ya
que nos daríamos cuenta de inmediato que hay alguien "jugando" con
nuestro equipo y lo apagaríamos.
Si es un poco más vivo simplemente se dedicará a ver silenciosamente nuestra actividad y tratar de ubicar nuestro password sin que nos demos cuenta de manera que el mismo pueda entrar con toda tranquilidad haciéndose pasar por nosotros en una sesión nueva de Internet. Esto le permitiría por ejemplo, monitorear nuestro e-mail sin que nos demos cuenta.
|
Firewalls (cortafuegos) |
Para protegernos de estos molestos (y
potencialmente peligrosos) ataques existen programas llamados firewall
(en nuestro caso personal firewalls, para distinguirlos de los
firewall que usan los servidores). En palabras sencilla un firewall
simplemente vigila y avisa cuando alguien está escaneando remotamente
nuestros puertos y deja pasar o bloquea selectivamente, es decir deja
pasar los servicios que nosotros hemos definido como
"permitidos" y bloquea todos los demás.
Así, si tenemos un personal web server instalado en nuestro equipo o algún programa de acceso remoto, el firewall dejará pasar toda la información sin riesgo de que se cuele por esa puerta algún intruso no autorizado (que será rechazado). Si transferimos archivos entre dos equipos podemos crear un "tunel" seguro de modo que el firewall deje abierto el puerto solo para dos IP determinadas y rechace toda transferencia a cualquier otro equipo, etc. Así un firewall personal autoriza o niega acceso según el origen o destino esté o no autorizado por nosotros. Un firewall de buena calidad también puede detectar si hay alguien que remotamente está tratando de encontrar nuestro password por fuerza bruta (ataques de diccionario por ejemplo) y mandarlo inmediatamente a una lista negra que le niegue el acceso a futuro, etc. Aunque, según me han observado, esta no es una característica común en los firewalls personales al menos.
|
Ataques a los servidores |
Así vemos que nuestro equipo personal, por ser esencialmente
un cliente es bastante difícil de atacar y no es mucho el daño que puede hacer
un intruso sin que nos demos cuenta. Otra cosa es con los servidores (por
ejemplo el de nuestro ISP) que es donde se dirige el mayor esfuerzo de los
crackers. Un servidor es especialmente vulnerable ya que su misión es
justamente entregar información, así necesita de distintas medidas de
seguridad para evitar que esta entrega de información se haga a personas
maliciosas o no autorizadas.
Alguien que logre averiguar nuestro password por ejemplo (lo que no es tan difícil como parece) podría monitorear sigilosamente todo nuestro correo electrónico, así como entrar y modificar la información que tengamos almacenada en el servidor como por ejemplo nuestra página web De hecho, esto es algo que está al alcance de la mayoría del personal técnico en nuestro ISP, por lo que el correo no encriptado a través de Internet es similar a pasar los sobres abiertos al cartero.
|
Seguridad en el Correo Electrónico |
Curiosamente los programas cliente de correo electrónico
más populares no traen dentro de sus características ningún método de
encriptación que permita enviar correo conservando la confidencialidad. Tal vez
la posición de muchos gobiernos que ven en la posibilidad de que la gente
común pueda enviar mensajes confidenciales un peligro para su seguridad interna
(USA es uno de los más conspicuos) es lo que ha retardado la inclusión de esta
característica que debería ser común y transparente en todos los programas.
Así, el que no quiera romperse la cabeza aprendiendo a usar encriptadores estará condenado a enviar mensajes abiertos que pueden ser vistos libremente en el servidor del ISP y tal vez en varios más. Si no estamos dispuestos a que cualquiera lea nuestros mensajes tenemos que encriptarlos o esconderlos de algún modo antes de enviarlos. La opción más usada en estos momentos es el software PGP, el problema con estos programas es que para usarlos tienen que estar instalados tanto en el lado del emisor como el del receptor y hay que tener alguna comprensión del sistema para general las claves, distribuirlas, encriptar y desencriptar mensajes Una alternativa simple consiste en enviar los mensajes en formato ZIP con password. No es lo más seguro ya que el password va incluido de algún modo dentro del mensaje pero da una protección suficiente contra los intrusos casuales y no técnicos, el password se puede avisar por teléfono o enviar por ICQ a la otra parte, obviamente nunca por el mismo e-mail que queremos mantener como confidencial
|
¿Que Hacer si me Atacaron? |
Si, por ejemplo, recibes un mailbombing (o sea varios cientos
de mail insultantes en tu casilla) o detectas que alguien te está escaneando
los puertos seguramente podrás encontrar su dirección IP con facilidad, en el
caso de un mail basta con leer el encabezado completo donde muestra toda la
ruta. El problema es que no es fácil a partir de la dirección IP identificar
al equipo intruso. En http://grc.com/su-reading.htm
la excelente página de Dave Gibson hay una caja de texto donde ingresas la
dirección IP y te entrega el dominio y bastantes datos acerca de la
organización a que pertenece, lo que permite quejarse y, eventualmente, pedir
el cierre de la cuenta del intruso.
|
Me Cargan los Hackers |
Eso, me caen muy mal. Y no hablo solo de los lamers o los
crackers sino que los autodenominados hackers con todo su autobombo me caen como
bomba.
El complejo de gurús, de saberlo todo, la pretensión de tener "un conocimiento profundo y acabado", el impedimento psicológico para reconocer que no saben o no entienden algo es la característica del aficionado. El orgullo desmedido por saber cosas complicadas o poco conocidas solo demuestra falta de profesionalismo y, por que no decirlo, problemas de personalidad. Lo peor es que el infantilismo informático está extendido como una plaga entre los propios profesionales, es de esperar que pase de moda luego. Bueno, tal vez se me pasó un poco la mano. La verdad es que muchos hackers son sencillos y difunden lo que van aprendiendo. De hecho Gran parte de lo que escribo aquí fue gracias a algunos que desinteresadamente contestaron mis dudas en los newsgroup. También me mandaron a leer http://www.webhost.cl/~alvherre/hacker-howto_es.html que es bastante instructivo al respecto. Esa es la descripción de los hackers en el buen sentido de la palabra y no tengo nada que decir contra ellos. Pero hay algunos que tienen igual petulancia sin ser profesionales ni tener conocimientos, esos son los peores, los niños-hackers glorificados como "adolescentes genios" por la prensa y la opinión ignorante son los que se dedican a husmear y molestar solo por torpeza y vanidad. Mi repudio para esos pobres tontos.
|