Блог → О защите компьютерных программ от вскрытия. Часть 7

В сегодняшней заметке я бы хотел осветить некоторые специальные средства защиты. До сегодняшнего дня, по роду своей деятельности, автору приходилось сталкиваться с некоторыми пакетами, которые были специально созданы для установки защитных механизмов на программные продукты. Предвосхищая вопросы, сразу замечу, что к нижеприведенному перечню пакетов зашиты я лично, не имею никакого отношения. Я лишь попытался, в меру своих возможностей, провести небольшое исследование на тему: "Как именно они устроены и что нужно для того, чтобы снять применяемую ими защиту?". Уверен, что исследование небезупречно, и в каких-то вещах, имеют место ошибки, неизбежные при анализе программ.

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

1. 25CHECK, версия 2.03. Разработчик (с) 25Soft.

Этот комплекс программ производит проверку целостности объектов (файлов, объектов в файле данных, MBR-сектора, boot-секторов и модулей ПЗУ) путём расчета контрольных сумм с использованием циклических избыточных кодов (CRC, от англ. Cyclic Redundancy Code).

2. EASYPROT, версия 2.0.

Пакет состоит из двух модулей: INSTALL, TRANSFER. Система представляет набор модулей, которые могут использовать программисты, работающие в среде Турбо-Паскаля. Защита программных пакетов, разработанных в среде Turbo Pascal версии 4.0 и выше, от несанкционированного копирования производится в несколько этапов:
- нанесение механического повреждения на рабочую поверхность дискеты с целью её индивидуализации (пометки) и форматирование дискеты;
- перенос защищаемой программы на помеченную дискету;
- перенос защищаемой программы на гибкий или жёсткий диски, с привязкой к конкретному компьютеру.

3. COPYLOCK. Разработчик (c) Link Computer.

Система защиты пользуется довольно хорошей репутацией, и стала своеобразным стандартом де-факто, при этом многие более поздние разработки, частично повторяют текст этой программы. Для защиты используется форматирование диска специальным образом. COPYLOCK, делая дискету ключевой, форматирует нулевую дорожку, изменив такие её параметры, как размер сектора - на 123 (вместо 512), номер последнего сектора на дорожке - на 30 (вместо 9), длину промежутка для операции форматирования - на 15h (вместо 50h). Затем форматируется 12-я дорожка, но уже со стандартными параметрами. При этом предварительное (до форматирования) чтение нулевой дорожки и последующая запись на неё, выполняются со стандартными параметрами "Таблицы параметров дискеты" (довольно интересное программное решение).

4. HOTA.EXE версия 1.1. Разработчик (c) Новинтех, Стас Ляшев.

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

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

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

5. PROCOP.

Система защиты от несанкционированного копирования состоит из программ CODPRTCT.COM, FLOPRTCT.COM, HARDINST.COM. Процесс защиты включает в себя создание ключевой дискеты, и последующую привязку загружаемых программ, к этой ключевой дискете. Ключевая дискета не может быть скопирована средствами операционной системы DOS и такими утилитами, как COPYWRIT или COPYIIPC. К одной дискете можно привязать до 12 программ, при этом сама защищённая программа может быть инсталлирована на винчестер.

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

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

6. Система защиты программных продуктов от несанкционированного копирования, версия 2.1. Разработчик (c) СП "Диалог".

Пакет состоит из нескольких модулей: INST_FD.EXE, INST_HD.EXE, SETNUM.EXE, UNIN_HD.EXE. Система позволяет: установить средства защиты на произвольный программный продукт; перенести защищенный программный продукт на гибкий диск или винчестер. При установке защиты учитываются следующие параметры, вводимые пользователем:
- число инсталляций на жёсткий диск (все копии, сделанные сверх установленного лимита, будут неработоспособны полностью или частично);
- регистрационный номер и наименование покупателя.

Если программный комплекс состоит из нескольких модулей, то защищается только главная программа, объем которой увеличивается на 8,5 Кб. На дискету может быть установлен только один защищённый продукт, при копировании программы, к которой применена защита возможна потеря её работоспособности (требуется переустановка).

7. Комплекс PP, версия 2.2. Разработчик (c) А.Горленко, БФ ИПИ АН СССР.

Система защиты программ от несанкционированного копирования состоит из следующих модулей: I_AND_R.EXE, PTOOLF.EXE и PTOOLI.EXE. Защита состоит из следующих этапов: изменения EXE файла путём удаления из него блока размером 512 байт, и внедрения на это место специальной программы, распознающей условия, заданные в момент инсталляции; установки ЕХЕ файла на жёсткий диск с помощью инсталлятора; защиты инсталлятора от копирования. При этом производится физическая порча части секторов на дискете путём царапания её иголкой (создаются BAD сектора в случайной конфигурации). Впоследствие данная дискета будет использоваться как ключевая при запуске инсталлятора.

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

8. Комплекс TEXT PROTECTION. Разработчик (c) А.Горленко, М.Дмитрик, БФ ИПИ АН СССР.

Система защиты текстовых данных от несанкционированного копирования состоит из модулей: DECOD.EXE, DESHIFR.EXE, POLD.EXE, SHIFR.EXE. Защита состоит из следующих этапов: первоначально шифровки текстовых файлов программой SHIFR.EXE; размещения файлов с зашифрованными данными на дискете; создания мастер-дискеты и записи на неё (или на другую дискету) защищённой от копирования программы распечатки зашифрованного текста посредством DECOD.EXE (также производится физическая порча части секторов на мастер-дискете, путём царапания её иголкой); защиты программы DECOD.EXE от копирования путем использования технологии защиты загрузочных файлов. Допускается распечатка защищённого текста ограниченное число раз.

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