13.03.2018 Сергей Тимофеев 16338
Защита конфигурации 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С:Бухгалтерия КОРП

Бухгалтерский учет Производственные операции Регламентированная отчетность Учет в обособленных подразделениях Налоговый учет ...

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

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

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

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

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Кадровый учет;
- Расчет зарплаты;
- Регламентированная отчетность;
- Анализ кадрового состава;
- Учет рабочего времени; ...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

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

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ · Управление цепочками поставок · Управление договорами, включа...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Управление складскими запасами ...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

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

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– Оформление заказов поставщикам;
– Управление отношениями с ...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

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

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

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление складскими запасами;
- Логистика адресного склада;
- Оф...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

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

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

- Управление складами;
- Управление заказами поставщиков;
- Управление заказами покупателей...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление предприятием», «1С:Управление корпоративными финансами»...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

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

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;
Согласование договоров, командировок в ДО;
Контроль испо...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

Управление персоналом и кадровый учет (HRM) Кадровый учет Расчет зарплаты Регламентированная отчетность Учет рабочего времени ...

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

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

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

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