Материал: 3350

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКАЯ ГОСУДАРСТВЕННАЯ ЛЕСОТЕХНИЧЕСКАЯ АКАДЕМИЯ»

О.В. Коровина

Информационная безопасность и защита информации

Методические указания для выполнения лабораторных работ для студентов по направлению подготовки 230200.62 Информационные системы

Воронеж 2012

УДК 630

Коровина, О.В. Методические указания для выполнения лабораторных работ по дисциплине «Информационная безопасность и защита информации» для студентов по направлению подготовки 230200.62 Информационные системы [Текс]: методические указания / О.В. Коровина. – Воронеж: ВГЛТА, 2012. – 33 с.

Печатается по решению редакционно-издательского совета ВГЛТА

Рецензент

 

проректор по научной работе

 

Воронежского института высоких

 

технологий, д.т.н., профессор

Ю.С. Сербулов

2

Лабораторная работа №1

«Защита программных продуктов от несанкционированного копирования»

Введение

В ПК типа IBM PC программа может получить доступ к оборудованию следующими способами. Она может обратиться к любому из портов ввода/вывода, соответствующему присоединенному оборудованию, или к любому адресу оперативной памяти. Список оборудования на ПК может быть получен программой либо в регистре AX после выполнения прерывания 11, либо непосредственно по адресу 0:0410.

1.Цель работы изучить основные принципы и приемы, используемы при защите программ от несанкционированного копирования. Разработать программы, реализующие чтение CMOS BIOS; программную и аппаратную «привязку» к ПК.

2.Краткие сведения из теории

Особенности аппаратной среды

Ниже приведено описание двух указанных байтов.

Бит

функциональное назначение

0

нет дисковых устройств

1

имеется сопроцессор

2-3

объем оперативной памяти

4-5

начальный активный режим дисплея

6-7

количество дисководов

8

DMA присутствует

9-11

число портов RS-232

12

присутствует игровой адаптер

13

последовательный порт

14-15

число подключенных принтеров

2. Определение типа компьютера. Информация о типе IBM PC содержится во втором с конца байте памяти по адресу F000:FFFE в ROM BIOS.

Тип компьютера

Код

PC

FF

XT

FE

PCjr

FD

AT

FC

3. Особенности ROM. Для ПК IBM PC начиная с адреса F000:E000 и до адреса F000:FFFF памяти размещен ROM BIOS. По адресу F000:FFF5 обычно указывается дата создания BIOS.

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

3

Ниже приведена структура CMOS BIOS:

Адрес

Имя

Тип

Назначение

0

Sec

Byte

Секунды системного времени

1

Asec

Byte

Секунды будильника

2

Min

Byte

Минуты системного времени

3

Amin

Byte

Минуты будильника

4

Hour

Byte

Часы системного времени

5

Ahour

Byte

Часы будильника

6

DOW

Byte

День недели текущей даты

7

Day

Byte

День текущей даты

8

Month

Byte

Месяц

9

Year

Byte

Год (две цифры)

A

StatA

Byte

Состояние порта A

B

StatB

Byte

Состояние порта B

C

StatC

Byte

Состояние порта C

D

StatD

Byte

Состояние порта D

E

POST

Byte

статус завершения программы POST

F

Shut

Byte

Байт состояния программы перезагрузки DOS

10*

Diskette

Byte

Тип накопителя гибких дисков

11*

Res1

Byte

Не используется

12*

HD

Byte

Тип накопителя на жестком диске

13*

Res2

Byte

Не используется

14*

Equipm

Byte

Байт оборудования

15*

BaseMem

Word

Объем основной памяти (в Кб)

17*

ExpnMem

Word

Объем расширенной памяти

19*

HD1

Byte

Тип жесткого диска 1

1A*

HD2

Byte

Тип жесткого диска 2

1B-20*

Res3

Byte

Не используется

21-2D

Res4

Byte

Не используется

2E

CheckS

Word

Контрольная сумма (младший байт содержит

 

 

 

старшие разряды, а старший - младшие)

30

ExtendM

Word

Объем дополнительной памяти

32

Century

Byte

Текущее столетие

33

Miscell

Byte

Разная информация

34-3F

Res5

Byte

Не используется

Адреса, отмеченные знаком «*» защищены контрольной суммой. Поля ASec, AMin и AHour определяют момент времени инициации аппаратного прерывания IRQ8, с помощью которого можно автоматически запустить какую-либо программу реального времени.

4. Наличие на диске или в ПК специально созданных дефектов. Скрытые части программы - участки дискового носителя, тем или иным способом связанные с программой, но не зафиксированные в качестве файлов DOS. В подавляющем большинстве случаев программе нет необходимости искусственно создавать такие участки, поскольку они уже имеются в «хвосте» любого файла. Объясняется это тем, что DOS распределяет дисковое пространство кластерами, имеющими длину от 512 до 4096 и более (для FAT16 на дисках более 540 Мб). Даже если полезная длина файла составляет всего несколько байт, DOS выделяет ему целый кластер, большая часть которого будет заполнена случайной информацией, сохранившейся от предыдущего использования

4

кластера другим файлом. При копировании средствами DOS копируется только полезная часть кластера, так что на новом носителе в общем случае остаток кластера будет заполнен совершенно другой информацией.

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

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

Особенности программной среды.

1.Место физического размещения защищаемого файла. Анализируется номер начального кластера файла программы.

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

3.Наличие на ПК «привычных» для пакета драйверов, таблиц, файлов. Простой для реализации, но столь же простой для снятия защиты способ.

4.Специально модифицированные программы операционной системы. Модифицированный байт делает программную среду уникальной. Защищенная таким образом программа обязана проверять наличие «своего» байта в файлах DOS либо в оперативной памяти, если уже загружена операционная система.

5.Проверка наличия уникальной даты, например даты инициализации диска.

6.Размещение в теле программ в зашифрованном виде данных, которые бы однозначно идентифицировали автора программы и пользователя, которому она официально продана. В качестве таких данных часто используется строка «(с) ФИО Дата»

исистемный номер программы. Такие данные позволят впоследствии применять юридические средства защиты.

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

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

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

* номер дорожки

*сторона

*номер сектора

5

Источник: https://studfile.net/preview/16413382/