Можно ли запускать вирусы в виртуальной машине
Виртуальная машина как способ защиты от вирусов
Думаю, многие слышали о таком методе защиты компьютера от вирусов, как использование виртуальной машины. К сожалению, мало кто из рядовых пользователей имеет понятие, о чем, собственно, идет речь. Что ж, пришла пора приподнять занавес этой тайны. Ниже мы рассмотрим, что же это за такой зверь – виртуальная машина, и как можно с ее помощью обезопасить компьютер.
Эмуляция операционной системы
Чаще всего мы привыкли воспринимать понятие «операционная система» как единичное: один компьютер – одна ОС. На самом же деле, любая операционная система – это, по сути, просто совокупность программных файлов, и для их запуска совсем необязательно наличие отдельного компьютера. Достаточно сымитировать (или, правильнее сказать, эмулировать) его компоненты, используя «железо» одного аппарата.
И таких эмулированных рабочих станций на одном компьютере может быть бесконечно много – главное, чтобы хватило его мощности поддерживать их одновременную работу. Это и называется виртуальной машиной: полноценная самостоятельная программная среда в рамках уже существующей, со всеми вытекающими последствиями, а именно:
1. возможность установить другую операционную систему, не удаляя при этом текущую. По сути, новая ОС будет запускаться как обычная программа. Это решение идеально, если вы хотите попробовать новую «операционку», но боитесь так радикально экспериментировать. В таком случае, установив виртуальную машину, станет возможно попробовать новую систему, не изменяя привычную, и в случае чего безболезненно удалить ее, не затрагивая никаких системных и личных файлов.
2. возможность установки полнофункционального софта. На виртуальную машину можно установить любую программу, поддерживаемую установленной на нее ОС, вне зависимости от возможностей основой системы. Часто такое решение используется геймерами для запуска старых игр, идущих только под управлением DOS или Windows 95-98.
Самые сообразительные читатели уже наверняка догадались, каким образом виртуальная машина может помочь в борьбе с вирусами. Но прежде чем мы перейдем к этому вопросу, рассмотрим еще несколько важных моментов по установке и настройке программы для создания виртуальных машин.
Обычно проблем с установкой большинства программ-эмуляторов не возникает – все инсталляторы имеют удобный и интуитивно понятный интерфейс. Главное не забывать, что самой программы для развертывания дополнительной ОС на компьютере будет недостаточно – необходимо иметь на диске или флешке дистрибутив, с которого будет производится установка этого программного комплекса, а также иметь знания о том, как эту установку производить.
В настройках виртуальной машины очень важно правильно выставить ее конфигурацию. Прежде всего, внимание необходимо обратить на показатели тактовой частоты процессора и размер оперативной памяти. Основное правило здесь звучит следующим образом: выделенной под виртуальную машину частоты и «оперативы» должно быть достаточно для комфортной работы с новой операционной системой и приложениями для нее, а оставшейся мощности должно хватать для поддержания работы основной ОС и запущенной виртуальной машины.
В остальном работа с виртуальной машиной не отличается от стандартной работы за компьютером.
Виртуальная машина как самая надежная зашита от вирусов
Виртуальные машины могут быть использованы для самых различных целей – запуск старых игр, одновременная работа с Windows и Linux, демонстрационный показ программ и т.д. Мы же вспомним еще одну функцию эмуляторов, о которой часто забывают – обеспечение безопасности компьютера.
Главное отличие виртуальной ОС от настоящей – ее полная изолированность на компьютере. Какие бы манипуляции и эксперименты вы не производили в эмуляторе, они никак не отразятся на основной системе.
Именно поэтому специалисты рекомендуют все подозрительные файлы запускать сначала на виртуальной машине. Так вы сможете обезопасить себя практически от любых угроз. После запуска подозрительной программы стоит выждать несколько суток, и если никаких проблем в работе виртуальной машины не возникнет, то запустить его на основной системе… либо продолжить пользоваться ею на «виртуалке», если так вам удобнее.
Если же файл оказался на самом деле вредоносным, то вреда от него будет немного – он окажется в изолированном пространстве, главное не переносите зараженные программы с виртуальной машины на реальную. Очистить от зловреда эмулятор можно точно также, как и обычный компьютер: просканировав его антивирусом или переустановив ОС (в данном случае этот способ может оказаться даже более быстрым и эффективным).
Но есть и третий путь – использовать виртуальную машину для того, чтобы изучить врага изнутри. Вы можете наблюдать за действиями вируса, не опасаясь за сохранность и приватность своих данных – он попросту до них не доберется. Также представится возможность попробовать более сложные методы уничтожения вирусов, о которых наверняка слышали, но боялись их тестировать из-за опасности повредить систему – отключение некоторых системных процессов, чистка реестра и т.д. К тому же, по ходу дела вы всегда можете вернутся в основную ОС и сверится с инструкцией по выполнению того или иного совета по очистке компьютера от малвари.
Но помните – безопасно запустить вирус можно только на «чистой» виртуальной ОС, которая не используются для повседневных нужд и работы. Иначе же последствия деятельности вируса окажутся не менее опасными, чем при попадании его в основную операционную систему, и под угрозой окажутся как ваши личные файлы, так и личные данные, которые хранятся в виртуальной машине.
Роман Идов, ведущий аналитик компании SearchInform:
Виртуальная машина – отличное решение для защиты от зловредов. Но, к сожалению, в силу ряда объективных причин оно не слишком подходит домашним пользователям – скорее, «виртуалка» является решением для системного администратора, который тестирует ПО перед его внедрением в корпоративную сеть. Дело в том, что использование виртуальной машины предполагает мощную технику, которой не всегда располагает домашний пользователь. Кроме того, часто домашнему пользователю просто лень использовать такой способ защиты своего компьютера от вредоносного ПО – ведь у него уже есть антивирус, который, по его мнению, защитит его от всех возможных неприятностей.
Вирусы и руткиты в виртуальной машине
Виртуальная машина, на которой предполагается запускать вирусы, должна быть максимально изолирована от основной системы. Максимально — значит не иметь с ней никаких связей насколько это возможно. Ни общих папок, ни дополнений гостевой ОС, ни расшаренных ресурсов, ни подключённых к компьютеру переносных носителей, кстати, прекрасно определяемых некоторыми типами эмуляторов, ни даже доступа к интернету.
Не стоит забывать о руткитах, уже давно научившихся распознавать виртуальные машины.
В крайнем случае для запуска потенциально опасного ПО следует использовать виртуальные машины с полной эмуляцией, такие как Bochs, которые хоть и не обладают стопроцентной защитой от руткитов, но всё равно в плане безопасности на порядок превосходят VMware, VirtualBox, Virtual PC, мелких уязвимостей в которых хватало и будет хватать всегда.
4 ответа 4
Следует различать следующие сценарии выхода вируса из виртуалки:
он может атаковать хост-систему через виртуальную сеть как обычный сетевой червь;
вирус может воспользоваться эксплоитом для конкретной модели VM;
вирус может воспользоваться эксплоитом для процессора.
Так вот, по первому вашему вопросу. Атака вида 1 успешно предотвращается отключенными галочками. Атаки вида 3 отключенными галочками в общем случае не предотвращаются.
Однако, есть мнение что установка гостевых дополнений делает атаку 3 возможнее просто из-за увеличения количества компонентов и их сложности. Особенно сложными являются технологии виртуализации видеокарты. В частности, ранее найденные и сейчас закрытые уязвимости VirtualBox класса RCE относились именно к этой технологии.
Теперь о том сколько виртуальных машин может обойти руткит. Тут все просто: обойдя виртуальную машину, толковый руткит заражает систему одним уровнем выше, после чего начинает работать на ней. И начав работать, он опять делает попытку заразить те системы до которых дотянется.
Список известных «мелких уязвимостей» можно найти поискав в интернете «(имя продукта) CVE».
Обновление На процессорах Intel нашли уязвимость Meltdown, которая, в случае отсутствия закрывающих ее патчей, позволяет любому процессу произвольно читать любые места в оперативной памяти. Поэтому лучше не работайте с важными данными при запущенной виртуалке с вирусами если у вас Intel.
Обходим детектирование виртуальной машины программами в VMWare
Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.
Я использовал VMWare Fusion для Mac, однако с тем же успехом способ работает и в Workstation для Win.
1) Для работы необходима заново установленная система, как внести изменения в уже существующую — не нашёл.
Готовите виртуальный диск, указываете систему, как это обычно делаете, и в настройках к устанавливаемой машине, у меня этот пункт назван Isolation, выключаете любой обмен данными с хостовой ОС.
2) Далее надо найти конфигурационный VMX файл, создаваемый на этапе создания машины в VMWare, и в конец добавить строки:
isolation.tools.getPtrLocation.disable = «TRUE»
isolation.tools.setPtrLocation.disable = «TRUE»
isolation.tools.setVersion.disable = «TRUE»
isolation.tools.getVersion.disable = «TRUE»
monitor_control.disable_directexec = «TRUE»
monitor_control.disable_chksimd = «TRUE»
monitor_control.disable_ntreloc = «TRUE»
monitor_control.disable_selfmod = «TRUE»
monitor_control.disable_reloc = «TRUE»
monitor_control.disable_btinout = «TRUE»
monitor_control.disable_btmemspace = «TRUE»
monitor_control.disable_btpriv = «TRUE»
monitor_control.disable_btseg = «TRUE»
Эти опции предотвращают детектирование программами виртуального окружения через такие сложные проверки, как отслеживание адресного пространства памяти, счётчиков.
Важно! Если на этапе настройки установки будет опция вроде «Express install», «Быстрая установка» — выключайте их. Также не стоит устанавливать VMWare Tools в установленную систему, т.к. некоторое ПО в проверку включает и наличие этого пакета.
3) Сохраняем файл, указываем для загрузки ISO с установщиком системы, устанавливаем ОС как обычно.
4) Несмотря на то, что подавляющее большинство программ, не любящих виртуальной среды, не заходят дальше проверок, которые мы отсекли на 2 шаге, некоторые особо упорные всё же идут дальше и пытаются искать, к примеру, всё, что похоже на название контроллеров виртуальных дисков.
Чтобы победить и их в Windows, идём в редактор реестра в ветку HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum. Как видите, там есть вполне явная отсылка к тому, что диск — виртуальный.
Нам нужно изменить его, убрав из параметра VMware, Virtual, Ven, итп, и сохранить её так.
Также имеет смысл заменить в реестре поиском по VMware/Virtual на какой-нибудь Intel или IBM всё, что меняется, а не только дисковые переменные.
После пробуйте запускать ваш упрямый объект экспериментов — в процентах 70 случаев описанные шаги помогут пройти проверки на виртуальное окружение.
Важно! Значение в HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum перезаписывается после каждой перезагрузки, так что его нужно менять после каждого нового запуска системы.
Естественно, это не исчерпывающее руководство, некоторое ПО также может пытаться определять виртуальную систему следующими методами:
1) Проверками диапазона MAC адресов (просто подменяется в настройках виртуального сетевого адаптера до запускa виртуальной машины)
2) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
3) Низкоуровневыми трюками.
Проверить, насколько вы обезопасили себя от обнаружения, а также ознакомиться с другими популярными у разработчиков средствами обнаружения песочниц и виртуалок можно средством Pafish.
Несмотря на то, что остались места, где можно себя выдать, предложенный метод заставляет обхитрить большинство ПО, которое не желает работать в виртуальной среде, в данном случае, в VMWare.
Как видно, улучшить скрытность можно также выделив виртульной машине больше системных ресурсов. Что касается памяти, выбирать стоит значения, кратные 1024.
Спасибо всем, кто осилил статью и помог в дополнении её толковыми комментариями!
Может ли вирус с виртуальной машины VirtualBox повлиять на главный компьютер?
может ли вирус виртуальной машины VirtualBox повлиять на главный компьютер?
8 ответов
очень хороший вопрос.
основная причина, по которой вирус может распространяться от виртуальной машины к операционной системе хоста через сеть. Как только вы начнете использовать сетевой мост между хозяином и гостем вещи становятся более рискованными. Компьютер и виртуальная машина рассматриваются как 2 узла в одной подсети. Червь, который видит эти 2 узла имеет возможность распространения если такая уязвимость нашли.
да, если у вас есть общие папки.
общие папки через ВМ, или сетевой стандарт.
Я не уверен, и не видел никаких вирусов в довольно долгое время, что распространение, как это и редактировать файлы по сети, но это возможно.
просто потому, что это виртуальная машина не означает, что это безопасно, вы просто должны относиться к нему как к другой физической машине в сети.
Так, если вы имеете анти-вирус на вашей главной машине (и других дальше ваша сеть) вы в безопасности, как вы собираетесь быть, но опять же. относитесь к любой виртуальной машине, как к любой другой физической машине.
единственный безопасный способ запустить виртуальную машину-отключить сетевые функции (или полностью отделить ее от сети VLAN). и не имейте никакого вида интерфейса управления на той VLAN.) и все хост/гостевая интеграция, которые включают совместное использование файлов.
Если в Virtualbox нет недостатка безопасности, который позволяет вам вырваться из виртуальной машины (и вы не исправили), то нет. Тем не менее, стоит помнить, что если есть какое-либо сетевое соединение между ними, есть возможность его перемещения на хост, так как он будет перемещаться между обычными машинами в той же сети.
Edit: с точки зрения проверки соединений, самый простой способ-nmap хост от гостя. Используйте ключ-PN, если ваш хост блокирует ping. Если есть какой-то ответ, значит, есть связь. Даже если вы этого не сделаете, все еще есть возможность подключения через другую машину, если она подключена как к хосту, так и к гостю.
технически, ответ да, и с виртуализацией растет все более популярным, ожидать больше атак на хостах через гостевую ОС в forseeable будущем.
Так как мы держим хост довольно голым и делаем всю работу в виртуалах, очень мало обновлений хоста необходимы, ядро, X и виртуализация кода в основном.
Я могу подтвердить, что это возможно, чтобы получить пострадавшие при просмотре в гостевой.
У меня есть Windows 7 в качестве хоста и Ubuntu 12.04 в качестве гостевой системы. У меня также есть ESET Smart Security в Windows 7.
Я работал над гостевой системой и вдруг захотел просмотреть. Я открыл Firefox в гостевой системе и во время поиска нажал на объявление. Это объявление, казалось, вредоносных программ, как ESET (в Хосте) выскочил предупреждение о том, что что-то было заблокировано от установка.
таким образом, объявление нажал на гостя, казалось, влияет на хост. Хотя он был заблокирован, надеюсь, антивирусом хоста. Я думал, что общая папка была единственной ссылкой до сих пор. Но простое сетевое подключение через NAT позволяет вирусу распространяться между системами.
надеюсь, это немного прояснит ситуацию. Это только мой вчерашний опыт, так как я не знаю полной технической информации о том, как это возможно.
немного поздновато для ответа, но влияет может иметь несколько значений. Вирус может содержаться и не иметь риска распространения с виртуальной машины. Однако он по-прежнему может потреблять ресурсы, такие как ЦП, ОЗУ, диск и сеть хост-компьютера.
технически да, потому что VM сохраняет файлы на хост-компьютере, так что его рискованно, и это зависит от вируса
Вирусы и виртуальные машины
Доброго времени сутоку, уважаемые знатоки. заинтерисовался вопросом теста последствий вирусов на виртуалках, но не уверен точно, что он (малвари) «не смекнет», что он запущен в эмуляции и не передумает ли «поздороваться», что бы посмотреть чем он там таким занимается. подскажите, стоит ли и на какой виртуалке лучше.
Не совсем понял впрос.
Есть такие вирусы которые специально в виртуалке прикидываются, и не оживают.
вот именно это меня и интерисует. можно ли как-то невелировать такую ситуацию или хотя бы свести к минимуму. или заставить думать, что они на реальной машине?
заставить думать, что они на реальной машине
ух ё, не говоря о синтаксических и семантических ошибках. как-то толсто выглядит. да, вирус может проверять, запущен ли под дебаггером, но малварь нынче скучная.
можно ли как-то невелировать такую ситуацию или хотя бы свести к минимуму
Используй реальное железо.
или заставить думать, что они на реальной машине?
Легко. Выясняешь, как они узнают виртуалку. Исправляешь виртуалку так, чтобы они её не узнали.
как существуют возможности скрыть отладчик, так они должны быть и в случае с сокрытием виртуализации, но вполне вероятно придётся переписать vm.