Как скрыть от программы, которая запущена на виртуальной машине?

13

Некоторые программы содержат тесты, чтобы увидеть, работают ли они на виртуальной машине.

Очень неприятно видеть предупреждающие сообщения, такие как «Извините, это приложение не может работать на виртуальной машине». и ваше программное обеспечение остановлено!

Есть много юридических оснований для отмены таких тестов. Более того, такие ограничения (в большинстве случаев) не прописаны в пользовательских лицензионных соглашениях.

Итак ... как скрыть тот факт, что на виртуальной машине запущена программа? Я не хочу, чтобы программы, выполняющие это сканирование, успешно определяли работающую виртуальную машину.

Я использую виртуальный частный сервер (VPS) с Hyper-V ... Я администратор операционной системы (Windows 2003), установленной на этом VPS, а не администратор Hyper-V.

Фемто Трейдер
источник
1
Можете ли вы уточнить, что вы подразумеваете под «скрыть программу»? Кроме того, какое программное обеспечение вы пытаетесь запустить, в частности?
Андерсон Грин
@AndersonGreen, они означают, что хотят запретить программе обнаруживать, что она работает на виртуальной машине.
Synetech
Итак, позвольте мне прямо сказать, ваше работающее программное обеспечение внутри виртуальной машины и вы не хотите, чтобы программное обеспечение на хосте обнаруживало, что определенное программное обеспечение работает на виртуальной машине, верно?
user88311 30.09.12
1
Тебе следует быть осторожным. Если программа намеренно проверяет, работает ли она в отлаженной / виртуальной среде, вполне возможно, что она пытается применить определенный оператор, указанный в лицензионном соглашении . Фальсификация VM может быть прямым нарушением EULA.
Bytebuster
1
@bytebuster Я сказал в своем вопросе: «Более того, такие ограничения (в большинстве случаев) не прописаны в лицензионных соглашениях пользователя». Поэтому я знаю, что иногда это запрещено, а иногда разрешено… не обращайтесь за юридической консультацией, а за технической помощью
Фемто Трейдер

Ответы:

1

Короче говоря, я думаю, что вы просто не можете. Это обсуждение вредоносного ПО, пытающегося определить, работает ли оно на виртуальной машине, чтобы избежать обнаружения системами, которые используют виртуальные машины для запуска кода для проверки на наличие вредоносных программ.

Вот несколько быстрых ссылок: VRT: Как вредоносное ПО узнает разницу между виртуальным миром и реальным миром? и «Мертвые распродажи вредоносных программ, ориентированных на ВМ» .

scherand
источник
1
Сильно не согласен, у вас неверный аргумент. Обнаружение того, что это виртуализированная среда, значительно упрощает работу вредоносной программы. Также учтите, что существуют антивирусные и антивирусные лаборатории, которым необходимо запускать виртуальные машины, чтобы изолировать свои исследования, и которые внедряют вредоносные программы в эти виртуальные машины и должны скрывать тот факт, что экземпляр является виртуализированным экземпляром. Именно поэтому ESXi / VSphere позволяет установить флаг, чтобы скрыть тот факт, что виртуальная машина является виртуальной.
Матиас Вольф
Я также категорически не согласен, как насчет прохождения графических процессоров NVidia с картами потребительского уровня. Драйверы NVidia выполняют проверку «ВМ» и не могут установить код ошибки 43, но быстрый Google находит обходной путь. Это постоянная игра в кошки-мышки, когда дело доходит до подобных вещей.
FreeSoftwareServers
Я думаю, что этот ответ является правильным, или, скорее, будет, если он заявил, что все, что работает "сейчас", скорее всего, не будет работать через некоторое время, так как это во многом своего рода "гонка вооружений" (особенно если речь идет о вредоносных программах). ) и поэтому средства обнаружения против средств, препятствующих обнаружению, постоянно меняются и развиваются с течением времени.
Чак ван дер Линден
0

Насколько я знаю, это зависит от типа виртуализации, которую вы используете.

Давайте начнем с того, что вы можете наверняка смягчить некоторые вещи (например, изменить MAC-адрес, удалить гостевые дополнения).

Тем не менее, если вы используете полную виртуализацию, гипервизор эмулирует аппаратное обеспечение для гостей. Эмулируемый процессор будет иметь свои собственные (программные) часы, которые рано или поздно будут показывать разные скорости, а это не должно.

Это одна из вещей, которую вы никак не можете исправить, и программа (в основном вредоносные программы) будет знать, что она работает на виртуальной машине.

Вы можете сделать это прямо, используя паравиртуализацию, которая заключается в использовании вашего реального оборудования в закрытой среде.

ingroxd
источник
Я бы сказал, что в равной степени зависит, какой гипервизор вы используете для проверки того, что программа делает, чтобы увидеть, находится ли она в виртуальной машине.
FreeSoftwareServers