My photo
 Моя диссертация
  • Автореферат
  • Статья
  •  Библиотека
  • Определение ОС
  • Сканирование портов
  • Безопасность TCP/IP
  • Атака format string
  • Переполнение буфера
  • Программирование
  • Linux Security Guide
  • Secure programming
  • RFC Index List
  •  Ссылки
  • Списки рассылки
  • Группы новостей Usenet
  • Web сайты
  • Ftp архивы
  •  Поиск в Internet
  • Статистика поиска
  • Designed by
    Andrew V.Volkogon
    2002

    Title
      RussianEnglishUkranian  
     
    МЕТОДЫ DoS АТАК И ИХ ПРЕДОТВРАЩЕНИЕ В КОМПЬЮТЕРНЫХ СЕТЯХ
    Ковалев С.А., Волкогон А.В.
    Кафедра ЭВМ ДонНТУ
    kovalev@pop.donntu.ru

          
    Abstract
           Kovalev S.A., Volkogon A.V. DoS attacks methods and its prevention in computer networks. Active development and implementation of the modern information technologies demand increasing of computer systems' safety. This paper exams problem of the dental of service attacks to the computer system or local computer network. Some recommendations of prevention for "smurf" and "fraggle" attacks are proposed for different types of operation systems.       
    Введение
           В период активного развития и внедрения в повседневную жизнь информационных технологий немаловажную роль играют надежность систем, обеспечивающих доступ к информации, и ее хранение. Однако вместе с ростом важности информации растут и потери, понесенные вследствие кражи, разрушения или отсутствием доступа к той или иной информации. Атака, приводящая к невозможности получить информацию или к невозможности дальнейшей работы систем без перезагрузки, называется "атака отказа в обслуживании" - DoS (Denial of Service). По сути, атака такого рода препятствуют или полностью блокирует ответы службы законным пользователям.

           Атаки DoS всегда злонамеренны и сегодня существует большое количество утилит для их проведения даже не профессионалом. На практике проще нарушить работу сети или системы, чем получить к ней неавторизированный доступ. Сетевые протоколы TCP/IP были разработаны для открытого и честного использования, и современная четвертая версия стека TCP/IP унаследовала эти "недостатки" предыдущих вариантов. Кроме того, многие системы имеют собственные ошибки в реализации стека, что снижает их способность противостоять атакам DoS. Атака отказа в обслуживании существенно изменила мир Internet, показав слабость защиты используемых технологий.       
    1. Основные типы атак DoS
           Захват полосы пропускания - наиболее коварная атака DoS, которая связана с перегрузкой полосы пропускания (Bandwidth consumption). В этом случае атакующий занимает всю имеющуюся полосу пропускания сети. Рассмотрим примеры проведения подобной атаки. Атакующий перегружает целевое сетевое соединение, имея в своем распоряжении канал связи с большей полосой пропускания, посылая множество пакетов например, ICMP (Internet Control Message Protocol, протокол диагностики сети) на целевой хост. Этот способ характерен для блокировки линий T1 (1.544 Мбит/c) и более производительных сетевых связей. Для заполнения полосы пропускания таких мощных линий могут использоваться сетевые линии с пропускной способностью всего 56 или 128 Кбит/с. Второй способ заключается в следующем: нападающий усиливает атаку DoS, инициируя ее одновременно из нескольких точек. В этом случае даже по линии 56 Кбит/с можно полностью подавить линию T3 (45 Мбит/с). Усиление атакующего потока происходит за счет направления трафика из нескольких серверов. Истощение ресурсов - атака направленная не на ресурсы сети, а на ресурсы системы. В общем случае атака истощения ресурсов предполагает расходование процессорных циклов, памяти, квот файловой системы или других системных ресурсов. Атаки данного рода обычно приводит к полной недоступности одно из ресурсов, переполнению файловой системы или зависанию процессора. Использование ошибок программирования - данный вид атаки DoS приводит к краху приложений, операционной системы или аппаратного обеспечения, которые не могут работать в нестандартной ситуации. Такие ситуации характерны, когда производится посылка на целевую систему пакетов не совместимых со стандартом RFC (Request For Comments), или, когда программы ожидают пользовательский ввод, т.е. вводится огромное количество данных, что вызывает переполнение буфера, а иногда даже и выполнение привилегированных команд. От ошибок, скорее всего, не защищена ни одна из систем, будь то ОС или процессор компьютера (одна из атак DoS данного типа: если на процессоре Pentium выполнить инструкцию 0xF00FC7C8A, то произойдет крах любой операционной системы).[1-11]       
    2.Захват полосы пропускания
           К наиболее опасной разновидности DoS относится атака имеющая название smurf, поскольку имеет эффект усиления, являющийся результатом отправки прямых широковещательных запросов ping к системам, которые обязаны послать ответ. Чтобы использовать особенности широковещательной рассылки нужно как минимум три участника: атакующий, усиливающая сеть и целевой хост. Атакующий посылает фальсифицированный пакет ICMP ECHO по адресу широковещательной рассылки усиливающей сети. Адрес источника заменяется адресом жертвы, чтобы представить дело так будто именно целевая система послала запрос. Поскольку пакет ECHO послан по широковещательному адресу, все системы усиливающей сети возвращают жертве свои ответы. Рассмотрим процедуру формирования фальшивого ICMP запроса.[6]
    • 1. С помощью функции connect создается сокет (программный интерфейс) для соединения по протоколу TCP/IP.
    • 2. Параметр SO_BROADCAST устанавливается в 1
    • 3. Организуется цикл, в котором производится вызов следующей функции:
      • - выделение буфера для IP пакета (заголовки IP+ICMP)
      • - очистка выделенного буфера
      • - заполнение структуры пакета (рис.1)
      • - посылка сформированного пакета
      • - освобождение выделенной памяти
           Послав один пакет ICMP в сеть из 100 систем, атакующий инициирует усиление атаки DoS в сто раз. Коэффициент усиления зависит от состава сети, поэтому для успешной атаки нужно выбрать большую сеть способную подавить работу целевой системы.

           Рассмотрим пример. Предположим, что атакующий послал 14 Кбайт непрерывного трафика ICMP на широковещательный адрес усиливающей сети, содержащей 100 систем. Сеть атакующего подключена к Internet полнодуплексным ISDN соединением, усиливающая сеть - линией T3 со скоростью 45Мбит/c, а сеть целевого хоста линией T1 (1.544 Мбит/с). Умножив 14 Кбайт на 100 систем, получим трафик 14Мбит/с направленный на целевую систему. Результатом будет полное блокирование линии T1.[7]

           Существует еще один вариант атаки базирующийся на smurf, которая получила название fraggle. В данной атаке используются пакеты UDP вместо ICMP. Атакующий посылает фальсифицированные пакеты UDP по адресу широковещательной рассылки усиливающей сети, обычно на порт 7. Каждая система, в которой разрешен ответ на эхо - пакеты, возвратит пакеты системе - жертве. Если в системах усиливающей сети запрещены эхо - ответы, то системы сгенерируют

    Рисунок 1. Заполнение структуры IP пакета.[11]

    сообщения ICMP о невозможности получить эхо - ответ и все равно будет сгенерирован не нужный трафик большого объема.

           Рассмотренный вариант DoS атаки Smurf является одним из многих методов. Возможно заблокировать работу сети или системы SYN наводнением, при котором не требуется большая полоса пропускания, и усиливающая сеть. Идея SYN наводнения заключается в том, чтобы послать целевому узлу пакеты c установленным SYN флагом и фальшивым IP адресом отправителя. В таком случае целевая система отправит на фальшивый адрес пакет SYN/ACK и будет ждать пакета ACK, однако такового не будет и соединение отправляется в очередь, забирая тем самым системные ресурсы.
    3. Способы предотвращения smurf
           Предотвратить эффект усиления позволит запрет операций прямой широковещательной рассылки на всех граничных маршрутизаторах. В устройствах Cisco нужно применить команду no ip directed-broadcast. В Cisco IOS версии 12 прямая широковещательная рассылка запрещена по умолчанию. Дополнительно можно установить в ОС режим отбрасывания эхо - пакетов. Для систем Solaris, чтобы заблокировать широковещательные эхо - запросы нужно добавить строчку в файл /etc/rc2.d/S69inet : ndd -set /dev/ip ip_respond_to_echo_broadcast 0 . В системах Linux для предотвращения smurf атаки нужно воспользоваться брандмауэром реализованным на уровне ядра системы. Приведенные ниже правила (рис. 2) предназначены для противостояния smurf атаке и регистрации попыток ее проведения. Поскольку прохождение широковещательных ICMP пакетов явно не разрешено ни одним из правил, то такие пакеты будут удалены по умолчанию. В правилах указаны не только ECHO REQUEST но и другие типы ICMP пакетов, так как атаку можно провести, используя и другие сообщения ICMP протокола.

    Рисунок 2. Пример конфигурирования брандмауэра для защиты от smurf.[2]

           В данном примере настройки брандмауэра запрещается межсегментная пересылка пакетов ICMP с широковещательным адресом назначения, маске сети или адресу сети по цепочкам input и output. Системы FreeBSD версии 2.2.5. и выше по умолчанию запрещают прямые широковещательные рассылки. Включение и выключение данной опции производится параметром sysctl в net.inet.icmp.bmcastecho. В системах AIX 4 или выше ответы на широковещательные запросы запрещены. Команда no bcastping позволяет включать/выключать ответы. Для предотвращения атаки fraggle во всех версиях UNIX в файле /etc/inetd/conf закомментировать строчку разрешения запуска служб echo и chargen. Важно предотвратить использование сайта в качестве усилителя атаки, но еще важнее выявить, что сайт используется для проведения подобной атаки. Следует сократить трафик ICMP и UDP на граничных маршрутезаторах до объема, действительно необходимого системам сети, либо ограничится определенным типом трафика ICMP. Усилить защиту позволит установка режима CAR (Commited Access Rate), реализованного в Cisco IOS 1.1CC, 11.1CE и 12.0. В этом случае трафик ICMP ограничивается разумной величиной, например на уровне 256 или 512 Кбайт. [1-3]
    Заключение
           Сложно объяснить причины проведения DoS атак. Поскольку киберпространство отражает недостатки реальной жизни, атаки DoS стали мощным оружием кибер-террористов, которые стали довольно часто применяться в новом электронном тысячелетии. Защитить конкретную систему от smurf и fraggle атак практически невозможно, поэтому необходимо проведение ряда предлагаемых мер по предотвращению использования компьютерных сетей в качестве усиливающих.
    Литература
          
    • 1. "Максимальная безопасность в Linux": Пер. с англ./Автор анонимный - К.: Издательство "ДиаСофт" 2000. - 400c.
    • 2. "Брандмауэры в Linux": Пер. с англ.: Уч. пос. - М. : Издательский дом "Вильямс", 2000. - 384c.
    • 3. "Linux IP Stacks в комментариях": Пер. с англ./Стефен Т. Сэтчелл и Х.Б. Дж. Клиффорд. - К: Издательство "ДиаСофт", 2001. - 288 c.
    • 4. "Безопасность глобальных сетевых технологий": Зима В.М. : BHV C-Петербург, 2000 г. 320с.
    • 5. "Защита информации и безопасность компьютерных сетей": Домарев В.Н. :DiaSoft, 2000 г. 480с.
    • 6. "Секреты хакеров": Пер. с англ./Стюарт Макклуре, Ждоел Скембрей-К : Издательство "Лори", 2001.-435c.
    • 7. "Атака через Internet": И. Медведовский, П. Семьянов, В. Платонов М: Москва,2000г., 334с.
    • 8. "Системное программирование на С++ для UNIX": Теренс Чан, под редакцией М. Коломыцева, - BHV, Киев 1999 г.589с.
    • 9. "Руководство программиста для Linux": Свен Голдт, Свен ван дер Миир, версия 0.4 (существует только в электронном виде).
    • 10. "Ядро Linux" : Девид А. Раслинг, (электронный вариант).
    • 11. "Создание сетевых приложений в среде Linux": Пер. с англ. - М. : Издательский дом "Вильямс", 2001. - 464c.