GNU/Linux >> Belajar Linux >  >> Linux

Bisakah malware Windows membahayakan komputer Linux saat dijalankan dengan Wine?

Anda benar tentang mengakses sistem file dan internet, terutama karena folder rumah dipetakan dengan izin tulis secara default. Ini menyiratkan bahwa ini dapat mengacaukan dokumen Anda juga, misalnya menambahkan makro ke dokumen Open Office, menghapus file mp3 Anda, atau mengirim file menarik ke seseorang di internet.

Dan ya, itu dapat menulis ke profil Firefox Anda dan memasang Addon .

Menghubungkan ke internet artinya, ia dapat mengambil perintah dari server C&C untuk mengubah komputer Anda menjadi drone.

Saya kira beberapa maleware akan gagal menemukan lokasi tersebut di luar folder windows standar. Namun yang lain akan memindai semua drive untuk tempat-tempat menarik.


Secara teoritis, ya.

Pertama, sedikit latar belakang tentang Wine. Wine menyediakan pemuat yang dapat dieksekusi untuk menjalankan Windows yang dapat dieksekusi. Juga diinstal atau digunakan secara opsional adalah penangan binfmt yang dijelaskan di sini, yaitu bagaimana kernel linux menyimpulkan loader apa yang akan dieksekusi - misalnya, di suatu tempat yang dibangun di dalam kernel adalah penangan binfmt untuk file ELF untuk Linux. Panggilan fungsi dari executable ini kemudian diterjemahkan oleh runtime Wine ke panggilan sistem Linux yang setara. FAQ Wine berkaitan dengan pertanyaan tentang wine sebagai emulator.

Jadi, kembali ke pertanyaan Anda - dapatkah malware Windows menginfeksi kotak Linux? Saya menjawab secara teoritis ya - berikut adalah berbagai ancaman yang Anda hadapi:

  • Bug dalam penangan format. Jika executable yang dibuat khusus menyebabkan Wine salah memuat file PE, Anda mungkin dapat mengeksploitasinya.
  • Bug dalam terjemahan fungsi Wine. Ini sama dengan mengatakan "bug di Windows API", jika Anda suka - jika fungsi tertentu yang diterjemahkan dalam Wine rentan terhadap buffer overflows dll, maka fungsi tersebut dapat dieksploitasi.
  • Fakta bahwa pemanggilan fungsi diterjemahkan. Fakta ini sendiri berarti aktivitas berbahaya dapat terjadi.
  • Pengaturan dan batasan pemasangan Wine. Sistem file apa yang telah Anda petakan? Bisakah eksekusi lolos dari "chroot" ini?

Ada satu ketentuan utama di sini - waspada atau berencana untuk menginfeksi Wine. Jika malware ditulis dengan harapan dapat dijalankan di Wine, maka malware dapat mulai menggunakan eksploitasi khusus Wine, mungkin mendeteksi bahwa Z:dipetakan ke / dan melakukan tindakan yang sesuai. Poin sebelumnya dalam daftar saya di atas adalah yang paling kecil kemungkinannya, tetapi juga paling merusak jika terjadi.

Namun, kebanyakan malware tidak ditulis untuk Wine. Anda dapat menganggap Wine sebagai target build terpisah, hampir, karena cara mengimplementasikan Windows API berbeda dengan cara Windows mengimplementasikan API. Sebagian besar malware ditujukan langsung ke Windows, jadi saya perkirakan kerusakan hanya terjadi pada pemasangan "Windows". Memang beberapa malware mungkin tidak berjalan, di mana pengembang Wine telah mengasumsikan penggunaan yang ketat dari fungsi API dan di mana Windows mengizinkan sesuatu yang berbeda.

Jadi, untuk mempersingkat cerita, Wine meningkatkan permukaan serangan Anda dengan jumlah yang cukup besar dengan memungkinkan Anda menjalankan program Windows yang sewenang-wenang. Aturan umum yang sama berlaku untuk Wine sebagaimana berlaku untuk perangkat lunak apa pun:

  • Apakah Anda membutuhkannya? Jika tidak, jangan instal.
  • Apakah ini mutakhir? Jika tidak, perbarui.
  • Hati-hati dengan apa yang Anda jalankan dengannya. Ini bukanlah pengganti untuk berhati-hati dengan apa yang Anda unduh, akses, dan jalankan.

Sudah lama sejak saya melakukan pengecualian terstruktur C (khusus MS tetapi ditiru pada Wine), tetapi sintaksnya mirip dengan ini. Seseorang yang menggunakan ini bisa bersenang-senang meskipun Z tidak dipetakan.

bool isLinux = 0;
__try {
    asm {
        mov AL, 172
        int 80h
    }
    isLinux = 1;
} __except {}
if (isLinux)
   asm {
      /* Linux shellcode here */
   }

Linux
  1. Cara memulihkan komputer inti tunggal dengan Linux

  2. Tidak dapat membaca sertifikat saat berjalan di Linux Docker container - berfungsi di Windows

  3. Bagaimana saya bisa memindahkan file dengan xargs di Linux?

  1. Jalankan Perangkat Lunak Windows dengan Mudah di Linux dengan Botol

  2. Alat Linux untuk memeriksa DLL Windows

  3. Bisakah Anda mengembangkan aplikasi Linux dengan Xamarin?

  1. Siapapun dapat menggambar di Linux dengan Inkscape

  2. Jalankan aplikasi Windows favorit Anda di Linux

  3. Bagaimana cara mendaftarkan server Linux dengan server DNS Windows