Ключевые дискеты. Разработка элементов систем защиты от несанкционированного доступа

Д. Правиков Правиков

Оглавление

1.Проблема защиты от несанкционированного копирования 4

1.1.Общие сведения 5
1.2.Организационные меры защиты от копирования 5
1.3.Юридическая защита от копирования : б

2.Техническая защита от несанкционированного копирования 9
2.1.Структура системы защиты от несанкционированного копирования 9
2.2.Подсистема внедрения управляющих механизмов системы защиты от несанкционированного копирования 12
2.3.Подсистема противодействия нейтрализации защитных механизмов 16

3.Блок установки характеристик среды 21
3.1.Способы распространения программного обеспечения 21
3.2.Идентификация параметров ЭВМ 22
3.3.Идентификация жесткого диска 27
3.4.Специальные устройства для идентификации ПЭВМ 30

4.Идентификация гибких магнитных дисков 31
4.1.Организация хранения информации на дискете 31
4.2.Программирование контроллера гибких дисков 42
4.3.Методы идентификации гибких дисков 62
4.4.Пример воспроизведения ключевой метки 75

Приложение 1.Программа, определяющая свое месторасположение
на диске по цепочке занимаемых кластеров 77

Приложение 2.Программа занесения идентифицирующей инфомации
на инженерные цилиндры для системы защиты
InstPro группы MiM 80

Приложение 3.Драйвер-эмулятор лазерной метки для программы
Турбо-Бухгалтер фирмы ДИЦ 82

Приложение 4.Драйвер-эмулятор сбойных секторов без обработки int 13h 84

Приложение 5. Обработчик BIOS прерывания int 13h 87

Список литературы 126

Предисловие
Программирование на ЭВМ, особенно системное программирование — это специфическая область человеческой деятельности, которая направлена на изучение не природных закономерностей за окном кабинета, а продуктов труда людей подобной же специальности. Освоив язык программирования, исследователь погружается в мир процессора, общей шины, энергонезависимой памяти, контроллера дисковода и т.п. Освоившись в этом новом для себя мире, программист-исследователь вдруг выясняет, что конвейер процессора можно использовать помимо всего прочего и для защиты от отладчиков, а дискету — и как средство для хранения программного обеспечения, и как очень дешевый "аппаратный ключ" к защищенному программному обеспечению; параллельный и последовательные порты служат интерфейсом с принтером и с аппаратным ключом защиты; аппарат прерываний используется для контроля одного программного продукта другим; дата изготовления BIOS служит для идентификации ЭВМ и т.д. В настоящее время в компьютере, наверное, уже не осталось ни одного устройства, которое применялось бы только по своему прямому назначению. Благодаря профессиональным программистам аппаратное и программное обеспечение приобретает "несколько смыслов", знание которых во многом определяет уровень и мастерство программиста.
Данная книга написана профессиональным программистом и посвящена исследованию дискеты на предмет ее использования как "аппаратного ключа" для защиты программного обеспечения. Понятно, что таким образом "прочитать" созданную заводским конвейером дискету можно только в том случае, если в каждой дискете удастся выделить ее индивидуальные особенности. Возможно, ли это сделать только программными методами? Автор считает, что возможно, и аргументировано излагает свою точку зрения.
Следует признать, что столь подробного и целенаправленного исследования дискеты в существующей литературе нет. Работа, безусловно, представляет интерес не только для разработчиков систем защит, но и для пользователей.
Доктор технических наук С. Т.Расторгуев