Los mitos sobre el malware en Unix / Linux


142

¿Es posible que mi caja de Linux se infecte con un malware?

No he oído que le ocurra a alguien que conozco, y muchas veces he escuchado que no es posible. ¿Es eso cierto?

Si es así, ¿qué pasa con el software antivirus (seguridad) de Linux?


1
Vea esta respuesta de quora: goo.gl/UVCsgz cubre las principales razones por las que Linux / Unix es diferente a Windows en términos de posibilidades de infección aleatoria por malware.
arielf

2
Otro artículo que encontré informativo, aunque no tan bueno como el @arielf vinculado: linuxmafia.com/~rick/faq/#virus
Wildcard

Respuestas:


135

Primero, ciertamente es posible tener virus en sistemas operativos Unix y similares a Unix como Linux. El inventor del término virus informático , Fred Cohen, realizó sus primeros experimentos con 4.3BSD. Existe un documento de procedimientos para escribir virus de Linux , aunque parece que no ha tenido una actualización desde 2003.

En segundo lugar, el código fuente de los virus informáticos sh-script ha flotado durante más de 20 años. Ver de Tom Duff 1988 de papel , y de Doug McIllroy artículo de 1988 . Más recientemente, se desarrolló un virus LaTeX independiente de la plataforma para una conferencia. Se ejecuta en Windows y Linux y * BSD. Naturalmente, sus efectos son peores en Windows ...

Tercero, han aparecido un puñado de virus informáticos reales y en vivo para (al menos) Linux, aunque no está claro si se encontraron más de 2 o 3 de estos (RST.a y RST.b) "en la naturaleza".

Entonces, la verdadera pregunta no es ¿Pueden Linux / Unix / BSD contraer virus informáticos? pero, dado lo grande que es la población de servidores y escritorios de Linux, ¿por qué esa población no tiene la increíble plaga de virus que Windows atrae?

Sospecho que la razón tiene algo que ver con la protección leve brindada por el usuario / grupo / otras protecciones discrecionales tradicionales de Unix y la base de software fracturada que soporta Linux. Quiero decir, mi servidor todavía ejecuta Slackware 12.1, pero con un núcleo compilado a medida y muchos paquetes recompilados. Mi escritorio ejecuta Arch, que es una versión continua. Aunque ambos ejecutan "Linux", no tienen mucho en común.

El estado de los virus en Linux en realidad puede ser el equilibrio normal. La situación en Windows podría ser el "rey dragón", situación realmente inusual. La API de Windows es increíblemente barroco, Win32, API NT-natal, nombres de dispositivos mágicos como LPT, CON, AUXque pueden trabajar desde cualquier directorio, las ACL que nadie entiende, la tradición de un solo usuario, es más, de un solo usuario raíz, máquinas, fichas de marcado ejecutable mediante el uso de parte del nombre del archivo ( .exe), todo esto probablemente contribuye al estado del malware en Windows.


35
Un problema que pasó por alto que vale la pena considerar es que el ABI de Windows se ha mantenido estable durante años. (O, más bien, MS se ha tomado muchas molestias para admitir todas las diversas ABI que han lanzado de forma transparente. WoW64, por ejemplo). Esto significa que un ejecutable que se ejecuta en Windows 3.1 puede ejecutarse en Windows 7. Esto hace que un monocultivo dentro de un monocultivo: los creadores de malware no tienen que reconstruir sus programas para cada versión de Windows, como a menudo tiene que hacer para Linux.
Warren Young el

50
Creo que otra razón para el bajo nivel de virus en los sistemas Unix / Linux y Mac es la presencia de sistemas globales de administración de paquetes, con repositorios confiables configurados por defecto. Mientras que para Windows vaya en línea a descargar software de proveedores malévolos directos que encuentran mientras buscan en Google, en unix / linux / mac utiliza su software interno para explorar un repositorio donde las nuevas entradas se analizan y eliminan si se detectan problemas.
haylem

