Вышли обновления Guardant SLK 3.29

Вышли обновления инструмента для организации процессов защиты, лицензирования и продажи программных продуктов Guardant SLK.

Из важных изменений в версии 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