Материал: Логико-лингвистические модели атак на компьютерные системы. Остапенко Г.А., Дмитриева Е.Ю

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Таблица 4.6. «Шторм» ложных DNS-ответов

Адрес отправителя

Адрес получателя

ID

Номер порта

Ответ на DNS-запрос

IP-адрес DNS-сервера

IP-адрес «жертвы»

ID1

Номер порта1

IP-адрес атакующего

IP-адрес DNS-сервера

IP-адрес «жертвы»

ID2

Номер порта2

IP-адрес атакующего

IP-адрес DNS-сервера

IP-адрес «жертвы»

IDi

Номер портаi

IP-адрес атакующего

IP-адрес DNS-сервера

IP-адрес «жертвы»

IDn

Номер портаn

IP-адрес атакующего

Требования, предъявляемые к полученному от DNS-сервера ответу заключается в том чтобы:

- IP-адреса отправителя ответа совпадал с IP-адресом DNS-сервера.

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

- DNS-ответ должен быть направлен на тот же UDP-порт, с которого был послан DNS-запрос.

- В DNS-ответе поле идентификатор запроса в заголовке DNS (ID) должно содержать то же значение, что и в переданном DNS-запросе.

Внедрение в Internet ложного сервера путем создания направленного «шторма» ложных DNS-ответов на атакуемый хост:

а) атакующий создает направленный "шторм" ложных DNS-ответов на атакуемый хост (рисунок 4.14);

б) Атакуемый хост посылает DNS-запрос и немедленно получает ложный DNS-ответ (рисунок 4.15);

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

Рисунок 4.14 - «Шторм» ложных DNS-ответов

В качестве объекта атаки обычно выбирается активный клиент сети. Ставка делается на то, что клиент будет пытаться связаться с каким-либо широко известным сервером. Методом простого перебора UDP-портов клиента и идентификаторов DNS-запросов ложный сервер DNS атакует потенциальную жертву «штормом» ложных ответов.

Рисунок 4.15 - Получение ложного DNS-ответа

Рисунок 4.16 - Работа сети во время атаки

Кроме того, следует помнить, что корпоративная сеть всегда имеет несколько серверов DNS, причем приоритет их для клиента хакеру заранее не известен. Поэтому если цель атаки - проникновение внутрь корпоративной сети, то ложный сервер DNS должен генерировать ответы от имени всех серверов DNS сети, что приведет к резкому снижению производительности соединения «локальная сеть – Internet» на длительный промежуток времени [41].

4.2.2.4 Перехват dns-запроса или создание направленного «шторма» ложных dns-ответов непосредственно на атакуемый dns-сервер

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

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

В случае если атакующий компьютер не может перехватить DNS-запрос от DNS-сервера, для реализации атаки ему необходим «шторм» ложных DNS-ответов, направленный на DNS-сервер. При этом необходимо подбирать значение поля ID. Это обстоятельство делает практическую реализацию данной атаки очень трудноосуществимой. Ложный ответ должен быть получен целевым сервером в промежуток времени с момента посылки запроса и до момента прихода ответа от настоящего сервера, что на практике составляет не более нескольких секунд. За этот интервал времени атакующему необходимо послать 216 ложных ответов со всеми возможными значениями id, а в случае незнания порта эта цифра увеличивается еще в несколько десятков раз (обычно между серверами используется 53 порт). Поскольку размер IP-пакета, содержащего ложный ответ, составляет около 100 байт, то перед атакующим ставится задача пересылки нескольких мегабайт информации за несколько секунд, что в подавляющем большинстве случаев неосуществимо. Поскольку ложный сервер DNS в общем случае не знает, когда клиент обратится с DNS-запросом по конкретному узлу, «шторм» ложных ответов должен продолжаться достаточно долго, чтобы атака была результативной [4].

  Внедрение в Internet ложного сервера путем создания направленного «шторма» ложных DNS-ответов на атакуемый DNS-сервер:

- атакующий создает направленный «шторм» ложных DNS-ответов от имени одного из корневых DNS-серверов и при этом провоцирует атакуемый DNS-сервер, посылая DNS-запрос (рисунок 4.18);

- DNS-сервер передает DNS-запрос на primary DNS-сервер и немедленно получает ложный DNS-ответ от атакующего;

- кэш-таблица DNS-сервера содержит информацию о соответствии имени IP-адресу хоста атакующего (рисунок 4.19).

 Есть еще одно условие осуществления этой удаленной атаки на DNS-сервер при направленном «шторме» ложных DNS-ответов: атака будет иметь успех, только если DNS-сервер пошлет запрос на поиск определенного имени (которое содержится в ложном DNS-ответе). DNS-сервер посылает этот необходимый для атакующего запрос в том случае, если на него придет DNS-запрос от какого-либо хоста на поиск данного имени, и этого имени не окажется в кэш-таблице DNS-сервера [40].

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

Рисунок 4.17 - Нормальное функционирование DNS-серверов

Рисунок 4.18 - Отправка ложных DNS-ответов

Рисунок 4.19 - Отправка ложного DNS-ответа запросившему хосту

4.2.2.5 Обнаружение и защита от внедрения ложного dns-сервера

Обнаружение атак на DNS осуществляется при помощи анализа содержимого DNS трафика. Например при помощи программы dnstop. Эта утилита использующая libpcap для сниффинга DNS трафика и отображения кто и какие DNS запросы осуществляет в данный момент.

Логфайл программы:

Query Sources

Queries: 2 new, 57 total

Sources Count %

--------------- --------- ------

xx.172.220.163 3 5.3

xx.222.204.147 3 5.3

xxx.196.24.98 3 5.3

xx.60.124.201 3 5.3

xxx.77.99.18 2 3.5

xxx.2.181.6 2 3.5

xx.83.0.9 1 1.8

xx.231.32.10 1 1.8

xxx.71.10.161 1 1.8

xxx.204.183.61 1 1.8

xx.38.0.108 1 1.8

xx.160.37.3 1 1.8

xx.99.135.16 1 1.8

xxx.254.254.130 1 1.8

xxx.13.29.44 1 1.8

xx.25.5.150 1 1.8

xxx.207.78.69 1 1.8

xx.211.69.181 1 1.8

1st Level Query Names

Queries: 3 new, 440 total

Query Name Count %

------------ --------- ------

com 247 56.1

org 130 29.5

net 25 5.7

in-addr.arpa 19 4.3

us 19 4.3

2nd Level Query Names

Queries: 1 new, 509 total

Query Name Count %

----------------------- --------- ------

wpad.com 153 30.1

openresolvers.org 114 22.4

packet-pushers.com 103 20.2

measurement-factory.com 27 5.3

squid-cache.org 19 3.7

dont-contact.us 18 3.5

ircache.net 14 2.8

xx.in-addr.arpa 13 2.6

wpad.net 6 1.2

life-gone-hazy.com 4 0.8

wpad.org 4 0.8

web-polygraph.org 4 0.8

web-cache.com 4 0.8

wrec.org 4 0.8

wpad.us 3 0.6

nlanr.net 3 0.6

xx.in-addr.arpa 2 0.4

iwcw.org 2 0.4

Query Source and 2nd Level Domain

Queries: 2 new, 738 total

Source Query Name Count %

-------------- ----------------------- --------- ------

xx.160.37.4 measurement-factory.com 31 4.2

xxx.88.64.49 wpad.com 28 3.8

xxx.88.64.50 packet-pushers.com 14 1.9

xx.160.37.4 12.in-addr.arpa 12 1.6

xxx.88.64.50 wpad.com 7 0.9

xx.83.0.9 wpad.com 7 0.9

xx.160.37.4 life-gone-hazy.com 6 0.8

xxx.190.163.10 packet-pushers.com 4 0.5

xxx.155.0.15 packet-pushers.com 4 0.5

xx.18.192.242 wpad.com 4 0.5

xxx.69.16.18 packet-pushers.com 3 0.4

Источник: https://studfile.net/preview/16563007/