33
Además, como Windows es la tierra de los propietarios (aunque eso sucede en otras plataformas, te estoy mirando a ti Mac OS), las personas tienden a buscar software crackeado para esta plataforma significativamente más que para otros. Y ir a callejones oscuros en línea no es diferente a ir a callejones oscuros en la vida real: esperar problemas. ¿Cómo puede confiar en que los traficantes de drogas proporcionen lo que anuncian? ¿Y en una forma no modificada? Entonces, ¿cómo puede confiar en los distribuidores de software agrietados para proporcionar lo que anuncian? ¿Y sin modificar el software?
haylem

55
También los datos están separados del código y los archivos de configuración (var & home; bin & usr; etc.). Busque en Windows- Archivos de programa- binarios, archivos de configuración, datos (MS SQL). Puede montar directorios sin exec para datos. Las aplicaciones no ejecutan cada archivo que les lanzas (procesadores de texto de clientes de correo). Código abierto para revisión. Solución rápida de problemas (verifique el tiempo de respuesta para los usuarios de RedHat y Debian después de la amenaza encontrada en el núcleo). Cuando se encuentra un problema, la distribución empuja alguna actualización (no me di cuenta, por ejemplo, KDE está buscando la bandera + x en los accesos directos del escritorio, por ejemplo, para ejecutarlos, qué característica faltaba en algún momento)
jet

1
El comentario anterior de Haylem es correcto, sería interesante ver si esto es un "cambio de juego" para reducir la imagen "muy segura" de Mac OSX, ahora unos años más tarde ... veo malas condiciones en OSX casi todos los días , ya que los usuarios han descargado e instalado el software agrietada (la persona promedio ni siquiera rehuir de ejecución 'file.sh' que se abre en el terminal y escribir su contraseña de administrador!)
forgotstackxpassword

49

Ayuda a prevenir la propagación de virus en Windows


Recuerde que Linux se usa de muchas maneras, como servidores de archivos y correo electrónico.

Los archivos en estos servidores (archivos de MS Office, mensajes de Outlook, programas EXE) se pueden almacenar con una infección.

Aunque no deberían afectar a los servidores en sí, uno podría configurar el servidor para verificar cada archivo en el momento en que está almacenado para asegurarse de que esté limpio y evitar una futura propagación cuando se vuelven a mover a una máquina con Windows.

Yo mismo lo tengo instalado cuando un amigo me pide que compruebe por qué su máquina Windows no funciona o cuando conecto mi pen drive en una máquina Windows.


39
+1 la verdadera razón de la existencia del software AV en Linux, no es tanto para buscar problemas que podrían afectar el sistema, sino para problemas que podrían afectar a otros sistemas (como Windows).
xenoterracide

1
Esta debería ser una respuesta aceptada. El resto de mi hogar usa Windows. Siento que es más seguro conectar unidades flash externas a mi escritorio Linux, escanearlas y luego declararlas seguras para conectarse a otras máquinas en el hogar.
Johan

Ese es un punto de vista realmente genial; muchas personas usan Linux de esa manera (usb), pero probablemente nunca se dieron cuenta de que también podría haber un análisis basado en aplicaciones para detectar virus de Windows en Linux.
olvidadostackxpassword

1
Reinicio mi PC con Windows de forma poco frecuente desde una unidad USB Linux para poder ejecutar exploraciones AV.
Jesse Chisholm

23

Los virus para Linux son posibles en principio y ha habido algunos, sin embargo, en la naturaleza, no hay virus de Linux generalizados. La base de usuarios de Linux es bastante pequeña y, bajo Linux, es mucho más difícil que un virus haga mucho daño, ya que el modelo de usuario es bastante restrictivo en comparación con, por ejemplo, Windows XP. Por lo tanto, los autores de virus normalmente se dirigen a Windows.

Existe un software antivirus de Linux, por ejemplo, de McAfee, pero ningún usuario de Linux que conozca utiliza dicho software. Es mucho más importante instalar solo software de fuentes confiables y mantener su sistema siempre actualizado instalando actualizaciones de seguridad de manera oportuna.


