scieee AI-readable full text Open interactive document viewer

Ejemplo de la utilidad de Internet para la enseñanza especializada universitaria

Albo Sánchez, Rafael; Escobar Reyero, Emilio; Kau, David; Lozano Gutiérrez, Oscar; Pozo Barajas, Rafael del

Abstract

Se analizan en este artículo distintas posibilidades de la red Internet para completar la formación de los estudiantes universitarios en nuestros centros. En concreto se muestran una serie de informaciones relativas a la Administración de Sistemas Informáticos que habrían sido imposible recoger de otro modo, ante la escasez de bibliografía sobre el tema. Si a esto añadimos que dicha información afecta a la seguridad de los sistemas informáticos, que es justo la tarea prioritaria de los diplomados en este módulo, se comprende la importancia transcendental de la incorporación de estas nueva tecnología de comunicación a nuestra formación.

Full text

85 • Escuela Abierta, 4 (2000) SUMARIO: Se analizan en este artículo distintas posibilidades de la red Internet para completar la formación de los estudiantes universitarios en nuestros centros. En concreto se muestran una serie de informaciones relativas a la Administración de Sistemas Informáticos que habrían sido imposible recoger de otro modo, ante la escasez de bibliografía sobre el tema. Si a esto añadimos que dicha información afecta a la seguridad de los sistemas informáticos, que es justo la tarea prioritaria de los diplomados en este módulo, se comprende la importancia transcendental de la incorporación de estas nueva tecnología de comunicación a nuestra formación. SUMMARY: This item analyses the different ways in which the Internet network can be used to complete the education of University students at our centres. It specifically divulges information related to Computer Systems Management that would not have been possible to collect through any other means due to the lack of bibliography concerning this issue. If we also add that this information affects computer system security which is exactly the main task of the graduate students included in this module , one understands the transcendental importance of incorporating this new media technology to our training. EJEMPLO DE LA UTILIDAD DE INTERNET PARA LA ENSEÑANZA ESPECIALIZADA UNIVERSITARIA Rafael Albo Sánchez, Emilio Escobar Reyero, David Kau, Oscar Lozano Gutiérrez y Rafael del Pozo Barajas De unos años a esta parte la red Internet está alcanzando una gran expansión mundial, multiplicándose cada año el número de usuarios. Este incremento de difusión se ha visto favorecido principalmente por el uso de tecnologías hipermedia, que permiten presentar en la pantalla de nuestro ordenador texto, imágenes, sonido e incluso vídeos. Si a esto le unimos la posibilidad de interacción con el usuario nos encontramos con un nuevo medio de comunicación muy atractivo, tanto para los usuarios, que pueden obtener casi cualquier información (o así lo creen), como para las empresas, que pueden ofrecer publicidad individualizada a cientos de miles de personas interesadas en sus productos, a precios muy bajos. Sin embargo, la gran difusión alcanzada por la Red no parece que haya aumentado su utilidad respecto a la antigua Internet, que sólo hacía uso de textos sin más, al menos en lo que respecta a la faceta universitaria. Esto se debe, a nuestro juicio, a dos problemas principales que hemos detectado: En primer lugar, en la mayor parte de los casos, los nuevos usuarios tienen más interés en ver la composición de las páginas que en su contenido informativo. En segundo lugar, la gran mayoría de transferencias de información a través de Internet tiene carácter comercial, y no científico, al contrario de lo que ocurría hasta hace pocos años. Como resultado tenemos una red que, aunque contiene gran cantidad de información, ésta es difícil de obtener debido a que se confunde entre un gran volumen de datos irrelevantes. Este problema puede resolverse de dos formas: utilizando los servicios de Internet todavía no invadidos por la publicidad, o acudir a personas que ya hayan seleccionado previamente la información interesante en cada área. En este artículo hemos tratado las dos posibilidades, utilizando el servicio de News, y seleccionando determinadas páginas WWW que aportan información muy interesante para los futuros diplomados en Administración de Sistemas Informáticos. Hay que señalar que toda esta búsqueda, y la mayor parte del artículo, ha sido realizada por los alumnos de ASI que lo firman. Aunque ésta última parte tiene utilidad casi exclusiva para la rama de ASI, la primera, la del servicio News, puede ser interesante para cualquier otra carrera. Ejemplo de utilidad en Internet para la enseñanza universitaria 86 • Escuela Abierta, 4 (2000) Introducción Este servicio consiste en una imitación de un tablón de anuncios, en el que cualquier persona que lo desee puede poner el suyo, siendo leído por un gran número de interesados que pueden dejar otro anuncio (o mensaje) como respuesta. La utilidad aumenta al haber varios tablones, cada uno con un tema específico, lo que permite que los internautas sólo lean aquellos artículos que les interesen. Hay gran variedad de tablones, llamados en realidad grupos de noticias, apareciendo en el servidor de news de la Red Informática Científica de Andalucía cerca de diez mil. Para utilizar este servicio es necesario estar dado de alta en un proveedor de servicios de Internet; en el caso de los miembros docentes de la comunidad universitaria andaluza, éste puede ser el Centro Informático Científico de Andalucía, que presta sus servicios gratuitamente. Si ya se cumple este requisito, es necesario disponer de un cliente de news (el programa que nos permitirá leer y enviar mensajes al servidor), y acceso a un servidor de news (el programa residente en el ordenador del proveedor que se encarga de recibir nuestros mensajes, almacenarlos, y enviarlos a todos aquellos que lo soliciten). Normalmente el acceso al servidor de news se le da al usuario cuando se suscribe al proveedor; el programa cliente puede cogerse gratuitamente realizando un FTP anónimo a cualquier servidor FTP público. La explicación de estos términos y procesos quedan fuera del objetivo de este artículo, ya que serían necesarios varios artículos de gran extensión para explicar cada uno de ellos con detenimiento. Sin embargo, normalmente el proveedor de Internet se encargará de instalar todo lo necesario en el ordenador del usuario para que éste pueda utilizar dichos servicios sin dificultad. Una vez conocido el servicio, queda por ver su utilidad para la investigación y aprendizaje. La principal ventaja de este servicio es que nos permite relacionarnos con un gran número de personas que están interesadas en el mismo campo, sin necesidad de conocerlas previamente. Obviamente la utilidad dependerá de las personas que se conecten al servicio, principiantes o expertos, y de su disposición a enseñar o difundir sus conocimientos. Normalmente en un grupo hay de los dos tipos de personas, tanto principiantes como expertos, y unos requerirán ayuda y otros la prestarán; lógicamente nosotros Rafael Albo y otros 87 • Escuela Abierta, 4 (2000) El servicio News deberemos prestar ayuda cuando podamos hacerlo si queremos que otros nos ayuden cuando lo necesitemos. Quizá al comienzo sólo podamos pedir ayuda, si nuestro conocimiento es escaso, pero entonces quedaremos en deuda con la comunidad Internet y se supone que tendremos que saldarla en un futuro difundiendo nuestro conocimiento, bien sea a través de la Red, bien mediante artículos, libros o ponencias. Estas normas de comportamiento no escritas son las normales en cualquier sociedad educada y su seguimiento queda al libre albedrío del usuario, ya que nadie nos exigirá su cumplimiento. En realidad las normas de comportamiento educado en la red (la etiqueta de la red) sí que están escritas, aunque con la aparición de la WWW, en la que sólo se recibe información y no se aporta nada, están cayendo en desuso. Los interesados en estas normas puede buscar información en la Red sobre netiquette (por ejemplo en http://www.ezine.com /eznetiquette.html), incluso hay un grupo de noticias dedicado a la misma. Dependiendo del grupo de noticias los usuarios predominantes serán de un tipo u otro, aunque lo normal es que siempre haya algunos que pueden y quieren aportar soluciones. En los casos que más hemos utilizado, las áreas de mensajes relacionadas con el Intercambio Electrónico de Documentos, el nivel de los interlocutores era muy alto. Como anécdota podemos señalar un agrio debate sobre lo que querían expresar algunas normas de las Naciones Unidas sobre EDIFACT, en el que varios interlocutores exponía sus ideas de forma más o menos educada; la discusión se saldó cuando uno de los participantes hizo saber que él pertenecía al grupo de Naciones Unidas que había redactado la norma, y dio la interpretación correcta. Esta ejemplo sirve para mostrar hasta qué punto es posible obtener información de gran utilidad mediante las News. Centrándonos en nuestra diplomatura de Administración de Sistemas Informáticos y, en concreto, en nuestra asignatura de Fundamentos de Programación, hemos seleccionado algunos grupos de noticias que pueden ser de interés. Estos son: alt.comp.lang.learn.cc++, comp.lang.c.moderated, comp.lang.c, comp.lang.c++, comp.lang.c++.leda, comp.lang.c++.moderated, es.comp.lenguajes.c, y es.comp.lenguajes.c++. Los grupos que empiezan por es. están en Ejemplo de utilidad en Internet para la enseñanza universitaria 88 • Escuela Abierta, 4 (2000) español, y el resto en inglés; también hay grupos en otros idiomas, pero éstos no han sido aquí recogidos. Como muestra de lo que podemos encontrar en estos grupos transcribimos aquí una pequeña serie de mensajes de la última lista, todos respondiendo a la petición de ayuda del primero. Cada mensajes se ha reducido a un solo párrafo, y se le ha quitado toda la información propia del mensaje, como la fecha y el emisor. P: Hola, Tengo una duda que no se si es especifico de programación o de C++. Alguien sabe que se entiende por "Callbacks". Gracias. R1: Callbacks son funciones que utiliza Windows para responder a los eventos. Por ejemplo, cuando tu lanzas un timer, tu puedes no especificarle una función callback con lo que el timer enviara un mensaje WM_TIMER cuando expire el tiempo o, si le pones un función callback, la llamara. De todas formas esto ultimo es un ejemplo, porque creo que la posibilidad de poner callback a un timer no es posible en Win32 aunque si en Win16. Pero de todas formas quédate con el ejemplo, que creo que ilustra bastante bien lo que es una función callback en Windows. Un saludo. R2: El concepto de callback no pertenece a ningún lenguaje de programación. Es una técnica de programación que se usa en diversas situaciones. Básicamente consiste en la posibilidad de especificar un procedimiento que debe ejecutarse cada vez que se produce un cierto evento en el sistema. Este mecanismo tiene dos pasos. 1.- Registro del callback. Mediante una función de registro se especifica que función debe llamarse para responder a un cierto evento. 2.- Ejecución del callback. El sistema ejecuta esta función cada vez que dicho evento se produce. Aunque el uso de callbacks está muy generalizado en el desarrollo de interfaces gráficas de usuario (MSWindows, X-Windows, OSF/Motif, ...) no es esta su única aplicación. Otros eventos para los que se suelen usar callbacks son: *Temporizadores, para ejecutar una tarea periódicamente. *Mensajes entre procesos. *Modificaciones en algún dato de la aplicación. Aunque este mecanismo se ha usado durante mucho tiempo con éxito, dentro de los entornos orientados a objetos se Rafael Albo y otros 89 • Escuela Abierta, 4 (2000) pueden utilizar mecanismos mejorados. Estas mejoras suelen basarse normalmente, en el patrón de diseño COMMAND (Gamma et al.). Para el caso concreto de las comunicaciones entre procesos, es interesante ver los mecanismos usados en el entorno ACE (Doug Schmitt). R3: CallBack, significa "marcha atrás", y por convenio, se utiliza para las funciones que van a ser llamadas por Windows 95. Por ejemplo, las funciones que gestionan las ventanas, son CALLBCAK, ya que es Windows el que las llama para pasarles los mensajes que necesite. La serie de mensajes aquí presentada es una muestra de la información que puede obtenerse sin demasiado esfuerzo mediante este servicio, aunque queremos señalar que no siempre la respuesta es tan útil, incluso hay veces en las que nadie responde. La utilidad real de cada grupo de noticias sólo la conoceremos cuando estemos suscritos a él durante un tiempo. Como ya comentamos anteriormente, el problema que tiene el uso del servicio WWW es la excesiva abundancia de información que contiene, que hace difícil encontrar un tema específico. Aunque hay servidores especializados en facilitar estas búsquedas, no es raro que la selección que nos presente sobre el tema que le hemos pedido sea también desbordante, recogiendo cientos de artículos, de los cuales sólo unos pocos tendrán cierto interés. Es por ello por lo que últimamente la mejor forma de obtener información sea acudiendo a otras personas que ya han realizado la búsqueda sobre el tema anteriormente, y han seleccionado la mejor. Nosotros hemos seleccionado una serie de páginas de gran interés para los Administradores de Sistemas, que recogen un tipo de información imposible de encontrar de otro modo. Queremos señalar que una parte de información recogida es para usuarios muy avanzados, casi expertos en informática, y para este tipo Ejemplo de utilidad en Internet para la enseñanza universitaria 90 • Escuela Abierta, 4 (2000) Páginas de World Wide Web de personas uno de sus mayores retos (por lo menos, el más emocionante), es romper la seguridad de los sistemas informáticos de empresas y administraciones. Por eso algunas de las páginas seleccionadas tratan sobre cómo acceder a sitios no autorizados, entorpecer el trabajo de otras personas, o incluso destruir o cambiar ficheros. Obviamente, este tipo de información no aparece en libros ni artículos, y tampoco es nuestra intención explicar aquí cómo (ni dónde) conseguir estos resultados tan poco lícitos. Sin embargo, creemos que para los futuros administradores de sistemas es muy importante saber que este tipo de información está accesible para todo aquel que sepa buscarla, y conocer cuáles son los efectos, a veces demoledores, que pueden sufrir en sus equipos para, si es posible, remediarlos. Expondremos ahora la información recopilada en las distintas páginas, que hemos dividido en cuatro grandes grupos: privacidad, protocolo TCP/IP, bugs de sistemas y virus. Al final de cada grupo se presenta la lista de páginas WWW consultadas para la realización del mismo. La "privacidad" como tal no existe en Internet a priori. Al enviar correo, al postear en las News, al realizar una búsqueda y simplemente navegando vamos dejando un claro rastro de datos sobre nosotros: nuestros gustos, nuestros horarios de conexión, nuestras tendencias ideológicas, políticas, sexuales, religiosas, navegador que empleamos, dirección IP, correo y un largo etcétera que son acumulados por quienes estimen oportuno. ¿Ha pensado alguna vez en la cantidad de información que pueden disponer sobre usted? Hay muchas empresas que pagarían mucho por disponer de este tipo de información. Hoy día no está de moda traficar con armas ni drogas sino con información, por algo vivimos en la llamada Era de la Información. Quizás usted no esté dispuesto a ser parte de esas bases de datos, o simplemente pretenda pasar desapercibido. Pues a continuación vamos a introducirle en el interesante tema de la privacidad o "anonimato" en La Red. Es solamente una introducción en dicho tema, Rafael Albo y otros 91 • Escuela Abierta, 4 (2000) Privacidad no pretendemos entrar con demasiada profundidad ya que el tema es extenso. ¿Cuántas veces "navegando" por Internet ha visto esos inocentes contadores de acceso en una página Web? Pues no sólo pueden saber que es la visita nº xxxx, sino que además pueden saber de dónde viene, de qué página web accede,... ¿Cómo cree sino que controlan la rentabilidad de los banners publicitarios que encuentra en la mayoría de las paginas? ¿Cuántas veces al apuntarse a un foro de debate, solicitar actualizaciones de algún software, drivers, etc. ha rellenado un formulario previo con una serie de datos como: edad, nombre, apellido, dirección, población, teléfono, e-mail, titulación, ocupación, equipo informático, sistemas operativos y un largo etcétera? Ellos siempre te garantizan "privacidad" pero no dicen nada sobre la venta de esos datos que tienen sobre ti a otras empresas o entidades... ¿Cómo puede evitar esto? Muy sencillo. Navegue de forma anónima. Para ello puede acceder a servidores a través de su puerto 80 y navegar "a través" de ellos. Hay algunos servidores que lo permiten, como el caso de Anonymizer (www.anonymizer.com), C2 (www.c2.org) y otros que lo hacen también, pero sin saberlo, debido a descuidos de los administradores. Para ello no hay mas que indicar la dirección del servidor a través del cual vamos a acceder a las páginas que nos interesan, seguido del puerto 8080 (la de World Wide Web TCP/ HyperText Transfer Protocol/UDP) y, a continuación, la dirección que nos interesa. Por ejemplo: Queremos acceder a la página web de Microsoft de forma anónima y lo vamos a hacer a través del servidor de Anonymizer, para ello, pondremos en nuestro navegador: http://www.anonymizer.com:8080/http://www.microsoft.com Evidentemente este sistema es mas lento que el normal ya que la página solicitada es enviada a anonymizer y posteriormente éste nos la Ejemplo de utilidad en Internet para la enseñanza universitaria 92 • Escuela Abierta, 4 (2000) Navegación Anónima envía a nosotros, pero hemos conseguido lo que queríamos: ¡el anonimato! Bueno, casi, queda otro detalle, que es el de los cookies. Los cookies son una serie de datos solicitados por el web que visita sobre... ¿adivina quién?, sí, sobre usted. Cuando recibe un cookie, almacena nuestros datos como dirección IP, fecha, hora, número identificación, sistema operativo, navegador y un sin fin de datos más. Cuando solicite una página, el navegador enviará esta información de vuelta al servidor que lo originó y sólo a éste (menos mal). Cada vez que nos conectemos a ese servidor que generó el cookie, éste le enviará de nuevo la nueva fecha, hora, IP, etc. Por ejemplo: Supongamos que realiza una búsqueda en un Buscador de Internet y éste buscador le envía un cookie con un número identificación. El servidor del buscador guardará automáticamente su número y el tema sobre la búsqueda que ha realizado, y usted guardará el cookie, con lo cual otro día cuando vuelva a conectarse a su buscador en busca de información sobre otro tema, su navegador volverá a enviar el cookie con su número de identificación y de nuevo almacenarán el tema sobre el que ha realizado la búsqueda. Al cabo del tiempo tendrán una base de datos estupenda sobre los temas que le interesan, a las horas que ha realizado las búsquedas, fechas... Todos los navegadores actualmente tienen la opción de pedir confirmación por parte del usuario para aceptar un cookie o simplemente que no los acepte, o sea, que en sus manos está el enviar esta información o no. Enviar correo anónimo, como su propio nombre indica, consiste en enviar un e-mail de forma que se desconoce el remitente. Hay varias formas de enviar un correo de forma anónima: con algunos programas que afirman enviar correo anónimo sin uso de remailers (de los que no vamos a hablar debido a su ineficacia), y a través de remailers, que es la forma más eficaz. Rafael Albo y otros 93 • Escuela Abierta, 4 (2000) Correo Anónimo daderos han llegado, entonces, incluso aunque se haya vaciado el pool, habrá más mensajes mezclados con los del atacante. Si el atacante emplea un spam junto con la negación de ofrecer servicio, entonces de nuevo su mensaje será el único que no es del atacante. No hay nada que hacer si el atacante puede asegurarse de que su mensaje es el único que pasa por la lista de remailers. Con remailers ideales, su mensaje podría ser cualquiera de los circulan por ellos en ese momento, pero como no está pasando ninguno salvo el suyo, se sabe cuál es. Ahora suponga que su mensaje pasa por remailers que están retardando y reordenando en cada salto de remailer. Todavía se puede rastrear su mensaje por el tamaño del mismo. Por defecto en cada salto el mensaje mengua en un tamaño pequeño y más o menos conocido, por lo que aunque esté junto a otros muchos mensajes y de distinto tamaño, se puede rastrear. Como máximo puede eliminar hasta el tamaño mínimo del mensaje. También está limitado porque mensajes grandes llamarán excesivamente la atención al eliminar una fracción de ellos mismos en cada salto. Llegamos a la siguiente conclusión, todos los mensajes han de tener el mismo tamaño para así evitar distinguir unos de otros. Aún así, los mensajes todavía pueden ser rastreados con un ataque Replay. Este método se emplea para seguir un mensaje a su destino y recorrer el camino a la inversa. Este tipo de ataque es un derivado del ataque spam. Para seguir la pista de un mensaje a través de una serie de remailers, el atacante captura el mensaje y lo copia varias veces enviándolas al primer remailer. Entonces aparecerán muchos mensajes que indicarán la ruta seguida por el mensaje, si resulta demasiado disperso debido el reordenamiento se puede hacer a través de varios remailers introduciendo varias copias del mensaje en los mismos. Para prevenir este tipo de ataques, los remailers no deben de permitir enviar ningún mensaje más de una vez. Esto se puede hacer introduciendo un número aleatorio en cada mensaje a cada salto que es grabado por el remailer. Como inconveniente requiere de cierto espacio para guardar dicho log. Para utilizar estos tipos de remailers directamente es necesario un software. El más completo que hay ahora mismo en el mercado es el Private Idaho, permite PGP, correo, News, etc. y está disponible con código fuente en http://www.eskimo.com/~joelm/pi.html . Ejemplo de utilidad en Internet para la enseñanza universitaria 100 • Escuela Abierta, 4 (2000) El único remailer de segunda generación es MixMaster. La filosofía de su diseño está fuertemente influenciado por "los papeles de Chaum en mezclas digitales". A continuación mostramos la estructura de un paquete MixMaster. En lugar de cuatro cabeceros, hay veinte. Los mensajes se envían como uno o más paquetes (mensajes compuestos por múltiples paquetes se denominan mensajes multi-parte). En el siguiente diagrama las capas de encriptación están indicados por una anotación a la izquierda del objeto. La última llave (key) en la lista será la primera empleada. Están en el orden necesario para desencriptar la información. Rafael Albo y otros 101 • Escuela Abierta, 4 (2000) MixMaster Cuando el remailer A recibe este mensaje, desencriptará el paquete RSA de arriba para comprobar que el ID del mensaje no ha estado ahí anteriormente. Si ha pasado anteriormente será eliminado de inmediato. El primer cabecero (anterior a la desencriptación RSA) será añadido al final de la lista de cabeceros y todos los demás se despalazarán hacia arriba. Todos los cabeceros y el cuerpo (la parte que contiene el texto) se desencriptarán con la llaves 3DES del cabecero. Esto muestra arriba otro cabecero, encriptado con el método RSA, para el próximo remailer y oculta el antiguo de nuevo al final de la lista. MixMaster emplea triple llave DES para toda la encriptación y 1024 bit RSA para encriptación de la llave pública de las llaves 3DES. El cabecero para el último remailer de la cadena contiene un flag que indica que es el último salto y que es parte de un mensaje multiparte. Si no es un mensaje multiparte el cuerpo se desencripta y el texto se coloca en el pool para ser reordenado y enviado de nuevo. Si es parte de un mensaje entonces el ID Mensaje es usado para identificar las otras partes tal como van llegando. Cuando todas las partes han llegado se une el mensaje y se coloca en el pool. Si no se reciben todas las partes en un tiempo determinado se descarta el mensaje. Solamente el último remailer puede distinguir si los paquetes recibidos son parte de un mensaje o no. Para los demás remailers son paquetes independientes. Todos los paquetes tienen exactamente la misma longitud y todos los bits están encriptados con una llave 3DES en cada salto por lo que ninguna información del mensaje resulta visible al observador. Incluso un remailer "hackeado" solamente puede saber el remailer siguiente y anterior de la cadena. No puede saber cuántos saltos ha hecho ni cuántos le queda, salvo que sea el último. Estos mensaje resultan un poco grandes, cada uno de los cabeceros ocupan 512 bytes y el cuerpo 10k. Pero a cambio ofrecen SEGURIDAD. Para obtener una lista actualizada de remailers diponibles consulta la página web http://www.cs.berkeley.edu/~raph/remailer-list.html . Ejemplo de utilidad en Internet para la enseñanza universitaria 102 • Escuela Abierta, 4 (2000) Pretty Good Privacy (PGP), de Phil's Pretty Good Software, es una aplicación informática de criptografía de alta seguridad para MSDOS, Unix, VAX/VMS y otros ordenadores. PGP permite intercambiar ficheros y mensajes con intimidad, autentificación y comodidad. 'Intimidad' quiere decir que sólo podrán leer el mensaje aquellos a quienes va dirigido. 'Autentificación' quiere decir que los mensajes que parecen ser de alguien sólo pueden venir de esa persona en particular. 'Comodidad' quiere decir que la intimidad y la autentificación se consiguen sin los problemas de gestión de claves asociados a otros programas de criptografía convencional. No se necesitan canales seguros para intercambiar claves entre usuarios, por lo que PGP resulta mucho más fácil de utilizar. Esto se debe a que PGP está basado en una potente nueva tecnología llamada criptografía de "clave pública". PGP combina la comodidad del criptosistema de clave pública de Rivest-ShamirAdleman (RSA) con la velocidad de la criptografía convencional, resúmenes de mensajes para firmas digitales, compresión de datos antes de encriptar, un buen diseño ergonómico y una completa gestión de claves. Por otra parte, PGP realiza las funciones de clave pública con más rápidez que la mayoría de las demás implementaciones informáticas. PGP es criptografía de clave pública para todos. Es personal. Es privado. Y no le concierne a nadie más que a usted. Puede estar planificando una campaña política, tratando sobre sus impuestos o teniendo una aventura. O puede estar haciendo algo que en su opinión no debería ser ilegal, pero que lo es. Sea lo que fuere, no quiere que nadie más lea su correo electrónico (correo-E) privado ni sus documentos confidenciales. No hay nada malo en afirmar su derecho a la intimidad. El derecho a la intimidad es tan básico como la Constitución. ¿Qué pasaría si todo el mundo creyese que los ciudadanos respetuosos de la ley deberían utilizar postales para enviar el correo? Si algún espíritu valiente intentase afirmar su intimidad utilizando un sobre, levantaría sospechas. Las autoridades quizá abrirían su correo Rafael Albo y otros 103 • Escuela Abierta, 4 (2000) Encriptación de correo: PGP (Pretty Good Privacy o "intimidad bastante buena") ¿Por qué se necesita PGP? para ver qué está ocultando. Afortunadamente no vivimos en un mundo así y la mayor parte del correo se protege con sobres. Nadie levanta sospechas por afirmar su intimidad con un sobre. Hay seguridad en los grandes números. De forma análoga, sería interesante que todo el mundo utilizase habitualmente el cifrado en el correo-E, fuese inocente o no, para que nadie levantase sospechas por afirmar de esa manera su derecho a la intimidad. Piense en ello como una forma de solidaridad. Hoy en día, si el gobierno quiere invadir la intimidad de los ciudadanos corrientes tiene que emplear una cierta cantidad de esfuerzo y dinero en interceptar y abrir al vapor el correo normal, o en escuchar, y quizá transcribir, las conversaciones telefónicas. Este tipo de control, muy laborioso, no resulta práctico a gran escala. Sólo se realiza en casos importantes, donde parece que va a merecer la pena. Cada vez una mayor parte de nuestra comunicación privada se dirige por canales electrónicos. El correo electrónico reemplaza gradualmente al correo convencional. Los mensajes por correo-E son demasiado fáciles de interceptar y de explorar para buscar palabras interesantes. Es algo que puede hacerse a gran escala, fácilmente, habitualmente, automáticamente y de una forma imposible de detectar. Nos dirigimos hacia un futuro en el que los países estarán cruzados de lado a lado por redes de datos basadas en fibra óptica de alta capacidad, que conectarán todos nuestros ordenadores personales cada vez más ubicuos. El correo-E será la norma para todos, no la novedad que resulta hoy en día. Puede que el gobierno proteja nuestro correoE con algoritmos de cifrado diseñados por ellos mismos. Y puede que la mayoría esté de acuerdo. Pero algunos preferirán tomar sus propias medidas de protección. La propuesta de ley 266 del Senado de los Estados Unidos, una propuesta conjunta contra el delito, tenía oculta una medida inquietante. Si esta resolución no vinculante hubiese llegado a ley, habría obligado a los fabricantes de equipos de comunicaciones seguras a incluir "puertas traseras" en sus productos para que el Gobierno pudiese leer cualquier mensaje cifrado. Su traducción al castellano es la siguiente: "Es la opinión del Congreso que los proveedores de servicios de comunicación electrónica y los fabricantes de equipos para servicios Ejemplo de utilidad en Internet para la enseñanza universitaria 104 • Escuela Abierta, 4 (2000) de comunicación electrónica deben garantizar que los sistemas de comunicación permitan al Gobierno obtener el contenido en texto normal de las comunicaciones de voz, datos y otras comunicaciones, cuando esté adecuadamente autorizado por la ley". Esta medida fue desestimada tras una rigurosa protesta por parte de defensores de la libertad civil y de grupos empresariales. En 1992, la propuesta del FBI sobre intervención de telefonía digital se presentó en el Congreso norteamericano. Obligaría a todos los fabricantes de equipos de comunicaciones a integrar unos puertos especiales para la intervención a distancia, que permitiría al FBI intervenir todo tipo de comunicación electrónica desde sus oficinas. Aunque no consiguió ningún apoyo en el Congreso gracias a la oposición ciudadana, volvió a presentarse en 1994. Lo más alarmante es la nueva y enérgica iniciativa de la Casa Blanca sobre política criptográfica, desarrollada en la NSA desde el inicio de la administración Bush y presentada el 16 de Abril de 1993. La parte central de esta iniciativa es un dispositivo criptográfico construido por el Gobierno, llamado el "chip Clipper", que contiene un nuevo algoritmo criptográfico secreto de la NSA. El Gobierno anima a las empresas privadas a que lo incluyan en todos sus productos de comunicaciones seguras, como teléfonos, fax, etc. AT&T está instalando Clipper en todos sus productos seguros para voz. La trampa: en la fábrica, cada chip Clipper se carga con su propia clave única y el Gobierno mantiene una copia en depósito. Pero no hay que preocuparse, el Gobierno promete que sólo utilizará esas claves para leer las comunicaciones cuando esté autorizado por la ley. Naturalmente, para que Clipper sea efectivo, el siguiente paso lógico sería proscribir otras formas de criptografía. Si la intimidad se proscribe, sólo los proscritos tendrán intimidad. Los servicios de inteligencia tienen acceso a tecnología criptográfica de calidad. Lo mismo ocurre con los grandes traficantes de armas y los narcotraficantes. También disponen de ellos los contratistas del ejército, las compañías de petróleo y otros gigantes empresariales. Pero la mayoría de la gente normal y de las organizaciones políticas de base no han tenido nunca a su alcance una tecnología asequible para utilizar criptología de clave pública de "grado militar". Hasta ahora. Rafael Albo y otros 105 • Escuela Abierta, 4 (2000) Supongamos que quiero enviarle un mensaje que nadie excepto usted pueda leer. Podría "encriptar" o "cifrar" el mensaje, lo que significa revolverlo de una forma tremendamente complicada, con el fin de que resulte ilegible para cualquiera que no sea usted, el destinatario original del mensaje. Yo elijo una "clave" criptográfica para encriptar el mensaje y usted tiene que utilizar la misma clave para descifrarlo o "desencriptarlo". Por lo menos así funciona en los criptosistemas convencionales de "clave única". En los criptosistemas convencionales, como el US Federal Data Encription Standard (DES) [Norma federal para cifrado de datos en EE.UU.], se utiliza una sola clave para encriptar y desencriptar. Por lo tanto, hay que transmitir primero la clave por medio de un canal seguro para que ambas partes la conozcan antes de enviar mensajes cifrados por canales inseguros. Este proceso puede resultar incómodo. Si se tiene un canal seguro para intercambiar claves, ¿para qué se necesita entonces criptografía? En criptosistemas de clave pública, todo el mundo tiene dos claves complementarias, una revelada públicamente y otra secreta (llamada también clave privada). Cada clave abre el código que produce la otra. Saber la clave pública no sirve para deducir la clave secreta correspondiente. La clave pública puede publicarse y distribuirse ampliamente por una red de comunicaciones. Este protocolo proporciona intimidad sin necesidad de ese canal seguro que requieren los criptosistemas convencionales. Cualquiera puede utilizar la clave pública de un destinatario para encriptar un mensaje y éste empleará su clave secreta correspondiente para desencriptarlo. Sólo él podrá hacerlo, porque nadie más tiene acceso a esa clave secreta. Ni siquiera la persona que lo encriptó podría descifrarlo. También proporciona autentificación para mensajes. La clave secreta del remitente puede emplearse para encriptar un mensaje, "firmándolo". Se genera una firma digital, que el destinatario (o cualquier otra persona) puede comprobar al descifrarla con la clave pública del remitente. De esta forma se prueba el verdadero origen del mensaje y que no ha sido alterado por nadie, ya que sólo el remitente posee la clave secreta que ha producido esa firma. No es posible falsificar un mensaje firmado y el remitente no podrá desautorizar su firma más adelante. Ejemplo de utilidad en Internet para la enseñanza universitaria 106 • Escuela Abierta, 4 (2000) ¿Cómo funciona? Estos dos procesos pueden combinarse para obtener intimidad y autentificación al mismo tiempo, si se firma primero el mensaje con la clave secreta y se encripta después el mensaje firmado con la clave pública del destinatario. El destinatario sigue estos pasos en sentido contrario al desencriptar primero el mensaje con su propia clave secreta y comprobar después la firma con la clave pública del remitente. El programa lo hace automáticamente. Como el algoritmo de cifrado en clave pública es mucho más lento que el cifrado convencional de clave única, el proceso resulta más eficaz con un algoritmo convencional rápido de alta calidad, de clave única, para encriptar el mensaje. El mensaje original sin encriptar se denomina "texto en claro". Sin intervención del usuario se utiliza una clave aleatoria temporal, generada sólo para esa "sesión", para encriptar convencionalmente el fichero normal. Después se encripta esa clave aleatoria convencional con la clave pública del destinatario. La clave de la "sesión" convencional, encriptada con esa clave pública, se envía al destinatario junto al texto cifrado. El destinatario recupera esa clave temporal con su propia clave secreta y ejecuta con ella el algoritmo convencional de clave única, más rápido, para desencriptar el mensaje cifrado. Las claves públicas se guardan en "certificados de clave" individuales que incluyen el identificador de usuario del propietario (el nombre de esa persona [y algún dato único, como la dirección de correo-E]), un sello de hora del momento en el que se generó el par y el material propio de la clave. Cada clave secreta está encriptada con su propia contraseña, por si alguien roba la clave. Cada fichero ("anillo") de claves contiene uno o más de esos certificados. Las claves se identifican internamente mediante un "identificador de clave", que es una "abreviatura" de la clave pública (sus 64 bits menos significativos). Cuando se muestra este identificador, sólo aparecen los 32 bits inferiores para mayor brevedad. Aunque muchas claves pueden compartir el mismo identificador de usuario, a efectos prácticos no hay dos claves que compartan el mismo identificador de clave. PGP utiliza "resúmenes de mensaje" para elaborar las firmas. Un resumen de mensaje es una función "distribución" ("hash") unidireccional de 128 bits, criptográficamente resistente, de ese mensaje. Es anáRafael Albo y otros 107 • Escuela Abierta, 4 (2000) logo a una "suma de verificación" o código CRC de comprobación de errores: "representa" el mensaje de forma compacta y se utiliza para detectar cambios en él. A diferencia de un CRC, sin embargo, resulta computacionalmente impracticable para un atacante idear un mensaje sustitutivo que produzca un resumen idéntico. El resumen del mensaje se encripta con la clave secreta para elaborar la firma. Los documentos se firman añadiéndoles como prefijo un certificado de firma, junto con el identificador de la clave que se utilizó para realizarla, un resumen de mensaje del documento (firmado con la clave secreta) y un sello de hora del momento de la firma. El destinatario utiliza el identificador de la clave para buscar la clave pública del remitente y comprobar la firma. El programa busca automáticamente la clave pública y el identificador de usuario en el fichero de claves correspondiente. Los ficheros cifrados llevan como prefijo el identificador de la clave pública con la que se han encriptado. El destinatario utiliza este prefijo de identificación para encontrar la clave secreta y poder desencriptar el mensaje. Su programa busca automáticamente la clave secreta en el fichero de claves correspondiente. Estos dos tipos de fichero constituyen el método principal para almacenar y gestionar las claves públicas y secretas. En lugar de mantener las claves individuales en ficheros separados, se reúnen en anillos para facilitar la búsqueda automática, ya sea por identificador de clave o por identificador de usuario. Cada usuario mantiene su propio par de anillos. Las claves públicas individuales se guardan en ficheros aparte durante el tiempo necesario para enviarlas a algún amigo, que las añadirá entonces a su propio anillo de claves. ¿Cómo proteger las claves públicas contra manipulación? En un sistema de clave pública no hay que proteger las claves públicas contra exposición. De hecho, es mejor que estén ampliamente difundidas. Sin embargo, es importante protegerlas contra manipulación para asegurar que una clave pertenece realmente a quien parece pertenecer. Este quizá sea el punto más vulnerable de un criptosisteEjemplo de utilidad en Internet para la enseñanza universitaria 108 • Escuela Abierta, 4 (2000) ma de clave pública. Veamos primero un posible desastre y a continuación la manera de evitarlo con PGP. Supongamos que quiere enviar a Alicia un mensaje privado. Recibe la clave pública de Alicia desde una BBS (Bulletin Board System: tablón electrónico de anuncios). Encripta la carta para Alicia con esa clave y la envía por medio del correo-E de la BBS. Desafortunadamente, sin saberlo Alicia ni usted, otro usuario llamado Carlos se ha infiltrado en la BBS y ha generado una clave pública propia que lleva el identificador de usuario de Alicia. Pone secretamente esa clave falsa en lugar de la verdadera. Usted, sin saberlo, utiliza esa clave en lugar de la auténtica. Todo parece normal porque la clave falsa tiene el identificador de usuario de Alicia. Ahora Carlos puede descifrar el mensaje dirigido a Alicia, ya que tiene la clave secreta correspondiente. Puede incluso volver a encriptar el mensaje con la verdadera clave pública de Alicia y enviárselo a ella para que nadie sospeche nada. Aún peor, puede incluso hacer firmas en nombre de Alicia con esa clave secreta, porque todo el mundo utiliza la clave pública falsa para comprobar las firmas de Alicia. La única forma de evitar este desastre es impedir que alguien pueda manipular las claves públicas. Si ha obtenido la clave pública directamente de Alicia, no hay problema. Sin embargo, esto puede resultar difícil si la persona se encuentra a mil kilómetros, o no es localizable en ese momento. Podría conseguir la clave pública de Alicia de un amigo en el que confien los dos, David, que sabe que su copia de la clave pública de Alicia es buena. David podría firmar la clave pública de Alicia, respondiendo de la integridad de la clave. David realizaría esta firma con su propia clave secreta. Así se crearía un certificado firmado de clave pública que demostraría que la clave de Alicia no ha sido manipulada. Este mecanismo requiere que su copia de la clave pública de David sea buena, para poder comprobar la firma. David podría también proporcionar a Alicia una copia firmada de su clave pública. Por tanto, David hace de referencia entre Alicia y usted. David o Alicia podrían enviar a la BBS ese certificado firmado de clave pública de parte de Alicia y usted podría recibirlo más adelante. Rafael Albo y otros 109 • Escuela Abierta, 4 (2000) secreta/pública y distribuir la nueva clave pública. Puede enviar en un solo lote la nueva clave con el certificado de compromiso de la antigua. Puntos vulnerables Ningún sistema de seguridad de datos es impenetrable. PGP puede burlarse de diversas maneras. Los posibles puntos vulnerables que hay que tener en cuenta son, entre otros, el compromiso de la contraseña o de la clave secreta, la manipulación de las claves públicas, los ficheros que se han borrado pero que siguen todavía en el disco, los virus y caballos de Troya, los fallos en la seguridad física, las emisiones electromagnéticas, la exposición en sistemas multiusuario, el análisis de tráfico, y quizá incluso el criptoanálisis directo. El mail - bombing es un tipo de ataque que consiste en, como su propio nombre indica, bombardear una cuenta de correo. Hay muchos programas que realizan este tipo de ataque. Su funcionamiento es realmente sencillo: se escribe el mensaje que se desea mandar, y el programa se encarga de enviarlo de forma automática la cantidad de veces deseada. Este tipo de ataque no provoca otra cosa que la molesta de tarea de tener que llamar a tu ISP (Internet Service Provider) para pedirle que vacíen tu espacio dedicado a correo-E, con la posible pérdida de otros correos importantes, o bien vaciarlo tu mismo con alguna aplicación diseñada para ello. El problema del mail-bombing es que no se puede realizar de forma anónima a través de remailers (ya que los remailers no permiten ni mail-bombing ni mail-spamming) con lo cual se puede rastrear el origen de dicho ataque, aunque se puede realizar a través de algún servidor de correo de alguna universidad o similar con lo que dificultaría bastante encontrar el autor del ataque. Ejemplo de utilidad en Internet para la enseñanza universitaria 116 • Escuela Abierta, 4 (2000) Mail - Bombing www.anonymizer.com www.salteador.com www.pgp.com www.uk.pgp.net www.c2.org Un protocolo no es más que un conjunto de normas o reglas a las que nos ceñimos para que la comunicación sea posible en cualquier campo de la vida. Los protocolos que se utilizan en la red no son sino eso, unas reglas definidas como estándar. El protocolo más utilizado en Internet es el TCP/IP. Realmente, no es un único protocolo, es la unión de varios lo que forman los llamados protocolos de Internet, siendo los mas importantes el IP y el TCP. Para entender sus defectos y vulnerabilidades (ya que es eso lo que aquí se trata) hay que hacer una pequeña introducción. Fundamentalmente hay dos tipos de protocolos: los orientados a la conexión y los que no lo son. La diferencia fundamental entre ellos es sencilla: los orientados establecen una comunicación entre dos maquinas y tienen control de errores. Los no orientados mandan su mensaje y se despreocupan, no les importa si llega a su destino o no; es una actitud francamente optimista. Pues bien, de los dos protocolos anteriormente citados, el TCP es orientado a la conexión y el IP es no orientado. La falta de verificaciones hace de este protocolo IP un objetivo perfecto para el ataque. Lo único que identifica a los que intervienen en la conexión es su dirección IP y ésta es fácilmente cambiable. Con unos conocimientos básicos de programación se puede conseguir que el destinatario de un paquete piense que es él mismo el que manda y recibe un mensaje, con los peligros que ello conlleva. Como ya se ha comentado, el IP es un servicio no orientado a la conexión, es decir, permite el intercambio de datos entre ordenadores sin establecimiento previo de llamada. Para tareas de fiabilidad se encarga de tareas de control, secuenciamiento, aperturas, cierres, etc. Rafael Albo y otros 117 • Escuela Abierta, 4 (2000) Bibliografia sobre privacidad Protocolo TCP/IP Uno de los problemas más importantes que tiene el protocolo es que es muy conocido y es relativamente sencillo. Además, cada sistema operativo (Windows 3.11, Windows 95, Windows NT, UNIX, macOs, OS/2, etc) tiene diferentes implementaciones de los mismos protocolos, es decir, hacen lo mismo y tienen diferentes fallos. El ataque básico que afecta al protocolo lo que busca es la desconexión de la red de la víctima, ni más ni menos, forzando a que reiniciar su maquina y volver a llamar por teléfono. De este ataque hay muchas variaciones que explotan diferentes fallos en distintos sistemas. El primero que apareció afectaba a los sistemas operativos de Microsoft: sólo tenía que decirle a la víctima que el mensaje era de un tipo especifico. Otros como el jolt mandan paquetes falsos a la víctima hasta provocar la perdida de conexión. El jolt además falsea la dirección del asaltante para dificultar su localización, esto es ya una cosa común a todos estos tipos de ataques. El land y sus variaciones básicamente mandan un paquete con la dirección de destino igual que la de origen para que la víctima entre en un círculo hasta que se cuelgue. Los más actuales como el teardrop explotan errores en la recepción de mensajes fragmentados: le dice a la víctima que le manda más o menos paquetes de los que llegan en realidad. Para solucionar el problema que esto supone los distintos fabricantes de sistemas operativos sacan series de parches. En Windows NT la mayoría de los fallos se solucionan instalando el SP3, y en los sistemas UNIX actualizando la versión del núcleo. Otra forma de solucionarlo es utilizando un cortafuegos o firewall, con el que se pueden bloquear los paquetes sospechosos de constituir un ataque. De todas formas ninguna de estas dos soluciones es completamente segura, pero es mejor que no tener nada. En cuanto a la seguridad del protocolo, el mayor peligro que tiene es la posibilidad de variación de los contenidos de los mensajes IP. Esta Ejemplo de utilidad en Internet para la enseñanza universitaria 118 • Escuela Abierta, 4 (2000) IP spoofing técnica se denomina spoofing. Actualmente, el spoofing no es el ataque en sí, sino un paso del mismo. El IP es fácilmente atacable, pero el TCP, al ser orientado a la conexión como explicamos antes, es más complicado de atacar. El TCP es fiable, es capaz de recuperar datos perdidos, duplicados, cambiados de orden. Esto lo hace asignando números a cada mensaje enviado, utilizados por el receptor para ordenarlos, eliminar los duplicados, pedir los que le falten en el caso de que ocurra, etc. Es decir, manda un mensaje con un numero, y el receptor le manda otro certificando que ha llegado correctamente. Para el intercambio, los ordenadores tienen que establecer la conexión. El TCP la establece en tres pasos. 1 A ---SYN---> B 2 A <---SYN/ACK--- B 3 A ---ACK---> B En (1) el cliente le dice al servidor que quiere conectarse. Este es el propósito del flag SYN. El cliente le dice al servidor que el campo del número de secuencia es válido y que debe ser comprobado. El cliente debe indicar el número de secuencia en el campo de la cabecera del TCP como ISN (número de secuencia inicial). El servidor después de recibir este segmento (2) debe mandarle su propia ISN y un ACKnowledgement del primer segmento del cliente (que será ISN+1). El cliente le manda el ACK del ISN del servidor y la transferencia puede tener lugar. Es importante comprender cómo los números de secuencia son seleccionados inicialmente, y cómo cambian con el tiempo. El IP-Spoofing consta de muchos pasos. Primero hay que elegir a la maquina objetivo, después tenemos que encontrar las relaciones de confianza entre las máquinas. La relación de confianza es desactivada y los números de secuencia TCP son analizados. Se suplanta a la máquina, los números de secuencia se copian y se intenta establecer una comunicación que sólo requiere autentificación basada en direcciones. Si tiene éxito, el atacante ejecutará un simple comando para dejar un backdoor. Lo necesario para hacer este ataque es un ordenador objetivo, relaciones de confianza, una máquina atacante (con perfil de root), y Rafael Albo y otros 119 • Escuela Abierta, 4 (2000) software de IP-spoofing. Generalmente este ataque se hace desde una cuenta root contra la cuenta root de la víctima. Un factor muy importante en IP-spoofing y muy a tener en cuenta es que es un ataque ciego. El atacante va a tomar la identidad de un puesto con relaciones de confianza para deshabilitar la seguridad de la víctima. Después de que el objetivo se ha seleccionado, el atacante debe determinar las relaciones de confianza (suponemos que existen, de otra forma, el ataque termina aquí), si no se tiene información de ese tipo, el último recurso está en probar las direcciones del mismo tipo que la víctima. Una vez que hemos encontrado al trusted host, debemos deshabilitarlo. Desde el momento que se va a suplantar debemos asegurarnos que no recibe ningún tráfico de la red. Prevención del ataque Una manera fácil de solucionar el problema es no utilizar autentificaciones basadas en las direcciones. Deshabilite todos lo comandos r*, quite todos los ficheros .rhosts y borre el contenido del /etc/hosts.equiv. Esto forzará a todos los usuarios a utilizar otros medios de acceso remoto (telnet, ssh, skey, etc). Si su site tiene conexión directa a Internet, puede usar su router para ayudarle. Primero asegúrese que sólo los host de su red interna pueden participar en las relaciones de confianza. Después simplemente filtre todo el tráfico de fuera (Internet) que intente entrar. Un método obvio para detectar IP-spoofing es requerir que todo el tráfico de la red este encriptado y/o autentificado. Cortar una conexión ya establecida Para cortar una comunicación tenemos que tener en cuenta que: host A <------X------------------------->host B | A,B tienen una conexión TCP en marcha host S <------/ S está en la misma subnet Ejemplo de utilidad en Internet para la enseñanza universitaria 120 • Escuela Abierta, 4 (2000) Cortar la conexión con RST Es un flag que se usa para cortar la conexión. Para ser aceptado, el número de secuencia tiene que ser el correcto (no hay ACK en un paquete RST). Calculamos el número de secuencia y ya está. Cortar una conexión con FIN es similar a lo hecho hasta ahora. Un flag FIN quiere decir que no hay más información para ser enviada. La diferencia es que el host objetivo le manda un paquete de confirmación de corte. Con el hijacking tenemos un método por el cual podemos "robar" una conexión generada por una aplicación de red iniciada por un cliente. Generalmente, la aplicación de red que más nos interesa para estos fines es el TELNET., y lo que vamos a hacer es hacernos pasar por el cliente que ha iniciado esa aplicación, sustituyéndolo y tomando los mandos de la aplicación. Escaneo de puertos El escaneo es un método para descubrir puertos de comunicación explotables. La idea es probar cuantos más puertos se pueda mejor, para encontrar cuales están preparados para recibir información. Tipos Desde hace un tiempo se han desarrollado muchas técnicas para verificar que puertos y protocolos estaban escuchando en una máquina. Algunos de los más comunes son: - TCP connect() scanning: Esta es la más básica forma de escaneo de TCP. Con connect() su sistema inicia una conexión con los puertos más interesantes de la máquina. Si el puerto está escuchando, connect() tendrá éxito y no lo tendrá si está cerrado. Una gran ventaja de este método es que no necesita privilegios especiales, y es de los escaneos más rápidos. Su mayor desventaja reside en que es fácilmente filtrable y detectable. Rafael Albo y otros 121 • Escuela Abierta, 4 (2000) - TCP SYN scanning: A esta técnica se le suele llamar "half-open" scanning porque no hace una conexión completa. Usted manda un paquete SYN como si fuera a establecer una conexión y espera que le responda, un SYN/ACK indica que el puerto está escuchando. Si recibe un SYN/ACK manda inmediatamente un RST para cortar la comunicación. La principal ventaja es que pocos sitios tienen log de este tipo, desafortunadamente, necesita ser root para utilizarlo. - TCP FIN scanning: Algunos firewalls y programas como el synlogger son capaces de detectar ese tipo de escaneo. Con los paquetes FIN podemos pasar entre esas cosas molestas, la idea es que los puertos cerrados responden a un FIN con un RST, y los que está escuchando ignoran ese paquete en cuestión. Esto es un fallo del TCP así que no es 100% seguro. - Fragmentation scanning: Este no es un método nuevo de escaneo en sí mismo, sino una modificación de otras técnicas. En lugar de mandar en paquete de prueba, lo que hace es mandarlo en pequeños fragmentos para hacer más difícil su detección. - FTP bounce attack: Uno de los aspectos más interesantes del protocolo FTP es su soporte para conexiones proxy FTP. En otras palabras, puedo conectar desde evil.com al servidor FTP de target.com para establecer una conexión de control de comunicaciones, después puedo pedirle al servidor que inicie un DTP (data transfer process para enviar un fichero a cualquier sitio de internet). Utilizando esa base se puede usar para hacer escaneo de puertos. - UDP ICMP port unreachable scannig: Este método varía de los anteriores en que utiliza el protocolo UDP en lugar del TCP. Escanear a este protocolo es significativamente más difícil porque los puertos abiertos no tienen que mandar un ACK de respuesta a nuestra prueba y los cerrados no tienen que mandar un mensaje de error. Afortunadamente muchos host te mandan un ICMP_PORT_UNREACH error cuando mandas un paquete a un puerto UDP cerrado. Ni los paquetes UDP ni los ICMP tienen seguridad de que lleguen. Es muy lento este tipo de escaneo. - UDP recvfrom() and write() scanning: Cuando hace un recvform() contra un puerto UDP abierto te devuelve un EAGAIN si el error ICMP no ha sido recibido, y un ECONNREFUSED si sí lo ha sido. Ejemplo de utilidad en Internet para la enseñanza universitaria 122 • Escuela Abierta, 4 (2000) - ICMP echo scanning: Esto no es en realidad un escaneo de puertos pero algunas veces puede llegar a ser útil para determinar que host en una red están funcionando haciéndoles pings. Bibliografía sobre TCP/IP - Libros: TCP/IP Illustrated; CIFS: Common Insecurities Fail Scrutiny; Redes de Ordenadores. - RFCs: 768; 791; 792; 793; 1180; 1752; 1825; 1948 - Revistas en papel: PC Actual nº 93 - Textos: Windows Sockets (An Open Interface for Network Programming under Microsoft Windows v1.1); BSD Sockets (A Quick And Dirty Primer); Windows Sockets (A Quick And Dirty Primer); Programming UNIX Sockets in C - Frequently Asked Questions - Revistas: Confidence Remains High 001, 003, 666; Phrack P48-14, P49-06, P49-07, P49-15, P51-06, P51-11; SET 09, 12, 13; - Direcciones web: www.rootshell.com; www.islatortuga.com; www.phrack.com; www.codez.com; www.l0pht.com; www.underground.org; www.2600.com; www.geek-girl.com/bugtraq; www.angelfire.com/mi/JJFHackers; - Listas de correo: [email protected] - Otros: R34.linux, R34.internet, 425.linux (áreas de fidonet) Podemos definir un bug, de forma simple, como un error producido por un determinado programa. Estos errores, cuando esos programas resultan ser el propio sistema operativo, dan lugar a fallos de diversa índole en la seguridad de los sistemas informáticos, desde la pérdida de estabilidad del sistema operativo hasta la incorrecta asignación de permisos de los usuarios, pasando por todo tipo de acciones peligrosas. Aunque debemos señalar que no todos los bugs son peligrosos para la seguridad; por ejemplo, un fallo en las librerías gráficas no provocará fallos en la seguridad del sistema, aunque cause molesRafael Albo y otros 123 • Escuela Abierta, 4 (2000) Bugs de Sistemas tias visuales al usuario. Estos errores son descubiertos de muy diversas maneras: por la misma compañía desarrolladora del S.O., o bien por algún usuario, fruto de la casualidad, o más comúnmente, por las investigaciones que los hackers de alto nivel realizan con el objetivo de lograr el control de las máquinas en las que ese S.O. está instalado. En Internet podemos encontrar varias bugtraps (listas de bugs) en las que, clasificados por sistemas operativos, podemos ver cuales son los bugs más recientes. Algunas de estas listas son de actualización casi diaria, e incluso incluyen los exploits (programas ejecutables o instrucciones paso por paso) necesarios para lograr producir ese error. Una tarea básica para el administrador de sistemas será la lectura de estas listas, con el objetivo de subsanar los errores presentes en todos los SS.OO. Naturalmente, los hackers sí las leen. A continuación observaremos algunos bugs de los SS.OO. más comunes en el mercado. Fallos generales de la red Windows Estos fallos son aplicables a cualquier red Windows, en la que nos encontraremos con puestos Windows 3.x, 95 y servidores NT. Son independientes de las versiones de estos, y solo hemos comentado aquí dos de los más representativos. Casi cualquier programa de tecnología Microsoft tiene una lista de bugs considerable, y no se libran de ellos ni siquiera aquellos de los que más se pregona su seguridad. Sirva como ejemplo Windows NT Server 4.0, del cual Microsoft asegura su estabilidad y su cumplimiento como sistema con seguridad de clase C2, mientras en cualquier bugtrap (sitios en Internet que contienen una lista de bugs) podemos obtener como mínimo 25 fallos de seguridad de este servidor. ActiveX Ejemplo de utilidad en Internet para la enseñanza universitaria 124 • Escuela Abierta, 4 (2000) Windows Un control ActiveX no es más que un componente de un programa que puede ser descargado de una máquina servidor y ejecutado en una máquina cliente. Los controles ActiveX pueden resultar tan útiles como letales. Cualquier control ActiveX puede contener código que dañe nuestro sistema, dado que puede contener cualquier tipo de código, incluidos, por supuesto, los víricos. Se debe de tener cuidado al descargar cualquier control de Internet, dado que a pesar de estar autentificado nada garantiza la identidad del fabricante del control. Esto es así por la tecnología empleada por Microsoft en su denominada "Microsoft's AuthentiCode technology", que permite la distribución de cualquier código, sin realmente demostrar la identidad del creador. Basta conectarse a un WEB, dar un nombre, dirección, número de tarjeta de crédito y alguna otra información (naturalmente, toda puede ser falsa, incluido el número de VISA, Internet está llena de número de VISA válidos), hacer clik en el botón "I Agree" tras leer un montón de inútil jerga legal, y esperar a que nos llegue un email con la información que debemos añadir a nuestro control para que quede registrado. Naturalmente, este email también puede ser recogido de cualquier sitio que garantice el anonimato. Nadie se preocupará de revisar nuestro control ActiveX. Un ejemplo no dañino de control ActiveX registrado de esta manera esta disponible en http://www.halcyon.com/ mclain/ActiveX. Se llama "Explorer" y pretende ser una demostración de lo peligrosa de esta forma de registro automático. Seguridad en la compartición de recursos La seguridad de la compartición de recursos en redes Windows se basa en la protección mediante contraseñas para acceder al recurso, de tal manera que si no se conoce la contraseña el acceso al recurso compartido será denegado. Ahora bien, la seguridad en la encriptación de estas contraseñas deja mucho que desear por su debilidad. Hoy estos algoritmos de "encriptación" son conocidos, y cualquier navegante de Internet puede dar con ellos. Por lo tanto, estas passwords pueden ser averiguadas por cualquiera. Esta debilidad de las contraRafael Albo y otros 125 • Escuela Abierta, 4 (2000) Las técnicas para colarse en sistemas UNIX son múltiples, variadas, y generalmente, complejas. La más general, y en la que la mayoría de estos programas que otorgan el nivel root, es intentar sobrepasar la capacidad del buffer que maneje el programa. Resulta imposible escribir aquí donde falla cada uno y como solucionarlo; una lista de bugs puede obtenerse en http://www.geek-girl.com/bugtraq. Aquí podemos obtener listas para varios sistemas operativos. La seguridad en Novell, en cualquiera de sus versiones, deja de existir dado que pasa por ser de las más amenazadas en Internet. Es posible conseguir programas que den a cualquier usuario el poder de Administrador con solo ejecutar un fichero: "hack.exe" o similar. En la bibliografía pueden observarse direcciones en las que obtener algunos de estos ficheros. Esta es una lista de programas obtenida de la dirección Internet http://www.angelfire.com/mi/JJFHackersTeam/, muchos de ellos son ejecutables, con los que tomar el control de un sistema que no este protegido es tan fácil como teclear alguno de estos comandos... Burglar.zip: Usado para que una persona tenga acceso de SYSOP desde el prompt del servidor. • Control.zip: Da control remoto desde cualquier nodo. • FAQ.zip - Ultima y no oficial Novell Netware Hack FAQ. (July 22) • Hack.zip: 2 Exe's que te dan información vital. Por ejemplo, si el SYSOP esta conectado. • Idleboot.zip: TSR que resetea ordenadores en networks (configurable). • Madcht.zip: Programa de LAN Chat. • Novellbfh.zip: Novell Brute Force Hacker. • Novellffs.zip: Novell Fake File Server. • Novelhak.txt: Novell Hacking Txt, escrito por los mismos que el FAQ. • Nwpcrack.zip: Brute Force Hacker for ver. 3.11 and 3.12. Ejemplo de utilidad en Internet para la enseñanza universitaria 132 • Escuela Abierta, 4 (2000) Novell • Pzapdemo.zip: Le da al No-SYSOP la habilidad para resetear ID's y cambiar passwords (Req. Win 3.1 or higher). • Setpass.zip: Cambia el password del SYSOP. • Shutdown.zip: Apaga el servidor a cualquier hora, tu decides ;-). • Shwusr10.zip: Te proporciona informacion vital. • Novell.zip: Un txt que te enseña algun que otro agujero. • Novell.zip: Unos cuantos programas, uno de ellos un sniffer del teclado (necesitas acceso al servidor). • Novhack.zip: Programa que te da acceso de SYSOP (necesitas acceso el servidor). Bibliografía sobre bugs de sistemas. www.halcyon.com/mclain/ActiveX www.l0pthcrack.com www.snadboy.com www.rootshell.com www.geek-girl.com/bugtraq www.angelfire.com/mi/JJFHackersTeam/ Definido como una intromisión, ilegítima, en un derecho básico del titular, los conocidos "virus informáticos" están consiguiendo marcar un campo en la informática. Su numero aumenta descomunalmente día a día y se prevé que en el año 2001 podrían existir diez millones de virus en circulación, y hasta hoy se conocen como mínimo mas de 5000 programas en el mundo con estas características. Podríamos remontarnos al año 1949, para encontrarnos el primer indicio de definición de virus. John Von Neumann, experto en teoría de ordenadores, expone su teoría de programas con capacidad de multiplicarse en el articulo: "Teoría y organización de un autómata complicado". Diez años después, en los laboratorios AT&T Bell, inventan el juego Guerra Nuclear (Core Wars). Consistía en una batalla Rafael Albo y otros 133 • Escuela Abierta, 4 (2000) Virus entre los códigos de dos programadores, en la que cada jugador desarrollaba un programa cuya misión era la de acaparar la máxima memoria posible mediante la reproducción de sí mismo. En esta lucha, cada uno de los programas intentaba destruir al del oponente y tras un tiempo predeterminado ganaba quien tuviera la mayor cantidad de memoria ocupada con su programa. En 1983 Core Wars, que ya contaba con adeptos en el Instituto de Tecnología de Massachusetts (MIT) y en el Centro de Investigación de Xerox en Palo Alto, salió a la luz pública en un discurso de Ken Thompson en la entrega del premio Turing. Ese mismo año aparece el termino "virus" tal como lo entendemos hoy día, Fred Cohen en su tesis doctoral lo definió como "un programa que puede infectar otros programas modificándolos para incluir una versión de sí mismo". Presentó diversos experimentos donde demostraba la factibilidad de estos engendros y probó las limitaciones para defendernos de ellos y la imposibilidad de diseñar un sistema de detección universal. En los años 1986-87 se produce la explosión del fenómeno virus en PCs. Fue en el entorno universitario donde se detectaron los primeros casos de infección masiva. Propiedades de un virus informático Es capaz de generar copias de si mismo en ficheros o lugares distintos de donde se encuentra. Se introduce dentro del código de otro programa, pudiendo ejecutarse de este modo de forma parásita, siendo activado inconscientemente por el usuario en sus tareas diarias mediante programas del propio usuario o del sistema operativo, siendo este último su verdadero objetivo, ya que teniendo el control sobre el sistema operativo, se tiene en consecuencia el control sobre todo lo que se encuentra en el sistema informático infectado. Las acciones para las que han sido programados, van desde un simple mensaje, hasta la destrucción total de los datos del soporte físico de estos, pasando por toda clase de variedades con mayor o menor grado de ingenio por parte del programador, pero no debemos olvidar que su funcionamiento es básicamente el mismo que el de cualquier otro programa que pueda existir en el mercado, pero con objetivos Ejemplo de utilidad en Internet para la enseñanza universitaria 134 • Escuela Abierta, 4 (2000) claramente distintos, con esto queremos decir que un virus informático no es peligroso por el hecho de estar grabado en un disco duro, sino que necesita de una fuente externa que lo active para comenzar a ejecutarse, y poder así realizar su cometido, y de ahí que busque otro programa en el que incluirse de forma parásita, ya que mientras no se ejecute y se cargue en memoria, todo su código es totalmente inofensivo Clases de virus Según los criterios de los informáticos, hay quienes distinguen entre virus y programas de características similares (gusanos, caballos de Troya o bombas lógicas) pero que no tienen tal denominación, nosotros no vamos a entrar en el análisis de cuales son o no virus informáticos, tratando a todos como tal ya que su actividad es perniciosa en cualquiera de los casos. Gusano, Caballo de Troya, bomba Lógica, polimórficos, parásitos, virus de disquete, virus de sector de arranque, virus de macro, virus de multipartición, virus de encriptación, en fin, toda una gama para todos los gustos, aunque estos se asocian en pocos grupos. Los virus son, sin duda alguna, los reyes de los programas dañinos. Sin embargo, no debemos olvidar que existen otras rutinas que pueden igualmente causarnos destrozos en nuestros sistemas. Los gusanos y conejos son programas que comparten con los virus su capacidad de reproducción. Tienen como objetivo realizar múltiples copias de sí mismo, lo que suele terminar por desbordar y colapsar al sistema. El gusano más famoso fue el de Robert Morris, que consiguió bloquear la red ARPAnet. No es casualidad que su padre fuera uno de los implicados en el desarrollo del Unix y pionero en las Core Wars. Los virus gusano Se propagan rápidamente a través de las redes. Gusano es un programa que se desplaza por la memoria interna del ordenador con Rafael Albo y otros 135 • Escuela Abierta, 4 (2000) identidad propia, a diferencia del virus, que generalmente se adhiere a otros programas, está diseñado específicamente para que busque zonas de memoria desocupadas, donde se autoduplica sucesivamente produciendo un desbordamiento físico de la memoria y además, a diferencia de los virus, mantienen comunicación con el programa por el que han sido creados, su ámbito de actuación son redes publicas, y redes de área local, utilizando el correo electrónico como medio de propagación. Los Caballo de Troya o simplemente troyanos Son programas que se presentan en forma de aplicación "normal", pero que en su interior poseen código destructivo. Hay que destacar que los Caballos de Troya, a diferencia de los virus, no tienen capacidad de replicación. Se suelen presentar como utilidades comunes, por lo que podemos encontrarnos con Caballos de Troya que simulan el compresor ARJ o el antivirus McAfee. Uno de los troyanos que más impacto causó, por la repercusión en los medios de comunicación, fue el conocido AIDS. Las bombas lógicas Son programas que se ejecutan al producirse un hecho determinado; la condición puede ser una fecha, combinación de teclas, etc., y si no se produce la condición el programa permanece oculto sin ejercer ninguna acción. Esta técnica es, en ocasiones, utilizada fraudulentamente por programadores a medida en sus aplicaciones. Consiguen que en determinadas fechas el programa genere un error, de manera que el cliente esté forzado a recurrir al programador para subsanarlo, asegurándose de esta forma el mantenimiento. No podemos olvidarnos de los virus, programas que utilizan características de los gusanos, Caballos de Troya y bombas lógicas. Así pues, se reproducen, se introducen en aplicaciones originales y pueden causar diferentes efectos cuando se cumple alguna determinada condiEjemplo de utilidad en Internet para la enseñanza universitaria 136 • Escuela Abierta, 4 (2000) ción. Por último, los applets Java y ActiveX, de la mano de los lenguajes orientados a Internet, han permitido la potenciación y flexibilidad de los desarrollos en la Red. Sin embargo, estas nuevas tecnologías abren también un nuevo mundo a explotar por los creadores de virus. Si bien aún no se ha producido un uso masivo de estas técnicas, pruebas realizadas de forma aislada vienen a demostrar la factibilidad del uso de estos lenguajes para realizar las funciones de los programas anteriormente comentados. La mayoría de las casas antivirus hace tiempo que vienen dando a sus productos un enfoque orientado a la Red. En estos momentos, y ante la amenaza que se prevé, son muchas las que han comenzado a implementar técnicas de detección de applets Java y controles ActiveX maliciosos. Funcionamiento Hay que tener siempre en cuenta que un virus es simplemente un programa. Por lo tanto, debemos dejar a un lado las histerias y los miedos infundados y al mismo tiempo ser conscientes del daño real que pueden causarnos. Para ello, lo mejor es tener un buen conocimiento de cómo funcionan y las medidas que debemos de tomar para prevenirlos y hacerles frente. El nacimiento de un virus parte de personas con un alto grado de conocimientos de programación. Las motivaciones que pueden llevar a crearlos son de lo mas variadas y quedan fuera del propósito de este artículo. Estos programas pueden desarrollarse en distintos lenguajes de programación, siendo el ensamblador el más utilizado por su potencia. El objetivo del virus consiste en replicarse a sí mismo de forma transparente al usuario y dificultando al máximo su detección. Para poder replicarse necesita ser ejecutado en el ordenador, por lo que recurre, de manera habitual, a unirse a ficheros ejecutables modificándolos o situándose en los sectores de arranques y tabla de particiones de los discos. Una vez que se ejecutan, ya sea por abrir un fichero infectado o por hacer una operación de un disco con el boot infectado, suelen quedar residentes en memoria a la espera de infectar otros ficheros y discos. Los virus residentes interceptan los Rafael Albo y otros 137 • Escuela Abierta, 4 (2000) vectores de interrupción, modificando la tabla que los contienen, para que apunten a su código. Los vectores son los encargados de prestar los servicios del sistema; de esta manera, cuando una aplicación llame a uno de esos servicios el control es cedido al virus. Con el control del sistema, el virus se dispone a la replicación, ya que una llamada al servicio de ejecución o copia de un fichero puede ser interceptada gracias a las modificaciones de los vectores de interrupción y proceder a su infección. Lo más usual para ello consiste en añadir el código vírico al final del fichero y modificar la cabecera de éste para que apunte al virus. Al final del código del virus habrá un nuevo salto al comienzo del programa original para que se ejecute con normalidad y el usuario no sospeche. Por último, el virus suele contener un efecto que se hará visible en determinadas circunstancias. Una fecha o un numero concreto de infecciones son comúnmente utilizados para hacer despertar el efecto, que puede variar desde inocentes mensajes en pantalla hasta la perdida total de la información de nuestro disco duro. Los virus más avanzados utilizan técnicas para hacer más efectivo su trabajo. Así, mediante la técnica de Stealth el virus esconde los signos visibles de la infección que podrían delatar su presencia. Con el Tunneling intentan burlar los módulos residentes de los antivirus mediante punteros directos a los vectores de interrupción. Los módulos residentes de los antivirus funcionan de forma parecida a los virus, interceptando los servicios del sistema, pero lógicamente con un propósito totalmente diferente. Otra técnica muy utilizada es la autoencriptación, que permite que el virus se encripte de manera diferente cada vez que infecta un fichero. De esta forma dificulta la labor de detección de los antivirus. Normalmente son detectados por la presencia de la rutina de desencriptación, ya que ésta no varía. La contramedida de los virus para impedir ser detectados de esta forma es variar el método de encriptación de generación en generación. Es decir, que entre distintos ejemplares del mismo virus no existen coincidencias ni siquiera en la parte del virus que se encarga de la desencriptación; son los llamados virus polimórficos. En esta guerra abierta, los creadores de virus en su afán de no ser detectados por los antivirus llegan a implementar técnicas específicas para burlarlos. Ejemplo de utilidad en Internet para la enseñanza universitaria 138 • Escuela Abierta, 4 (2000) Tipos de virus Dependiendo del lugar donde se alojan, la técnica de replicación o la plataforma en la cual trabajan, podemos diferenciar en distintos tipos de virus. Los virus de Boot utilizan el sector de arranque, el cual contiene la información sobre el tipo de disco, es decir, número de pistas, sectores, caras, tamaño de la FAT, sector de comienzo, etc. A todo esto hay que sumarle un pequeño programa de arranque que verifica si el disco puede cargar el sistema operativo. Los virus de Boot utilizan este sector de arranque para ubicarse, guardando el sector original en otra parte del disco. En muchas ocasiones el virus marca los sectores donde guarda el boot original como defectuosos; de esta forma impiden que sean borrados. En el caso de los discos duros pueden utilizar también la tabla de particiones como ubicación. Suelen quedar residentes en memoria al hacer cualquier operación en un disco infectado, a la espera de replicarse en otros. Como ejemplos representativos tenemos al ya mencionado Brain. Los virus de fichero, como su propio nombre indica, infectan archivos y tradicionalmente los tipos ejecutables COM y EXE han sido los más afectados. Dentro de la categoría de virus de ficheros podemos encontrar más subdivisiones. Así, los virus de acción directa son aquellos que no quedan residentes en memoria y que se replican en el momento de ejecutarse un fichero infectado. Los virus de sobreescritura corrompen el fichero donde se ubican al sobreescribirlo. Los virus de compañía aprovechan una característica del DOS, gracias a la cual si llamamos a un archivo para ejecutarlo sin indicar la extensión el sistema operativo buscará en primer lugar el tipo COM. Este tipo de virus no modifica el programa original, sino que cuando encuentra un archivo tipo EXE crea otro de igual nombre conteniendo el virus con extensión COM. De manera que cuando tecleemos el nombre ejecutaremos en primer lugar el virus, y posteriormente éste pasará el control a la aplicación original. Una familia de virus de reciente aparición y gran expansión son los virus de macro. Normalmente insertan el código del virus al principio o al final del archivo. Cuando se Rafael Albo y otros 139 • Escuela Abierta, 4 (2000) ejecuta, el virus puede hacerse residente en memoria y luego devuelve el control al programa original para que continúe de modo normal. En estos momentos son los ficheros de documentos (DOC, XLS, SAM...) los que están en boga gracias a los virus de macro. Se ha de destacar, de este tipo de virus, que son multiplataformas en cuanto a sistemas operativos, ya que dependen únicamente de la aplicación. Hoy día son el tipo de virus que están teniendo un mayor auge debido a que son fáciles de programar y de distribuir a través de Internet, y aún no existe una concienciación del peligro que puede representar un simple documento de texto. Sin duda, el más extendido de este tipo de virus fue el Concept, gracias al descuido de Microsoft que lo incorporó accidentalmente en un CD, el cual se distribuyó por millares a mediados del año 1995. Sin duda alguna, el ensamblador es el lenguaje por excelencia en la creación de virus. Ningún otro lenguaje puede ejercer tal control sobre el sistema, ni permite tan alto grado de optimización. En realidad, es prácticamente factible programarlos en cualquier lenguaje, desde C hasta Basic. Los virus BAT vienen a reafirmar este hecho, ya que empleando ordenes DOS en archivos de proceso por lotes consiguen replicarse y provocar efectos dañinos como cualquier otro tipo virus. En ocasiones, los ficheros de proceso por lotes son utilizados como lanzaderas para colocar en memoria virus comunes. Para ello se copian a sí mismo como ficheros COM y se ejecutan. Aprovechan que las ordenes @ECHO OFF y REM traducidas a código máquina son "comodines" y no producen ningún efecto que altere el funcionamiento del virus. Los virus del Mirc vienen a formar parte de la nueva generación Internet y demuestra que la Red abre nuevas formas de infección. Consiste en un script para el cliente de IRC Mirc (programa de charlas a traves de internet). Cuando alguien accede a un canal de IRC, donde se encuentre alguna persona infectada, recibe por DCC un archivo llamado "script.ini". Por defecto, el subdirectorio donde se descargan los ficheros es el mismo donde está instalado el programa, C:\MIRC. Esto causa que el "script.ini" original sea sobrescrito por el nuevo fichero maligno. El nuevo script permite a los autores, y a cualEjemplo de utilidad en Internet para la enseñanza universitaria 140 • Escuela Abierta, 4 (2000) quier persona que conozca su funcionamiento, desde desconectar el usuario infectado del IRC hasta acceder a información sensible de su ordenador. Así, por ejemplo, pueden abrir un FTP en la máquina de la víctima, acceder al archivo de claves de Windows 95 o bajarse el "etc/passwd" en caso de que sea Linux. El usuario de IRC tiene varias formas de protegerse. Como primera medida debe desactivar la opción AUTO GET que recoge los ficheros DCC de forma automática. De esta forma cada vez que intenten un envío por DCC el cliente le informará del fichero en cuestión, del nick que nos lo envía y, lo más importante, nos dará la opción a rechazarlo. Otra medida de protección consiste en cambiar el subdirectorio por defecto del DCC para evitar que sobreescriba el "script.ini". Por último, no todos los virus son malignos aunque siempre se asocie el termino con destrucción. Podemos señalar que hay virus benignos y que, como ocurre con otras disciplinas del undergroung, todo depende de la utilidad que se le de a esta técnica. Con el termino "virus benigno" no nos referimos a aquellos que tienen como payload (efecto del virus cuando se activa) alguna pantalla graciosa y no destruyen datos. Nos referimos a que una buena utilización de las técnicas que emplean los virus pueden, aunque desgraciadamente no es lo habitual, reportarnos beneficios y ser sumamente útiles. Además también se pueden utilizar dichas técnicas para parchear sistemas a través de extensas redes LAN. El programa se infecta de ordenador a ordenador modificando parte de un programa que causa fallos en el sistema, y una vez solucionado el error se autodestruye. Debido a la naturaleza de las páginas www de donde se encontró la información utilizada en este apartado de virus, éstas están poco tiempo disponibles en la Red. A la hora de revisar este artículo para su publicación definitiva ya no existía ninguna de las originales. Hemos encontrado nuevas páginas relacionadas con el tema, como cualquier lector con un poco de conocimiento de Internet podría encontrar, pero la naturaleza mucho más agresiva de éstas nos ha hecho pensar que sería mejor que no aparecieran en un artículo de este tipo. Rafael Albo y otros 141 • Escuela Abierta, 4 (2000)