
Милославская сетевые атаки на открытые системы на примере 2012
.pdfканал. Такой обмен обычно называется «рукопожатием» (handshake). Однако не всегда для связи двух удаленных объектов в РВС создается виртуальный канал — иногда, особенно для служебных сообщений, например, от маршрутизаторов, используется передача одиночных сообщений, не требующих подтверждения.
Атака заключается в передаче по каналам связи сообщений от имени произвольного объекта или субъекта РВС. При этом существуют две разновидности данной ТУА — при установленном виртуальном канале и без установленного виртуального канала.
В первом случае атака нацелена на присвоение прав доверенного субъекта взаимодействия, легально подключившегося к объекту системы, что позволяет атакующему вести сеанс работы с объектом РВС от имени доверенного субъекта. Реализация УА данного типа обычно состоит в передаче пакетов обмена с атакующего объекта на цель атаки от имени доверенного субъекта взаимодействия (при этом переданные сообщения будут восприняты системой как корректные). Для осуществления атаки данного типа необходимо преодолеть систему идентификации и аутентификации сообщений, которая, в принципе, может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. В протоколе TCP для идентификации используются два 32-битных счетчика.
Атака без установленного виртуального соединения заключается в передаче служебных сообщений от имени сетевых управляющих устройств, например, от имени маршрутизаторов. В этом случае для идентификации пакетов возможно лишь использование статических ключей, определенных заранее, что довольно неудобно и требует сложной системы управления ключами. Однако при отказе от такой системы идентификация пакетов без установленного виртуального канала будет возможна лишь по сетевому адресу отправителя, который легко подделать. Посылка ложных управляющих сообщений может привести к нарушениям работы РВС (например, к изменению ее конфигурации). УА, использующая навязывание ложного маршрута, относится к данному типу.
21
Описанная ТУА — это активное воздействие, совершаемое с целью нарушения конфиденциальности и целостности информации, по наступлению на атакуемом объекте определенного события внутрисегментно, так и межсегментно, как с обратной связью, так и без обратной связи с атакуемым объектом и осуществляемое на сетевом и транспортном уровнях модели OSI.
1.3.Ложный объект
Втом случае, если в РВС недостаточно надежно решены проблемы идентификации сетевых управляющих устройств (например, маршрутизаторов), возникающие при взаимодействии последних с объектами системы, то подобная распределенная система может подвергнуться типовой удаленной атаке, связанной с изменением маршрутизации и внедрением в систему ложного объекта [3].
Ложный объект РВС внедряется двумя способами.
1. Навязывание ложного маршрута из-за недостатков в алгоритмах маршрутизации (то есть проблем идентификации сетевых управляющих устройств). Маршрутом называется последовательность узлов сети, по которой данные передаются от источника к приемнику. Каждый маршрутизатор имеет специальную таблицу маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Эти таблицы существуют не только у маршрутизаторов, но и у любых хостов в сети. Для обеспечения эффективной и оптимальной маршрутизации в РВС применяются специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом — RIP (Routing Information Protocol) и OSPF (Open Shortest Path First)), уведомлять хосты о новом маршруте (ICMP), удаленно управлять маршрутизаторами (SNMP). Названные протоколы позволяют удаленно изменять маршрутизацию в сети, то есть в общем являются протоколами управления сетью.
Основная цель атак состоит в том, чтобы изменить исходную таблицу маршрутизации на объекте РВС так, чтобы новый маршрут проходил через ложный объект — хост атакующего. Для изменения маршрутизации атакующему необходимо послать по сети
22
определенные данными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которой обмениваются два объекта РВС, и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей сообщений, получаемых от дезинформированных объектов РВС. Данная атака — активное воздействие, совершаемое с любой из целей из класса 2, безусловно по отношению к цели атаки как внутри одного сегмента, так и межсегментно, как с обратной связью, так и без обратной связи с атакуемым объектом на транспортном и прикладном уровне модели OSI.
2. Использование недостатков алгоритмов удаленного поиска. В РВС часто ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов РВС. Для получения подобной информации в РВС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида поисковых запросов и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос запросивший субъект РВС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект РВС начинает обращаться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить ARP- и DNSзапросы в Интернете. В случае использования РВС механизмов удаленного поиска существует возможность на атакующем объекте перехватить посланный запрос и отправить на него ложный ответ, где указать данные, использование которых приведет к адресации на атакующий ложный объект. В дальнейшем весь поток информации между субъектом и объектом взаимодействия будет проходить через ложный объект РВС. Другой вариант внедрения в РВС ложного объекта состоит в периодической передаче на атакуемый объект заранее подготовленного ложного ответа без приема поисково-
23
го запроса. Атакующему для посылки ложного ответа не всегда обязательно дожидаться приема запроса (он может, в принципе, не иметь подобной возможности перехвата запроса). При этом атакующий может спровоцировать атакуемый объект на передачу поискового запроса, и тогда его ложный ответ будет немедленно иметь успех. Данная ТУА характерна для глобальных сетей, когда у атакующего из-за нахождения его в другом сегменте относительно цели атаки просто нет возможности перехватить поисковый запрос. Это активное воздействие с нарушением конфиденциальности и целостности информации, которое может являться атакой по запросу от атакуемого объекта, а также безусловной атакой как внутрисегментно, так и межсегментно, имеет обратную связь с атакуемым объектом и осуществляется на канальном и прикладном уровнях модели OSI.
Такая атака позволяет воздействовать на перехваченную информацию следующим образом: проводить селекцию и сохранение потока информации на ложном объекте РВС, модифицировать ее в передаваемых данных или коде и подменять.
1.4. «Отказ в обслуживании»
При атаке «отказ в обслуживании» (Denial of service, DoS) нарушитель пытается сделать временно недоступным или разрушить конкретный сервис (или компьютер), перегрузить сеть, перегрузить центральный процессор или переполнить диск. Нарушитель действует как вандал, стараясь вывести компьютер из строя.
DoS-атаки делятся на несколько классов. Атаки первого классса — логические (logic), используя дыры в программном обеспечении (ПО), приводят к зависанию или значительному снижению производительности сервера. Многие из таких атак могут быть предупреждены либо обновлением ПО, либо фильтрацией определенных последовательностей пакетов, но, в любом случае, они представляют серьезную угрозу. Атаки второго класса заключаются в переполнении ресурсов процессора, памяти и сетевых ресурсов сервера посылкой большого количества ложных пакетов. Организовать защиту от таких атак чрезвычайно сложно, так как не суще-
24
ствует какого-либо действенного способа отличить «хорошие» пакеты от «плохих».
Сетевая ОС способна иметь только ограниченное число открытых виртуальных соединений и отвечать лишь на ограниченное число запросов. Эти ограничения зависят от различных параметров системы в целом, основными из которых являются быстродействие ЭВМ, объем оперативной памяти и пропускная способность канала связи). Основная проблема состоит в том, что при отсутствии статической ключевой информации в РВС идентификация запроса возможна только по адресу его отправителя. Если в РВС не предусмотрено средств аутентификации адреса отправителя, то есть инфраструктура РВС позволяет с одного объекта системы передавать на другой атакуемый объект бесконечное число анонимных запросов на подключение от имени других объектов, то в этом случае будет иметь успех DoS-атака. Результат применения этой УА — нарушение на атакованном объекте работоспособности соответствующей службы предоставления УД, то есть невозможность получения УД с других объектов РВС.
Вторая разновидность этой ТУА состоит в передаче с одного адреса такого количества запросов на атакуемый объект, какое позволит трафик (атака — направленный «шторм» запросов, или «наводнение» запросами — по англ. flooding). В этом случае, если в системе не предусмотрены правила, ограничивающие число принимаемых запросов с одного объекта (адреса) в единицу времени, то результатом этой атаки может являться как переполнение очереди запросов и отказа одной из телекоммуникационных служб, так и полная остановка компьютера из-за невозможности системы заниматься ничем другим, кроме обработки запросов.
Третьей разновидностью DoS-атаки является передача на атакуемый объект некорректного, специально подобранного запроса. В этом случае при наличии ошибок в удаленной системе возможно зацикливание процедуры обработки запроса, переполнение буфера с последующим зависанием системы и т.п.
DoS-атака — это активное однонаправленное воздействие, осуществляемое с целью нарушения работоспособности системы,
25

безусловно относительно цели атаки как межсегментно, так и внутрисегментно, на транспортном и прикладном уровнях модели
OSI.
Есть особая разновидность DoS-атак — распределенная атака (DDoS, Distributed DoS). В общем случае она осуществляется следующим образом: атакующий компрометирует несколько рабов (slaves), или зомби; вместе они образуют сеть, называемую botnet; устанавливает на них ПО, которое будет впоследствии осуществлять «шторм» сообщениями; соединяется с ними и объединяет их возможности в единый «шторм» сообщениями [7]. Использование большого количества рабов не только увеличивает мощь атаки, но и значительно усложняет защиту от нее: наличие нескольких источников направленного «шторма» значительно усложняет задачу блокирования ложного трафика и уменьшает эффективность методик обратного отслеживания (tracing back), применяемых для определения действительного адреса источника сообщений. Осуществление этой атаки схематично представлено на рис. 5: с атакующей системы посылаются управляющие сообщения предварительно скомпрометированным рабам. Рабы генерируют трафик определенного вида жертве, подменяя адрес источника, с тем чтобы жертва не могла их отследить.
"Мастер" |
Атакующий
"Зомби-демоны", или рабы
Рис. 5. Распределенная атака «отказ в обслуживании»
26

Еще разновидность атаки DDoS — с отражателями (reflectors). Отражатель — любой IP-хост, посылающий ответы при получении запросов. Таким образом, веб-серверы, DNS-серверы и маршрутизаторы могут служить в качестве отражателей, так как все они возвращают пакеты SYN/ACK или RST (сброс) в ответ на получение SYNили других TCP-пакетов. Сначала атакующий находит очень большое число отражателей. Затем он координирует действия рабов, чтобы они посылали трафик отражателям от имени жертвы V. Отражатели, в свою очередь, посылают ответы жертве V. Осуществление этой атаки схематично показано на рис. 6.
Рис. 6. DDoS-атака с использованием отражателей
DDoS-нападение распознать просто — замедление работы сети и серверов заметно как администратору системы, так и обычному пользователю.
27
Известно несколько средств реализации DDoS-атак. Это trinoo (или иначе trin00) и Tribal Flood Network (TFN) для Unix-платформ, Stacheldraht (нем. «колючая проволока»), wintrinoo для Windows-
платформ, TFN2K для Unix и Windows NT (использует при бомбардировке сети шифрование для своего эффективного сокрытия). Именно с помощью этих программ в середине февраля 2000 г. были атакованы веб-узлы известных Интернет-представительств электрон-
ной коммерции Amazon, CNN, E*Trade, Yahoo и eBay.
В настоящее время появляется много реальных предложений по организации защиты от DDoS-атак, некоторые из которых можно реализовать уже сегодня, а часть потребует длительных разработок. Действенными являются те, которые используют механизмы фильтрации и средства ограничения скорости передачи на маршрутизаторах. Есть ряд предложений по использованию динамических адаптивных программ, позволяющих устанавливать ограничения на процентные доли различных видов трафика и типы передаваемых пакетов. С помощью подобных программ можно ограничить, например, поступление пакетов ICMP в интранет. Создаются средства идентификации хостов, предотвращающие атаки, связанные с захватом ресурсов. Ведутся работы по расширению возможностей маршрутизаторов по мониторингу пакетов для определения их источников.
Теперь дадим ряд замечаний по защите и предотвращению DDoS-атак. Первым делом нужно идентифицировать тип трафика, который загружает сеть. В большинстве DDoS-атак посылаетсяочень определенный тип ICMP, UDP, TCP, часто с поддельными IPадресами. Нападение, как правило, характеризует необычно большое количество пакетов некоторого типа. Исключением из этого правила являются DDoS-нападения, направленные против определенных служб (типа HTTP) и использующие допустимый трафик и запросы. Для идентификации пакетов анализируется сетевой трафик. Это можно сделать двумя различными методами в зависимости от того, где исследуется трафик. Первый метод может использоваться на машине, которая расположена в атакуемой сети и на которую устанавливается сниффер типа tcpdump. Анализ трафика в
28
реальном масштабе времени невозможен на перегруженной сети, поэтому рекомендуется использовать опцию "–w" для записи данных в файл. Затем, используя утилиты типа tcpdstat или tcptrace, анализируются результаты и определяется тип преобладающего трафика в сети.
Второй подход — для контроля входящего трафика использовать маршрутизатор. Его списки ограничения доступа могут служить основным пакетным фильтром. Далее можно попытаться «проследить» источник атаки. Однако DDoS, в отличие от традиционного DoS, исходит из множественных источников. Поэтому нужно попробовать определить транзитный маршрутизатор, через который проходит большинство пакетов. После этого может потребоваться определить следующий в цепочке транзитный маршрутизатор. На каждом шаге создается список ограничения доступа. В конце процесса, когда источник атаки выявлен, можно создать фильтр, который заблокирует атакующего. Недостатки этого метода защиты от DDoS-нападения — время и сложность. Получение таких данных требует скоординированной работы нескольких сторон (чаще всего сервис-провайдеров).
Следующим шагом является ограничение допустимого предела для трафика типа злонамеренного, что ограничивает пропускную способность, которую этот тип трафика может потреблять в данный момент времени
Для предотвращения DDoS-атак также есть ряд рекомендаций.
Нужно испльзовать команду «ip verify unicast reverse-path» (или ее эквивалент) для удаления поддельных пакетов и дополнительно блокировать входящий трафик с исходными адресами из зарезервированных диапазонов (т.е. 192.168.0.0). Этот фильтр удалит пакеты, источники которых очевидно неправильны. Входящие и исходящие методы фильтрации особенно важны для предотвращения DDoS-атак. Фильтры, помещенные в граничные маршрутизаторы, гарантируют, что входящий трафик не имеет исходного адреса, происходящего из частной сети. Но еще более важно, что трафик на пересекающихся курсах действительно имеет адреса из внутренней сети.
29
Для защиты от DDoS-атак Unix-систем можно дать следующие конкретные рекомендации : ограничить доступ в сеть и контролировать его, например, с помощью программ типа TCP-wrappers; использовать средства проверки целостности файловой системы типа Tripwire; применять программы для обнаружения DDoS-атак для всех Unix-платформ.
Рекомендации для Windows-платформ таковы: использовать антивирусы и средства обнаружения "троянских коней" (например, BOClean); устанавливать МЭ; применять соответствующие средства обнаружения.
1.5. Удаленный контроль над станцией в сети
Удаленный контроль над станцией в сети заключается в запуске на атакуемом компьютере программы «сетевого шпиона». Схематично основные этапы работы сетевого шпиона выглядят следующим образом: инсталляция в памяти; ожидание запроса с удаленного хоста, на котором запущена головная сервер-программа, и обмен с ней сообщениями о готовности; передача перехваченной информации на головную сервер-программу или предоставление ей контроля над атакуемым компьютером.
Существуют многочисленные утилиты, позволяющие контролировать все символьные строки, вводимые на выбранном злоумышленником в качестве жертвы компьютере. Некоторые из них встроены в утилиты контроля данных, посылаемых с хоста во время сеансов FTP или Telnet, а другие буферизируют все символьные строки, вводимые с различных терминалов, связанных с хостом. Для ПК имеются многочисленные программы, которые выполняют те же самые функции, наблюдая за вводом с клавиатуры и сохраняя символьные строки в файл. Эти программы получили название резидентных программ перехвата сканкодов клавиатуры (резидентные программы находятся в памяти постоянно с некоторого момента времени до окончания сеанса работы ПК (выключения питания или перезагрузки); эти программы могут быть помещены в память при начальной загрузке ПК, загрузке операционной среды или запуске некоторой программы, а также запущены отдельно).
30