Bagaimana cara menyembunyikan dari program yang sedang berjalan di mesin virtual?

13

Beberapa perangkat lunak berisi tes untuk melihat apakah mereka berjalan pada mesin virtual.

Sangat tidak menyenangkan melihat pesan peringatan seperti "Maaf, aplikasi ini tidak dapat berjalan di bawah Mesin Virtual." dan minta perangkat lunak Anda berhenti!

Ada banyak alasan hukum untuk mengganti tes semacam itu. Selain itu, pembatasan semacam itu (sebagian besar waktu) tidak ditulis dalam Perjanjian Lisensi Pengguna.

Jadi ... bagaimana saya menyembunyikan fakta bahwa Mesin Virtual menjalankan program? Saya tidak ingin program yang melakukan pemindaian ini berhasil mendeteksi VM yang sedang berjalan.

Saya menggunakan Virtual Private Server (VPS) dengan Hyper-V ... Saya administrator Sistem Operasi (Windows 2003) yang diinstal pada VPS ini, bukan administrator Hyper-V.

Pedagang Femto
sumber
1
Bisakah Anda mengklarifikasi apa yang Anda maksud dengan "menyembunyikan program"? Juga, perangkat lunak apa yang Anda coba jalankan, khususnya?
Anderson Green
@AndersonGreen, maksudnya mereka ingin mencegah program mendeteksi bahwa program itu berjalan di VM.
Synetech
Jadi biarkan saya meluruskan hal ini, perangkat lunak Anda yang sedang berjalan di dalam VM dan Anda tidak ingin perangkat lunak di host mendeteksi ada perangkat lunak tertentu yang berjalan di dalam VM, benar?
user88311
1
Kamu harus hati-hati. Jika program ini sengaja memeriksa apakah itu berjalan di bawah lingkungan debugged / virtual, mungkin sangat mungkin itu mencoba untuk menegakkan pernyataan tertentu yang tercantum dalam Perjanjian Lisensi . Merusak VM mungkin merupakan pelanggaran langsung terhadap EULA.
bytebuster
1
@bytebuster, saya mengatakan dalam pertanyaan saya, "Selain itu, pembatasan seperti itu (sebagian besar waktu) tidak ditulis dalam Perjanjian Lisensi Pengguna." ... Jadi saya tahu bahwa kadang-kadang dilarang melakukannya ... dan kadang-kadang diizinkan ... saya jangan mencari nasihat hukum tetapi nasihat teknis!
Femto Trader

Jawaban:

1

Singkatnya, saya pikir Anda tidak bisa. Ini adalah diskusi tentang malware yang mencoba mendeteksi jika sedang berjalan di VM untuk menghindari terdeteksi oleh sistem yang menggunakan VM untuk menjalankan kode untuk memeriksa malware.

Beberapa referensi cepat adalah: VRT: Bagaimana malware mengetahui perbedaan antara dunia virtual dan dunia nyata? dan Hadiah Mati dari VM-Aware Malware .

scherand
sumber
1
Sangat tidak setuju, Anda memiliki argumen yang salah. Deteksi bahwa itu adalah lingkungan tervirtualisasi membuatnya lebih mudah bagi malware untuk melakukan tugasnya. Juga pertimbangkan ada laboratorium anti-malware dan anti-virus yang perlu menjalankan VM untuk mengisolasi penelitian mereka dan menanam malware di VM tersebut dan perlu menyembunyikan fakta bahwa instance tersebut adalah instance yang tervirtualisasi. Itulah alasan yang tepat ESXi / VSphere memungkinkan pengaturan bendera untuk menyembunyikan fakta bahwa VM adalah VM.
Matthias Wolf
Saya juga sangat tidak setuju, Bagaimana dengan GPU NVidia passthrough w / kartu kelas Konsumen. NVidia Drivers melakukan pemeriksaan "VM" dan gagal menginstal kode kesalahan 43, tetapi google cepat menemukan solusinya. Ini adalah permainan kucing dan tikus yang konstan dalam hal-hal seperti ini.
FreeSoftwareServers
Saya pikir jawaban ini benar, atau lebih tepatnya jika dinyatakan bahwa apa pun yang ditemukan bekerja 'sekarang' kemungkinan tidak akan berfungsi setelah beberapa periode waktu karena ini dalam banyak hal semacam 'perlombaan senjata' (terutama yang menyangkut malware ) dan alat deteksi vs alat untuk menggagalkan deteksi terus berubah dan berkembang seiring waktu.
Chuck van der Linden
0

Sejauh yang saya tahu, itu tergantung pada jenis virtualisasi yang Anda gunakan.

Mari kita mulai mengatakan bahwa Anda pasti dapat mengurangi beberapa hal (misalnya mengubah alamat MAC, menghapus instalasi penambahan tamu).

Yang mengatakan, jika Anda menjalankan virtualisasi penuh, hypervisor mengemulasi perangkat keras untuk para tamu. CPU yang ditiru akan memiliki jam (perangkat lunak) sendiri yang, cepat atau lambat, akan menunjukkan kecepatan yang berbeda, padahal seharusnya tidak.

Ini adalah salah satu hal yang tidak dapat Anda perbaiki dengan cara apa pun, dan sebuah program (kebanyakan malwares) akan tahu itu berjalan di VM.

Anda bisa meluruskannya dengan menggunakan Paravirtualization yang terdiri dari penggunaan perangkat keras nyata Anda dalam lingkungan tertutup.

ingroxd
sumber
Saya akan mengatakan itu tergantung apa hyper-visor yang Anda gunakan untuk memeriksa perangkat lunak apa yang dilakukan untuk melihat apakah itu dalam VM.
FreeSoftwareServers