13.03.2018 Сергей Тимофеев 17526
Защита конфигурации 1С: защита кода 1С

Содержание:

  1.     Способы защиты 1С


Открытость кода в 1С – это одно из важнейших ее достоинств. Однако бывают ситуации, когда потенциальный заказчик хочет опробовать сначала продукт, а уже потом принять решение о его покупке. Какой выход? Предоставить ему демо-версию продукта. Однако недобросовестный человек может просто присвоить ваш труд, не заплатив за него ни копейки. А наняв студента-программиста, попробовать снять с 1с ограничение пользователей, установленные в демо-версии. Как этого избежать? Использовать механизмы защиты 1С. 


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

Рассмотрим способы защиты, которые 1С предоставляет стандартно:

2. 1С хранилище конфигурации и база пользователя – установка пароля 1С


Здесь мы просто ограничиваем пользователю доступ к содержимому конфигурации путем настройки соответствующих прав и установкой пароля на пользователя с административными правами.
Не знаю, как сейчас обстоит дело со стойкостью данной защиты и сложно ли взломать пароль пользователя 1с 8.3, но в ранних версиях 1С 8, помню, такая защита базы легко ломалась, если «взломщик» имел к ней физический доступ. 


3. Публикация базы 1С на веб сервере 


В режиме веб-клиента невозможен запуск «Конфигуратора», а, следовательно, у пользователя и нет возможности получить конфигурацию через браузер или веб-сервер, если не используется режим обновления 1с через веб. Однако этот способ подходит не для всех режимов работы. Например, для конфигураций на обычных формах работа в таком режиме невозможна. 


4. Пароль на модуль 1С 


Устанавливается в «Конфигураторе». Выбираем пункт «Текст», опцию Установить пароль 1С.



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



Как сделать: 


·        Открыть конфигуратор.
·        Выбрать в «Конфигурации» пункт «Поставка конфигурации», далее: «Настройка поставки». Отметить - текст каких модулей необходимо исключить из поставки. Подтвердить опцию «Файл поставки может использоваться для обновления».
·        В пункте «Поставка конфигурации» - «Комплект поставки» создать файл конфигурации CF. 


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


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


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


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


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


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


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


2.     Использование внешних компонент 


Этот метод стоит использовать, если ценность представляет сам код, а не коды 1с конфигураций. К его преимуществам следует отнести высокую надежность скрытия кода: восстановить 1С код из скомпилированной DLL-ки, написанной на другом языке программирования — задача не из легких. К недостаткам - необходимость переписать код 1С на другом языке (что, используя другую объектную модель, может быть непростой задачей), трудности с отладкой, зависимость от платформы, необходимость в регистрации библиотеки. 


3.     Решения сторонних разработчиков 


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


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


Правда, остается необходимость выносить код в 1с дополнительные внешние обработки и другие сложности, возникающие при использовании таких систем. 


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


Сергей Тимофеев,
разработчик 1С компании “Кодерлайн”

Наши проекты

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление холдингом

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- ...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедр...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Управление торговлей 8

Взаиморасчеты с покупателями
Оптовая торговля
Управление складскими за...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

Внедренное типовое решение:
1С:Комплексная автоматизация

- Разработка подсистемы оперативного учета транзакций...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управле...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение