Защита кода 1С. Основные методы защиты конфигураций и обработок

bolsun 311 5 4 8

В этой статье мы рассмотрим различные способы защиты кода разработок 1С 8.3 от взлома и нелицензионного использования.

Для чего программисты обычно защищают свои разработки?

  1. Защита демо-версий продуктов
  2. Защита алгоритмов и бизнес-логики от копирования и дальнейшего несанкционированного использования
  3. Лицензирование, учет количества лицензий пользователя
  4. Предоставление тестовых версий заказчику, до момента полной оплаты

Использование штатных методов защиты 1С

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



Плюсы

  • штатная функция, нет необходимости использовать внешние решения

Минусы

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

Размещение конфигурации в облаке

Один из способов разместить решение на вашем сервере и предоставлять доступ пользователю по системе SaaS (Software as a Service, ПО как сервис).

Плюсы

  • практически 100% надежность защиты кода
  • удобство обновления программы
  • удобное лицензирование

Минусы

  • многие клиенты могут не согласиться размещать свои данные в интернете
  • зависимость от интернет-соединения
  • стоимость обслуживания сервера

Использование программных или аппаратных ключей (HASP)

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

Плюсы

  • Достаточно высокая степень защиты. Для взлома необходим высококвалифицированный специалист.
  • Удобство лицензирования

Минусы

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

Обфускация кода 1С

Одним из самых удобных и быстрых способов является обфускация (запутывание) исходного кода модулей и/или байт-кода 1С.

Существуют как платные так и бесплатные инструменты.

Среди платных, одним из самых известных, является сервис защиты конфигураций и обработок Нетленка 1С.

Обфускатор использует следующие методы защиты:

  • Удаление форматирования и комментариев
  • Шифрование строк
  • Переименование локальных методов и переменных
  • Переименование экспортных методов
  • Обфускация контроля потока
  • Компиляция в код стековой машины
  • Защита байт-кода 1С от декомпиляции
  • Удаление текстов закрытых модулей

Поддерживаются защита всех модулей конфигурации 1с 8.2 и 8.3, а также защита расширений 1С.

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

В стоимость входит техподдержка и помощь по защите конфигураций.

Плюсы

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

Минусы

  • Необходимость реализовывать систему лицензирования самостоятельно.
0

Рекомендации

См. также

КодОсновногоЯзыка (БСП)

ПриДобавленииПодсистемы (БСП)

ИдентификаторИнтернетПоддержкиКонфигурации (БСП)

ЯзыкПоКоду (БСП)

ВыполнитьМетодКонфигурации (БСП)

TurboConf - расширение Конфигуратора 1С

Комментарии

Модератору