Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Удаленные атаки на корпоративные сети.doc
Скачиваний:
43
Добавлен:
10.12.2013
Размер:
192 Кб
Скачать

I am in a harry, I promise you will love it! Attachment: gone.Scr

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

В СИСТеМНЫЙ Каталог Windows C:\WINDOWS\SYSTEM32\scr.exe ИЛИ

с: \wiNNT\SYSTEM32\scr.exe и изменяет реестр для запуска кода после пере­загрузки.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ C:%WINDIR%\SYSTEM\gone.scr=C:\%WINDIR\SYSTEM\gone.scr

Вирус распространяет себя, высылая электронное письмо по списку адрес­ной книги MS Outlook и направляя файл по списку пользователей ICQ.

Дополнительно вирус ищет и останавливает процессы, связанные с извест­ными антивирусными пакетами и программами по безопасности, и пытает­ся удалить исполняемые файлы этих программ. Если удаление сразу не по­лучается, то вирус создает файл wininit.ini, который производит удаление при перезафузке.

1.3.3.2. Отказ в обслуживании

Атаки на отказ в обслуживании (англ. deny-of-service — DoS) являются одними из самых распространенных. Это связано с тем, что они сводятся к выведению информационного объекта из строя, а не к получению какого-либо вида не­санкционированного доступа к нему. Действительно, наиболее примитивный вариант подобной атаки — разрыв сетевого кабеля или физическое разрушение сетевого устройства — не требует от злоумышленника серьезной технической квалификации. Несмотря на некую крайность, тем не менее этот пример хо­рошо демонстрирует сущность атак: приведение в неработоспособное состоя­ние устройства приема/передачи либо приведение канала передачи информа­ции в состояние невозможности транспортировки данных, т. е. возможны два основных направления реализации подобных атак.

П Критическая часть информационного объекта, отвечающая за обеспече­ние доступа к информации, разрушается или приводится в неработоспо­собное состояние. Ситуация требует дополнительного вмешательства администратора для восстановления работы.

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

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

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

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

СЭ Занятие возможных портов. Атакующий устанавливает соединения с имеющимися портами таким образом, что занимает все имеющиеся от­крытые порты и допустимое количество соединений на порт.

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

Соответственно, согласно этой классификации природа атак на отказ в об­служивании разделяется:

П на формирование некоего специального, возможно, некорректного, за­проса информационному объекту, обработка которого приведет к выво­ду объекта из строя;

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

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

Второй вид атак не требует специальной подготовки и может быть осущест­влен даже случайно. Например, когда пользователь посылает письмо боль­шого объема (атака типа mailbomb) или большое количество писем (атака типа spam), он может серьезно блокировать работу корпоративного почто­вого сервиса. Такие атаки при соответствующей квалификации администра­тора легко обнаруживаются и обычно устраняются путем выдачи устройству приема/передачи инструкций по запрету обработки информации от источ­ника атаки.

Так было до тех пор, пока не появился новый вид атак на отказ в обслужи­вании — распределенный отказ в обслуживании (англ. distributed deny-of-service — DDoS). 0 ней стоит рассказать подробнее.

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