3
Solo quisiera agregar que incluso si logras obtener un virus (en mis 10 años de Linux nunca vi uno), el peor escenario es que tu carpeta de usuario se vea comprometida.
Patkos Csaba

37
No, el peor escenario es el compromiso completo del sistema. La gente del núcleo acaba de cerrar un gran agujero en el núcleo hace unas seis semanas que permitiría a cualquier programa GUI escalar sus privilegios al nivel raíz. Busca en Google un poco y encontrarás otros agujeros del pasado de esta naturaleza. Es cierto que Linux tiene una mejor seguridad en muchas formas en comparación con Windows, pero como cualquier otra base de código de millones de líneas de código, puede estar seguro de que hay otros agujeros esperando a ser encontrados. Yo también recomendaría mantener los sistemas parcheados en lugar de antivirus, pero también mantener la cabeza fuera de la arena.
Warren Young

66
Tengo que diferir con la razón "la base de usuarios es bastante pequeña". El primer virus de PC realmente extendido fue "Brain", en 1988. Seguramente Linux en 2010 tiene más usuarios de escritorio que MS-DOS en 1988. ¿Por qué Linux no tiene más virus? ¿Por qué no tiene un virus generalizado del "cerebro"?
Bruce Ediger

77
Las PC lograron un claro dominio de la plataforma alrededor de 1988. El clavo más alto se golpea, entonces como hoy.
Warren Young

66
echox es correcto. El software AV para Linux no está realmente allí para proteger el sistema Linux en sí. está ahí para escanear archivos que Linux está sirviendo. Es por eso que la mayoría de estos AV solo miran los archivos que están dirigidos a escanear, en lugar de cualquier archivo al que se acceda o cambie en el sistema.
xenoterracide

21

Como nota histórica, el primer gusano de Internet, el gusano Morris , se propagó a través de vulnerabilidades en las utilidades de Unix. Es anterior a Linux, pero muestra que es posible que los sistemas basados ​​en Unix se infecten.


2
Sin embargo, el gusano Morris no era un virus. Un virus debe adjuntarse a alguna otra pieza de software, mientras que el software que escribió Robert Morris era en ese sentido independiente. Fue autorreplicante pero también autosuficiente, y por lo tanto, un gusano en lugar de un virus.
un CVn

@ MichaelKjörling malware entonces?
Braiam

6

En mi opinión, hay una razón más, además de las mencionadas en otras respuestas, de que la plataforma Linux no tiene muchos virus. El código fuente de casi todos los componentes de Linux está disponible gratuitamente.

Digamos que un equipo de 5 miembros desarrolla una aplicación. Incluimos probadores y algunos otros en la lista y como máximo 10 personas conocerán el código. De estos diez, es probable que algunos no tengan suficiente conocimiento detallado del código. De ahí la cantidad de personas que conocen el código lo suficientemente bueno como para señalar errores, agujeros de seguridad es muy menor.

Ahora, si este código se hace de código abierto / libre, el par de ojos que lo revisarán aumentará drásticamente. Por lo tanto, la probabilidad de encontrar agujeros de seguridad también aumenta.

Estos nuevos contribuyentes aportan su experiencia con ellos y, a menudo, los ojos nuevos pueden notar lagunas que los desarrolladores originalmente ignoraron / dieron por sentado / perdieron.

Cuanto más popular es la aplicación, más contribuyentes tiene. Creo que esta libertad / apertura contribuye a un menor número de vulnerabilidades de la plataforma Linux.


55
Realmente odio decir esto, pero la naturaleza de código abierto o cerrado solo puede afectar la velocidad a la que se alcanza un estado de error particular. Ver: "Milk or Wine" de Andy Ozment ( andyozment.com/papers/… ) y Ross Anderson "Los sistemas abiertos y cerrados son equivalentes" ( cl.cam.ac.uk/~rja14/Papers/toulousebook.pdf )
Bruce Ediger

Gracias Bruce por compartir los enlaces. Definitivamente los atravesará.
Andrew-Dufresne

