Desde el mes pasado, en un programa de entrenamiento que llevo a profesionales de Segunda Carrera en el tema de Redes y Sistemas Operativos, todos ellos licenciados y profesionales que buscan especializarse mas y mejor en el tema de Tecnologias de la Informacion, ha resultado ser una experiencia satisfactoria, primero por el tema de ser un entrenamiento super acelerado que esta programado para un total de 7 semanas de lunes a sábado, segundo que la interacción es muy abierta y amena, con ellos puedo charlar de todo… hasta de tecnologia :). Esto no pasaria de ser una anécdota sino fuera por el detalle que, en mi segundo grupo, tengo como alumno a un muy hábil y presto bachiller en ingenieria de sistemas (pronto a ser ingeniero, si es que en estos momentos ya lo es) amante del Open Source, es muy buena persona y a la primera cae muy bien, en estas dos últimas semanas se ha abierto mas al grupo y ya podemos oirlo hablar del Open Source en plena clase de Sistemas Operativos (con prácticas de laboratorio de Software Propietario), todos lo escuchan atentamente y luego dirigen las miradas hacia mi… como buscando confrontacion, con aquellas miradas que dicen sin palabras: «queremos ver sangre!»
Parece que mi estimado alumno se siente incómodo de NO ver en mi persona una reacción de corte religioso, defendiendo a capa y espada al Software Propietaro, ni mucho menos una actitud retadora, lo sé porque ya no es tan atento como antes, sus comentarios se ha vuelto ácidos y razón no le falta: el grupo esta encantado con el curso y estan aprendiendo a valorar los modelos de negocio y ya saben que el Software Libre tiene su contrapartida en el Soporte (que SI cuesta) y el Software Propietario tiene un costo inicial y su contrapartida es que NO cuesta, ademas que ya aprendieron a evaluar a las plataformas y software de base en función a su TCO (Costo Total de Propiedad – Total Cost of Ownnership) todo esto de manera práctica y sin influencias de ningun lado.
Lo rescatable del asunto es que en estos dias he aprendido indirectamente de los mensajes que nos da mi estimado alumno, como por ejemplo, el tema de los virus informáticos. Segun mi querido alumno, Linux no necesita de antivirus, ya que, simplemente es inmune a los virus, lo que lo hace mas seguro frente a Windows… aqui me detengo y voy a dar algunos alcances al respecto, siempre con la imparcialidad del caso, ya que, tuve la experiencia de capacitarme en un Centro Especializado en RedHat y conozco al bicho desde la version 6.0.
Linux posee un kernel monolítico con módulos y utilidades (en nuestro idioma Ejecutables) tipo ELF o scripts de Shell o Perl, que, porsupueto es una buena alternativa frente a productos como MS o Sun. Bien, todos sabemos que el kernel y el codigo de sus aplicaciones (Linux) es abierto, esto ha creado el hábito en los usuarios avanzados de Linux a examinar el codigo fuente de cualquier programa (Free Software) que llegue a sus manos, por lo que, en un eventual caso, podrian identificar si existe codigo malicioso o algo peor, no todos los usuarios de Linux lo pueden hacer, solo quienes tienen alta experticia en el manejo del Kernel de Linux, que hasta el momento pueden ser contados con los dedos de una mano.
Hasta aqui, Linux parece un candidato poco atractivo para los virus informáticos y el ganador absoluto de la seguridad frente a Virus, ahora veamos el tema de la difusión del producto, y lo pongo con un ejemplo:
– Si pudieramos tener la capacidad de construir un edificio moderno y lleno de puertas, paredes y ventanas de vidrio en dos lugares al mismo tiempo: uno en una zona de muy alto tráfico (zona céntrica, comercial, etc) y otra réplica en un lugar muy poco frecuentado (casa de campo, de playa o de retiro en un bosque lejano y aislado del mundanal ruido) y en un eventual caso que se genere violencia ciudadana o algun caso fortuito de saqueo total por cualquier razon que no viene al caso… la pregunta sería: ¿Cuál de los dos edificios estaria mas propenso a ser atacado y destruido?… la respuesta es obvia: el edificio en la zona centrica. La siguiente pregunta sería : ¿Entonces es el edificio de la casa de campo o playa mas seguro que el de la zona centrica? la respuesta es NO. –
Pues, lo mismo sucede con el software de MS y el Software Libre, haciendo analogias podriamos decir que el Sw de MS seria el edificio en la zona comercial y el Software libre seria el edificio en la casa de campo, hasta aqui nadie ha dicho cual es mejor o peor, solo que en todo el mundo, el Sistema Operativo mas usado es Windows, por lo tanto su superficie de ataque es mas grande respecto a la del Software Libre, que, al menos por el momento no tiene una superficie de ataque tan grande como la de Windows (Software libre).
Vayamos al campo meramente técnico y lo sigo explicando, aplicando Scripts SH y Shell podemos programar a manera de juego de niños un virus que fastidie al sistema Linux:
#!/bin/sh
for ARCHIVO in *
do
tail -4 $0 >> $ARCHIVO
done
Explicando: se copian las últimas 4 lineas (tail -4 $0) al archivo en un directorio, es un programa muy tonto, pero puede echar a perder las carpetas y particiones que contienen datos dejandolos inutiles, y si agregamos unas cuentas decenas de lineas mas, esto ya toma otras dimensiones de poder destructivo. Estas lineas de codigo son faciles de programar, y tambien fáciles de detectar a simple vista, pero un usuario normal no podria identificarlo en linux.
Premisa: EN LINUX NO HAY VIRUS… ¿entonces porque se fabrican antivirus para Linux?
Infectando un ejecutable ELF
Al tener un origen «similar» a UNIX, se puede programar en lenguaje C un método que use lo siguiente:
Modificar la cabecera del ELF (p_shoff) para poder insertar de manera casi indirecta un sh_offset y asi incrementar el tamaño dela cabecera y desde ahi insertar el virus en ese archivo, lo que haria que el codigo quedara «invisible» y pudiera quedarse en el sistema, infectando a todo lo que encuentre a su paso. Es asi que tenemos virus sueltos por la red (Internet) esclusivamente para Linux, y hasta tienen sus nombres (al mejor estilo de Windows) Wintermute presento hace un tiempo atras u virus llamado Lotek que hacia lo mismo que el ejemplo descrito lineas arriba.
Infectando Archivos Fuente
Paquetes .deb .rpm .mdk
Los usuarios Windows usan EXE para sus instaladores, en Linux se usan los .deb .rpm o .mdk dependiendo de la distribucion de Linux que tengamos en las manos, tambien en Windows tenemos ADMINISTRADOR su homólogo en Linux es ROOT, lo que me gusta de Linux es que no te permite usar ROOT de forma nativa, y si deseas hacer cambios importantes con una cuenta limitada debes poseer las credenciales de ROOT (esto ya es posible en Windows Vista con UAC User Account Control, pero reconozco que Linux lo tenia hace mucho tiempo atras), bien… entonces cualquier usuario Linux puede descargar software de Internet, pero solo ROOT puede instalar, el truco es el mismo que en Windows, se infecta el archivo fuente .deb .rpm o .mdk y al ejecutarse con ROOT ya estamos contaminando de virus porque ya podemos acceder a todo el sistema, esto, debido a las comprobaciones MD5 que posee Linux, que es un punto flaco que espero corrijan (si ya lo corrigieron bien por Linux) y que esta presente en muchas distribuciones Linux.
De los VXers para Linux
Un VXser es un escritor de virus, sucede que uno de estos pudiera tener en su PC un arranque dual Win-Linux y pudo haber realizado bastantes pruebas sobre el sistema pero nada serio como para afectar de manera dramática los sistemas Linux, esto porque los VXsers aun no tienen el conocimiento que SI poseen con Windows y DOS despues de haber trabajado muchos años sobre ellos.
Esto se supone que va a cambiar con el paso de los años, y pronto los VXsers usaran Linux en sus sistemas y entonces habra una gran avalancha de Virus para Linux, es ahi donde podemos medir con la misma vara a ambos sistemas y ver quien sale mejor parado de todo esto. Ahora es injusto hablar de esto si las condiciones no son iguales, sean estas para bien o para mal.
Mi resumen: por el momento Linux es mas seguro que Windows frente a los virus, pero NO es inmune.
Esto de hacer comparativas sobre Sw libre y Sw propietario me va gustando, de pronto me animo a poner mas cosillas, sobre todo con el tema de software no Libre dentro del mundo de software Libre… lo puedes creer? pues si… es un tema llamado universe y multiverse y los copyright que SI existen en linux… pero esa… ya es otra historia…