Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3350

.pdf
Скачиваний:
0
Добавлен:
08.01.2021
Размер:
536.14 Кб
Скачать

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

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

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

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

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

Методические указания для выполнения лабораторных работ для студентов по направлению подготовки 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

* код длины сектора (0 - 128 байт, 1 - 256 байт, 2 - 512 байт, 3 - 1024 байт) Если при форматировании указать несуществующий номер сектора, т.е. номер

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

Второй изменяемый параметр при форматировании дорожки - код длины. В процессе форматирования размер каждого сектора определяется индивидуально. Благодаря этому, существует возможность создать на диске ряд уникальных секторов с разным кодом длины. Для того, чтобы записать данные в выделенные таким образом сектора, необходимо при операции записи/чтения соответственно изменять указатель размера сектора в таблице Базы Диска. База Диска - это таблица, состоящая из 11 байт, которая содержит ряд параметров, необходимых для работы дисководов, включая и определенную информацию о формате дисков. Адрес таблицы Базы Диска находится в векторном пространстве по адресу 120. Смещение байта, ответственного за длину сектора, относительно начала таблицы равно 3. Обычными средствами DOS подобные сектора не читаются, что позволяет спрятать в них необходимые данные.

3.Задание к работе

1.Опишите основные принципы защиты программных продуктов от несанкционированного копирования. Составьте в виде таблицы классификацию таких методик.

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

4.Порядок выполнения работы

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

# include <dos.h>

 

 

#include <stdio.h>

 

 

#include <conio.h>

 

 

main(){

 

 

 

union

REGS

 

rl;

struct

SREGS

rg;

unsigned int

 

 

j;

int

 

 

n;

char

a[1024];

// буфер для чтения

char

a1[1024] = «проверка записи и чтения на дорожке»;

int

nsek;

 

 

int

smes;

 

 

char

far

*ukazad;

 

/* таблица дорожка - головка - сектор - размер для каждого сектра на дорожке */ char tab[9][4]={38 , 1 , 1 , 2 , 38 , 1 , 2 , 1 , 38 , 1 , 13 , 2 , 38 , 1 , 4 , 2 , 38 , 1 ,

5 , 2 , 38 , 1 , 6 , 2 , 38 , 1 , 7 , 2 , 38 , 1 , 8 , 2 , 38 , 1 , 9 , 3};

6

system(«dir a:»);

 

smes = peek(0,120);

// таблица Базы Диска

ukazad = MK_FP(0,smes);

 

rl.h.dl = 0;

 

 

rl.h.ah = 0;

 

 

int86x(0x13,&rl,&rl);

 

clrscr();

 

 

rl.h.dl = 0;

 

// устройство а:

rl.h.dh = 1;

 

// номер головки

rl.h.ch = 38;

 

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

rl.h.ah = 5;

 

// функция форматирования

rl.h.al = 1;

/* адрес таблицы секторов дорожки */

rl.x.bx = FP_OFF(&tab[0]);

rg.es = FP_SEG(&tab[0]); /* номер дефектного сектора */

nsek = rl.h.dh*360+rl.h.ch*9-10+2; /* вызов прерывания 13h*/ int86x(0x13,&rl,&rl,&rg); /* печать кода завершения */ gotoxy(10,9);

printf(«завершение =%d номер дефектного сектора=%d»,rl.h.ah,nsek);

//запись в отформатированные сектора for(j=1;j<5;j++){

//писать сектор

rl.h.dl = 0; rl.h.dh = 1; rl.h.ch = 38; rl.h.cl = j; rl.h.ah = 3; rl.h.al = 1;

rl.x.bx = FP_OFF(&a[0]); rg.es=FP_SEG(&a[0]); if (j= =2){

*(ukazad+3) = 1;

gotoxy(1,25); printf(«попытка записи»);

}

int86x(0x13,&rl,&rl,&rg);

gotoxy(30,25);

printf(«j=%d код ошибки=%d»,j,rl.h.ah);

*(ukazad+3) = 2; getch();

}

// попытка чтения отформатированных секторов

/* номер дефектного сектора для absread() вычисляется следующим образом: nsek = rl.h.dh*360+rl.h.ch+9+ndefsek-10;

где ndefsek - порядковый номер дефектного сектора в таблице tab В данном случае ndefsek = 2, результат nsek=694 */ for(j=1;j<5;j++){

// читать сектор rl.h.dl = 0; rl.h.dh = 1; rl.h.ch = 38; rl.h.cl = j;

rl.h.ah = 2; rl.h.al = 1;

rl.x.bx = FP_OFF(&a[0]); rg.es=FP_SEG(&a[0]);

7

if (j= =2) { *(ukazad+3) = 1;

gotoxy(1,25); printf(«попытка чтения»);

}

memset(a,0,100);

int86x(0x13,&rl,&rl,&rg); window(1,20,80,24); clrscr(); a[36]=0; printf(«запись=%s»,a);

window(1,1,80,25); gotoxy(30,25);

printf(«j=%d код ошибки=%d»,j,rl.h.ah);

*(ukazad+3) = 2; getch();

}

printf(«\n программа отработала»); exit(0);

}

Содержание отчета

1.Название работы.

2.Цель работы.

3.Блок-схему алгоритма.

4.Тексты программ.

5.Вопросы для самопроверки

1.Перечислите основные принципы и приемы, используемы при защите программ от несанкционированного копирования?

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

3.Поясните особенности программной среды при защите от несанкционированного копирования.

8

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

«Резервное копирование и восстановление данных»

Введение

В прошлом при возникновении непредвиденных обстоятельств прибегали к восстановлению данных с обычных резервных магнитных лент. Сегодня, однако, простой сервера локальной сети нарушает обычные деловые процессы: компания может вообще оказаться не в состоянии выполнять свои задачи, если ее сервер NetWare или Windows NT будет недоступен из-за ремонта или восстановления.

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

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

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

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

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

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

Системы семейства Windows Server имеют встроенный инструмент создания резервных копий — утилиту ntbackup. Данная утилита позволяет сохранять резервные копии на самых различных носителях — ленточных накопителях, магнитооптических дисках, жестких дисках (как на локальных дисках данного сервера, так и на сетевых ресурсах, размещенных на других компьютерах сети). В версии системы Windows 2003 реализован механизм т.н. теневых копий Shadow Copy, который заключается в том, что в начале процедуры архивации система делает моментальный «снимок» архивируемых файлов и уже после этого создает резервную копию из этого снимка. Данная технология позволяет архивировать файлы, которые в момент запуска утилиты ntbackup были открыты пользователями.

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

Все операции по созданию резервных копий и восстановлению данных в ОС семейства Windows осуществляются утилитой ntbackup.

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

9

archive, который в Свойствах файла отображается как «Файл готов для архивирования» (откройте Свойства файла и нажмите кнопку «Другие»). Если в Свойствах файла вручную убрать галочку у этого атрибута, то при любом изменении в файле операционная система автоматически снова установит этот атрибут. На использовании изменений данного атрибута основаны все используемые в системе Windows методики резервного копирования.

Типы резервного копирования

Утилитой ntbackup можно создавать резервные копии различных типов. Рассмотрим их отличительные особенности и различные варианты их применения.

Обычный (Normal)

При выполнении данного типа архивирования утилита ntbackup архивирует все файлы, отмеченные для архивации, при этом у всех заархивированных файлов очищается атрибут «Файл готов для архивирования». Данный вид архивирования необходим для создания еженедельных полных резервных копий каких-либо больших файловых ресурсов. Если в компании или организации имеются достаточные ресурсы, то можно ежедневно осуществлять полное архивирование данных.

Разностный (Differential)

При выполнении Разностного архивирования утилита ntbackup из файлов, отмеченных для архивирования, архивирует только те, у которых установлен атрибут «Файл готов для архивирования», при этом данный атрибут не очищается. Использование Обычного и Разностного архивирования позволяет сэкономить пространство на носителях с резервными копиями и ускорить процесс создания ежедневных копий. Например, если раз в неделю (как правило, в выходные дни) создавать Обычные копии, а в течение недели ежедневно (как правило, в ночное время) — Разностные, то получается выигрыш в объеме носителей для резервного копирования. При такой комбинации архивирования «Обычный + Разностный» процесс восстановления данных в случае утери информации потребует выполнения двух операций восстановления — сначала из последней Полной копии, а затем из последней Разностной резервной копии.

Добавочный (Incremental)

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

Копирующий (Copy)

При таком типе архивирования утилита ntbackup заархивирует все отмеченные файлы, при этом атрибут «Файл готов для архивирования» остается без изменений.

Ежедневный (Daily)

Ежедневный тип архивирования создает резервные копии только тех файлов, которые были модифицированы в день создания резервной копии.

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

Разработка и реализация стратегии резервного копирования. Понятие плана архивации

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]