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

Учебное пособие 800354

.pdf
Скачиваний:
17
Добавлен:
01.05.2022
Размер:
1.89 Mб
Скачать

породило проблему преобразования имен в IP-адреса. Такое преобразование необходимо, так как на сетевом уровне адресация пакетов идет не по именам, а по IP-адресам, следовательно, для непосредственной адресации сообщений в Internet имена не годятся.

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

Рис.20. Ложный ARP-сервер

Эта система получила название доменной системы имен - DNS (Domain Name System). Для реализации систе-

мы DNS был создан специальный сетевой протокол DNS,

118

для обеспечения эффективной работы которого в сети создаются специальные выделенные информационнопоисковые серверы - DNS-серверы.

Рассмотрим DNS-алгоритм удаленного поиска IPадреса по имени в сети Internet:

1.Хост посылает на IP-адрес ближайшего DNSсервера (он устанавливается при настройке сетевой ОС) DNS-запрос, в котором указывает имя хоста, IP-адрес которого необходимо найти;

2.DNS-сервер, получив запрос, просматривает свою базу имен на наличие в ней указанного в запросе имени. В случае, если имя найдено, а, следовательно, найден и соответствующий ему IP-адрес, то на запросивший хост DNS-

сервер отправляет DNS-ответ, в котором указывает искомый IP-адрес. В случае, если указанное в запросе имя DNS-сервер не обнаружил в своей базе имен, то DNS-запрос отсылается DNSсервером на один из корневых DNS-серверов, адреса которых содержатся в файле настроек DNS-сервера root.cache, и описанная в этом пункте процедура повторяется, пока имя не будет найдено (или не найдено).

Однако при этом появилась возможность осуществления в сети, использующей протокол DNS, типовой удаленной атаки "Ложный объект". Пример такой атаки показан на рис.21.

119

Рис.21. Функциональная схема ложного DNS-сервера

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

120

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

Рис. 22. Внедрение в Internet ложного сервера путем создания направленного "шторма" ложных DNS-ответов на атакуемый хост

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

121

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

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

122

5. УГРОЗЫ ПРОГРАММНО-МАТЕМАТИЧЕСКОГО ВОЗДЕЙСТВИЯ И СПОСОБЫ ЗАЩИТЫ ОТ НИХ

Программно-математическое воздействие – это воздействие на компьютерные системы с помощью вредоносных программ. Очевидно, что ПМВ является несанкционированным воздействием на систему.

Если компьютерная система содержит механизмы защиты от НСД, то несанкционированные действия – это, прежде всего:

отключение или видоизменение защитных механизмов нелегальным пользователем;

вход в систему под именем и с полномочиями реального пользователя.

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

Вобоих случаях НСД осуществляется на основе некоторого воздействия, произведенного предварительно внедренной в систему программой или несколькими программами.

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

скрывать признаки своего присутствия в программной среде ПЭВМ;

обладать способностью к самодублированию, ассоциированию себя с другими программами и/или переносу

123

своих фрагментов в иные области оперативной или внешней памяти;

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

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

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

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

Вредоносные программы можно условно разделить на следующие классы:

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

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

124

функции (программы типа "троянский конь", "логическая бомба", "логический или программный люк");

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

Рассмотрим основные принципы работы вредоносных программ.

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

-программы, ассоциированные с программноаппаратной средой (BIOS);

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

вичной загрузки (находящиеся в MASTER BOOT RECORD или ВООТ-секторах активных разделов);

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

-программы, ассоциированные с прикладным программным обеспечением общего назначения (встроенные

вклавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки типа NORTON),

-исполняемые модули, содержащие только код программы (как правило, внедряемые в пакетные файлы типа .ВАТ);

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

125

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

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

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

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

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

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

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

126

-прерывания от таймера ПЭВМ;

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

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

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

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

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

Таким образом, можно выделить вредоносные программы:

1. Резидентного типа - которые находятся в памяти

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

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

127