Noticias, Gadgets, Android, Móviles, Descargas de Aplicaciones

Por qué Linux nunca sufrirá virus como Windows

Parece haber un fenómeno recurrente en la prensa tecnológica, donde cualquier troyano que afecte a Linux o Mac se convierte en noticia de primera plana. Por otro lado, los troyanos que afectan a Windows se ignoran en su mayoría, quizás porque se considera que este es el estado normal de las cosas.

Hay dos declaraciones comunes hechas en las discusiones de estos eventos raros:

Ningún sistema operativo estará a salvo de los troyanos. Linux / Mac solo tiene menos virus porque nadie los usa.

La primera afirmación es casi correcta, mientras que la segunda es un mito rotundo en mi opinión. Permítame explicarle y lo escucharé si aún no está de acuerdo después de leer lo siguiente en su totalidad.

1. Ningún sistema operativo estará nunca totalmente a salvo de los troyanos … pero solo siempre que permitan a cualquiera escribir software sin espacio de pruebas para él.

Si los usuarios tienen la capacidad de ejecutar cualquier cosa, también pueden instalar cualquier cosa que se les engañe para que ejecuten. Cualquiera puede engañar a las personas para que ejecuten un script para formatear su unidad en cualquier sistema operativo … si el usuario es lo suficientemente crédulo como para hacer clic en las indicaciones e ingresar la contraseña de administrador. Solo hay una forma de evitar esto: ¡No permita que los usuarios ejecuten lo que quieran!

Tome la XBox 360, por ejemplo. En realidad, es una computadora completa, con una gran participación de mercado, que ejecuta un sistema operativo de Microsoft. Sin embargo, con todos estos puntos agravados de vulnerabilidad, no tiene troyanos conocidos flotando en la naturaleza. ¿Por qué? Porque el acceso completo al sistema está restringido a empresas establecidas con una clara cadena de responsabilidad. Los usuarios no pueden ejecutar software sin firmar en el sistema, e incluso con XNA, los desarrolladores independientes solo obtienen acceso a la zona de pruebas paralizado.

Apple está adoptando este mismo enfoque con su Mac App Store. Las aplicaciones entregadas a través de la tienda deben ejecutarse en un entorno de espacio aislado. Microsoft también está haciendo lo mismo con su tienda de aplicaciones de Windows 8. Si los desarrolladores quieren crear sus propias aplicaciones con acceso completo al sistema, no podrán jugar en estos ecosistemas. Por supuesto, Apple y Microsoft aún permiten que sus propias aplicaciones, contra las que competirán los desarrolladores, se ejecuten con acceso completo al sistema (busque demandas antimonopolio aquí más adelante).

Después de que prevalece el “arranque seguro” (es decir, el arranque restringido) y los sistemas operativos están bloqueados para no permitir que nadie descargue ningún software que no sea OEM, podríamos estar completamente libres de troyanos y virus. Eso podría ser bueno para el nivel promedio de seguridad del sistema, pero sería un golpe horrible para la innovación, la competencia y los desarrolladores independientes / aficionados.

2. ¿La adopción del sistema se correlaciona directamente con una mayor probabilidad de virus / troyanos? No, no en mi opinion. Hay muchas razones por las que los sistemas Linux tienen menos virus y la participación de mercado es solo un factor. Los abordaré desde la perspectiva de Linux. En el lado de Mac, varios de los puntos no se aplican, ya que Apple ha tomado el software libre y lo ha llevado a su jardín cerrado y amurallado.


Un gran porcentaje de software de Linux se instala desde repositorios firmados:

1) Las descargas en sí están firmadas criptográficamente.

Cuando un usuario descarga software y controladores para Windows, normalmente lo hace desde muchos sitios web diferentes en Internet y confía en que los administradores de cada uno de esos sitios son competentes y han hecho su debida diligencia para implementar la seguridad adecuada. En el momento de la descarga, no hay ninguna verificación para verificar que el archivo que está obteniendo el usuario haya sido creado realmente por una fuente confiable (y no un hacker que haya creado el sitio) o que esté siendo servido por un intermediario. .

En Linux, con pocas excepciones, los controladores de hardware también se incluyen con el kernel. En cuanto al software, los usuarios generalmente lo descargan de un conjunto limitado de repositorios propiedad de la distribución. Todo el software se entrega en paquetes de instalación que están firmados criptográficamente y esas firmas se verifican en el momento de la instalación. Si un paquete ha sido reemplazado con una versión pirateada y, por lo tanto, no se firmó con un certificado confiable, los usuarios recibirán un gran error advirtiéndoles de eso.

2) Los repositorios (“repos”, para abreviar) mantienen todo el software actualizado, no solo el kernel o las cosas creadas por el creador de la distribución.