3
¿Qué usuario de Linux revisa todo el código fuente antes de emitir un sudo make install?
Calmarius

5

Ya hay buenas respuestas, pero todavía me gustaría contribuir con algo.

Incluyendo las prácticas de seguridad simples que aún son mejores que Windows incluso después de todo este tiempo, y todos esos virus, también creo que los problemas son en gran medida sociales.

Creo que el factor principal es la diversidad de las distribuciones. Esto aumenta el trabajo involucrado en asegurarse de que un virus tenga lo que necesita para propagarse. Esto, combinado con la demografía de los usuarios de Linux que no son tan propensos (en mi humilde opinión) a hacer clic en un correo electrónico dudoso o que generalmente se ponen en riesgo, significa que el éxito de un virus se inhibe aún más.

Las personas también están posiblemente más motivadas para atacar ventanas.


4

Si bien sí, hay algunos virus para Linux, no necesita preocuparse demasiado por ellos. Son lo suficientemente poco comunes como para extrañarte por completo.

Sin embargo, lo que puede y debe preocuparse son los gusanos . Estos programas, a diferencia de los virus que usualmente toman la interacción del usuario para infectar, se propagan por sí mismos entre servidores, explotando vulnerabilidades en servicios y plataformas. Los gusanos buscan más servidores para infectar, se instalan en máquinas vulnerables y con frecuencia modifican su comportamiento, por ejemplo, para enviar virus a los clientes que visitan Windows.


3

La respuesta simple es que ningún sistema operativo es 100% seguro, a menos que se lea solo desde un medio de solo lectura al inicio es 100% seguro.

Sin embargo, Windows tiene más vectores para infecciones, esos vectores son más accesibles y una vez infectados pueden causar mucho más daño. Esto se puede ver fácilmente leyendo el "RootKit Arsenal" u otros libros.

El número de exploits en cualquier máquina es aproximadamente proporcional a (ganancia para rootear una máquina) * número de máquinas / (costo para crear malware de rooting).

Dado que la cantidad de exploits es proporcional a la cantidad de computadoras, tiene sentido que la cantidad de malware sea mayor en Windows.

Pero, es estúpido asumir la única razón. Windows tiene más virus porque hay más computadoras ejecutándolo. Tenga en cuenta que en Linux infectarse con malware es mucho menos costoso que en Windows porque el daño está más contenido. Por el contrario, la cantidad ganada por un enraizamiento es menor). Tenga en cuenta también que el costo de enraizamiento es mayor debido a las razones que menciono en el primer párrafo.

Tenga en cuenta que esto es cierto a partir de ahora. En este punto, Linux es un sistema mejor diseñado que Windows. Sin embargo, hay fuerzas que dicen que necesitamos un desarrollo más rápido de funciones fáciles de usar. Esto puede facilitar la existencia de errores y la creación de virus. Ya encuentro que Ubuntu es casi tan defectuoso como Windows.


El medio de arranque de solo lectura solo reduce la superficie de ataque, no evita el malware.
symcbean

re: Windows has more ... computers running it. Bueno, más computadoras de usuarios finales lo ejecutan. Creo que hay más servidores sin cabeza que ejecutan un poco de * Nix (variante Unix, variante Linux) que Windows. Los primeros días de DOS y Windows con cero seguridad fue un factor importante en el objetivo de esa plataforma.
Jesse Chisholm

1

Otras respuestas han proporcionado buenas referencias históricas para virus en Unix y Linux. Ejemplos más contemporáneos incluyen las campañas de malware "Windigo" y "Mayhem" . Estos han infectado muchos miles de sistemas. Se ha informado que Mayhem está utilizando la vulnerabilidad Shellshock para propagarse.

En cuanto al software de detección de malware de Linux, tiene alternativas de código abierto y comerciales. El más efectivo, en mi opinión sesgada, es Second Look . Utiliza análisis forense de memoria y verificación de integridad para detectar malware de Linux. Soy desarrollador de Second Look.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.