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

Yazov_ITKS

.pdf
Скачиваний:
362
Добавлен:
31.05.2015
Размер:
7.37 Mб
Скачать

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

Большинство макро-вирусов активны не только в момент открытия/закрытия файла, но до тех пор, пока активен сам редактор. Они содержат все свои функции в виде стандартных макросов Word/Excel/Office. Существуют, однако, вирусы, использующие приемы скрытия своего кода и хранящие свой код в виде не-макросов. Известно три подобных приема, все они используют возможность макросов создавать, редактировать и исполнять другие макросы. Как правило, подобные вирусы имеют небольшой (иногда - полиморфный) макрос-загрузчик вируса, который вызывает встроенный редактор макросов, создает новый макрос, заполняет его основным кодом вируса, выполняет и затем, как правило, уничтожает (чтобы скрыть следы присутствия вируса). Основной код таких вирусов присутствует либо в самом макросе вируса в виде текстовых строк (иногда - зашифрованных), либо хранится в области переменных документа.

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

Программная закладка – это программа, скрытно внедренная в систему, или дописанный фрагмент прикладной программы, позволяющие нарушителю осуществлять

261

несанкционированные действия. К программным закладкам относятся программы типа «Троянский конь», «информационные бомбы», программно-аппаратные и программные ловушки и люки в программном коде.

Программы типа «Троянский конь» – наиболее рас-

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

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

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

262

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

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

По ассоциированности все они могут быть:

программно-аппаратными или программными, то есть ассоциируемыми с аппаратными средствами или с программами, выполняемыми в операционной среде компьютера или компьютерной сети;

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

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

загрузочными, ассоциированными с программами начальной загрузки (по аналогии с загрузочными вирусами);

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

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

263

По алгоритмам работы вредоносные программы могут быть резидентными или нерезидентными, с использованием стелс-алгоритмов, с самошифрованием и полиморфичностью, с использованием нестандартных приемов.

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

Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными. Резидентными можно считать макро-вирусы, поскольку они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль операционной системы берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора. В многозадачных операционных системах время «жизни» резидентного вируса также может быть ограничено моментом закрытия зараженного окна, а активность загрузочных вирусов в некоторых операционных системах ограничивается моментом инсталляции дисковых драйверов OC.

«Стелс»-вирусы – это вредоносные программы, которые теми или иными способами скрывают факт своего присутствия в системе.

Использование стелс-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является

264

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

В частности, загрузочные «стелс»-вирусы для скрытия своего кода используют два основных способа. Первый из них заключается в том, что вирус перехватывает команды чтения зараженного сектора (прерывание INT 13h) и подставляет вместо него незараженный оригинал. Этот способ делает вирус невидимым в том числе антивирусами, не способными «лечить» оперативную память компьютера. Возможен перехват команд чтения секторов на уровне более низком, чем INT 13h.

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

Большинство файловых «стелс»-вирусов использует те же приемы, что приведены выше: они либо перехватывают обращения к файлам (INT 21h), либо временно лечат файл при его открытии и заражают при закрытии. Так же, как и для загрузочных вирусов, существуют файловые вирусы, использующие для своих «стелс»-функций перехват прерываний более низкого уровня — вызовы драйверов DOS, INT 25h и даже INT 13h. Полноценные файловые «стелс»-вирусы, использующие первый способ скрытия своего кода, в большинстве своем достаточно громоздки, поскольку им приходится перехватывать большое количе-

265

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

Некоторые вирусы используют часть функций полноценного «стелс»-вируса. Чаще всего они перехватывают функции DOS FindFirst и FindNext (INT 21h, AH=llh, 12h, 4Eh, 4Fh) и уменьшают размер зараженных файлов. Такой вирус невозможно определить по изменению размеров файлов, если, конечно, он резидентно находится в памяти.

В случае макро-вирусов наиболее популярный способ – запрет вызовов меню просмотра макросов.

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

Существует деление полиморфик-вирусов на уровни в зависимости от сложности кода, который встречается в расшифровщиках этих вирусов. Такое деление впервые предложил д-р. Алан Соломон.

Уровень 1: вирусы, которые имеют некоторый набор расшифровщиков с постоянным кодом и при заражении выбирают один из них. Такие вирусы являются «полу-полиморфиками» и носят также название «олиго-

морфик» (oligomorphic). Примеры: «Cheeba», «Slovakia»,

«Whale».

266

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

Уровень 3: расшифровщик содержит неиспользуемые инструкции – «мусор» типа NOP, CLI, STI и т.д.

Уровень 4: в расшифровщике используются взаимозаменяемые инструкции и изменение порядка следование (перемешивание) инструкций. Алгоритм расшифрования при этом не изменяется.

Уровень 5: используются все перечисленные выше приемы, алгоритм расшифрования непостоянен, возможно повторное шифрование кода вируса и даже частичное шифрование самого кода расшифровщика.

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

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

Основными деструктивными действиями, выполняемыми вредоносными программами, могут быть:

уничтожение информации в секторах дискет и винчестера;

исключение возможности загрузки операционной системы (компьютер «зависает»);

искажение кода загрузчика;

форматирование дискет или логических дисков винчестера;

закрытие доступа к COM- и LPT-порты;

267

замена символов при печати текстов;

вызывание подергивания экрана;

изменение метки диска или дискеты;

создание псевдосбойных кластеров;

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

порча файлов данных;

перезагрузка компьютера;

вывод на экран разнообразных сообщений;

отключение периферийных устройств (например, клавиатуры);

изменение палитры экрана;

заполнение экрана посторонними символами или изображениями;

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

шифрование секторов винчестера;

выборочное уничтожение символов, выводимых на экран при наборе с клавиатуры;

уменьшение объема оперативной памяти;

вызов печати содержимого экрана;

блокирование записи на диск;

уничтожение таблицы разбиения (Disk Partition Table), после этого компьютер можно загрузить только с флоппи-диска;

блокирование запуска исполняемых файлов;

блокирование доступа к винчестеру и др.

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

268

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

3.7. Угрозы утечки информации по нетрадиционным информационным каналам

3.7.1. Понятия и классификация скрытых каналов

Нетрадиционный информационный канал – это канал скрытной передачи информации с использованием традиционных каналов связи и специальных преобразований передаваемой информации, не относящихся к криптографическим. В соответствии с [29, 30] такой канал называют скрытым каналом (СК).

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

компьютерной стеганографии;

основанные на манипуляции различных характеристик ресурсов ИТКС, которые можно получать санкционировано (например, времени обработки различных запросов, объемов доступной памяти

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

Следует отметить, что СК создается нарушителем, как правило, за счет применения вредоносной программы

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

269

сурсам) и воздействия на защищаемую информацию. Общая схема функционирования СК, согласно [29], представлена на рис. 3.12.

Рис. 3.12. Общая схема функционирования скрытого канала в информационно-телекоммуникационной системе

На рис. 3.12 цифрами обозначены:

(1) – замкнутый контур АС, отделяющий объект информатизации от внешней среды;

(2) – объект в составе АС (элемент АС), обрабатывающий информацию ограниченного доступа, либо критически важную функция КВСИИ;

(3) – санкционированный канал передачи данных между субъектом 4 и объектом 2;

(4) – субъект АС, имеющий санкционированный доступ к объекту 2 и субъекту 9;

(5) – агент нарушителя (как правило, это программная или программно-аппаратная закладка), находящийся в замкнутом контуре 1 и взаимодействующий с объектом 2 от имени субъекта 4;

(6) – санкционированный канал передачи данных между субъектами 4 и 9, посредством кото-

270

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