powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обнаружение виртуальных машин
25 сообщений из 34, страница 1 из 2
Обнаружение виртуальных машин
    #39981646
priaper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Существует ли универсальный способ обнаружить запуск приложения в виртуальной среде вроде
VMware, VirtualBox, Qemu и т.д. в пользовательском режиме из-под ограниченной учетки?
За универсальное решение готов заплатить в разумных пределах.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981649
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981712
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
priaper,

Универсального способа нет. Большинство способов детекта виртуалки могут быть перехвачены и нейтрализованы.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981755
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ограниченность учетки проверить очень легко. Достаточно дернуть 1-2 функции которые запрещены для этой учетки
и сразу получить код ошибки.

По поводу Qemu/VBox, - это будет вечная борьба снаряда и брони. И в этой борьбе можно будет просто выиграть
время но не войну. Виртуалки всё более совершенны и скрывают все что можно скрыть. Можешь попробовать измерять
производительнсть (кратковременно) процессорных ядер чтобы получить некую вещественную величину перформанса
и по ней понять насколько сильно конфигурация виртуализована.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981787
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Можешь попробовать измерять
производительнсть (кратковременно) процессорных ядер чтобы получить некую вещественную величину перформанса
и по ней понять насколько сильно конфигурация виртуализована.
Что-то мне подсказывает, что сильнозагруженный комп с хдд будет совершенно неотличим от слабозагруженной виртуалки с ссд
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981800
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
По поводу Qemu/VBox, - это будет вечная борьба снаряда и брони.

Зачем? Они специально предоставляют функции, позволяющие себя обнаружить.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981816
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
mayton
По поводу Qemu/VBox, - это будет вечная борьба снаряда и брони.

Зачем? Они специально предоставляют функции, позволяющие себя обнаружить.

mayton не так уж и не прав

AFAIK

Например, создатели Eve Online пытаются обнаружить VmWare, а авторы ботов, владельцы бото-ферм, всячески ее (VmWare) маскируют (с помощью настроек вм).
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981822
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
mayton
Можешь попробовать измерять
производительнсть (кратковременно) процессорных ядер чтобы получить некую вещественную величину перформанса
и по ней понять насколько сильно конфигурация виртуализована.
Что-то мне подсказывает, что сильнозагруженный комп с хдд будет совершенно неотличим от слабозагруженной виртуалки с ссд

Ну... есть такой технический термин. Калибровка.

И понятно что она - неточная. Плавает. Но если у тебя есть некий базовый калибровочный сет
например время расчета простых чисел до миллиарда в мультипоточке на всех ядрах Core i7
то ты можешь это время сопоставлять с тестируемой вируталкой и делать выводы. Или просто
время расчет хешей SHA1 как в блокчейнах.

Если оно сильно-сильно будет отличаться - то принимаешь решение. Сообщаешь что
есть подозрение что конфигурация сильно отличается от рекомендуемой. А чтоб пользователь
не хитрил - включаешь 5-10 секунд калибровки перед каждым запуском приложения обязательно

Разумеется оно будет где-то зависеть от HDD. Но не так сильно.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981826
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

тогда уж можно сразу себе пару сатоши нафармить :D раз пошла такая пьянка, а 5-7 сек. пользователь пусть ждёт
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981827
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За 5-7 секунд ты не сделаешь полезной работы.

Кстати предлагаю подумать на тему WebAssembly. Кажется это более интересно чем калибром майнить.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981843
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Охренели вы, что ли, теоретики от программирования???
Под линуксом штатный lscpu выдаёт не только характеристики процессора, но и тип гипервизора. Не определяет QEMU/user? Ну так этот режим для очень выборочных сценариев.
Под виндой - CoreInfo. Хотя он и сообщает, что требуются привилегии администратора для интеловских процов, чтобы обнаруживать гипервизор.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981929
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Охренели вы, что ли, теоретики от программирования???
Под линуксом штатный lscpu выдаёт не только характеристики процессора, но и тип гипервизора. Не определяет QEMU/user? Ну так этот режим для очень выборочных сценариев.
Под виндой - CoreInfo. Хотя он и сообщает, что требуются привилегии администратора для интеловских процов, чтобы обнаруживать гипервизор.

Наверное Леонид имел в виду что Eve Online (Windows-application) испытывал трудности с детектированием
факта запуска клиента в окружении VMWare через Windows-API.

По поводу того что выдает lscpu я попробую сегодня вечером проверить.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981937
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот опция такая есть под QEMU.

Код: sql
1.
<hidden state='on'/>



