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

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

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

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

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

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

AFAIK

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

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

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

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

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

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

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

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

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

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



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

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

grep vmx /proc/cpuinfo

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

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

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

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

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

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

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


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

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


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

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


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

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

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

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

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

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


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


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