Существует ли эффективный способ предотвращения пробного злоупотребления виртуальной машиной? - PullRequest
0 голосов
/ 15 марта 2020

Мы предлагаем короткий пробный период для нашего программного обеспечения. По запросу пользователя мы отправляем пароль на адрес электронной почты, указанный в пробном запросе. Чтобы убедиться, что он не используется на компьютере, на котором уже была пробная версия, мы создаем и сохраняем его UID на основе Win UID и его адреса MA C. Что можно сделать, чтобы предотвратить запрос пробной версии на виртуальной машине с совершенно новым адресом электронной почты? Есть ли эффективный способ обнаружить, что наш инструмент используется на виртуальной машине? Может быть, мы должны использовать какой-то другой подход для распространения пробных аккаунтов? Клиент написан на Java.

UPD: приложение постоянно отправляет запросы на сервер, поэтому на ум приходит ограничение количества этих запросов в пробной лицензии. Что-нибудь еще можно сделать здесь?

UPD2: я нашел несколько полезных советов о том, как проверить работоспособность VMware: https://resources.infosecinstitute.com/how-malware-detects-virtualized-environment-and-its-countermeasures-an-overview Как насчет другого программного обеспечения VM?

1 Ответ

1 голос
/ 15 марта 2020

Window UID (идентификатор пользователя) и системный MA-адрес C могут быть изменены кем-либо, имеющим статус администратора. Я не думаю, что с этим можно что-то сделать.

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

Единственный способ избежать этого - это физически управлять оборудованием на какое ваше программное обеспечение работает; т. е. запускать его как размещенную службу на собственном оборудовании.

Обратите внимание, что это не указывается от c до Java. Одни и те же проблемы существуют независимо от того, на каком языке написано ваше приложение. Существуют инструменты (например, обфускаторы), предназначенные для усложнения работы хакера. Но они не могут остановить кого-то с навыками и временем, чтобы сделать работу.

...