Dongle driver что это

Обновлено: 03.07.2024

Dongle — A dongle is a small piece of hardware that connects to a computer. [Late 20th century. Origin uncertain: probably an arbitrary formation. Microsoft Encarta Premium Suite 2004.] The usual function of a dongle is to authenticate a piece of software … Wikipedia

AMD CrossFireX — The AMD CrossFireX™ Logo Manufacturer AMD Type Multi GPU Connection PCI Express AMD Chipset Seri … Wikipedia

Bluetooth — This article is about the electronic protocol. For the medieval King of Denmark, see Harald I of Denmark. Bluetooth logo Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances (using short wavelength … Wikipedia

OQO — OQO, Inc. Former type Private Industry Electronics Fate out of business Founded 2000 … Wikipedia

Содержание

Защита ПО с помощью электронного ключа

Комплект разработчика ПО

Донгл относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах — средства разработки, полная техническая документация, поддержка различных операционных систем, детальные примеры, фрагменты кода. Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов.

Технология защиты

  • проверка наличия подключения ключа;
  • считывание с ключа необходимых программе данных в качестве параметра запуска;
  • запрос на расшифрование данных или исполняемого кода, необходимых для работы программы (предварительно разработчик защиты шифрует часть кода программы и, понятно, непосредственное выполнение такого зашифрованного кода приводит к ошибке);
  • проверка целостности исполняемого кода путём сравнения его текущей контрольной суммы с оригинальной контрольной суммой, считываемой с ключа;
  • запрос к встроенным в ключ часам реального времени (при их наличии) и т. д.

Стоит отметить, что некоторые современные ключи (ключи Senselock от Seculab, Rockey6 Smart от Feitian) позволяют разработчику хранить отдельные части кода приложения (например, недетерминированные специфические алгоритмы разработчика, получающие на вход большое число параметров) и исполнять их в самом ключе на его собственном микропроцессоре. Помимо защиты ПО от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения и клонирования конкурентами.

Как следует из вышесказанного, «сердцем» электронного ключа является шифрующий алгоритм. Тенденция состоит в том, чтобы реализовывать его аппаратно — это затрудняет создание полного эмулятора ключа, так как ключ шифрования никогда не передается на выход донгла, что исключает возможность его перехвата.

Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости. С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии. Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147—89, RSA, Elgamal и др.

Реализация защиты с помощью автоматических средств

Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в лицензионной политики (заданной поставщиком ПО), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др.

Важно то, что для использования автоматического инструмента защиты не требуется доступ к исходному коду приложения. Например, при локализации зарубежных продуктов (когда отсутствует возможность вмешательства в исходный код ПО) такой механизм защиты незаменим, однако он не позволяет реализовать надёжную, гибкую и индивидуальную защиту.

Реализация защиты с помощью функций API

Помимо использования автоматической защиты, разработчику ПО предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложения на уровне исходного кода. Для этого в SDK включены языков программирования, содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого ПО и т. д.

Умелое применение данного метода обеспечивает достаточно высокий уровень защищённости приложений. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её «размытости» в теле программы.

Ugreen USB Bluetooth Адаптер


Всем привет!
Сегодня расскажу про Bluetooth адаптер для компьютера.
Выполнен на чипе CSR8510, есть поддержка aptx.

Модуль шел почтой Китая около двух месяцев, у меня за это время появился более продвинутый вариант MPOW BH259A. Но рассказать о нем, пожалуй, надо.

У меня в мини компьютере слабый Bluetooth модель, хватает только на одну комнату. Решил взять отдельный usb модуль, что бы слушать музыку в беспроводных наушниках. Выбор стоял между Orico BTA-403 и Ugreen (они на одном чипе). Решил взять Ugreen, хоть чуть и дороже, качество у них хорошее, убедился — у меня есть звуковая карта с хабом Ugreen.

Упаковка — пластиковый блистер:

Характеристики:
Bluetooth версия: 4.0 EDR передача данных до 3Mbps
Частота: 2.4GHz
Дистанция: до 15 м
Режимы работы: A2D, ARVCP, BLE
Профили: A2DP v1.2, GAP, HFPv1.5, HID OVER CATT, AVRCP V1.4, HSP V1.2, APTX, SPP V1.2, DUN V1.1 и OPP 2.2
Операционные системы: Без драйверов Win 10/8.1/8, с драйверами Win 7/XP/Vista
Нет поддержки: ARM-Based Windows RT, Mac iOS, Linux
Поддержка устройств: смартфоны, клавиатуры, беспроводные мыши, гарнитуры, колонки, принтеры, модемы и пр.
Комплектация:

Содержимое диска на ЯД
Так же в почтовом пакете была фирменная кабельная стяжка:

Инструкция к адаптеру:

Внешний вид устройства:

С другой стороны есть крохотный светодиод — индикатор работы. В отличии от орико, есть проушина — можно повесить на ключи.
Размеры:

На рабочем месте:

В карте UGreen CR133 .

Вот, что мне не понравилось в этом адаптере это возня с драйверами.
На win 7 без драйверов ожидаемо не заработало:

Но! на win 10 тоже сначала не заработало.
А так как дисковода у меня нет (старая шутка «дрова от модема в сидюке, а от сидюка в инете»)
Скачал драйвера тут 407 Мб. Вот тут обсуждение драйверов для этого чипа.
После установки на win 10 адаптер виден так:


В мой компьютер появляется «Мои устройства Bluetooth»:

Там можно добавить новое беспроводное устройство:

Профили для каждого устройства:

При подключении можно регулировать громкость:

Заявленная зона действия сигнала 15-20 м похожа на правду, через стену в квартире пробивает, через две уже нет.
Качество звука я оценил, когда подключил наушники с поддержкой aptx Mpow H7+ (про них позднее). Получилось отлично, чуть прозрачней чем у MPOW BH259A, видимо сказывается отсутствие одного преобразования ацп. Подключал только наушники и телефон, все работало стабильно.

Бонусная часть к обзору
Адаптер USB микро на usb тип С
Была акция или купон на ebay, брал там.
Цена: US $2,69
Блистер:

Внешний вид:

Тоже можно использовать как брелок:

Разъемы:

Проверим сопротивление.
Есть такой кабель micro usb:

Ставим наш переходник:

Для сравнения комплектный переходник от самсунга:

История

Защита ПО от нелицензионного пользования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей ПО используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. д. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи, крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер.

Эти очевидные недостатки привели к созданию аппаратной защиты программного обеспечения в виде электронного ключа. Известно, что первые электронные ключи (то есть аппаратные устройства для защиты ПО от нелегального копирования) появились в начале 1980ых годов, однако первенство в идее и непосредственном создании устройства по понятным причинам установить очень сложно. По одной из версий идея заставить программу определенным образом опрашивать аппаратный блок и работать только в его присутствии родилась в голове инженера Дэна Максвелла ещё в начале 70ых годов, а в 1982 году созданная Дэном компания начала выпуск ключа SecuriKey для IBM PC (ключ подключался к компьютеру через параллельный порт). По другой версии первый в мире электронный ключ, получивший название, разработала немецкая компания FAST Electronic (впоследствии FAST Electronic была куплена компанией Aladdin, тоже претендующей на первенство в этой области со своими аппаратными ключами HASP). Так или иначе, первые электронные ключи были далеки от совершенства и сильно изменились с того времени.

dongle driver

Dongle — A dongle is a small piece of hardware that connects to a computer. [Late 20th century. Origin uncertain: probably an arbitrary formation. Microsoft Encarta Premium Suite 2004.] The usual function of a dongle is to authenticate a piece of software … Wikipedia

AMD CrossFireX — The AMD CrossFireX™ Logo Manufacturer AMD Type Multi GPU Connection PCI Express AMD Chipset Seri … Wikipedia

Bluetooth — This article is about the electronic protocol. For the medieval King of Denmark, see Harald I of Denmark. Bluetooth logo Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances (using short wavelength … Wikipedia

OQO — OQO, Inc. Former type Private Industry Electronics Fate out of business Founded 2000 … Wikipedia

Донгл

Электронный ключ (также аппаратный ключ, иногда донгл от англ. dongle ) — аппаратное средство, предназначенное для защиты программного обеспечения (ПО) и данных от копирования, нелегального использования и несанкционированного распространения.


Электронный ключ - небольшое по размерам аппаратное устройство.

Основой данной технологии является специализированная , либо специализированный защищённый микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Донглы также имеют защищённую энергонезависимую память небольшого объёма, более сложные устройства могут иметь встроенный криптопроцессор (для аппаратной реализации шифрующих алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм-факторы, но чаще всего они подключаются к компьютеру через LPT- или интерфейсу компьютера. Далее защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять любые действия, заданные разработчиками — например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям.

Для обеспечения безопасности сетевого ПО служат специальные электронные ключи. Для защиты и лицензирования (ограничения числа работающих в сети копий программы) сетевого продукта достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети.

Многие компании, работающие в области защиты информации, предлагают свой взгляд на то, каким должен быть электронный ключ. На российском рынке наиболее известны следующие линейки продуктов (в алфавитном порядке): Guardant от компании «Актив», SenseLock от Seculab, Sentinel от SafeNet и др.

Обход защиты

Задача злоумышленника — заставить защищённую программу работать в условиях отсутствия легального ключа, подсоединённого к компьютеру. Не вдаваясь очень глубоко в технические подробности, будем исходить из предположения, что у злоумышленника есть следующие возможности:

  • Перехватывать все обращения к ключу;
  • Протоколировать и анализировать эти обращения;
  • Посылать запросы к ключу и получать на них ответы;
  • Протоколировать и анализировать эти ответы;
  • Посылать ответы от имени ключа и др.

Такие широкие возможности противника можно объяснить тем, что он имеет доступ ко всем открытым интерфейсам, документации, драйверам и может их анализировать на практике с привлечением любых средств.

Для того чтобы заставить программу работать так, как она работала бы с ключом, можно или внести исправления в программу (взломать её программный модуль), или эмулировать наличие ключа.

Эмуляция ключа

Построить полный эмулятор современного электронного ключа — это достаточно трудоемкий процесс, требующий большого количества времени и существенных инвестиций. Ранее злоумышленникам это удавалось: например, компания Aladdin признаёт, что в 1999 году злоумышленникам удалось разработать довольно корректно работающий эмулятор ключа HASP3. Это стало возможным благодаря тому, что алгоритмы кодирования были реализованы программно. Аппаратная реализация кодирования существенно усложнила задачу, поэтому злоумышленники предпочитают атаковать какой-то конкретный защищенный продукт, а не защитный механизм в общем виде. Тем не менее взлому были подвержены и ключи серии HASP4. И по сей день в природе имеются эмуляторы для HASP HL (HASP 5), но не в так называемом «паблике» (публичном доступе).

Взлом программного модуля

Злоумышленник исследует логику самой программы, с той целью, чтобы, проанализировав весь код приложения, выделить блок защиты и деактивировать его. Взлом программ осуществляется с помощью отладки (или пошаговое исполнение), декомпиляции и дампа оперативной памяти. Эти способы анализа исполняемого кода программы чаще всего используются злоумышленниками в комплексе.

Дизассемблирование — это способ преобразования исполняемых модулей в язык программирования, понятный человеку — Assembler. В этом случае злоумышленник получает распечатку (листинг) того, что делает приложение.

Суть атаки с помощью дапма памяти заключается в следующем. Специальные программы (дамперы) считывают содержимое оперативной памяти на тот момент, когда приложение начало нормально исполняться, и злоумышленник получает рабочий код (или интересующую его часть) в чистом виде. Главное для злоумышленника — верно выбрать этот момент. К примеру, часть кода появляется в оперативной памяти в открытом виде только на время своего исполнения, обратно зашифровываясь по завершению.

Отметим, что существует немало способов противодействия отладке, и разработчики защиты используют их: нелинейность кода (многопоточность), «замусоривание» кода, по сути, бесполезными функциями, выполняющими сложные операции, с целью запутать злоумышленника, использование несовершенства самих отладчиков и др.

Читайте также: