Atalaya: desde la tela de araña

Cultura en la red, reflexiones, relatos, tutoriales y paridas diversas

Gusanos y lombrices

2002-09-24 16:02 Después de leer que en agosto se descubrieron más de 10 vulnerabilidades al día, uno no sabe si poner directamente un condón sobre el enchufe del teléfono o el de tarjeta de red, o cortarlo con una cizalla, o no acercarse al ordenador salvo por prescripción facultativa.
El problema no es nuevo. El gusano de Arpanet se dispersó por ordenadores VAX y Sun ya en el año ???. Lo que ocurre es que la dispersión de gusanos se beneficia de los efectos de red, es decir, el número de infecciones es proporcional al cuadrado del número de ordenadores conectados a la red. Cuantos más ordenadores hay conectados a la red, más probable es que haya uno que tenga una vulnerabilidad, precisamente la que el gusano está buscando. Porque eso es un gusano: un programa que aprovecha algún servicio que se esté ejecutando en el ordenador, y que por alguna circunstancia, permita ejecutar cosas sin que el usuario/administrador del ordenador se entere, o quiera.
¿Cuáles son esos servicios? Múltiples, desde el servidor web, hasta un servidor de correo, servidor de terminales, programa de intercambio de ficheros (que son clientes y servidores a la vez), programas de mensajería instatánea... El último gusano, slapper, usa una vulnerabilidad descubierta hace tiempo en un módulo del servidor web Apache, el mod_ssl. Los gusanos que infectan ordenadores con Windows usan tanto errores del programa de correo electrónico, como la simple inocencia del usuario (ejecutando un programa que le llega por email), como los servidores web. Otros gusanos usan servicios más exóticos, tales como Ramen, que atacaba wu-ftpd, rpc.statd y lpd .

¿Cómo atajar el fenómeno de los gusanos? Vayamos por partes: primero, cómo evitar que se produzcan vulnerabilidades, y segundo, qué hacer ante lo inevitable.

Las vulnerabilidades son simplemente errores de programación, que permiten que un usuario remoto haga lo que en principio no se supone que debe hacer. Como se trata de errores de programación, basta con programar sin errores. Fácil, ¿no? Pues no. Cualquier proyecto medianamente complejo, como el Apache, contiene millones de líneas de código, escritas por cientos o miles de programadores, y es virtualmente imposible esperar que no haya un error en todo ello. Sin embargo, hay gente, como Theo de Raadt, el coordinador de OpenBSD, que mediante auditoría de código, consigue eliminar la mayor parte de los errores que causan luego vulnerabilidades. De hecho, su OpenBSD, un sistema operativo de la familia de los Unix (similar, por tanto, a Linux), tiene fama de ser el más seguro.

El segundo frente de ataque serían las acciones a tomar una vez que se encuentre una vulnerabilidad (y, si es posible, antes de que se escriba un gusano que la explote). Aquí hay dos enfoques, que reflejan los dos universos en los que se dividen los programas. El enfoque "abierto" permite que muchas personas miren el código que tiene una vulnerabilidad, y que cualquiera con conocimientos suficientes escriba código que la arregle y lo publique para que todo el mundo lo use. El mundo "cerrado" primero se calla, luego, cuando no queda otro remedio, la admite, y finalmente, al cabo de los meses, saca un "Service Pack" que la arregla. No es de extrañar que los gusanos proliferen mucho más en el mundo "cerrado" que en el "abierto".

Pero finalmente, cuando ya existe un parche para tapar el agujero de seguridad o vulnerabilidad, hay que aplicar el parche. Y eso tiene que hacerlo el usuario. Y a veces lo hace, si se entera, pero otras muchas veces no. Y eso permite que gusanos como el slapper, que aprovechan agujeros que se solucionaron hace tiempo, se expanda.

En realidad, la solución para evitar los gusanos es fácil: primero, permitir que mucha gente mire el código, para que se puedan encontrar los errores; cuando el código entre en producción, dejar que se siga mirando, para que se puedan corregir los errores por cualquier persona que sepa hacerlo. Y, finalmente, habría que dejar que los sistemas operativos se actualizaran solos. Hoy en día es muy fácil con utilidades como apt-get, up2date o red-carpet actualizarse, pero todavía hay que dar a mano instrucciones para que se haga. Pues bien, seguro que a mucha gente no le importaría que se hiciera autonómamente, al menos con las vulnerabilidades más gordas. Lo cual supongo que, en el futuro, será el camino a seguir.

Referencias (TrackBacks)

URL de trackback de esta historia http://atalaya.blogalia.com//trackbacks/2681

Comentarios

1
De: fernand0 Fecha: 2002-09-24 19:28

Unos datos (historia reciente):


  • Concept Macro Virus -> 3 meses para recorrer el mundo
  • Loveletter -> 1 día
  • CodeRed -> 90 minutos
  • Nimda -> 30 minutos
  • Klez -> ?
  • ? -> ¿segundos?

Fuente: Information Security. May 2002.



2
De: JJ Fecha: 2002-09-24 20:01

La razó, supongo que es la facilidad de encontrar ordenadores que tengan un sistema operativo que use la vulnerabilidad que explota el gusano, así como la velocidad en sí de las conexiones y de los sistemas operativos.
Lo importante, creo yo, es la diversidad.. cuantos más sistemas operativos diferentes haya, con servicios diferentes, más difícil será hacerse con todos.



Nombre
Correo-e
URL
Dirección IP: 23.20.147.6 (9d7e54335b)
Comentario

Se comenta en...

  • JJ en [Libro #3] A Christmas Carol, de Charles Dickens
  • PABLO PASCUAL LÓPEZ en [Libro #3] A Christmas Carol, de Charles Dickens
  • tpeliculas en [Libro #31] Crimen contra reloj, de Frank Launder y Sidney Gilliat
  • JJ en [Libro #29] El guardián invisible, de Dolores Redondo
  • Anónima en [Libro #29] El guardián invisible, de Dolores Redondo
  • JJ en [Libro #29] El guardián invisible, de Dolores Redondo
  • tripu en [Libro #29] El guardián invisible, de Dolores Redondo
  • fernand0 en [Libro #29] El guardián invisible, de Dolores Redondo
  • josemaria en [Libro #29] El guardián invisible, de Dolores Redondo
  • armando en Las olas van y vienen
  • Sobre Atalaya

    Esta es la bitácora o blog de Juan Julián Merelo. Si quieres contactar con el autor, usa su correo electrónico jjmerelo (arroba) gmail.com, o simplemente deja un comentario. Y si quieres leer alguna cosa más de las que escribe, prueba esta novela

    Listas de deseos

    A veces leo

    Otras veces escribo en

    Blogalia Blogalia