Автоматическая защита

[t]Что такое автоматическая защита приложения[/t]
Автоматическая защита — способ защиты с использованием электронного ключа, при котором исполняемый файл приложения обрабатывается специальной утилитой, входящей в состав комплекта разработчика Guardant.

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

Обратите внимание!
Автоматическая защита может быть установлена только на исполняемые файлы Win32 приложений (.exe), а также исполняемые файлы и библиотеки .NET приложений (.exe, .dll). Для защиты приложений под Linux необходимо воспользоваться Guardant API.


Какие модели ключей поддерживаются

В Мастере лицензирования и автоматической защиты Guardant реализована поддержка всех современных моделей электронных ключей Guardant.
Не поддерживаются только снятые с производства модели.

[t]Часто задаваемые вопросы[/t]

Re: Автоматическая защита

[t]Что такое Мастер лицензирования[/t]
Мастер лицензирования и автоматической защиты — это утилита с простым и понятным графическим интерфейсом, которая делает процесс защиты наглядным и позволяет защитить приложение за несколько кликов мышью. Мастер предоставляет несколько сценариев работы:

  • Создание проекта лицензии и запись лицензии в ключ
    Совмещение этапов автоматической защиты и программирования ключа. После завершения работы Мастера приложение можно тестировать и передавать конечному пользователю.

  • Тиражирование лицензий
    Запись в ключи лицензию для защищенного (в рамках созданного ранее проекта защиты) приложения

  • Дистанционная замена лицензии / изменение ее отдельных параметров в ключе пользователя
    Выполнение дистанционного программирования при помощи Мастера лицензирования

  • Защита новой версии приложения на основе существующей лицензии
    Подразумевает, что новая версия приложения будет работать с уже записанной в ключ пользователя лицензией. В ключ будет записана необходимая лицензия и на ее основе проведена защита

  • Защита с использованием имеющихся в ключе данных
    Автозащита приложения без программирования ключа. Для ее выполнения в маске ключа должен находиться хотя бы один симметричный алгоритм.

Re: Автоматическая защита

[t]Что означает создание новой лицензии в Мастере лицензирования[/t]
Это такой режим работы Мастера, при котором, наряду с защитой приложения, происходит автоматическое программирование памяти ключа.

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

Когда используется комбинация с Guardant API и автоматической защиты, этот вариант автозащиты неприменим, т. к. в этом случае требуется программировать электронный ключ отдельно, при помощи редактора памяти (утилиты GrdUtil.exe).

Re: Автоматическая защита

[t]Какие возможности есть у автоматической защиты Guardant[/t]
При помощи средств автоматической защиты Guardant можно устанавливать защиту на Native Win32-приложения (*.exe)  и NET-сборки (*.exe, *.dll). Поддерживаются следующие возможности:

  • Поддержка локальных ключей

  • Поддержка сетевых ключей (только Native)

  • Защита без привязки к ключу

  • Использование для защиты любого симметричного алгоритма

  • Привязка к уникальному параметру ключа (ID)

  • Привязка к серийному номеру и версии ключа

  • Защита нескольких продуктов

  • Защита разных версий одного продукта

  • Защита многомодульных комплексов

  • Ограничение времени работы приложения (только Native)

  • Ограничения числа запусков приложения (только Native)

  • Проверка ключа через заданный промежуток (только Native)

  • Контроль присутствия USB-ключа в порту (только Native)

  • Защита импортируемых функций (только Native)

  • Кодирование и упаковка приложения (только Native)

  • Шифрование строк .NET-сборки (только .NET)

  • Обфускация .NET-сборки (только .NET)

  • Защита кода .NET-сборки (только .NET)

Re: Автоматическая защита

[t]Какие преимущества и недостатки есть у автозащиты[/t]
Основное преимущество автоматической защиты заключается в том, что это простой и быстрый метод защиты, практически не требующий знаний в области программирования и экономящий время разработчика софта.

Плюс к этому, в современной автоматической защите Guardant реализованы многие передовые защитные технологии, позволяющие достигать достаточно высокого уровня защищенности. Более подробно об автоматической защите Guardant можно прочитать в блоге разработчиков компании «Актив».

Основной недостаток автозащиты — потенциально более низкий уровень защищенности, по сравнению с использованием Guardant API. Автоматическая защита — всего лишь оболочка, она не составляет единого целого с защищаемым приложением, поэтому не рекомендуется ограничивать защиту программы только одним этим методом.

Наилучшие по эффективности защиты результаты дает связка Guardant API и автозащиты.

Re: Автоматическая защита

[t]Существуют ли ограничения на защиту Native-исполняемых файлов[/t]
Ограничений не слишком много, но есть. В частности:

  • Не поддерживаются архивы, например, ZIP, RAR.

  • Не поддерживаются программы-мастера установки приложений, такие как Wise Installer, Install Shield и им подобные.

  • Не гарантируется корректная защита или последующая работа приложения, которое перед защитой было защищено от модификации или обработано упаковщиком EXE-файлов: UPX, ASPACK и др.

Re: Автоматическая защита

[t]Существуют ли ограничения при автозащите .NET-приложений[/t]
При автоматической защите .NET-приложений необходимо принимать во внимание наличие следующих ограничений:

  • Не поддерживаются режимы ограничения работы защищенного приложения по числу запусков и «чистого» времени работы.

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

  • Не поддерживаются сборки со смешанным кодом и мультимодульные сборки.

  • Ограничения, действительные для для автозащиты Native-приложений.

Re: Автоматическая защита

[t]Насколько автозащита NET.-приложений Guardant стойкая[/t]
Уровень достаточно серьезный. В автоматической защите Guardant.NET реализованы уникальные механизмы, которые позволяют поднять защиту NET.-приложений на довольно высокий уровень: собственный обфускатор, с возможностью шифрования строк, а также возможность шифрования кода с использованием аппаратных алгоритмов ключа.

Кроме того, поддерживается автоматическая защита не только .NET-исполняемых файлов (*.exe), но и .NET-библиотек (*.dll).

Более подробно об автоматической защите .NET-приложений можно прочитать в блоге разработчиков компании «Актив».

Re: Автоматическая защита

[t]Антивирус «ругается» на все защищенные приложения[/t]
Защищенные приложения могут классифицироваться антивирусной программой, как «Подозрительные» (Suspicious) или подобным образом. Чаще всего проблема оказывается связана с несовершенством алгоритмов поиска вредоносных программ конкретного антивируса. В этих случаях «подозрительный» объект можно смело добавлять в исключения.

Если же есть необходимость убедиться в том, что защищенная программа действительно не была заражена вредоносным ПО, его можно отправить на http://www.virustotal.com/. На нем будет проведена проверка с использованием большинства наиболее известных антивирусных движков и полученный результат можно будет считать объективным.

Если проблема возникает систематически с каким-то определенным антивирусом, рекомендуется обратиться в службу технической поддержки Guardant с указанием типа антивируса и версий его ядра базы сигнатур или напрямую к разработчику антивирусного ПО.

Re: Автоматическая защита

[t]После автозащиты приложение стало долго загружаться и «притормаживать»[/t]
Настройки автозащиты — вещь сугубо индивидуальная для каждой программы. В зависимости от особенностей конкретного приложения в отдельных случаях могут наблюдаться различные проблемы и негативные эффекты.

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

Вот как это выглядит при использовании Мастера автозащиты:

  • Запустите Мастер автозащиты, выберите приложение для защиты. С помощью бегунка в правой части окна Мастера установите режим защиты «Пользовательский».

  • Нажмите на гиперссылку «Пользовательский», после чего появится диалог с опциями, которые необходимо поочередно включать/отключать, после чего каждый раз выполнять защиту приложения.

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

Как вариант, можно работать не с Мастером, а с консольной утилитой автоматической защиты nwkey32.exe, взяв за основу BAT-файл с настройками автозащиты, сгенерированный Мастером, и последовательно исключая опции. После каждого изменения необходимо перезащищать и тестировать работу приложения.

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

Re: Автоматическая защита

[t]Какие файлы необходимы для работы защищенного Native-приложения[/t]
Для нормальной работы защищенного при помощи средст автоматической защиты Native-приложения необходимо присутствие вакцины GrdVkc32.dll в той же директории. Если защищенная программа не может найти файл вакцины, то выдается стандартное сообщение Windows о невозможности найти DLL.

Re: Автоматическая защита

[t]Какие файлы необходимы для работы защищенного .NET-приложения[/t]
Для нормальной работы защищенного при помощи автозащиты .NET-приложения необходимо присутствие следующих файлов в той же директории:

  • GrdAPI32.dll — Библиотека Guardant API функций. Для обфусцированных приложений

  • Guardant.API32ru.dll — Библиотека Guardant API .NET функций. Для обфусцированных приложений

  • Protect.dll — Внешняя вакцина .NET-автозащиты, в которую выносятся все зашифрованные функции. Protect.dll уникальна для каждого защищенного приложения и содержит в себе Guardant API. Для приложений, защищенных при помощи CodeProtect.exe

Если защищенная программа не сможет найти указанные файлы, то будет выдаваться стандартное сообщение Windows о невозможности найти DLL.

Re: Автоматическая защита

[t]Современная автозащита не поддерживает ключи Stealth/Net/Fidus[/t]
Современная автозащита не поддерживает ключи Guardant Stealth/Net/Fidus, однако в свое время мы купили много таких ключей. Что в таком случае нужно делать для повышения эффективности защиты?

Действительно, электронные ключи Guardant первого поколения не поддерживаются современными средствами автоматической защиты. Это обусловлено тем, что в них отсутствует симметричный аппаратный алгоритм GSII64, применение которого в автозащите 5.х является обязательным.

Поэтому в данном случае приходится идти на некоторый компромисс и использовать, к примеру, такую схему, как связка Guardant API версии 5.х и старой автозащиты 4.88, совместимой с Guardant Stealth/Net/Fidus.

При этом основные проверки и другие операции с ключом выполняются при помощи нового Guardant API. А на автоматическую защиту 4.88 возлагается противодействие отладочным средствам.

Утилиту автозащиты версии 4.88 можно получить по запросу на hotline@guardant.ru.

Re: Автоматическая защита

[t]Как насчет поддержки DOS- и Win16-приложений[/t]
DOS- и Win16-приложения поддерживаются автозащитой из старой версии комплекта разработчика Guardant 4.8, которую можно получить по запросу на hotline@guardant.ru.

Re: Автоматическая защита

[t]Можно ли защищать при помощи ключей файлы данных, а также тексты и аудио/видео-контент от копирования?[/t]

Мы не специализируемся в этой области и готовых инструментов не предоставляем.

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

Необходимо понимать, что защита тиражируемых данных и мультимедиа продукции от копирования - задача, сама по себе, нетривиальная. Здесь работает принцип "если данные можно считать, значит их можно скопировать".

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

К тому же, если данные, нуждающиеся в защите, представлены в "общепринятом", стандартном  формате (яркий пример - doc, html, avi, mdb, swf и т. п.), то качественная защита такого коммерческого продукта еще более затрудняется или становится вовсе невозможной.

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