Защита информации от копирования.

Защита от копирования заключается в предупреждении возможностей несанкционированного снятия копии с информации, находящейся в ОЗУ ЭВМ или на МД (гибком или жестком), в целях злоумышленного ее использования. Нетрудно видеть, что данная защита может быть представлена составной частью защиты от несанкционированного получения информации.
Выделение же ее в самостоятельный вид защиты обусловлено, главным образом, стремлением защитить авторские и коммерческие интересы разработчиков и собственников программ для ПК. Как известно, программы для ЭВМ законодательно признаны интеллектуальной собственностью, и уже вполне сформировался рынок их распространения на коммерческой основе. В условиях рыночных отношений это с неизбежностью привело к так называемому программному пиратству, т. е. к злоумышленному присвоению чужих программ, причем, как в целях присвоения авторства, так и в целях наживы.

Защищаемые программы для ПК могут находиться в ОЗУ, на ГМД и на ЖМД. Защита программ, находящихся в ОЗУ и на ЖМД, ничем не отличается от рассмотренной выше защиты от несанкционированного доступа. Поэтому здесь основное внимание сосредоточено на защите от копирования ГМД (дискет), поскольку эта разновидность пиратства получила достаточно широкое распространение, а защита от него носит сугубо специфический характер. Под системой защиты программы от копирования понимается система, которая обеспечивает выполнение ею своих функций только при опознании некоторого уникального не поддающегося копированию элемента, называемого ключевым. В качестве ключевого элемента могут выступать дискета, определенная часть аппаратуры ПК или специальное устройство, подключаемое к ПК.

Основные функции, которые выполняют системы защиты программы от копирования, заключаются в следующем:

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

2. аутентификация (опознавание) той среды, из которой поступает запрос на копирование защищаемой программы;

3. реагирование на попытки несанкционированного копирования;

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

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

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

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

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

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

К настоящему времени разработано значительное число программных систем защиты дискет от копирования.

Для эффективной защиты необходимо использование специализированных программных систем, например системы «Кобра», которая для каждого пользователя позволяет реализовать один из следующих уровней подтверждения подлинности:

1. ввод пароля с клавиатуры;

2. ввод пароля с дискеты;

3. вход в систему при условии раздельного ввода независимыми субъектами двух разных паролей.

Каждый следующий уровень из перечисленных является мощнее предыдущего.

При вводе пароля с клавиатуры его длина может достигать 64 символа, набор которых возможен на трех регистрах, переключаемых с помощью клавиш F1, F2 и F3 (по умолчанию — F1).

Ранее отмечалось, что для высокой надежности аутентификации пароли должны быть длинными и нетривиальными. Но чем длиннее и нетривиальнее пароль, тем сложнее его запомнить. Поэтому при формировании труднозапоминаемого пароля большой длины система «Кобра» позволяет записать его на дискету и в дальнейшем использовать эту дискету в качестве электронного аутентификатора для подтверждения подлинности.

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

6. Защита при помощи компьютерных компакт-дисков.
Как правило, этот способ защиты применяется для защиты программ, записанных на этом же компакт-диске, являющимся одновременно ключевым. Для защиты от копирования используется:

mзапись информации в неиспользуемых секторах;

mпроверка расположения и содержимого «сбойных» секторов;

mпроверка скорости чтения отдельных секторов.

Первые два метода бесполезны при снятия полного образа с диска. Третий метод более надёжный. Он используется, например, в защите Stаr Force. В этой защите также делается попытка проверить возможность записи на вставленный диск. Если запись возможна, то диск считается нелицензионным. Но существуют программы, которые могут эмулировать диски с учётом геометрии расположения данных, тем самым обходя эту защиту, и, к тому же, возможно записать диск CD-R с её учётом, и он будет признаваться лицензионным. Также возможно скрыть тип диска, чтобы CD-R или CD-RW был виден как обычный CD-ROM. Но и системы защиты тоже (используя специальный драйвер) борятся с ними, пытаясь обнаружить наличие эмуляции.

7. Защита программ, установленных на жёстком диске.
Для программ, установленных на жёстком диске, могут применяться такие меры защиты:

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

rЭлектронный ключ (донгл), вставленный в один из портов компьютера (обычно LPT или USB, редко — COM). Достоинство ключа в том, что его можно вставлять в любой компьютер, на котором намереваетесь запустить программу. Кроме того, электронный ключ быстр и не занимает дисковода. Но электронные ключи дороги (5—15 долларов), и применяются лишь в дорогостоящем ПО. Также теоретически возможны конфликты периферийных устройств с ключом. Типичный пример электронного ключа — HASP.

rПривязка к серийным номерам компонентов компьютера. Её достоинство в том, что не требуется никакого специфического аппаратного обеспечения, и программу можно распространять даже через Интернет. Но если пользователь производит модернизацию компьютера, защита отказывает. Авторы многих программ, защищённых привязкой, в подобных случаях готовы дать новый регистрационный код. Например, Microsoft в Windows XP разрешает раз в 120 дней генерировать новый регистрационный код (но в исключительных случаях, позвонив в службу активации, можно получить новый код и до прошествия этого срока). В качестве привязки используются серийный номер BIOS материнской платы, серийный номер винчестера.

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

rЕсли программа работает с каким-то централизованным сервером и без него бесполезна, она может передавать серверу свой серийный номер; если номер неправильный, сервер отказывает в услуге. Это единственный стопроцентный способ защиты от копирования. Впрочем, пираты могут создать сервер, который не делает такой проверки.

8. Внешний модуль против API.
Некоторые защиты пристыковывают к программе защитный модуль (как это делают вирусы). Преимущество этой защиты в том, что её можно «надеть» на любую программу. Недостаток в том, что защита, как правило, легко отключается. Более прочные защиты имеют свой API, с помощью которого можно сделать весьма сложную логику защиты. Весь защитный код оказывается «размазанным» по программе, и взлом оказывается трудным или невозможным.

9. Организационные меры защиты от несанкционированного копирования.
Основная идея организационных мер защиты заключается в том, что полноценное использование программного продукта невозможно без соответствующей поддержки со стороны производителя: подробной пользовательской документации, «горячей линии», системы обучения пользователей, обновление версий со скидкой и т.п. Организационные меры защиты применяются, как правило, крупными разработчиками к достаточно большим и сложным программным продуктам.

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

Назовем некоторые законы, применяемые в западных странах для борьбы с компьютерными преступлениями:

1. Закон о поддельных средствах доступа, компьютерном мошенничестве и злоупотреблении (США).

2. Федеральный закон о частной тайне (США).

3. Закон о предупреждении экономических преступлений (Германия).

4. Закон об авторском праве (Германия).

5. Федеральный закон о защите данных (Германия).

6. Закон об авторском праве и поправки к нему (Великобритания).

7. Закон о защите данных (Великобритания).

8. Закон об обработке данных, о файлах данных и личных свободах (Франция).

Глава 28 УК РФ.

StarForce — система защиты от копирования! [by Nolza]


Похожие статьи.

Понравилась статья? Поделиться с друзьями: