¿Existen diferencias técnicas que hacen que Linux sea menos vulnerable a los virus que Windows?

123

¿Qué hace a Linux tan diferente a Windows en términos de necesidades de antivirus?

Mi pregunta no es si debo obtener un antivirus para mi Linux . Entiendo perfectamente por qué un AV es importante.

Me gustaría entender si hay diferencias conceptuales (técnicas) que hacen que Linux sea menos vulnerable que Windows (comparando, por ejemplo, Ubuntu 14 y Windows 7).

    
pregunta Community 05.08.2015 - 20:59
fuente

8 respuestas

110

Hay varias razones por las que Windows está tan inflado con los productos antivirus. (Estoy apuntando a experiencias fuera de la caja (OOTB)).

Los usuarios de Windows son, de forma predeterminada, administradores locales, por lo que cualquier ingeniería social realizada en Windows generalmente puede conducir a una ejecución de software. Linux moderno tiene a los usuarios configurados como usuarios locales de bajos privilegios. Requiere tu contraseña para elevar el privilegio.

Windows intentó simplificar el mayor número posible de cosas, incluida la seguridad y, al recordar su historial de carnicería ( Windows Vista cualquiera ?) de los controles de seguridad dejaron su base de usuarios entumecidos a falsos positivos constantes sobre el software. El proverbial "¿Desea instalar este software? ¿REALMENTE desea instalar este software?" conduzca a solo hacer clic o deshabilitar UAC .

Repositorios de software vs instalaciones independientes:

Linux ha tenido repositorios de software desde siempre y proporcionan un buen mecanismo para instalar software. Estos son generalmente firmados, aprobados, y el software está protegido por compañías con presupuestos de seguridad que siguen los estándares de seguridad. (Sé sobre las violaciones a los repositorios en el pasado, pero esto es generalmente bueno). Los usuarios de Windows están acostumbrados a extraer fuentes de todas partes e instalar en su sistema, sin firma o no.

Los usuarios generalmente tienen una mentalidad diferente:

Windows es una plataforma multiuso para todos los usuarios. En general, trata de resolver los problemas de todos y, al hacerlo, OOTB no protege al usuario como debería. Esta es la razón por la que Microsoft presiona tan fuerte para forzar que cada pieza de software sea firmada por un "firmante de confianza". Hay mucho debate sobre esto, pero en general, desde un punto de vista de seguridad, esto es inteligente; Resulta que Microsoft tiene un historial que deja la confianza que desear.

Los usuarios de Linux son generalmente técnicos y los sistemas suelen ser sistemas de servidor. Es por eso que el software generalmente viene con las teclas GPG y / o SHA / MD5 hash para la comparación, ya que estos son desde la perspectiva del administrador de Linux, procesos de facto para instalar el software. Conozco a muchos usuarios de Linux que ignoran esto, pero aún no he visto a un administrador de Windows ni siquiera pensar en ello.

Así que va más allá de la cuota de mercado.

Expansión:

Abordaré algunas cosas de los comentarios (que tienen puntos válidos).

Repositories:

Desde una experiencia OOTB, las distribuciones modernas de Linux tienen paquetes pre-firmados que son más para identificar que un paquete funciona con la distribución, pero también demuestra un método seguro para la verificación.

Se han analizado otros sistemas de gestión de paquetes, como pip y npm que son independientes de las propias distribuciones y son servidores para instalar paquetes específicos para su lenguaje de programación particular. Se puede argumentar que no hay una forma inherente de verificación en estos sistemas. Esto es primario porque Linux tiene una filosofía de programas que hacen una cosa específica y que lo hacen bien. Por lo general, este es el motivo por el que se utilizan varias herramientas, como el uso de GPG o PGP para la integridad.

Descargas de scripts

CURSO | sh ha sido mencionado y realmente no es diferente a hacer clic en un archivo .exe después de haber descargado el archivo. Para señalar, cURL es una herramienta CLI para transferir datos. Puede realizar la autenticación, pero no hace la verificación específicamente.

UAC vs sudo

Por último, aquí hay algunas cosas acerca de estas dos características de seguridad.

UAC es un proceso de aprobación para la instalación de software no confiable. Un usuario que tiene derechos de administrador local simple obtiene un sí o no (el comportamiento se puede cambiar, pero no es el predeterminado). Todavía estoy buscando para ver si este comportamiento ha cambiado en Windows 8+, pero no he visto nada en él.

Sudo es un sistema de elevación de permisos de grano fino. Por defecto, es esencialmente lo mismo que UAC, pero tiene más capacidad de configuración para limitar la accesibilidad.

    
respondido por el Shane Andrie 05.08.2015 - 22:01
fuente
42

La razón de esto tiende a ser histórica. No hay ninguna razón por la que un Linux de escritorio moderno sea particularmente más resistente al malware en comparación con un escritorio de Windows moderno.

Sin embargo, ha habido muchos más virus para Windows que para Linux entre los usuarios de escritorio, lo que se debe a factores como el número de usuarios de las respectivas plataformas y también las debilidades históricas en la plataforma de Windows, como la ejecución como administrador todo el tiempo.

Desde el punto de vista del mercado, la razón es que hay más clientes para el software antivirus de Windows que para el software antivirus de Linux, por lo que, como resultado, más proveedores ingresarán a ese mercado.

    
respondido por el Rоry McCune 05.08.2015 - 21:13
fuente
29

Creo que el factor más importante para la infección por virus en el sistema de escritorio de Windows es, definitivamente, la cultura y disciplina de la distribución e instalación de software.

Mientras que el usuario promedio de Linux abre el administrador de paquetes y obtiene el paquete de software creado por el proveedor (y no deja el repositorio oficial para encontrar el software en un 90% de los casos), el usuario promedio de Windows (no de TI) abre el navegador pestaña, y Google para "instalar 7-zip" o incluso "instalar archivador de archivos", y muy a menudo navega accidentalmente a un sitio web lleno de malware, que está especialmente diseñado y SEOed para capturar este tipo de usuarios.

Todos los administradores principiantes de Windows le contarán muchas historias sobre "ZipViewer.exe" y "ArchiveUnpacker.exe", que se encontraron en la máquina infectada y que el usuario las descargó. Por supuesto, el usuario experimentado escribe "7-zip.org" en la barra de direcciones y descarga el paquete de instalación del sitio web de confianza, pero esto solo nos indica el hecho: la ausencia de un repositorio central para el software de Windows y el requisito de solo para recordar la lista de sitios web de confianza aún crea la mayor vulnerabilidad jamás conocida en el historial de Windows.

Sé que hay una gran cantidad de personas que no instalan software antivirus simplemente porque saben dónde obtener el software original y cómo configurar una copia de seguridad de datos regular.

    
respondido por el Nipheris 06.08.2015 - 11:30
fuente
15

En el monocultivo de Windows

Cada malware de Windows en funcionamiento puede causar una infección epidémica. Hay cientos de millones de cajas Win 8.1 en el mundo y en muchas de ellas, por ejemplo. Acrobat Reader ha sido instalado. Es un monocultivo.

Por otro lado, Linux es menos un monocultivo. Hay muchos visores de PDF diferentes: Evince, Okular, mupdf, xpdf ... Hay muchos administradores de ventanas: Gnome, KDE, i3, lxde ... Hay muchas distribuciones diferentes.

Entonces, si puedes infectar un sabor de Linux, esto no necesariamente funcionará en otras instalaciones.

El software de Linux por lo general es de código abierto. Si desea convertirse en un desarrollador de un software, debe mantenerlo durante mucho tiempo para obtener acceso de escritura a git / svn / cvs de un proyecto en ejecución. No puede ofrecer solo binarios a una distribución, necesita ofrecer código fuente y, si no se compila desde la fuente, su software está fuera. Por eso es difícil distribuir malware.

Lo que escribí aquí son suposiciones, no estoy en la seguridad del software.

    
respondido por el Keks Dose 07.08.2015 - 14:50
fuente
14

Aquí hay algunas buenas respuestas. Solo quería agregar un par de puntos.

Hay un componente histórico en el argumento de que Linux es menos vulnerable que Windows. Algunas de las bases de esta sugerencia no son tan válidas al referirse a las implementaciones modernas de Windows como lo eran anteriormente.

Quizás la mayor diferencia se debió originalmente a las diferencias en la arquitectura. Los sistemas basados en * nix tradicionalmente han tenido una clara separación entre el usuario y el espacio del kernel. Esta separación restringe los procesos ejecutados por el usuario que podrían acceder / cambiar. Las primeras ventanas no tenían una separación tan clara, lo que significaba que cosas como el código de usuario que afectaba el código de bajo nivel o los controladores eran más posibles. Las versiones posteriores de Windows han trabajado hacia una separación similar de sistema y espacio de usuario. Como ejemplo, al mismo tiempo, fue posible que los procesos del espacio de usuario afecten de manera adversa a los servicios de bajo nivel, como el subsistema de video, ya sea debido a un código malicioso ejecutado por el usuario o simplemente un código de nivel de usuario defectuoso. En este sentido, esta separación del espacio del sistema y del usuario tiene el beneficio de reducir la exposición al código malicioso y al código de buggy, lo que podría hacer que el sistema sea menos estable.

Como lo mencionaron otros, Windows tradicionalmente también permitía que la cuenta de usuario también fuera una cuenta de administrador del sistema. Esto sería similar a tener una cuenta de usuario de Linux ejecutada con privilegios de raíz, lo que esencialmente permite que los procesos eviten cualquier protección proporcionada por la separación de usuarios y sistema.

Creo que también es útil distinguir entre virus y malware. Una forma de ver esto es pensar en los virus como auto-poblados: los virus pueden pasar de un sistema a otro sin la interacción / entrada del usuario. El software malintencionado requiere que el usuario realice alguna acción, es decir, abra un archivo adjunto, instale una actualización, visite un sitio web con una vulnerabilidad, etc. Si bien los virus siguen siendo un problema, la verdadera amenaza de estos días es la amenaza real. malware Como el malware requiere la interacción del usuario, la amenaza real ahora es más sobre la ingeniería social y menos sobre la plataforma técnica. En este nivel, tanto Windows como Linux son potencialmente similares, ya que ambos sistemas son cada vez más similares (en un nivel de concepto altamente abstracto) en la arquitectura del usuario y el espacio del sistema. Puede desarrollar malware para cualquiera de los sistemas y la medida en que ese malware funcionará es similar (suponiendo que la práctica moderna de Windows no permita que su cuenta de usuario incluya de manera implícita los permisos de administrador).

Esto significa que, en general, la diferencia real se debe principalmente a la participación de mercado. Como Linux tiene una cuota de mercado mucho menor, el grupo potencial de víctimas es más pequeño. Si va a desarrollar algún tipo de malware, buscará el mayor mercado posible, esto significa ventanas. Sin embargo, estamos empezando a ver malware para Linux y es probable que si la cuota de mercado del escritorio de Linux aumentara, veríamos un aumento en los problemas de malware para Linux. El punto es que la ingeniería social es ahora la clave para la distribución de malware y las plataformas son menos relevantes. Incluso es probable que veamos más malware en Linux si también vemos un aumento de malware basado en tecnología multiplataforma (por ejemplo, javascript).

En realidad es un poco preocupante, hay una fuerte creencia de que Linux es inmune a los virus y malware. Esta creencia tiende a hacer que las personas sientan que no tienen que preocuparse por las mejores prácticas normales para protegerse, es decir, no hacer clic en correos electrónicos dudosos, abrir archivos adjuntos sospechosos, instalar software de fuentes desconocidas o no confiables, etc. La gente sugerirá que Linux es más seguro porque gran parte de El software es de código abierto y puede inspeccionar la fuente para ver si es malicioso o no. Esto es un poco engañoso. En primer lugar, en realidad es muy difícil inspeccionar el software para asegurarse de que esté bien; esto requiere una considerable habilidad técnica y familiaridad con el idioma que se usa. El otro problema es que la mayoría asumirá que alguien más ha hecho esto, lo que puede no ser el caso. Considere la cantidad de bibliotecas y aplicaciones importantes que han tenido agujeros de seguridad significativos que no se han identificado durante bastante tiempo, es decir, openssl, libc y ghost, etc.

Linux es menos vulnerable en este momento principalmente porque representa un segmento de usuarios tan pequeño en el mercado. Si el mercado crece o los competidores mejoran su seguridad hasta el punto donde el malware se vuelve difícil de implementar, podríamos ver un aumento en las amenazas para Linux. Las amenazas dependen cada vez más de la ingeniería social para entregar su carga útil. Hasta cierto punto, posiblemente estamos llegando al límite de protección técnica posible en los sistemas modernos. El componente más vulnerable en estos días es el usuario. Esto significa que la tecnología subyacente se está volviendo menos relevante y en lo que realmente debemos centrarnos es en la educación y el conocimiento del usuario.

    
respondido por el Tim X 07.08.2015 - 01:27
fuente
4

Comparar Windows y Linux es como comparar manzanas y naranjas estructuralmente. La configuración desempeña un papel más importante en la protección que cualquier arquitectura de sistema operativo específica, y va desde la seguridad física hasta el mantenimiento y la conservación. Todas las implementaciones de seguridad se pueden eliminar en todos los sistemas operativos, y las esquinas se pueden recortar en términos de mantenimiento y seguridad con respecto a cómo un usuario maneja su máquina. Por lo tanto, todos los sistemas operativos comparten el mismo nivel de riesgo en términos de instalación de malware, ya que el usuario tiene un gran impacto en el riesgo.

Las personas que tienen suficientes privilegios pueden instalar virus, malware, troyanos, etc. en la mayoría de las plataformas. Si esa persona tiene suficientes privilegios para permitir que la aplicación aumente sus propios permisos, la aplicación puede ser extremadamente difícil de erradicar. Si un usuario se ejecuta como "Administrador" en Windows o Linux, por ejemplo, tiene la capacidad de permitir la instalación de algo malicioso si no tienen cuidado. Si ese usuario instala inadvertidamente algo que no pretendía, puede potencialmente hacerse cargo de su máquina, ocultarse en el sistema operativo y dificultar su eliminación, a veces incluso requiriendo una actualización del firmware en caso de que aparezca algo como EFI inyección en una Mac.

