¿Puede el malware de Windows dañar una computadora con Linux cuando se ejecuta con Wine?

25

Soy un usuario de Linux (Ubuntu). A veces, tengo que usar Wine para ejecutar ejecutables de Windows.

Me gustaría saber si el malware de Windows (virus, troyano, gusano, ...), es decir, el malware que no fue pensado para hacer daño cuando se ejecuta con Wine en Linux, puede dañar mi sistema Linux. Yo uso una instalación de vino estándar. El vino nunca se ejecuta como un superusuario.

Supongo que podría leer / escribir / eliminar archivos de mi carpeta y conectarse a Internet.

Creo, pero no estoy seguro, de que no pueda instalar el software. ¿Podría instalar complementos dañinos (Firefox)?

    
pregunta Martin Thoma 10.07.2011 - 13:49
fuente

3 respuestas

16

Tiene razón al acceder al sistema de archivos e internet, especialmente porque la carpeta de inicio está asignada con permiso de escritura de forma predeterminada. Esto implica que también puede enturbiar sus documentos , por ejemplo, agregar macros a los documentos de Open Office, eliminar sus archivos mp3 o enviar archivos interesantes a alguien en Internet.

Y sí, puede escribir en tu perfil de Firefox e instalar un complemento .

Conectarse a Internet significa que puede recuperar comandos de un servidor C & C para convertir tu computadora en un avión no tripulado.

Supongo que algunos programas maliciosos no encontrarán esas ubicaciones fuera de las carpetas estándar de Windows. Pero otros simplemente escanearán todas las unidades en busca de lugares interesantes.

    
respondido por el Hendrik Brummermann 10.07.2011 - 15:14
fuente
15

Teóricamente, sí.

En primer lugar, un poco de historia sobre el vino. Wine proporciona un cargador de archivos ejecutables para ejecutar archivos ejecutables de Windows. También se ha instalado o utilizado opcionalmente un controlador binfmt descrito aquí , que es como el kernel de Linux deduce lo que cargador para ejecutar: por ejemplo, en algún lugar integrado en el kernel se encuentra un controlador binfmt para archivos ELF para Linux. Las llamadas de función de estos ejecutables son traducidas luego por el tiempo de ejecución de Wine a sus llamadas de sistema de Linux equivalentes. Las Preguntas Frecuentes sobre el Vino tratan con la cuestión del vino como un emulador .

Entonces, volviendo a su pregunta, ¿podría el malware de Windows infectar una caja de Linux? Dije teóricamente sí, aquí están las diversas amenazas a las que te enfrentas:

  • Errores en los manejadores de formato. Si un ejecutable especialmente diseñado hace que Wine cargue incorrectamente el archivo PE, es posible que puedas explotarlo.
  • Errores en la traducción de la función de Wine. Esto es lo mismo que decir "errores en la API de Windows", si lo desea: si ciertas funciones traducidas en Wine son susceptibles a desbordamientos de búfer, etc., pueden ser explotadas.
  • El hecho de que las llamadas de función están traducidas. Este hecho en sí mismo significa que puede ocurrir una actividad maliciosa.
  • La configuración y limitaciones de la instalación de Wine. ¿Qué sistemas de archivos has mapeado? ¿Puede el ejecutable escapar de este "chroot"?

Hay una condición clave aquí: ser consciente o planear infectar Wine. Si el malware se escribe con la expectativa de que pueda ejecutarse en Wine, entonces puede comenzar a usar exploits específicos de Wine, posiblemente detectando que Z: se asigna a / y realiza las acciones apropiadas. Los puntos anteriores en mi lista anterior son los menos probables, pero también los más dañinos si se producen.

Sin embargo, la mayoría del malware no está escrito para Wine. Casi se puede pensar en Wine como un objetivo de compilación separado, ya que la forma en que implementa la API de Windows es diferente a la forma en que Windows implementa la API. La mayoría de los programas maliciosos se dirigen directamente a Windows, por lo que esperaría que el daño se produzca solo en la instalación de "Windows". De hecho, es posible que algunos programas maliciosos no se ejecuten, donde los desarrolladores de Wine han asumido el uso estricto de una función API y donde Windows permite algo diferente.

Entonces, para abreviar una larga historia, Wine aumenta tu superficie de ataque en una cantidad considerable al permitirte ejecutar programas de Windows arbitrarios. Las mismas reglas generales se aplican a Wine que a cualquier software:

  • ¿Lo necesitas? Si no, no lo instales.
  • ¿Está actualizado? Si no, actualízalo.
  • Ten cuidado con lo que corres con él. No es un sustituto de tener cuidado con lo que descarga, accede y ejecuta.
respondido por el user2213 10.07.2011 - 15:15
fuente
3

Hace mucho tiempo que no hago excepciones estructuradas en C (específicas de MS pero emuladas en Wine), pero la sintaxis es cercana a esto. Alguien que use esto podría divertirse mucho incluso si Z no está asignado.

bool isLinux = 0;
__try {
    asm {
        mov AL, 172
        int 80h
    }
    isLinux = 1;
} __except {}
if (isLinux)
   asm {
      /* Linux shellcode here */
   }
    
respondido por el Joshua 24.07.2014 - 20:11
fuente

Lea otras preguntas en las etiquetas