Как стать автором
Обновить

Комментарии 28

Спасибо, попробуем. Мб получится все же запустить никому не нужный Дневной дозор со старфорсом на виртуальной XP на семерке.
Хотя скорее не удастся — когда разбирался с этим было оущение, чо чуть ли не половина виртуального обородудования и ключей реестра хранят в себе отпечаток VMware Player(запускал на нем а не на workstation — мб причина в этом)…
Так на дневной вроде как была человеческая кхм трещина, а вот с ночным дела обстоят хуже. Проще уж на старенький ноут хрюшу накатить.
Описанные вами методы недостаточны для параноидальных программ. Как правило авторы коммерческого ПО используют по 3-4 метода детекта виртуальной машины, неговоря уже про malware.
VMware может быть задетектирована:
1) Проверками диапазона MAC адресов
2) Наличием sys файлов на диске (в случае установки VMware Tools)
3) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
4) Низкоуровневыми трюками.
Описанные методы являются основой того, что нужно учитывать. Такими действиями удаётся обхитрить множество программ.

Второй пункт я упомянул, с первым никогда не сталкивался, но достаточно очевиден, а вот 3 и 4 имеет смысл описывать в отдельной статье — примере на какой-нибудь реальной малвари, т.к. они имеют отношение не просто к параноидальным, но программам с уникальными подходами. И рецепты к ним почти уникальны.

Но спасибо за комментарий, добавил в текст.
А нет статьи про наоборот — как разбросать по реальной системе все вот эти вот файлы, ключи реестра, и прочее, чтобы так этого боящийся малварь в ужасе самоудалялся? этож можно и антивирус будет не ставить.
А ведь замечательная идея то :)
да — по типу пугающей окраски насекомых и прочих желающих жить особей
Есть: https://habrahabr.ru/post/172279/
Класс, описаны отличные способ защиты от перспективных угроз. Взял на заметку.
Этот способ не может заменить антивирус, поскольку не всякая малварь вообще имеет механизмы самоуничтожения при обнаружении виртуальной машины.

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

Это понятно, как дополнительная «линия обороны» кроме антивируса на конечных хостах имел в виду. Есть куча объектов, для которых вероятна целевая атака, и также вероятно, что будут пытаться до последнего уходить от анализа.

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

Кстати, статья писалась именно после очередного «столкновения» с такой программой, техподдержка которой отправила ставить bootcamp как единственное средство работы на Mac.
На exel@b (ресурс сегодня лежит, так что ссылку дать не смогу) недавно один из участников допиливал VMWare на предмет антидетекта. Вкратце: пришлось очень много всего запатчить, и всё равно находились новые и новые способы определить, что программа запущена в виртуалке.

Кроме имени диска ещё полно «палевных» строчек в биосе и драйверах. Всё это он пропатчил, но против низкоуровневых приёмов не попрёшь. Тут либо саму подопытную программу ломать, либо отдельную физическую машину иметь.
Вот эта тема, там же можно найти и ссылку на уже пропатченные файлы для Windows:
https://exelab.ru/f/index.php?action=vthread&forum=5&topic=24207
К сожалению создание такой виртуальной машины, которая не будет детектится является фундаментально неразрешимой задачей, вот здесь есть небольшая, но отличная статья на эту тему (кому интересно):
ссылка

Проблема еще в том, что VMWare, да и другим производителям виртуальных машин в целом это и не нужно, например есть целый набор инструкций x86, которые в виртуальной машине работают немного не так, как на реальной машине. Это уже пофиксить гораздо сложнее, а вот задетектить легко, требуется 5-7 машинных инструкций.
На таком уровне детектирование естественно, что будет работать — применяется целый набор оптимизаций, которые ведут к неполному соответствию работы виртуального и реального железа.
Если моделировать железо на уровне VHDL — то мы ценой огромной потери скорости сможем смоделировать железо, не отличающееся от реального.
При этом детектирование будет возможно только путём связи с внешними ресурсами для замера времени исполнения определённого участка кода при помощи таймера вне этой машины.
Да, но тогда придется моделировать и процессор, а это уже не виртуальная машина, а полноценный эмулятор, например qemu поддерживает такой режим. Там как Вы правильно заметили очень серьезные потери в производительности, чем вирусописатели активно и пользуются. Например фазе заражения системы предшествует длительный цикл «пустых» операций, которая в эмуляторе может занимать несколько часов и даже дней, а на реальной машине исполняется за пару минут.

Вообще, есть сейчас несколько интересных работ, где ребята используют реальную, физическую машину для анализа вредоносного кода. Привожу пару ссылок кому интересно:
ссылка 1
ссылка 2
Интересная информация. Могли бы вы поделиться, какие программы так отрицательно относятся к VM?
Нам повезло, что серверы лицензий вроде FlexLM достаточно безразлично относятся к виртуальным машинам, физика или виртуалка выбирается по требованию вендора продукта (физику тихо ненавидим).
любые программы которые хотят ограничить запуск копий софта. Самый банальный пример — онлайн игры, например тебе позволяется использовать бесплатно 2 «окна», купить подписку и использовать 3 окна (и не больше). Но ты — умный, ты запустил 4 виртуалки и бегаешь 8-ю окнами.
Total Uninstall, например. Для запуска в виртуальной машине она хочет профессиональную лицензию, домашняя (более дешевая) не годится. Если не ошибаюсь, на программе сверху навешен VMProtect, с помощью которого это требование и реализовано.
Спасибо, просветился.
НЛО прилетело и опубликовало эту надпись здесь
При анализе малвари например. Малварь не любит когда ее анализируют, она старается проверить что работает не в песочнице.
Все написано уже до вас. посмотрите в сторону VBoxHardenedLoader
В случае использования VBoxHardenedLoader pafish проходит все тесты кроме 1, который не особо существенен.
Вам очень повезло, если все ваши коллеги знают английский.
Зато теперь есть место, где собрана релевантная информация по теме — это уже хорошо.
ИМХО в IT без английского нельзя. никак. вообще. мало людей которые умудряются без английского выезжать с хорошими знаниями. Мне приходится с коллегами регулярно собачиться за установку английских версий WS. И да, все мои коллеги очень поверхностно знают английский. Очень сильно лично мне мешает траблшутить — ищешь проблему всегда на английском, а потом пытаешься понять как же эти золото-локализаторы перевели компоненту которая тебе нужна.

Поддержу. Продакшн-системы должны быть англоязычными.

1. С повсеместным внедрением VDI нас ждет безоблачное будущее, когда вирус попав на комп самоудаляется?
2. как сделать парочку финтов на обычном компе чтобы гадость думала что это виртуалка? )))
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.