Надо будет 2 варианта посмотреть. С ней и без.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981958
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет у QEMU такой опции. Это опция какого-то интерфейса к QEMU.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981964
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но если у тебя есть некий базовый калибровочный сет
например время расчета простых чисел до миллиарда в мультипоточке на всех ядрах Core i7
то ты можешь это время сопоставлять с тестируемой вируталкой и делать выводы. Или просто
время расчет хешей SHA1 как в блокчейнах.
Это если у тебя ОС никакой нет сверху.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981972
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Это был tool под названием virsh

http://manpages.ubuntu.com/manpages/focal/en/man1/virsh.1.html
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981974
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, можно определить по доступности самой виртуализации, типа, если под линуксом, то что-то вроде:

grep vmx /proc/cpuinfo

внутри VM оно ничего не вернет.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981975
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
можно определить по доступности самой виртуализации
Виртуализацию можно отключить на уровне биоса.
Да и не все процы ее поддерживают в полном объеме ж.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39981995
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте вернемся в начало. Автор спросил - тра-лалалала.... VMware, VirtualBox, Qemu
Тоесть его интересует не 1 тип виртуалки а целый список.

За универсальное решение дескыть готов платить. Мне вопросы платы тут не интересны но я-бы
уточнил какой спектр виртуалок его устроит. Один из возможных сценариев описан здесь

https://superuser.com/questions/1387935/hiding-virtual-machine-status-from-guest-operating-system

Есть утилита которая контролирует разные типы виртуалок и надо тестить и тестить.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982025
priaper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Qemu/VBox, - это будет вечная борьба снаряда и брони. И в этой борьбе можно будет просто выиграть
время но не войну.

Согласен, но хотелось бы какое-то хотя бы временное решение. Если способ обнаружения будет новым и неизвестным в паблике, то и соответствующую защиту от него сделают нескоро.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982026
priaper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
я-бы уточнил какой спектр виртуалок его устроит.

Hyper-V, VMware workstation, VirtualBox, Parallels, Qemu минимум.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982036
priaper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Но если у тебя есть некий базовый калибровочный сет
например время расчета простых чисел до миллиарда в мультипоточке на всех ядрах Core i7
то ты можешь это время сопоставлять с тестируемой вируталкой и делать выводы. Или просто
время расчет хешей SHA1 как в блокчейнах.

Если оно сильно-сильно будет отличаться - то принимаешь решение.


Во-первых, почему оно должно вообще отличаться? Условное умножение матриц выполняется с одинаковой скоростью в гостевом режиме при включенной аппаратной виртуализации и без нее.
Во-вторых, время расчета невозможно определить, не зная частоту, архитектуру и количество ядер CPU. А виртуалка может подсунуть гостевой программе любые значения - какой нибудь 2-ядерный Atom начала века вместо i7 10000+
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982039
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
priaper
mayton
Но если у тебя есть некий базовый калибровочный сет
например время расчета простых чисел до миллиарда в мультипоточке на всех ядрах Core i7
то ты можешь это время сопоставлять с тестируемой вируталкой и делать выводы. Или просто
время расчет хешей SHA1 как в блокчейнах.

Если оно сильно-сильно будет отличаться - то принимаешь решение.


Во-первых, почему оно должно вообще отличаться? Условное умножение матриц выполняется с одинаковой скоростью в гостевом режиме при включенной аппаратной виртуализации и без нее.
Во-вторых, время расчета невозможно определить, не зная частоту, архитектуру и количество ядер CPU. А виртуалка может подсунуть гостевой программе любые значения - какой нибудь 2-ядерный Atom начала века вместо i7 10000+

Производительность проца в виртуалках не отличается от хоста, разве что количество ядер проверить.
У виртуалки тупит дисковая подсистема и сеть, например при заявленном гигабите скорость обмена с хостом 150-200 мегабит.
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982042
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
priaper
пропущено...


Во-первых, почему оно должно вообще отличаться? Условное умножение матриц выполняется с одинаковой скоростью в гостевом режиме при включенной аппаратной виртуализации и без нее.
Во-вторых, время расчета невозможно определить, не зная частоту, архитектуру и количество ядер CPU. А виртуалка может подсунуть гостевой программе любые значения - какой нибудь 2-ядерный Atom начала века вместо i7 10000+

Производительность проца в виртуалках не отличается от хоста, разве что количество ядер проверить.
У виртуалки тупит дисковая подсистема и сеть, например при заявленном гигабите скорость обмена с хостом 150-200 мегабит.

Мой тест не про то что виртуалка. А про то что объем ресурсов не соответствует хост-ОС.

Ну подумайте сами - какой болт поднимать виртуалку 100% совпадающую с ресурсами хоста?
...
Рейтинг: 0 / 0
Обнаружение виртуальных машин
    #39982053
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
priaper,

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

правильно построенный софт - наоборот юзает виртуализацию, как средство ускорения при больших нагрузках...


(круглый)
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обнаружение виртуальных машин
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]