Семейство протоколов TCP/IP. Протокол ICMP. Сообщения Request/Reply.
Добавил: | DMT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дата создания: | 21 июня 2008, 13:02 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дата обновления: | 21 июня 2008, 13:03 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: | 16107 последний сегодня, 22:23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Комментариев: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Протокол ICMP. Сообщения Request/ReplyСообщения типа Echo (эхо) - принадлежат к парным сообщениям ICMP. Сообщения этого типа используются для того, чтобы определить возможность достижения и статус компонентов сети Internet. Любой компонент сети, который получает адресованное ему сообщение Echo Request, должен сформировать ответное сообщение Echo Reply в адрес источника полученного сообщения. Наиболее простые утилиты Ping посылают одно сообщение Echo Request в адрес назначения и указывают на получение ответного сообщения Echo Reply. Более сложные утилиты формируют несколько последовательных сообщений Echo Request и измеряют значение интервала времени, который отделяет момент передачи этих сообщений от момента приема соответствующих ответных сообщений. Сообщения Echo Request и Echo Reply имеют одинаковый формат и отличаются только содержимым поля TYPE: • Значение поля TYPE = 0 соответствуют сообщению Echo Reply; • Значение поля TYPE = 8 соответствуют сообщению Echo Request. Таблица 2.5.1.
В поле CODE сообщений Echo Request/Reply размещается значение 0. В полях IDENTIFIER и SEQUENCE NUMBER помещается кодировка, которая позволяет станции назначения установить соответствие между переданными и полученными сообщениями. Как было выше отмечено, сообщения Echo Request/Reply используются для того, чтобы проверить правильность функционирования сети, однако, эти же сообщения могут быть использованы для того, чтобы нарушить функционирование сети. Для этого, чтобы нарушить функционирование сети в данном случае используется специальный тип спланированных действий, который называется атакой. Атака - это совокупность преднамеренных и координированных действий, которые предпринимаются группой злоумышленников и направлены на то, чтобы причинить моральный или экономический ущерб хозяевам какой–либо сети путем нарушения нормального режима доступа к её информационным ресурсам. Наиболее часто в сети Internet применяются атаки, которые направлены на инициирование перегрузки каналов доступа к данной сети и её активных компонентов потоками служебных сообщений. Поскольку в этом случае клиенты не могут получить доступ к ресурсам сети, такой класс атак называется DOS – Denial of Service(подавление услуги). При проведении наиболее распространенной атаки класса DOS smurf-attack используется сообщения Echo Request/Reply. На рисунке представлена схема организация атаки типа smurf. В организации этой атаки используются три компонента: • Нападающий хост (Attacker); • Посредник (Mediator); • Хост, который был выбран объектом для нападения (Victim).
Рис. 2.5.1.
В момент начала атаки атакующий хост формирует поток фальсифицированных сообщений типа Echo Request. Сообщения Echo Request, которые составляют этот поток, должны быть сформированы следующим образом: • Адрес назначения – сетевой адрес типа directed broadcast для сети посредника; • Адрес источника - сетевой адрес жертвы. После того, как шлюз посредника получает сообщение, которое адресовано всем хостам подключенной к нему сети, он осуществляет непосредственную доставку данного сообщения, используя при этом broadcast–адрес канального уровня. Таким образом, сообщение Echo Request получают все хосты данной сети. В соответствии с правилами формирования сообщений протокола ICMP, каждый из этих хостов должен будет сформировать ответное сообщение Echo Reply и направить его в адрес предполагаемого источника сообщения. Число этих ответных сообщений будет соответствовать числу активных на данный момент элементов в сети посредника. В данном случае сеть посредника играет роль умножителя, который увеличивает мощность информационного потока, который направлен на жертву нападения. Для предотвращения атак с использованием ICMP Echo Request/Reply могут быть использованы самые различные способы. В качестве одного из таких эффективных мероприятий можно использовать запрещение приема и распространения сообщений типа directed broadcast. Использование данной меры рекомендовано документом RFC 1122, в соответствии с которым должны строиться правила функционирования маршрутизаторов в сети IP. В частности, в этом документе указано, что сообщения ICMP Echo Request, которые направлены в адрес типа directed broadcast, могут быть уничтожены без формирования какого либо диагностического сообщения. Радикальным способом противодействия атакам типа smurf является запрещение трафика ICMP Echo Request/Reply на входных интерфейсах. Однако данная мера лишает многих пользователей возможности использования эффективных инструментов, которые широко используются для определения статуса данного компонента сети – утилит ping, tracert и т.д. Сообщения Timestamp Request/Reply предназначаются для обеспечения взаимной синхронизации счетчиков времени у различных компонентов сети Internet. Поскольку компоненты сети Internet не имеют общего управления, значения индивидуальных датчиков времени у каждого из компонентов могут существенно отличаться. Для того, чтобы обеспечить взаимную синхронизацию этих датчиков могут быть использованы сообщения Timestamp Request/Reply. Сообщения Echo Request и Echo Reply имеют одинаковый формат и отличаются только содержимым поля TYPE: • Значение поля TYPE = 14 соответствуют сообщению Timestamp Reply; • Значение поля TYPE = 13 соответствуют сообщению Timestamp Request. Таблица 2.5.2.
В полях IDENTIFIER и SEQUENCE NUMBER помещаются кодировки, которые позволяют станции назначения установить соответствие между переданными и полученными сообщениями. В поле Originate Timestamp сообщения Timestamp Reply отправитель помещает значение своего датчика времени в момент отправки этого сообщения. В момент получения этого сообщения станция назначения помещает в поле Receive Timestamp значение собственного датчика времени. Значения этих полей передающая станция переписывает в соответствующие поля ответного сообщения Timestamp Reply. Поле Transmit Timestamp этого сообщения формируется в момент отправки этого сообщения в адрес отправителя исходного запроса. Значения этого поля в данном случае будет соответствовать значению счетчика времени Timestamp Request–сервера в момент отправки сообщения. Получив сообщение Timestamp Request, отправитель запроса может определить величину задержки распространения между ним и сервером и, таким образом, сформировать поправку к своему датчику времени. Использование данного метода синхронизации датчиков времени не может обеспечить достаточной точности хотя бы потому, что задержки распространения сигналов в прямом и обратном направлении могут существенно отличаться и изменяться во времени. Поэтому для обеспечения надежной взаимной синхронизации датчиков времени должны быть использованы несколько сессий синхронизации. Сообщения Address Mask Request/Reply предназначены для обеспечения возможности контроля установленного значения маски для внеклассовой сети. В момент включения хост должен передать несколько сообщений типа Address Mask Request. До получения ответа на эти сообщения хост должен считать, что маска сети, к которой он подключен, соответствует классу этой сети. При получении первого ответа Address Mask Reply хост должен установить первое принятое значение в качестве маски данной сети. Таблица 2.5.3.
Сообщения Echo Request и Echo Reply имеют одинаковый формат и отличаются только содержимым поля TYPE: • Значение поля TYPE = 18 соответствуют сообщению Address Mask Reply; • Значениие поля TYPE = 17 соответствуют сообщению Address Mask Request. В поле ADDRESS MASK сообщения Address Mask Reply должна быть размещена маска сети, к которой подключен отправитель сообщения Address Request. Сообщения Timestamp Request/Reply (синхронизация времени) - принадлежат к парным сообщениям ICMP. Предполагалось, что сообщения данного типа будут использованы для выполнения процедуры определения сетевого адреса. |