lunes, 15 de abril de 2013

Linux y el Virus

No importa cuántas veces se demuestre la falsedad de una información; siempre habrá un porcentaje de gente dispuesta a creer que es verdad.

Esa cita es la que justifica que cada cierto tiempo se repitan cierta clase de aseveraciones. Muchas de estas aseveraciones tienen que ver con rebuscadas teorías conspiratorias, otras para cuestionar cierto conocimiento científico reciente...

 El caso que ocupa esta entrada, es consecuencia de la tradicional afirmación que se hace en blogs y foros según la cual una de las ventajas de GNU/Linux sobre Windows es que el usuario no debe preocuparse por los virus que asedian el mundo de los sistemas operativos Windows.

Divertido anuncio de Novell: ¿quién teme a los gusanos?
Como en cualquier bulo, lo primero que se toma son algunos elementos reales, aderezados del desconocimiento del público general de determinados tecnicismos que son los que permitirían captar determinados matices en ausencia de los cuales la teoría adquiere tintes realistas. Cómo se cuela este debate a veces en foros técnicos es un misterio (de fácil solución si uno es un poco mal pensado ;) ).

Un viejo principio de la seguridad informática dice que "no se puede considerar que un sistema es completamente seguro si está conectado a una red". Esto tiene dos vertientes: no se puede confiar completamente en las personas que utilizan un sistema, y no se puede confiar completamente en el software de dicho sistema que, al fin y al cabo, fue desarrollado por personas.

La persona que usa un sistema puede, por ejemplo, no llevar a cabo las tareas mínimas de seguridad (uso de claves adecuadas y renovadas con cierta frecuencia, no usar software no confiable, lo que incluye ¡ay! a todo el software pirata y otra serie de comportamientos). En cuanto al sistema en sí,  a medida que crece su complejidad se hace más difícil garantizar que no hay errores que puedan ser utilizados por otras aplicaciones con fines no deseados.


Hasta aquí no es muy espectacular, y cualquiera que haya leído algunos de los artículos sobre informática de este blog debería considerarlo como una obviedad, así como su natural consecuencia: es relativamente fácil construir programas que exploten estas debilidades.

Tal software se denomina comúnmente malware. En el artículo de la wikipedia se citan varios tipos principales: virus, gusanos, puertas de atrás, programas espía y páginas web que los instalan, y troyanos, entre otros. La definición de virus, como la de cualquier tipo de malware, es técnica, y debe incluir la habilidad de "infectar" un sistema: bien una zona de memoria, el sector de arranque del disco duro, etc.

Y aquí llega la confusión. Se han desarrollado virus para sistemas GNU/Linux, cierto. Pero sólo como propósito ilustrativo. En general, existen muchas causas para que un virus no pueda prosperar mucho, aunque destacan dos: no todos los usuarios usan las mismas versiones de programas, ni siquiera del núcleo del sistema operativo; y existen sistemas de permisos de acceso a ficheros y dispositivos no existentes en otros sistemas operativos.

Alentados por la posibilidad técnica para desarrollar un virus, algunos afirman ritualmente que la única razón para que en el ecosistema GNU/Linux no haya tantos virus como en el ecosistema Windows es la diferencia radical en el número de usuarios; y como corolario, de haber más usuarios también habría más virus, ya que sería un ecosistema más apetecible para los desarrolladores de virus.

He señalado la dificultad para desarrollar un virus realmente efectivo. Tal dificultad es el primer motivo por el que es poco probable que el número de virus fuese comparable al existente en Windows por mucho que aumentase el número de usuarios: la dificultad de desarrollar un virus en un entorno en el que encontrar varios usuarios que usen similar software, al mismo tiempo que se desarrolla código para evitar los distintos mecanismos de seguridad propios de los sistemas GNU/Linux.

Pero también está la contrapartida. En el bulo se hace hincapié en la diferencia en el número de usuarios. En el artículo anterior del blog he dado a entender que lo que se entiende por usuario no es necesariamente lo mismo coloquial que técnicamente. Desde el punto de vista coloquial, yo soy un usuario, tú eres otro usuario, etc. Sin embargo, desde el punto de vista técnico, esto no es tan trivial.

Veamos. Yo tengo cuenta en Facebook y en Google Plus al igual que millones de otras personas. Tanto Facebook como Google se ejecutan en muchas máquinas (lo que ellos llaman granjas de servidores) que utilizan GNU/Linux o alguna versión de éste. La mayoría de servidores de Internet usan LAMP (que obviamente se ejecuta sobre GNU/Linux); muchos routers también usan GNU/Linux... en general, Internet descansa sobre una red de equipos que usan GNU/Linux. Desde ese punto de vista, prácticamente todos somos usuarios de GNU/Linux, usemos un escritorio Windows, GNU/Linux o cualquier otro. Y si lo que quieres es infectar muchos equipos, no infectes cada equipo, infecta la red, a tales sistemas GNU/Linux: es algo así como envenenar el sistema de abastecimiento de agua.

A lo mejor piensas que esto es exagerado. Pero de hecho, la mayoría de ataques de otro tipo (no víricos) son precisamente a algunos nodos importantes de la red. Es como suplantar a un banco si lo que quieres es robar dinero de una tarjeta de crédito, en lugar de atacar el computador del usuario (humano) de turno.


Así que no es cierto que GNU/Linux tenga menos virus porque es menos usado: hay menos virus para Linux porque es mucho menos vulnerable. Y no te preocupes: ya tienes bastante con que no descubran tu contraseña de usuario. Porque la tienes ¿no? ;)

No hay comentarios:

Publicar un comentario en la entrada