Компания DSSL с 2002 года занимается проектированием и реализацией систем видеонаблюдения, в том числе – разработкой программного обеспечения. Сегодня компания является одним из лидеров рынка цифровых платформ безопасности и автоматизации для видеонаблюдения и видеоаналитики с применением технологий искусственного интеллекта.
Флагманским продуктом компании является ПО TRASSIR, позволяющее гибко выстроить мультибрендовое, масштабируемое и функциональное решение по безопасности. Данный продукт поставляется заказчику в разных вариантах: как ПО для отдельных рабочих станций, как серверное (TRASSIR-LM) или как облачное решение (Cloud).
Guardant Code в продуктах DSSL
Источник: презентация компании DSSL на Guardant Day 2024
Каждая из этих инсталляций защищается аппаратным ключом Guardant Code от Компании «Актив».
Это высокопроизводительный электронный USB-ключ для защиты, лицензирования и распространения кроссплатформенного программного обеспечения, обладающий встроенными криптографическими алгоритмами и 128 КБ памяти для загружаемого кода. В защищаемом продукте Guardant Code выполняет функцию доверенной аппаратной платформы, позволяющей выполнять произвольный пользовательский код. При этом одного ключа может быть достаточно для защиты как рабочей станции, так и группы компьютеров, объединенных физическим или облачным сервером.
При разработке софта специалисты DSSL применяют компиляторы GCC и MSVC для написания кода на C и C++. Это позволяет компании создавать кроссплатформенные продукты, поддерживающие как Windows, так и ОС на основе Linux. Что касается защиты лицензий – для поддержки различных ОС используется программный интерфейс Guardant API (различные версии – от 5 до 7.8) и инструменты toolchains от «Актив» для прошивок Guardant Code.
«Мы начали применять ключи Guardant Code для защиты нашего продукта больше 15 лет назад. Поддерживаем все модели, начиная с 2010 года. До сих пор у заказчиков можно встретить самые старые ключи, которые обновляются и могут успешно работать совершенно равноправно с современными», – рассказывает программист компании DSSL Ираклий Кварацхелия.
Ираклий Кварацхелия, программист компании DSSL
Источник: трансляция Guardant Day 2024
Интеграция защиты лицензий в продукты TRASSIR происходит по классической для Guardant Code схеме. На компьютер (HOST), где выполняется программа TRASSIR, устанавливается исполняемый файл, например, Trassir.exe. К нему через порт USB подключен аппаратный ключ, на котором находится прошивка от TRASSIR c частью логики программного продукта Guardant – условно, Trassir.gcexe. Два эти компонента работают в паре.
«Для нас важно, что Guardant Code является доверенной средой исполнения. То есть мы знаем, что без аппаратного ключа защиты нашу программу Trassir.exe никто выполнить не сможет, не выдернет ключ и у себя не запустит. А помещать внутрь ключа можно разные сущности. Например, мы размещаем в нем, помимо программы, целиком лицензию – текстовый файл, в котором написано, что мы позволяем клиенту делать и т. д. Таким образом, сложно взломать и поменять что-то в лицензии и в ее тексте», – поясняет Ираклий Кварацхелия.
По словам спикера, в 2010-11 годах, когда компания только начинала тестировать и внедрять Guardant Code, для защиты лицензий достаточно было простого загружаемого кода, простого протокола общения программ, ручного запуска сборки кода и тестирования защищенной программы. Для создания файла GCEXE через графический интерфейс (GUI) использовалось приложение GrdUtil.exe.
Впоследствии логика лицензирования и требования к нему усложнились, процесс ручной сборки GCEXE стал неудобным и перестал полностью соответствовать новым требованиям. Разработчики написали скрипт на базе Guardant SDK 6, который позволил немного ускорить процесс. Тем не менее, тестирование по-прежнему проходило медленно, отсутствовал отладчик.
Еще большая эффективность была достигнута после выхода комплекта разработчика Guardant SDK7, в котором появился новый инструмент для получения прошивок в автоматическом режиме.
Сейчас наш процесс выстроен следующим образом: под отладчиком запускаются тесты, слинкованные со специальной библиотекой «fake». Логика GCEXE тестируется на машине разработчика, все тесты прогоняются реальным устройством.
«Библиотека «fake» позволяет увеличить скорость проверки экземпляра программы примерно с 20 до 3-4 минут, это очень серьезное ускорение», – резюмирует Ираклий Кварацхелия.
Таким образом, сегодня заказчик Guardant Code имеет возможность наладить быстрый выпуск аппаратных ключей с собственной прошивкой, используя готовое решение от поставщика средства защиты.