Задать вопрос
  • Как и от каких атак защитить свой сервер, находящийся на чужом гипервизоре?

    @0CYBEaR0
    Полнодисковое шифрование (защита от анализа копии виртуального диска);
    Доступ к гипервизору на уровне админа ВМ для контроля параметров;
    Раздувание памяти для (жиденькой, но все же) защиты пула оперативной памяти от атак на смещение+средство от НСД для очистки RAM, освобождаемой процессом;
    Программные модули доверенной загрузки, вшитые в BIOS ВМ или аппаратные, проброшенные средствами pci passthrough для контроля целостности загрузки ВМ;
    Средство от НСД для контроля доступа к объектам ФС на уровне пользователей/процессов, управления олицетворением и т.д.;
    Zabbix/SIEM для контроля за жизненным циклом ВМ (в т.ч. анализ наличия модулей доверенной загрузки, контроль целостности файлов ВМ, комплаенс-проверка запущенных СЗИ, контроль целостности BIOS).

    Но что-то мне подсказывает, что лучше это все делать на уровне защиты приложения от пиратства, а не городить огороды с СЗИ
    Ответ написан
    Комментировать
  • Как определить, что пользователь использует официальную версию клиента программы?

    @0CYBEaR0
    Можно использовать аналог DRM. Например, при установке программы генерировать пару открытый-закрытый ключ, шифровать закрытым ключом ключевые файлы программы (например, библиотеку, ответственную за вызов платных функций или основное приложение, если используется лаунчер для его запуска). После установки юзер должен соединиться с сервером, предъявить свой открытый ключ и зарегистрировать его (это можно и автоматически делать используя, например, фингерпринт устройства). Ввод кода лицензии на стороне клиента говорит серверу, что этот код сопоставляется этому открытому ключу.

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

    P.S. забыл добавить. При таких раскладах все вычислительные мощности возложены на юзера, а проверка лицензии - жалкие килобайты трафика
    Ответ написан