Ya dejé el vicio

Sí, admito que por muchos años fui un adicto. No se si era la emoción de instalarlo repetidas veces durante el año, la adrenalina generada por esperar una pantalla azul mientras trabajaba, o el simple hecho de revivir batallas épicas contra troyanos, pero Windows era un vicio del que no podía salir.

Siendo un profesional de la computación no puedo ahora ni comenzar a entender cómo no veía (o en su defecto, no quería ver) que existían alternativas. Y no hablo sólo de uno, sino de dos o tres sistemas que ofrecen mucha más libertad, seguridad, estabilidad y prácticamente la misma funcionalidad que Microsoft Windows. Y lo peor del caso es que cuando me informé mejor y exploré brevemente otras opciones, no hice más que criticar sus debilidades sin siquiera darme cuenta que eran mucho menores que las de mi sistema operativo de preferencia. Esa reticencia, desde luego, tenía un nombre: costumbre.

Y no tenemos que irnos muy lejos para demostrar mi punto. Si usa Windows regularmente, estoy seguro que más de alguna vez ha dicho: “mi computadora se está poniendo lenta”. Desde luego que reinstalar Windows resuelve el problema por un par de meses, antes que vuelva a “ponerse lenta”. De igual manera, hoy en día es casi imposible encontrar a alguien que conecte una computadora con Windows al Internet y no tenga que protegerla con antivirus o antispyware, y aún eso no evita que algún virus nuevo logre de vez en cuando entrar al sistema. De cierta manera ya estamos acostumbrados a que este tipo de cosas sucedan y la mayoría de personas simplemente asumen después de un tiempo que estos son problemas con las computadoras en general y no del sistema operativo que usan. Lo admito, alguna vez también cometí ese error.

Afortunadamente, encontré Linux.