( Замечание ^

Описания указанных атак взяты из бюллетеней CERT, однако исследования проведенные другими экспертами в [Медведовский] показывают, что не все та­кие атаки несут заявленную опасность. Наша задача рассказать о многообра­зии и природе порождения атак, даже если они представляют не практическую, а скорее теоретическую опасность. На наш взгляд, специалисту по безопасно­сти опыт подобного изучения будет полезен в любом случае (хотя бы потому, что вопросы по подобным атакам входят в тесты на экзаменах по информаци­онной безопасности.

Приведем примеры некоторых известных атак.

Атака Ping смерти (Ping-of-death), декабрь 1996. Атака производится на сер­вис стека сетевых протоколов, отвечающего за работу с протоколом ICMP, частью которого является утилита Ping. Превышение стандартной длины сетевого пакета (в данном случае 65 536 байт) может привести к тому, что соответствующий сервис выйдет из строя и операционная система даст сбой (зависание или перезагрузку). Формирование такого пакета может осущест­вляться, например, стандартной командой ping операционной системы с указанием в качестве цели адреса хоста-жертвы и размера посылаемого па­кета, превышающего стандартный.

Атака потоком SYN запросов (англ. SYN flood), сентябрь 1996. Атака основа­на на специфике функционирования процесса установления соединения протокола TCP. Для установления соединения с сервером клиент посылает серверу запрос SYN, сервер отвечает подтверждением готовности к установ­ке соединения SYN-ACK и ожидает от клиента согласия на соединение АСК, при получении которого соединение считается установленным и можно передавать данные. Однако, если клиент не ответил пакетом АСК, соединение считается полуоткрытым, и сервер, в зависимости от конфигу­рации, некоторое время ждет сообщения от клиента. Обычно, если время ожидания указано достаточно большим (а ведь количество соединений, ко­торое может быть установлено с сервером одновременно, — это конечное число), то в такой ситуации может быть достигнуто состояние, когда сервер не может больше принимать запросы на соединение и оказывается факти­чески недоступным. По истечении установленного времени ожидания, по­луоткрытое соединение ликвидируется, однако, если злоумышленник посы­лает SYN-запросы быстрее, чем истекают тайм-ауты фальшивых соединений, то сервер останется недоступным до тех пор, пока SYN-поток не прекратится. Для некоторых систем переполнение списка текущих со­единений может привести к зависанию операционной системы.

Атака обычно сопровождается также и подменой IP-адреса отправителя SYN-запроса — каждый раз в пакет помещается в новое произвольное зна­чение адреса, с тем чтобы на сервере нельзя было предотвратить атаку уста­новкой ограничений на количество одновременных соединений с одного IP-адреса.

Атака SYN-flood опасна по следующим причинам:

П потенциально она непреодолима, так как неразрывно связана с идеоло­гией протокола TCP (полумерами могут быть только повышение произ­водительности серверов, увеличение их служебных буферов, и, как след­ствие, количества поддерживаемых одновременно соединений, а также сокращение времени ожидания ответа клиента до предельно возможной разумной величины — например, 0,2—3 с—в зависимости от характера сетевых маршрутов к клиентам);

П у довольно большой части серверов для создания подобного потока достаточно модемного соединения (30—40 Кбит/с) от злоумышлен­ника, несмотря на то, что сам сервер может быть подключен к Ин­тернету качественным каналом пропускной способностью в несколь­ко Мбит/с.

Атака Smurf. Для полного понимания технического механизма атаки необ­ходимо знание принципов функционирования протокола ICMP (Internet Control Message Protocol — Протокол Управляющих Сообщений Интернета). Не углубляясь в технические подробности, укажем, что одной из функций протокола является выяснение, доступен ли для работы удаленный хост. Выяснение производится выполнением команды операционной системы ping, которая формирует пакет запроса (ICMP echo) с указанием адреса уда­ленного хоста и обратного адреса, куда присылать ответ. Если удаленный хост получают такой запрос и в состоянии его обработать, он посылает в ответ на обратный адрес пакет подтверждения (ICMP echo reply). Протокол допускает широковещательную рассылку запроса, когда сразу все хосты подсети получают запрос на доступность. Этой возможностью и воспользо­вались злоумышленники. Атака состояла из трех частей. В первой части (рис. 11.2) атакующий формирует широковещательные запросы на несколь­ко подсетей, однако при этом вместо обратного адреса указывает не свой сетевой адрес, а адрес хоста-жертвы. На втором этапе шлюз промежуточной подсети получает запрос хостам подсети и, если на шлюзе не установлена фильтрация широковещательного ICMP-трафика, то шлюз направляет за­просы хостам подсети. Уже в этот момент данная промежуточная подсеть может испытать проблемы с пропускной способностью, когда все работаю­щие хосты подсети направят ответ на запрос по обратному адресу, принад­лежащему жертве.

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

Разновидностью подобной атаки можно назвать атаку Fraggle, основанную на специфике работы протокола UDP. Стандартный, но редко используе­мый отладочный сервис chargen (character generation — создание потока символов) функционирует следующим образом — при установке соединения с хостом по UDP-порту 19, хост начинает генерировать непрерывный поток данных. Указав в качестве обратного адреса сетевой адрес жертвы, возможно вызвать перебои в работе сети.