Защита конфигураций 1С 8.2

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

Спасибо.

Re: Защита конфигураций 1С 8.2

Добрый день, Treast.

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

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

  • Использовать мощное средство обфускации (запутывания кода), реализуя логику защиты стандартными средствами языка

  • Реализовать собственную виртуальную машину (компилировать приложение в собственное представление и интерпретировать его в процессе исполнения)

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

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

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

Обращения из Вашего приложения к ключу при этом будут выполняться через Guardant API (все необходимые библиотеки и объектные файлы доступны в составе SDK). В нем же есть примеры работы с ключом из приложений на различных языках программирования и универсальный хелп GrdAPI.chm.

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

Надеюсь, основные моменты я не упустил. Однако, наверняка, все довольно поверхностно, так что будут вопросы - задавайте!
Желание написать собственную уникальную защиту всегда приветствуется.

Re: Защита конфигураций 1С 8.2

Да, в качестве примера можно обратить внимание на решение от "Интелиса" (ныне WiseAdvice), которое использует наши ключи. В нем обеспечивается достаточно высокий уровень защиты за счет обфускации кода и привязки к ключам Guardant.

Re: Защита конфигураций 1С 8.2

Спасибо за ответы.

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

С Уважением, Андрей.

(2011-07-05 12:56:50 отредактировано ValeriVp)

Re: Защита конфигураций 1С 8.2

Treast пишет:

Спасибо за ответы.

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

С Уважением, Андрей.

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

Тиражное решение гораздо дешевле индивидуально разработанного - при покупке тиражного решения, нет необходимости тратить время на разработку и реализацию системы защиты и системы лицензирования. Следует учитывать что любой продукт хорошего качества постоянно развивается (исправляются ошибки, добавляется функционал), и в случае использования "WiseAdvice: Защита конфигураций 2" все обновления будут для Вас бесплатны, и Вам не требуется тратить ресурсы на поддержание системы защиты Вашей конфигурации на должном уровне.

Re: Защита конфигураций 1С 8.2

ValeriVp пишет:

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

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

(2011-08-22 11:49:11 отредактировано ValeriVp)

Re: Защита конфигураций 1С 8.2

Treast пишет:

Когда нужна будет защита посерьезней

что значит посерьезней?
на данный момент WiseAdvice: Защита конфигураций 2 обеспечивает наилучший уровень защиты кода конфигурации 1С - информации о взломе (в отличии от всех остальных тиражных решений для защиты конфигураций) пока нет

Re: Защита конфигураций 1С 8.2

Промучившись с написанием собственной защиты, купили ваше решение.