Геоскан — российская группа технологических компаний, которая занимается разработкой и производством беспилотных авиационных систем (БАС), малых космических аппаратов (кубсатов), авионики, средств беспроводной связи, сенсоров для БАС и кубсатов.
Изначально программное обеспечение для пилотирования промышленных беспилотных воздушных судов (БВС) не требовало дополнительной защиты, поскольку оно входило в состав БАС, имеющей собственный защищенный канал связи. Вмешательство извне в управление ей исключалось с помощью аппаратных методов.
В определенный момент у одного из заказчиков разработчика возникла потребность в создании автономного рабочего места оператора БАС без интернет-доступа. В то время такой возможности у программного продукта Геоскана не было: выход в сеть был необходим для входа в учетную запись, хранящуюся на сервере лицензирования.
В качестве вариантов решения этой задачи были рассмотрены прокси-сервер для хранения учетных записей заказчика, создание отдельной версии продукта под заказчика, дописывание специальной защиты под клиента. Однако у каждого из них существовали определенные недостатки. В результате Геоскан начал взаимодействие с компанией «Актив» — разработчиком продуктов Guardant для защиты, лицензирования и управления продажами ПО.
Реализованный проект стал первым и на практике показал, что продукты Guardant подходят и для разработки других программных продуктов компании «Геоскан», которые планируется распространять как самостоятельный коммерческий софт. Решения Guardant обеспечивают гибкое лицензирование функционала ПО, а также надежную защиту от реверс-инжиниринга и нелицензионного использования.
Особенности применения Guardant DL в продуктах Геоскана
В первую очередь разработчик озадачился выбором формата ключа: аппаратного или программного. Решение было принято в пользу программного ключа по ряду причин. Первая и наиболее очевидная: аппаратный ключ больше подвержен утере, а это может быть критичным в определенных случаях.
Например, если БВС эксплуатируется в условиях тайги или в других труднодоступных зонах, при утере пользователем аппаратного ключа весь рабочий процесс может быть сорван. Кроме того, программный ключ — более гибкое решение, его можно использовать и на виртуальных машинах, и в облачных решениях.
Следующий нюанс касался выбора между использованием утилиты Guadrant Protection Studio и Guardant Licensing API. Специфика исходного продукта Геоскана, основная часть которого написана на Java, не предполагала возможностей автоматической «защиты из конверта» из-за особенностей данного языка программирования. Кроме того, разработчику хотелось иметь универсальный продукт: чтобы одна и та же версия для заказчиков, имеющих ключ, входила в учетную запись по ключу, проходя по нему необходимые проверки безопасности; а для заказчиков, не имеющих ключа, — брала учетную запись с сервера.
Последнее пожелание заключалось в автоматическом обновлении лицензий на ПО. Дело в том, что учетная запись пилота БВС содержит информацию о дате прохождения обучения и перечень аппаратов, которыми он может управлять (коптерами, самолетами или всеми видами). Важно, чтобы при изменении этих параметров пользователю не требовалось каждый раз вручную обновлять лицензию.
В результате в Геоскане разработали собственную «обертку» над API, обеспечив совместимость тех образцов, которые были у Guardant, со стандартами кодирования, применяемыми в системах Геоскана. Чтобы не включать в комплект поставки защищенного ПО утилиту для активации и переноса ключей (мастер лицензий Guardant), был разработан собственный графический интерфейс для выполнения необходимых действий с лицензиями. Задачу внедрения защиты удалось решить за один месяц.
В этот же период защита от Guardant была внедрена еще в два продукта: в Geoscan Trainer и в FPV-симулятор Pioneer Drone Sim. В решении по пилотированию БВС и Geoscan Trainer защита внедрялась посредством усовершенствованного API. А в симуляторе, для написания программного кода которого использовался другой язык программирования, — посредством Protection Studio. Кроме того, в Pioneer Drone Sim были использованы триальные ключи Guardant, имеющие ограниченный срок действия. Это позволило распространять программу бесплатно для всех желающих, но на условиях ознакомительного использования — на один месяц.
Помимо разработки БАС компания разрабатывает образовательные продукты и услуги. В планах компании «Геоскан» использовать сетевые ключи Guardant в софте беспилотной робототехники, которую используют в учебных центрах.
Арсений Афанасенко
Руководитель отдела разработки ПО ГК «Геоскан»
Опыт взаимодействия с Guardant оказался для нас очень позитивным: понравилось общение с технической поддержкой и с менеджерами, скорость решения вопросов. Теперь мы можем дальше развивать свое софтверное направление и при этом быть уверенными в том, что у нас есть надежный технологический партнер.