Из важных изменений в версии 3.29 (скачать) — доработана логика проверки виртуальных машин (VM) при активации программных ключей; появилась возможность в одном проекте защищать приложения разных типов (Native и .Net); добавлена утилита «Мастер лицензий Guardant» в состав Linux-пакетов (DEB, RPM).
Подробнее обо всех обновлениях:
Guardant Protection Studio
- В одном проекте теперь возможно защищать приложения разных типов (Native и .Net). Для Windows поддерживается защита в едином проекте программ PE (и x86, и x86-64) и .NET (как Framework, так и Core со Standard и 5+).
- Имя библиотеки защиты теперь задается по шаблону и автоматически дополняется постфиксом, указывающим на разрядность. Изменение важно учитывать в случаях интеграции Protection Studio в CI/CD процесс сборки.
- Добавлена возможность входа по клавише Enter на экране авторизации.
- В ОС Windows при выборе секций теперь отдельно подсвечиваются native-приложения, защиту которых выполнить нельзя. Также данные секции стало невозможно добавлять в список защищаемых.
- Добавлены опции для сортировки списка защищаемых функций:
- переключатель поиска по подстроке/регулярному выражению,
- сортировка функций при выборе,
- сортировка уже выбранных для защиты функций,
- выделение всех функций комбинацией клавиш Сtrl+A и снятие выделения с помощью Ctrl+Shift+A в окне выбора функций для защиты.
- Добавлена проверка на обращение к ключу перед началом процесса защиты. Теперь если для одного из защищаемых файлов в проекте не будет включена опция «Проверка при запуске» и не будет выбрано ни одной функции (native) или метода (.Net) для защиты, то перед стартом процесса защиты будет выдано соответствующее предупреждение.
- Добавлена возможность масштабировать интерфейс. Теперь окно утилиты можно растянуть до нужных пропорций и развернуть на весь экран.
- Теперь протектор выстраивает структуру каталогов для защищенных файлов аналогично незащищенному проекту. Например, когда структура приложения такая: [main folder: main program [folder: shared library]], то протектор создает нужные подпапки для защищаемых файлов и помещает их туда. Изменить выходную директорию можно для каждого отдельного файла как в графическом интерфейсе утилиты, так и через файл проекта защиты. Каталоги с защищаемыми файлами и подкаталогами можно через графический интерфейс добавлять целиком при помощи простого перетаскивания в окно утилиты (Drag-and-drop).
- Оптимизированы:
- процесс аутентификации/авторизации
- работа консольного режима в Linux
- приложения .NET Standard 2.0 и .NET 7.0
- UI
- Исправлено прокидывание сообщений через исключения в «тихом» режиме для .NET приложений
Guardant SLK
- Оптимизация процесса шифрования больших блоков данных (>30 Кбайт) на аппаратном алгоритме. Актуально при работе с ключами Guardant Sign\Time
- Оптимизация механизма определения виртуальных машин VirtualBox с гостевой ОС Linux
- Доработана обёртка и пример для Delphi
Guardant DL
- Доработана логика проверки виртуальных машин (VM) при активации программных ключей. Если в программном ключе все компоненты во всех продуктах содержат запрет на работу в VM, то такой ключ не будет активироваться на виртуальных и будет активироваться на физических машинах. При этом, если есть хотя бы один компонент, который разрешено использовать в среде виртуализации, то ключ будет успешно активирован.
- Исправлена проблема, которая в некоторых случаях мешала корректной активации программных ключей в Linux при использовании RAID.
- Оптимизация механизмов защиты в программных ключах.
- Исправлена проблема создания хранилища для программных ключей Guardant DL в ОС RedOS 8 x64 на диске NVMe. Проявлялась в виде ошибки 46, при попытке активировать программный ключ.
Guardant Control Center
- В состав Linux-пакетов (DEB, RPM) добавлена утилита «Мастер лицензий Guardant». После установки Control Center можно сразу запустить мастер командой ‘license_wizard’ в терминале.
- Оптимизации безопасности сервиса.
- Исправлено появление ошибки ‘FEATURE_NOT_FOUND’ если в настройках адресов поиска указан собственный IP.
- Для сессий было добавлено разбиение на страницы. В REST API нумерация страниц начинается с единицы. Общее количество элементов возвращается в параметре заголовка ‘X-Total-Count’.
- На экран «Ключи» добавлена кнопка ручного обновления данных о текущем состоянии ключей на локальном компьютере, а также о ключах с сетевыми лицензиями на других компьютерах в сети. Это позволяет быстрее получать информацию о новых ключах и о свободном/занятом ресурсе сетевых лицензий.
- Исправлена ошибка, при которой функция GrdGetLicenseInfo не находила сетевую лицензию по IP: 127.0.0.1.
- Исправлена ошибка интерфейса, при которой компонент с сетевым ресурсом «0» отображался как локальный.
- Исправлена ошибка, при которой в интерфейсе могли не отображаться локальные компоненты.
- Улучшена скорость получения сетевой лицензии через broadcast (широковещательный поиск).
- Оптимизация: при поиске и опросе Guardant Control Center, установленных на других компьютерах в локальной сети, заметно снижена пиковая нагрузка на CPU.
- Оптимизировано потребление сетевого трафика между несколькими установками Guardant Control Center на разных компьютерах в локальной сети, при включенном режиме «Поиск удаленных лицензий». Согласно тестовым замерам объем передаваемых данных стал меньше в ~20 раз.
- Исправлена ошибка, из-за которой функция «Сетевые лицензии с других серверов в локальной сети» при широковещательном поиске могли обнаруживать не все сервера GCC в локальной сети.
- Исправлена проблема, из-за которой сетевые лицензии могли не заниматься, если для поиска используется внешний IP.
- В Linux-версии исправлена ошибка, приводящая к остановке сервиса при наличии более 15 сетевых адаптеров.
- Оптимизация безопасности сервиса.
- Оптимизация UI.
Guardant License Wizard
- Улучшен механизм преднастройки мастера активаций через конфигурационный файл «station.ini». Теперь, если в одной директории с исполняемым файлом утилиты «Мастер лицензий Guardant» находится «station.ini», то адрес сервера всегда берется из этого файла. Даже если в настройках утилиты заменить адрес на другой, то при следующем запуске он снова будет прочитан из конфигурационного файла.
- Для консольного режима добавлена опция ‘ — dongle-set-license’ для удаленной записи лицензии в аппаратный ключ при помощи специального кода записи.
- Исправлены ошибки при переносе программной лицензии (программный ключ Guardant DL) в консольном режиме.
- Исправлена интерфейсная ошибка, при которой для программной лицензии (Guardant DL) с запретом переноса был активен пункт меню «Перенести на другой компьютер», хотя фактически выполнить перенос для такой лицензии было невозможно.
- Ошибка «Некорректный серийный номер» теперь выводится не только в лог, но и в интерфейс утилиты, при попытке активации невалидного серийного номера.
- Добавлена функция удаленной онлайн-записи лицензий в аппаратные ключи без необходимости их первичной прошивки у вендора.
- Теперь при работе в консольном режиме, если для параметра ‘ — host’ не указан сетевой порт в строке с адресом сервера, выводится ошибка «Incorrect host URL format».
- Оптимизация UI
Guardant Station
- Для всех списков в интерфейсе сделана автоматическая прокрутка, вместо кнопки «Показать еще».
- На странице «Заказы» признак «ПРОБНЫЙ» заменен на «TRIAL» для заказов триальных лицензий. Также признак «TRIAL» теперь отображается на странице с данными серийного номера ключа Guardant DL Trial.
- Для пользователей с правами «Менеджер по продажам/продукту» добавлена возможность просматривать баланс.
- Исправлена ошибка, при которой локальный компонент в программной лицензии (Guardant DL) после активации мог отображаться как сетевой в Guardant License Wizard.
- Добавлена возможность искать покупателя по данным, указанным в поле «CRM ID» и в поле «Комментарий».
- В REST API добавлена возможность формирования отчетов:
- по заказам,
- по продуктам,
- по истекающим лицензиям,
- по покупателям,
- по потреблению ключей и лицензий.
- Оптимизация UI
Guardant Licensing API
- Функции GrdGetHostFingerprint() и GrdGetHostInfo() теперь возвращают признак виртуальной среды «isVM». Такой же признак можно получить при помощи REST API для Guardant Control Center через запрос «GET /v1.0/lm/environment». ВАЖНО: это информационные функции, не рассчитанные на защиту от работы в VM, как это делает запрет на работу для программных лицензий в ключах Guardant DL.
- Теперь при попытке использовать несколько кодов записи из одного заказа для прошивки одного аппаратного ключа, функцей GrdDongleSetLicense возвращается ошибка GRD_INVALID_PARAM (23), вместо GRD_INTERNAL_ERROR (25).
- В объекте «controlCenter» для JSON-строки «visibility» добавлен новый ключ «connectionTimeout». Этот ключ позволяет установить собственный тайм-аут ожидания при попытке получить сетевую лицензию. Если по какой-либо причине получить сетевую лицензию не удаётся, ошибка вернётся по истечении заданного тайм-аута. Если не указать своё значение, будет использоваться стандартное значение — 20 секунд.
Добавлена новая функция GrdGetHostInfo в обертки для: C++ / .Net / Delphi / Java / Python