Debo admitir una vez más que, como muchos que ya han estado en esa situación, el cambio a un nuevo sistema me fue extremadamente difícil. Eso principalmente porque una u otra cosa que yo sabía cómo hacer dentro de Windows no se hacía o estaba en el mismo lugar en Linux y, desde luego, la conveniencia de lo ya conocido le ganaba a la razón. En mi caso, deshacerme de Windows completamente fue la única medida que dio resultado para usar Linux por más de 30 minutos. Sin embargo, una semana de uso fue más que suficiente para habituarme a los nuevos íconos y menús, y darme cuenta de las virtudes técnicas del sistema.

  • Estabilidad

    Creo que la mayoría de lectores pueden familiarizarse con al menos una de las siguientes situaciones:

    • Verse obligado a apagar la computadora forzosamente (es decir, sosteniendo el botón de apagado por unos segundos) porque Windows no responde
    • Haber visto la llamada “pantalla azul de la muerte”
    • Haber recibido mensajes que Windows debe apagarse inmediatamente por razones que no comprende
    • Haber tenido que borrar toda la información del disco duro porque Windows se negó a iniciar.

    No se preocupe, no es el único. Un estudio de 10 meses conducido por ZDNet, encontró que en promedio un servidor ejecutando Windows tiene un error grave cada 6 semanas, el cual debe ser manualmente reparado por al menos 30 minutos. No suena tan mal hasta que se sabe que la versión de Windows utilizada es la versión para servidores, que es mucho más estable que la versión para escritorio que usted y yo utilizamos día a día. Suena mucho peor cuando se sabe que ninguno de los servidores Linux con las mismas características de hardware y operando bajo el mismo ambiente y carga promedio que los de Windows tuvo problema alguno durante los 10 meses del estudio.

    Con esto no estoy asegurando que Linux es perfecto. A menos que se trate de un sistema extremadamente pequeño, cualquiera que asevere que su sistema operativo no tiene errores de programación está demostrando su ignorancia en el área. Sin embargo, una de las maneras más prácticas de medir la estabilidad del sistema es con la frecuencia en que un error grave (es decir, uno que requiera reiniciar o apagar la computadora) aparece. Si bien es cierto que las nuevas versiones de Windows, especialmente las “Profesionales”, son mucho más estables que antes, este tipo de problemas aún sucede con mucha frecuencia.

    Por el contrario, un usuario ejecutando Linux puede utilizarlo por muchos años sin encontrarse con dichos errores. De hecho, Linux puede ejecutarse por meses o años sin necesidad de ser reiniciado (un ejemplo de ello es nuestro servidor principal, que lleva alrededor de 9 meses sin ser reiniciado). Como podrán imaginarse, no es casualidad que 439 de las 500 supercomputadoras más potentes del mundo, que suman un increíble total de 2,099,535 procesadores, ejecuten Linux, mientras que únicamente cinco de ellas corre alguna versión de Windows1.

  • Seguridad

    Créalo o no, el tiempo promedio transcurrido antes que una PC (conectada al Internet con una instalación por defecto del Service Pack 2 de Windows) contraiga un virus es 40 minutos, y dicha cifra puede llegar tan bajo como 30 segundos. Ante esa situación tiene dos opciones.

    La primera es instalar Windows, cortar la conexión de internet e instalar un cortafuegos, un antivirus y un anti-adware/spyware. Conectar la computadora a Internet y descargar todas las actualizaciones de seguridad desde el sitio de Microsoft. Luego esperar a que los piratas no sean los suficientemente listos para contrarrestar estas defensas y que, en caso una falla de seguridad sea descubierta, Microsoft se tarde menos de un mes en publicar una actualización. Si todo esto le suena un poco exagerado, pregúntele a cualquier usuario avanzado de Windows y verá que estos son los pasos necesarios para poder aumentar un poco la seguridad del sistema.

    En mi humilde opinión, su segunda opción es mucho más fácil: instale Linux y navegue tranquilamente de aquí en adelante.

    Es curioso cómo una de las preguntas más frecuentes que recibo de personas que han instalado Linux por primera vez es “¿Qué antivirus me recomienda?”. Mi respuesta es simple: “ninguno”. Y una vez más quiero aclarar que eso no quiere decir que Linux sea perfecto y no se encuentren virus para él. De hecho, se considera que existen alrededor de 200 virus para Linux, pero a excepción de Slapper, que infectó a servidores web (no escritorios normales de usuario) en 2002, ninguno de ellos ha logrado infectar más que un número insignificante de computadoras fuera de su ambiente original. Compare esto con los 75,000 virus, troyanos, gusanos y spyware conocidos para Windows y la facilidad con la que estos infectan el sistema.

    Muchos defensores de Windows adjudican dicha diferencia al hecho que la cantidad de usuarios de Windows es abismalmente más grande que la cantidad de usuarios de Linux, y, por lo tanto, los creadores de virus se enfocan en Windows para lograr la mayor cantidad de infecciones posible. Sin embargo, dicho razonamiento se viene abajo cuando se toma en cuenta que un estimado del 51% de los servidores Web en Internet corren Apache (que es software libre, al igual que Linux) y sólo un 33% corren el Internet Information Server (IIS) de Microsoft2, y aún así hay muchos más ataques dirigidos a IIS, que contiene un número significativamente mayor de agujeros de seguridad.

    Para realmente lograr entender ese contraste en la cantidad de virus disponibles para cada sistema deben reconocerse las razones principales por las que los virus y gusanos logran propagarse de computadora en computadora: ingeniería social, mal diseño y baja calidad del software.

    Analicemos primero los efectos de un sistema de baja calidad. Cuando un “bicho” (bug)3 es descubierto por las personas equivocadas, puede ser usado para obtener acceso privilegiado a recursos dentro de una computadora. Con “acceso privilegiado” me refiero a permiso para enviar cualquier tipo de información a través de Internet (como números de tarjetas de crédito) y de modificar cualquier archivo, pudiendo tomar control total sobre el sistema. Este fue precisamente el caso del gusano Blaster, que se aprovechó de un error de programación en un componente fundamental de Windows 2000 y Windows XP para infectar a miles de computadoras y realizar un ataque conjunto al sitio windowsupdate.com de Microsoft en Agosto de 2003.

    La calidad de un sistema de computadoras, por lo tanto, puede medirse a través de su densidad de bichos. De acuerdo al Instituto de Ingeniería de Software de la Universidad Carnigie-Mellon4, el software propietario en general tiene de 1 a 7 errores de programación por cada 1,000 líneas de código fuente5. En un sistema de 5.7 millones de líneas de código como el núcleo de Linux, por lo tanto, se espera entre 5,700 y 40,000 errores de programación. Sin embargo, un proyecto de investigación de cuatro años conducido por la compañía de análisis de código fuente6 Coverity encontró únicamente 985 errores en el núcleo de Linux, con una tendencia a disminuir dicho número a pesar de incrementarse el número de líneas de código.

    Aún cuando la política de código cerrado de Windows impide la realización de un conteo de errores similar al realizado sobre el núcleo de Linux, basta basarse en la gravedad de los problemas y en la frecuencia relativa con la que Microsoft y la comunidad de Linux deben realizar actualizaciones críticas de seguridad a sus sistemas para determinar intuitivamente qué sistema tiene menos errores de programación. Desde luego, Linux sale triunfante por mucho sobre la familia de Windows.

    Pero dado que a los puristas no estarán satisfechos por el análisis empírico del párrafo anterior, asumamos por un momento que Windows y Linux tienen la misma cantidad de errores de programación. Después de todo, si bien el número de errores en un sistema aumenta la probabilidad que éste sea atacado, no garantiza que dichos errores sean descubiertos o que sean lo suficientemente graves para que un intruso pueda apoderarse del sistema. Bajo esa premisa, no es el número de errores lo que importa sino más bien qué tan rápidamente un problema de seguridad puede ser resuelto una vez ha sido descubierto. En ese sentido, se ha estimado que el modelo de código abierto de Linux asegura que dado que un error de seguridad en un programa puede ser resuelto por cualquier miembro de la comunidad, la solución (y la correspondiente actualización) usualmente aparece a pocos días, e incluso a pocas horas, de haber sido descubierto. Por otro lado, en repetidas ocasiones Microsoft ha tardado hasta un mes para publicar soluciones a problemas ampliamente conocidos y, con igual frecuencia, disfraza actualizaciones de seguridad como “nuevas características” del sistema operativo.

    También es necesario en este momento remarcar los peligros del dominio de un solo sistema operativo mencionando los peligros inherentes de cualquier monocultivo, ya sea biológico o tecnológico. De la misma manera que una de las razones por las que la diversidad biológica dentro de una población de criaturas vivientes es deseable para reducir el riesgo que una enfermedad (como un virus) pueda destruir completamente todos los miembros de la población, la diversidad en los ambientes de computadoras ayuda a proteger los usuarios de dichos dispositivos. El hecho que casi el 80% de las computadoras en el mundo ejecuten los sistemas operativos de Microsoft, hace que un buen porcentaje de dichas computadoras sean prácticamente vulnerables a los mismos virus y gusanos al mismo tiempo. Esto, a su vez, significa que un buen porcentaje de sistemas vitales puede ser deshabilitado de un solo golpe, como fue el caso de las infecciones de los virus/gusanos Melissa en 2002, Blaster y Slammer en 2003, habiendo infectado este último a 75,000 computadora en los primeros 10 minutos de distribución, ocasionando daños estimados de 1.2 mil millones de dólares en todo el mundo.

    Pero déjenme llegar aún más allá y asumir que ni Windows ni Linux tiene problema alguno de seguridad. Después de todo, estudios han indicado que aunque la explotación de errores de programación es la manera más rápida por la cual un virus puede expandirse, no es la manera como la mayoría de virus, troyanos y gusanos se multiplican. Y es aquí donde podemos empezar a entender la importancia de los errores en el diseño de un sistema y de la ingeniería social.

    En este contexto, ingeniería social es el arte de engañar a alguien para hacer algo que no debería o para revelar algo que debiera mantenerse en secreto. Los autores de virus utilizan ingeniería social para convencer a personas para hacer cosas ingenuas, como abrir archivos adjuntos infectados de virus en un correo electrónico. Un programa mal diseñado hace que la ingeniería social cumpla su cometido mucho más fácilmente, pero también puede derrumbar los esfuerzos de una organización o individuo con buenas prácticas de seguridad.

    Analicemos primero el rol de un sistema mal diseñado con respecto a la ingeniería social. Los programas de Windows son considerados ejecutables dependiendo de la extensión de los archivos. Así que si el nombre de un archivo termina con “.exe” o “.scr”, puede ser ejecutado como un programa (claro esta, el archivo debe contener instrucciones válidas para la computadora). Es fácil ejecutar uno de estos archivos en el mundo de Windows, por lo que los usuarios que reciben correos con datos adjuntos, supuestamente de personas conocidas, pueden ejecutar un virus con solo presionar el botón izquierdo sobre el archivo. Pero quizás lo más alarmante es que el programa de correos de Microsoft puede infectar una computadora con solo hacer algo tan inofensivo como leer un correo electrónico. Y mi testigo principal es el mismo Microsoft a través de los boletines de seguridad7 que muestran que ha aparecido al menos un virus importante de este tipo por año en los últimos cinco años. Y aún cuando las últimas versiones de Outlook bloquean por defecto la mayoría de archivos adjuntos ejecutables, aún es posible derrotar dichas medidas de seguridad8. La última versión de Windows, Vista, ha tratado de disfrazar eso con confirmaciones al usuario, que terminan siendo tan engorrosas que la mayoría de personas termina deshabilitándolas o simplemente presionando el botón “continuar”.

    Este tipo de ingeniería social, tan fácil de lograr en Windows, requiere de muchos más pasos y mucho mayor esfuerzo por parte del usuario de Linux. En lugar de simplemente leer un correo, un usuario de Linux debe leer el correo, guardar el archivo adjunto, darle permisos de ejecución y, finalmente, correr el archivo ejecutable. Más aún, debido a la fuerte separación entre un usuario normal y el usuario privilegiado (llamado root) en Linux, el usuario debe ejecutar el programa como root para poder hacer daño alguno al sistema. Puede dañar sus archivos personales, pero el virus no causará daños a los archivos de otros usuarios o al sistema mismo. Ya que a los usuarios de Linux se les recomienda desde el principio a ejecutar como root solo aquellos programas que sean completamente necesarios para la administración del sistema, es obvio que existe una baja probabilidad que virus y gusanos que se esparcen a través de la ingeniería social lleguen a realizar infecciones en masa.

    Desafortunadamente, ejecutar programas como root (o, en el lenguaje de Windows, “Administrador”) es muy común en el mundo de Windows. De hecho, Windows XP, el cual antes de Vista era considerado el más seguro de los sistemas operativos de Microsoft para el usuario común, y que aún es utilizado ampliamente en el mercado, automáticamente adjudica al primer usuario del sistema los permisos de Administrador con el poder de hacer cualquier cosa que se desee dentro del sistema. Eso se traduce en que cualquier programa (léase “virus”) ejecutado por dicho usuario tiene el mismo poder dentro de la computadora. Pero ésto no es todo. Incluso si el sistema operativo ha sido configurado correctamente, con una cuenta de Administrador y una cuenta de usuario no privilegiado, los programas instalados por un usuario no administrativo pueden agregar librerías dinámicas y otros archivos de sistema que pueden ser ejecutados a un nivel de seguridad que puede dañar al sistema.

  • Costo

    Probablemente lo primero que deba preguntarle es “¿cuánto pagó por Windows?”. Muchos responderán “nada”, pero, ¿están completamente seguros de ello? A menos que usted haya comprado una computadora sin marca que no venía con una instalación de Windows y, después de eso, obtuvo una copia de Windows ilegalmente, usted pagó alrededor de $100 por un pedazo de papel con un número de serie pegado a un costado o en la parte trasera de su computadora que le otorga el derecho de utilizar el sistema operativo que tanto quiere.

    Pero ese es solo el principio. Estoy seguro que pagó por el resto de programas que utiliza a diario, ¿o me equivoco? Es posible que la respuesta sea “no, no se equivoca” y que usted haya pagado cientos de dólares por programas como Microsoft Office, Adobe Acrobat Professional o MatLab. Sin embargo, incluso aquellos que hayan comprado sus programas no pueden negar que las copias ilegales de software son muy comunes en nuestro ambiente. Después de todo, no todos podemos pagar $350 por Word, Powerpoint y Excel. El problema es que a medida que el tiempo avanza, los creadores de software están ideando nuevas maneras de detectar a los propietarios ilegales y encontrar los programas necesarios para contrarrestar dichas medidas de seguridad no siempre está al alcance de un usuario común. Con la baja de los precios de hardware de computadoras, el costo de software en general puede significar un alto porcentaje del precio de la computadora.

    Por otra parte, Linux y el conjunto de programas que componen el sistema se basa en las licencias GPL del GNU, que permiten la colaboración comunitaria para la creación de programas. En pocas palabras, eso significa no solo que usuarios de todo el mundo pueden tener acceso irrestricto al código fuente y empresas y usuarios pueden modificarlo para satisfacer sus necesidades particulares, sino también que todo esto pueden tenerlo sin costo alguno. Las distribuciones modernas de Linux, como Ubuntu, instalan por defecto el OpenOffice, un conjunto de programas de oficina similar al Microsoft Office, y otros programas de productividad. La obtención de nuevos programas puede hacerse con paquetes instaladores o, si se tiene una conexión de Internet, a partir de las librerías de programas de la distribución específica sin costo adicional.

    Ya incluso muchos gobiernos han visto la factibilidad tanto económica como del modelo de desarrollo de Linux, incluyendo a la ciudades de Munich y Viena, el gobierno Español, Peruano y Venezolano.