El antivirus es como un sistema de seguridad cuando tienes una cerradura de puerta. Si piensa que la cerradura de la puerta es la seguridad del sistema operativo incorporado, evitará que ocurran algunas cosas sin que el usuario haga algo como dejar la puerta abierta. Debido a que existe, puede disuadir a un posible atacante debido a su existencia. Las cerraduras de las puertas hacen que las personas honestas sean honestas. Un sistema de seguridad, como el software antivirus, alerta al usuario de una posible intrusión. Si el usuario reconoce la advertencia y detiene una intrusión en el tiempo, el robo o la intrusión pueden frustrarse. Si el usuario no tiene un sistema de seguridad en su lugar, solo puede ver las consecuencias de un robo si se superan las protecciones integradas del sistema operativo (o el bloqueo de una puerta).

Dicho esto, no todos los sistemas de seguridad detectan todos los problemas, y no todos los motores antivirus detectan todos los virus, pero si tiene algo que valga la pena proteger, vale la pena protegerlo correctamente.

En algunas variedades, Linux puede requerir un mantenimiento significativamente mayor en términos de instalación. No es fácil de usar para todos y está creado por personas que no trabajan para una gran corporación (excluyendo Red Hat ) . Windows Puede ser más fácil configurar y mantener fuera de la caja, sin embargo, el usuario en ambos casos puede ayudar a inutilizar un sistema operativo en términos de defensa.

La cantidad de malware en un mercado en un momento dado no afecta a la seguridad futura de ningún sistema operativo. Si se aplican todos los parches de software, entonces el usuario está al día con sus vulnerabilidades conocidas, siempre que las partes responsables de mantener el software estén actualizadas. Sin embargo, siempre habrá más ataques de día cero y ataques a vulnerabilidades no reveladas donde no existen parches.

    
respondido por el AbsoluteƵERØ 06.08.2015 - 04:34
fuente
4

Un problema fundamental con la excusa de Windows para un modelo de seguridad, probablemente el más grande, es que la única forma en que un usuario puede permitir que los programas hagan ciertas cosas que casi cualquier programa instalable debería hacer es otorgar el programa. Autoridad ilimitada para hacer cualquier cosa y todo lo que quiera. Si fuera posible para Windows decir, por ejemplo. "A este programa le gustaría agregar una carpeta llamada 'FredMagic123' al menú de inicio de cada usuario y agregarle íconos; ¿le gustaría dejar que haga esto?", Y si hace clic en "Sí" otorgaría al programa la autoridad para hacerlo. pero no hay otros privilegios elevados, entonces los usuarios podrían determinar cuándo los programas estaban buscando permiso para hacer cosas que no tenían una razón legítima para hacer.

Para empeorar las cosas, Windows dificulta que los programas se inicien con los permisos normales y luego soliciten permisos elevados. Por lo tanto, si un instalador querrá alguna vez poder instalar un programa de manera tal que sea accesible para todos los usuarios, a menudo tendrá que solicitar permisos elevados antes de poder hacer algo más. En consecuencia, en lugar de permitir que se instale un programa para un usuario local sin necesitar un permiso elevado, y solo se requieren permisos especiales al instalar para uso en todo el sistema, el comportamiento normal es que los programas de instalación requieran permisos administrativos completos para hacer cualquier cosa, incluso si en una instalación típica ninguna de sus acciones requeriría permisos elevados en absoluto.

    
respondido por el supercat 08.08.2015 - 00:58
fuente
4

Hagamos agujeros en algunas respuestas aquí.

Linux has fewer viruses because it lacks market share.

Falso . Aunque Linux tiene una menor participación de mercado en los escritorios, tiene una mayor proporción de instalaciones de servidor. Los servidores son mucho más propensos a ser buscados como objetivos específicos en lugar de objetivos de oportunidad.

Modern operating systems are all basically equally secure if correctly configured and administered.

Falso . Windows lleva una gran cantidad de código heredado que se escribió sin problemas de seguridad para mantener la compatibilidad. Linux fue mucho más consciente de la seguridad en su diseño inicial y ha tenido múltiples proyectos de seguridad pura que solo han mejorado las cosas. Aunque Windows es mucho mejor de lo que era, aún tiene más margen de mejora.

Y para ser justos, vamos a refutar otro mito: 'Linux por sí solo es lo suficientemente bueno para la seguridad'. Las mayores debilidades en todos los sistemas operativos son

  1. contraseñas débiles
  2. configuración errónea

En este momento, la red de bots que es más alarmante está compuesta completamente de enrutadores de Linux que tienen contraseñas predeterminadas y administración remota habilitada.

    
respondido por el hildred 01.09.2015 - 09:20
fuente

Lea otras preguntas en las etiquetas