Cuando se encuentra una falla de seguridad en una aplicación de Windows, el proveedor generalmente pondrá una actualización en su sitio web. Con la excepción de algunos socios de MS que tienen sus controladores en Windows Update, el usuario debe descubrirlo y actualizar su software.

En Linux, cualquier entidad, no solo el autor original del software, puede plantear problemas de seguridad y crear parches. Estas actualizaciones se aplican y se envían a los repositorios de todas las aplicaciones. Los usuarios se dan cuenta de ello casi de inmediato, ya que la mayoría de las distribuciones lo revisan con regularidad y les piden que hagan clic en un botón para actualizar la aplicación.


¡Finalmente encontré un troyano! Es un troyano de Windows en mi carpeta de correo basura, que no funciona en mi caja de Linux.

Más del 99% del software es de código abierto:

No es descabellado preguntarse “¿Cómo es que tener el código fuente disponible para que lo examinen los hackers malvados hace que el software sea más seguro?”. La respuesta se puede resumir en algo que dijo Eric Raymond hace unos 13 años: “Con suficientes ojos, todos los errores son superficiales”.

En el mundo de Windows, confiamos en que el proveedor haya realizado la debida diligencia para investigar su propio código en busca de desbordamientos de búfer y otras fallas explotables. Nadie más ha visto el código, por lo que los escaneos / revisiones automatizados de fuentes de software son imposibles.

En el mundo de Linux, hay docenas de empresas e investigadores de seguridad que constantemente ejecutan escaneos en todo el ecosistema de software en sus repositorios, no solo en el software que han desarrollado ellos mismos.

El código fuente abierto también tiende a ser reutilizado. En el mundo de Linux, los desarrolladores ni siquiera se sentirán tentados a implementar una función centrada en la seguridad como las bibliotecas SSL, cuando hay otras que funcionan perfectamente disponibles para que sus aplicaciones de código abierto las utilicen de forma gratuita. Tener ese código abierto, de modo que puedan introducir su depurador y corregir los errores subyacentes por sí mismos, es una gran ventaja.

En Windows, hay un refuerzo de la mentalidad de “no inventado aquí” a medida que las aplicaciones vuelven a implementar la rueda para su proyecto de código cerrado para evitar pagar a otros desarrolladores de software propietario por una biblioteca de utilidades debidamente examinada. Una distribución de Linux (distro) es más que solo Linux. Linux es el núcleo y muchos de los otros componentes son parte del entorno GNU. Los paquetes comunes (por ejemplo, el servidor web Apache) se utilizan en otros sistemas operativos de código abierto, incluido BSD. Y, en caso de que no lo supiera, los chicos de BSD están un poco locos por la seguridad. Entonces, estos componentes se han examinado con cien peines de dientes finos.

Combine la naturaleza de código abierto de Linux con el sistema de repositorio utilizado para la distribución de software, y cualquiera puede ver por qué los exploits de Linux tienen una vida útil sorprendentemente corta: cuando se encuentra un exploit de día cero, los geeks se apresuran a ver quién puede encontrar el mejor fix (ya que todos tienen acceso a la fuente), y se envía a los repositorios y a todos de inmediato.


Las distribuciones de Linux son diversas:


Los troyanos exitosos dependen de que exista algún error o falla, para obtener privilegios elevados. (Lo sé: duh, ¿verdad?) En Windows, los autores de malware pueden estar bastante seguros de que el error del kernel que existe en su caja de Windows 7 también existe en su caja de Windows 7 (si ambos están actualizados).

En Linux, estos posibles piratas informáticos tendrían mucha suerte si dos distribuciones diferentes ejecutan el mismo kernel, y mucho menos los mismos conjuntos de parches, y tal vez si se construyeran con las mismas opciones de compilación. Los mismos errores no existen en todas partes, lo que hace que Linux sea un objetivo menos viable. Sigue siendo un objetivo atractivo (ya que un gran porcentaje de los servidores siempre activos en Internet lo ejecutan), pero no es tan fácil de explotar a nivel de sistema operativo.

Entonces, la conclusión es obvia: incluso si tuvieran exactamente la misma participación de mercado, es extremadamente improbable que Linux alguna vez tenga la misma cantidad de exploits que vemos en ecosistemas de código cerrado como Windows. Este es un resultado directo de la naturaleza abierta, que permite que innumerables empresas y aficionados accedan y mantengan todas las partes del sistema, una característica que simplemente no se puede replicar en sistemas operativos propietarios. Linux siempre tendrá más ojos mirando a través del código para hacerlo seguro, que ojos mirando a través del código para explotarlo.

Doy la bienvenida a cualquier discurso inteligente sobre el tema, incluso si no estás de acuerdo conmigo.