Debo notar que la experiencia de usuario de Linux no es completamente perfecta y hay programas como el OpenOffice que aunque tienen todas las funciones principales de MS Office, les falta un poco el trabajo en el área de experiencia al usuario. Sin embargo, la experiencia de usuario, incluyendo efectos de escritorio similares y mejores que los del Aero de Windows, ha mejorado mucho. De la misma manera, como mencioné al inicio, puede que algunas tareas para las que ya esté acostumbrado en Windows se realicen de forma diferente en Linux, pero basta un poco de costumbre para hacer el cambio, tal y como bastó un poco de costumbre para comenzar a realizar dichas tareas en Windows.

También es de notar que Linux no es para todos. Aquellos para quienes sean imprescindibles programas especializados o científicos hechos exclusivamente para Windows o aquellos que gusten de los juegos modernos deberán seguir utilizando Windows. Aunque siempre tienen la opción, como yo, de instalar ambos sistemas y utilizar Windows sólo cuando sea absolutamente necesario. Sin embargo, para la mayoría de personas Linux debería ser más que suficiente, y espero con este artículo haber convencido a algunos de ustedes en al menos intentar dejar el vicio de Windows. Es paso a paso, pero es posible. Yo lo hice.

Referencias

  1. http://www.top500.org/stats/list/32/osfam
  2. http://news.netcraft.com/archives/web_server_survey.html
  3. Nombre común dado a los errores dentro de un programa de computadoras
  4. http://www.cyberpartnership.org/index.html
  5. Una serie de instrucciones escritas en un lenguaje de programación
  6. Las herramientas de análisis de código fuente normalmente utilizan principios de diseño de software para analizar un programa y marcar posibles errores.
  7. Vea, por ejemplo, los boletines MS99-032, MS00-043, MS01-015, MS01-020, MS02-068, o MS03-023
  8. http://www.slipstick.com/outlook/esecup/getexe.htm

Escribir un Comentario

Login with Facebook: