Senselock driver что это
Нейронные сети помогают нам решать различные задачи в сфере AI и компьютерного зрения. Например, детектирование, классификация, сегментация, распознавание объектов и многие другие. Во многих случаях используются готовые предобученные модели, которые дообучаются по собственным данным разработчика для получения готового отраслевого решения. В этом случае ценность представляет как сам датасет (набор размеченных данных для дообучения), так и полученная модель. Если модель эксплуатируется у Заказчика, распространяется по лицензионной схеме и обладает достаточными для рынка показатеями точности, то она сама по себе представляет ценность, так как может быть скопирована и запущена в рамках сторонних решений.
Одной из задач, которая встает на этапе деплоймента готовых решений на базе нейронных сетей – это защита разработанных и предобученных моделей от несанкционированного использования с интеграцией системы лицензирования и лимитированием сроков в варианте срочных лицензий.
Защита нейронной сети может быть физическая и юридическая. Юридическая защита обычно заключается в использовании «водяных знаков», и поможет доказать, что нейронная сеть используется не законно. Физическая защита сводится к блокировке защищенной модели. В данной статье мы рассмотрим физическую защиту на основе ключей SenseLock и фреймворка Intel OpenVINO.
Мы в своих решениях используем оптимизацию моделей и инференс (исполнение моделей) в фреймворке Intel OpenVINO. Это позволяет оптимизировать скорость исполнения нейронных сетей на всей линейке устройств Intel начиная от CPU, встроенной графики iGPU и заканчивая ускорителями VPU на базе Intel Movidius (MyriadX).
Фреймворк предлагает нам следующую концепцию реализации защиты:
Модель шифруется при оптимизации, но в процессе исполнения дешифруется, и в рамках OpenSource фреймворка может быть достаточно просто преобразована недобросовестным пользователем в исходную, доступную к копированию и тиражированию.
Мы поставили перед собой цель сделать сборку системы инференса нейронных сетей в рамках одного исполняемого файла с жесткой привязкой к аппаратному ключу, где происходит шифрование части редко используемых функций.
В качестве ключа мы выбрали решение одного из наших партнеров - SenseLock EL5-STD. Электронные ключи SenseLock серии EL5 построены на высокозащищенной линейке смарт-карт Infenion с процессором ARM SC300.
32-битный высокозащищенный чип Infenion, сертифицированный по EAL5+;
512 килобайтами памяти для кода и данных;
встроенная система лицензирования и удаленного обновления;
система автоматической защиты исполняемых файлов;
возможность написания и интеграции любых криптографических алгоритмов;
оперативная память 12 кб.
На момент постановки задачи основной исполняемый код траекторного анализа объектов по результатам детекции был реализован на Python. Первая попытка реализации заключалась в шифровании кода Python и модели, предварительно сконвертированной через Intel OpenVINO Optimizer. Попытка провалилась из-за необходимости шифрования не только самого кода, а в том числе и интерпретатора, что даже удалось, но запуск отдельного инстанса интерпретатора позволял получить доступ к данным и модели уже в расшифрованном виде, в процессе ее исполнения. Были также предприняты попытки использования инструментов pyinstaller, nuitka, однако, Intel OpenVINO toolkit предоставляется в виде множества динамических библиотек, которые можно подменить и результатом получить исходную модель нейронной сети.
Вторым и основным направлением реализации защиты моделей стало партирование кода на C++ с компиляцией всей бизнес-логики, включая части OpenSource Intel OpenVINO toolkit, необходимые для исполнения, в виде единого бинарника, шифруемого аппаратным ключом.
Используя ключи SenseLock можно обезопасить себя одним из двух способов:
Использовать API, которое предоставляется производителем, и перенести ключевую логику работы на ключ.
Воспользоваться программой Virbox Protector. Она анализирует выполняемый файл и предоставляет выбор доступных функций, которые можно защитить разными методами (Obfuscation, Virtualization, Snippet, Encryption). Естественно, использование множества защищённых функций может привести к снижению производительности программы, но при грамотном подходе это будут незначительные потери. Также в Virbox Protector присутствует функция анти-дебаггера, предотвращающая отладку зашифрованной программы, а также дополнительная программа DS Protector, нацеленная на защиту файлов с данными (в нашем случае, модель нейронной сети) с используемой зашифрованной программой.
В нашем случае мы использовали Virbox Protector с DS Protector. Программы позволяют не тратить силы на разработку и внедрение собственных алгоритмов шифрования и защиты ПО. Так выглядит защита программ c помощью Virbox Protector:
Рисунок 2. Virbox Protector
Также с ключами предоставляется удобный контроль программы, а с помощью приложения производителя вы можете настраивать срок действия ключа и количество запусков программы. Ниже интерфейса утилиты:
Рисунок 3. Virbox Protector
При помощи VirboxProtector мы зашифровали полученный монолит, перенеся часть функций на ключ, и решили сразу несколько задач:
Отсутствие доступа злоумышленника к модели
Отсутствие возможности подмены динамически подгружаемых модулей OpenSource решения, исходные коды которых общедоступны
Готовую систему лицензирования с проверкой наличия ключа и возможность прошивки сроков его использования локально или удаленно
Переносимость решения между любыми исполнительными устройствами с жесткой привязкой к выдаваемому аппаратному ключу
Простую и понятную систему деплоя без необходимости разворота окружения и зависимых пакетов
Стоит отметить, что нет программ или данных, которые невозможно взломать или похитить, но можно создать защиту, стоимость взлома которой, делает неправомерные действия бессмысленными.
Это электронный ключ для защиты программного обеспечения от копирования.
Но ведь уже существует множество моделей электронных ключей?
Это так, но они выполняют всего две функции. Хранение некоторого объёма памяти, которая может быть использована программой и преобразование данных по алгоритму, абсолютно одинаковому для всех ключей в пределах одной модели. Разными остаются лишь параметры, по которым эти алгоритмы инициализируются.
Таким образом разработчик, во-первых, ограничивается возможностью использовать только жёстко прописанный в ключ алгоритм преобразования данных, который никак не будет связан с программой. А во-вторых, в случае его взлома будут автоматически взломаны все программы всех разработчиков, использующих данную модель ключа. И существование универсальных эмуляторов лишь подтверждает этот факт.
В чём же тогда отличие электронных ключей SenseLock от остальных?
Всё очень просто. Мы предоставляем разработчику возможность разместить в ключе свой собственный алгоритм шифрования, вычисления траектории движения объекта, расчёт давления в трубах или любой другой, который будет необходим для работы программы. Этим самым "убиваются" сразу два зайца: используемый в ключе алгоритм является абсолютно уникальным для каждого разработчика и полноценная работа программы без ключа будет действительно невозможна!
Вы всегда можете проконсультироваться с нашими специалистами на предмет выбора алгоритмов для размещения в ключ или построения общей схемы защиты.
Наверняка с таким устройством будет очень сложно работать?
Вовсе нет! По сути, электронные ключи SenseLock являются миниатюрной версией компьютера и в них даже присутствует своя собственная операционная и файловая система. Необходимо лишь написать небольшую программу и поместить её в ключ для дальнейшего использования.
Написать программу? Для этого используется какой-то специфический язык микроконтроллеров?
Для создания программ используется стандартный язык "С", который является одним из самых распространённых в мире. Все необходимые для разработки средства могут быть свободно скачаны с нашего сайта в разделе технической поддержки.
При разработке своих программ мы используем язык Delphi (FoxPro, Visual Basic и т.п.) и не имеем навыка работы с "С", как быть в этом случае?
Тогда вам придётся воспользоваться услугами сторонних программистов, обладающих всеми необходимыми для этого навыками. Такими специалистами, например, можем быть мы. Наши разработчики обладают богатым опытом и прекрасно знают все тонкости работы с ключами SenseLock.
Сейчас для защиты нами уже используется электронный ключ другой компании, можно ли будет использовать его совместно с вашим?
Это возможно, но не имеет абсолютно никакого смысла и не повысит стойкость защиты ко взлому. Как крепость цепи зависит от её самого слабого звена, так и стойкость защиты зависит от её самого слабого элемента - электронного ключа другой компании.
Но на время перехода с одной системы защиты на другую такое совместное использование вполне возможно и оправдано.
Я прочитал, что ваши ключи возможно использовать без драйверов?
Да, это так. SenseLock может работать в HID (Human Interface Device) режиме. Драйвера для него входят во все операционные системы Microsoft Windows (кроме Microsoft Windows 95). Этот же режим используют клавиатуры, мыши, джойстики и другие простые пользовательские устройства.
Многие наши пользователи используют защищенные ключами программы на ноутбуках и эти ключи часто цепляются и ломаются сами или ломают порт компьютера, как быть в этом случае?
Специально для использования с ноутбуками мы можем предложить уменьшенный вариант электронного ключа - SenseLock EL-Genii, который полностью исключит описанную ситуацию. Его размер практически не превышает размера самого USB разъёма, при этом сохраняется вся функциональность модели SenseLock EL-STD.
Как только разработка компьютерных программ встала на коммерческие рельсы, появилась потребность в защите программистских творений. Не хотелось бы тратить время на рассуждения о вреде софтверного пиратства, но от него страдают все: сами разработчики, которым оно мешает извлекать прибыль из своего труда, корпоративные клиенты, для которых использование нелицензионного софта чревато проблемами с правоохранительными органами и прочими неприятностями, да и само государство, которое недополучает налоги.
Но наиболее заинтересованной стороной в данном вопросе все-таки остаются разработчики программного обеспечения. Чтобы снизить наносимый пиратами ущерб и тем самым гарантировать успешность развития своей компании, им приходится выбирать наиболее эффективный вид защиты, который пусть и не даст стопроцентную гарантию от взлома, но, тем не менее, позволит реализовать программу на легальном рынке и успеть получить прибыль от этой реализации.
С течением времени, технологии защиты программ приобретали самые различные формы: серийные номера и ключевые файлы, активации по телефону или через интернет, защита с помощью аппаратных электронных ключей. Последний вид защиты до сих пор пользуется огромной популярностью у разработчиков, создающих продукты для корпоративного рынка. В этой статье речь пойдет об относительно новом для российского рынка способе защиты программ – электронных ключах производства компании Senselock.
Обычные электронные ключи, до сих пор используемые большинством разработчиков, позволяют осуществлять две операции: чтение и запись памяти, а также шифрование и дешифрование данных. Первую операцию, как вы понимаете, взломщики могут эмулировать очень легко, но и вторая, как правило, особой трудности для них тоже не представляет.
Постепенно взломщики проанализировали используемые функции шифрования или прочитали оригинальное содержимое ключей и вычислили их алгоритмы (Aladdin HASP-3 и HASP-4, Sentinel SuperPRO, Guardant Stealth I и др.), что сделало возможным создание полных эмуляторов для этих ключей.
Как рассказали нам представители компании "Секьюлэб", которая занимается дистрибуцией решений Senselock в России, в электронных ключах SenseLock использован совершенно иной подход. Если раньше защищаемая программа лишь периодически обращалась к электронному ключу, чтобы проверить его наличие, то теперь она частично выполняется непосредственно в этом ключе.
Как это работает? Программист выбирает участки кода, без которых программа гарантированно не будет работать корректно, а также те, которые необходимо надежно спрятать от изучения (например, конкурентами). После этого он переписывает эти участки кода на язык С и создает исполняемый модуль специальным компилятором. Результат помещается в память электронного ключа, а в коде программы, на том месте, где эти участки находились ранее, добавляются запросы к электронному ключу со всеми необходимыми параметрами.
Сами электронные ключи SenseLock выполнены на основе высокозащищенных чипов смарт-карт, прошедших сертификацию EAL5+, что надежно защищает их от считывания содержимого на аппаратном уровне, как это было с некоторыми электронными ключами ранее. Полный доступ к ключам обеспечивается 24-байтным ПИН-кодом, защищенным от перебора. После пятнадцати неудачных попыток авторизоваться ключ полностью блокируется и не подлежит разблокировке. Этот ПИН-код каждый разработчик задает самостоятельно.
Стоит упомянуть и о наличии модели со встроенными часами реального времени и собственным элементом питания (литиевая батарейка). Время и дата часов задаются при производстве ключа и возможность внесения каких-либо изменений в их показания как у разработчиков, так у конечных пользователей, полностью отсутствуют. Текущее значение часов может быть только считано, но не изменено. В то же время, в одной из самых распространенных моделей обычных ключей с часами, их значение может быть изменено кем угодно, что делает использование таких ключей бессмысленным с точки зрения защиты.
Возможность создания системы надежного и безопасного удаленного обновления содержимого ключей SenseLock позволит разработчикам организовать безопасные продажи через дилерскую сеть, гарантировав отсутствие убытков в случае потери ключей, а также полностью исключив возможность мошенничества со стороны нечестных дилеров.
Можно представить и другие области, в которых ключи SenseLock способны найти применение. Например, создание на его основе средств авторизации доступа или использование в онлайновых играх для безопасного и надежного хранения профилей игроков.
В компании "Секьюлэб" уверяют, что если бы технологии защиты программного кода аналогичная SenseLock появилась в России не в 2007 году, а лет на десять раньше, то сегодня могла бы быть совершенно иная картина с уровнем пиратства программного обеспечения. В качестве примера они приводят Китай, где ключи Senselock продаются с 2002 года и уже сейчас занимают 80 процентов в своем рыночном сегменте.
Впрочем, пока в России совершенно другая ситуация, и на рынке средств защиты программ по прежнему доминируют продукты компаний Aladdin и "Актив". К сожалению, нам пока не удалось найти статистику взлома программных продуктов, защищенных тем или иным типом аппаратного электронного ключа. Да и вряд ли такая статистика существует, разве что можно посмотреть результаты поиска по сочетаниям названий электронных ключей и таких слов, как "эмулятор" и "взлом". Так что убедиться в эффективности того или иного метода все заинтересованные разработчики смогут только на практике.
Что же касается стоимости ключчей Senselock, то она не является столь уж заоблачной и составляет от 575 до 1250 рублей за один ключ в зависимости от свойств и возможностей конкретной модели.
Сделайте чип-тюнинг у проверенного специалиста с выдачей сертификата и возможностью манибэка.
АДАКТ против удаления корректно работающего катализатора.
Узнайте про возможные последствия для автомобиля.
Без ключа SenseLock можно купить только 20 прошивок . С ним ограничений нет, а еще открывается доступ к бонусной программе АДАКТ. При первом входе по ключу подарим 5000 адактиков (бонусов) .
USB-флэшка-ключ SenseLock
Как получить ключ SenseLock и 5000 адактиков
В разделе «Кабинет специалиста» перейдите на вкладку «Заявка на ключ». Укажите корректные данные и адрес для отправки. Стоимость с доставкой «Почтой России» — 2000 р. После первого входа по ключу начислим 5000 адактиков.Внимательно проверяйте ФИО и адрес отправки: указанное имя будет отображаться в аккаунте и в вашей карточке партнера на странице поиска чип-тюнеров.
Мы отправим посылку с ключом в течение рабочего дня после получения платежа. Доставка в среднем 5–10 дней.
Видеоинструкция по созданию и оплате заявки
Как начать работать с ключом SenseLock
Скачайте программу. Выполните установку, а затем перезагрузите компьютер. Вставьте ключ SenseLock в компьютер, с которого будете работать с магазином АДАКТ или программой APC Client.Часто задаваемые вопросы
Я потерял ключ SenseLock. Что делать?
При запуске APC Client и входе на сайт п��шет, что учетная запись заблокирована. Что это значит?
Вам ограничили доступ за нарушение лимитов на скачивание прошивок или подозрение в пиратстве. Информация о блокировке ключа подробно описана в Лицензионном соглашении (пункты 4.1 и 4.5).
Случаи с блокировкой ключа разбирает только администрация. Вам нужно подробно описать проблему в письме к Алексею или Александру. Если ситуация прояснится, доступ откроют.
При авторизации на сайте по ключу SenseLock показывается ошибка «Не удалось соединиться со службой APC Service». Программа APC Client также выводит ошибку авторизации. Как решить проблему?
Такая ситуация часто возникает при автоматическом или ручном обновлении Windows. Решается перезагрузкой компьютера.
Читайте также: