Рисунок 1.3. – Многоуровневая модель средств защиты от
информационных угроз
К законодательному уровню средств безопасности относятся правовое регулирование, стандартизация, лицензирование и морально-этические нормы, принятые в обществе.
Основу административного уровня средств безопасности составляет политика безопасности. Согласно ГОСТ 50922-2006 политика безопасности – это совокупность документированных правил, процедур, практических приемов или руководящих принципов в области безопасности информации, которыми руководствуется организация в своей деятельности.
Средства безопасности процедурного уровня решают задачи, поставленные вышележащим административным уровнем, с использованием технических средств, предоставляемых нижележащим техническим уровнем. В качестве основного средства процедурного уровня выступает человек, выполняющий взаимосвязанную последовательность действий, направленную на решение той или иной задачи обеспечения безопасности [2].
1.2 Сетевые атаки
Сетевые атаки разделяют на активные и пассивные. Активные атаки включают явные воздействия на систему, изменяющие ее состояние. Это могут быть блокировка сетевого сервиса путем бомбардировки его ложными запросами или внедренное в коммуникационный протокол ложное сообщение. Главной отличительной чертой активных атак является то, что после своего завершения они, как правило, оставляют следы. Пассивные атаки не нарушают нормальную работу ИС, они связаны со сбором информации о системе, например, прослушиванием внутрисетевого трафика или перехватом сообщений, передаваемых по линиям связи. Во многих случаях пассивные атаки не оставляют следов, поэтому их очень сложно выявить, часто они так и проходят незамеченными.
Чаще всего атака включает подготовительный этап сбора информации об атакуемой системе, а затем на основе собранных данных осуществляется активное вмешательство в ее работу [2].
Сетевые атаки столь же разнообразны, как и системы, против которых они направлены. Одни атаки отличаются большой сложностью, другие может осуществить обычный оператор, даже не предполагающий, какие последствия будет иметь его деятельность.
Цели нарушителя, осуществляющего атаку:
нарушение конфиденциальности передаваемой информации;
нарушение целостности и достоверности передаваемой информации;
нарушение работоспособности всей системы или отдельных ее частей.
Трудность выявления факта проведения удаленной атаки выводит этот вид неправомерных действий на первое место по степени опасности и препятствует своевременному реагированию на осуществленную угрозу, в результате чего у нарушителя увеличиваются шансы успешной реализации атаки.
Наиболее распространены следующие атаки [3]:
подслушивание (sniffing);
изменение данных;
анализ сетевого трафика;
подмена доверенного субъекта;
посредничество;
атака MiTM (man-in-the-middle);
отказ в обслуживании (Denial of Service – DoS);
парольные атаки.
1.3 Атаки на уровне L2 модели OSI
1.3.1 ARP spoofing
В данной работе будут рассмотрены следующие популярные виды атак на канальном уровне модели OSI:
ARP spoofing;
MAC spoofing;
переполнение CAM таблицы;
атака на DHCP сервер (DHCP Starvation и DHCP spoofing);
VLAN hoping;
атака на STP.
Для начала рассмотрим угрозу ARP spoofing.
ARP spoofing - это тип атаки, при которой злоумышленник отправляет фальсифицированные сообщения ARP (Address Resolution Protocol) по локальной сети. Это приводит к связыванию MAC-адреса злоумышленника с IP-адресом легитимного компьютера или сервера в сети. Как только MAC-адрес злоумышленника подключен к подлинному IP-адресу, злоумышленник начнет получать любые данные, предназначенные для этого IP-адреса.
Подделка ARP может позволить злонамеренным сторонам перехватывать, изменять или даже останавливать данные при передаче. Атаки типа ARP spoofing могут возникать только в локальных сетях, использующих протокол разрешения адресов ARP. Последствия атаки ARP spoofing могут иметь серьезные последствия для предприятий. В основном данный вид атаки используется для кражи конфиденциальной информации. Помимо этого ARP spoofing часто используется для облегчения других атак, таких как [4]:
атаки DoS: атаки DoS часто используют ARP spoofing для связи нескольких IP-адресов с одним MAC-адресом цели. В результате трафик, предназначенный для многих разных IP-адресов, будет перенаправлен на MAC-адрес цели, перегружая целевой трафик;
захват сеанса: Атаки захвата сеанса могут использовать ARP spoofing для кражи идентификаторов сеанса, предоставляя злоумышленникам доступ к закрытым системам и данным;
атаки «человек в середине»: атаки MiTM могут полагаться на ARP spoofing для перехвата и изменения трафика между жертвами.
1.3.2 MAC spoofing
MAC spoofing - подделка MAC-адреса в отправляемых пакетах (например, с целью незаконного подключения к беспроводной сети, если точка доступа использует проверку клиентов по их MAC-адресам). Подделка MAC-адреса может быть осуществлена чрезвычайно просто – сменой MAC-адреса в свойствах сетевого адаптера, либо путем использования генератора пакетов [5].
1.3.3 Переполнение CAM таблицы
Таблица МАС-адресов коммутатора содержит МАС-адреса, которые связаны с каждым физическим портом и соответствующей VLAN. Когда коммутатор 2-го уровня получает кадр, он ищет в таблице МАС-адресов МАС-адрес назначения. Когда кадры прибывают на порты коммутатора, МАС-адреса источника регистрируются в таблице МАС-адресов. Если для данного МАС-адреса существует запись, коммутатор пересылает кадр в соответствующий порт. В случае если MAC-адреса нет в таблице МАС-адресов, коммутатор рассылает кадр из каждого порта, кроме того, на котором этот кадр был получен.
Подобное поведение коммутатора в отношении неизвестных MAC-адресов может использоваться для атаки на коммутатор. Данный вид атаки называется переполнением таблицы МАС-адресов. Атаку переполнения таблицы МАС-адресов иногда называют лавинной атакой, а также атакой переполнения таблицы CAM.
Размер таблиц МАС-адресов ограничен. Лавинные атаки используют это ограничение, забрасывая коммутатор ложными МАС-адресами источника до тех пор, пока таблица МАС-адресов коммутатора не заполнится.
Когда таблица МАС-адресов наполняется фиктивными МАС-адресами, коммутатор входит в так называемый режим с пропусканием трафика. В этом режиме коммутатор отправляет все кадры по широковещательной рассылке всем устройствам в сети. В результате злоумышленник может видеть все рассылаемые кадры. Некоторые средства сетевой атаки могут генерировать до 155 000 записей в таблице МАС-адресов коммутатора в минуту. Максимальный размер таблицы МАС-адресов может различаться в зависимости от коммутатора [6].
1.3.4 Атака на DHCP-сервер (DHCP Starvation и DHCP spoofing)
DHCP - это протокол, который автоматически присваивает хосту действительный IP-адрес из пула DHCP. DHCP является часто используемым протоколом для распределения IP-адресов клиентов. В отношении коммутируемой сети, использующей протокол DHCP, могут быть выполнены два вида атак: DHCP Starvation и DHCP spoofing.
При атаке типа DHCP Starvation злоумышленник посылает на DHCP сервер запросы DHCP Request, чтобы использовать все доступные IP-адреса, которые может выдать DHCP сервер. После раздачи всех IP-адресов из пула DHCP сервер не может выдать больше адресов, и в этой ситуации происходит отказ в обслуживании (DoS), поскольку новые клиенты не могут получить доступ к сети.
После атаки DHCP Starvation и настройки поддельного DHCP сервера злоумышленник может начать распространять IP-адреса и другие параметры конфигурации TCP/IP для сетевых DHCP клиентов. Настройки конфигурации TCP / IP включают IP-адреса шлюза по умолчанию и IP-адреса DNS-сервера. Теперь злоумышленники могут заменить оригинальный IP-адрес шлюза по умолчанию и IP-адрес DNS-сервера на свой собственный IP-адрес [7].
1.3.5 VLAN hoping
Атака типа VLAN hoping позволяет фреймам из одной VLAN проходить в другую VLAN без прохождения через маршрутизатор. Злоумышленник может использовать атаку VLAN hoping, чтобы перехватывать трафик в другой VLAN, которую предполагается изолировать от компьютера злоумышленника. С другой стороны, злоумышленник может также отправлять трафик в VLAN, к которой компьютер злоумышленника не может быть включен. Двумя основными способами запуска атаки VLAN hopping являются подмена коммутатора и двойное тегирование.
Порты на коммутаторах в режиме trunk переносят трафик для всех VLAN. Если злоумышленник может убедить коммутатор перейти в режим trunk для подключенного порта на ПК злоумышленника, злоумышленник сможет увидеть трафик для всех VLAN. Это может быть просто использовано для перехвата всего трафика во всех VLAN, и атаку подмены коммутатора можно использовать для обнаружения, например, учетных данных имени пользователя и пароля от сетевых пользователей и администраторов, и злоумышленник может использовать эти данные для более поздней атаки [8].
Для осуществления атаки двойного тегирования в сетевой конфигурации должны существовать следующие условия:
злоумышленник должен быть подключен к порту коммутатора;
коммутатор должен работать в режиме trunk.
Злоумышленник, расположенный, например, в VLAN 10, отправляет кадры, которые помечены двойным тегом, как будто использует 802.1Q trunk. Естественно, атакующий не подключен к trunk; он использует подмену коммутатора, чтобы переключить свой интерфейс коммутатора в режим trunk. Он использует инкапсуляцию магистральных каналов, чтобы обмануть коммутатор, чтобы сделать переходы кадров в другую VLAN.
Кадру, возможно, с некоторыми вредоносными данными сначала присваивается тег 802.1Q с идентификатором VLAN целевой VLAN, в данном случае VLAN 20. Затем добавляется второй фиктивный тег 802.1Q с идентификатором VLAN доступа злоумышленника - VLAN 10.
Когда коммутатор слева получает двойной помеченный кадр, он решает передать его через интерфейс внешней линии. Это связано с тем, что первый тег «VLAN 10» имеет тот же идентификатор VLAN, что и VLAN внешней линии. Тег «VLAN 10» удаляется, когда фрейм отправляется по магистрали. Коммутатор посылает все кадры из родной VLAN без тегов, это нормально. Теперь второй тег «VLAN 20» размещен в кадре. Когда второй коммутатор получает фрейм, он находит второй тег 802.1Q. Обнаружился тег для VLAN 20, и этот тег затем удален, а кадр отправлен в VLAN 20. В этот момент злоумышленник успешно отправил кадр из VLAN 10 и получил кадр, введенный в VLAN 20, не используя маршрутизатор [8].
1.3.6 Атака на STP
Резервные пути всегда приветствуются в топологии коммутатора, так как они повышают доступность и надежность сети. Резервные пути, если посмотреть на них с точки зрения уровня L2, могут вызвать петли уровня L2. Это связано с наличием поля TTL (Time To Live) в заголовке пакета IP. В связи с тем, что число TTL будет уменьшаться только при прохождении пакета через маршрутизатор, становится невозможным отбросить пакет, который застрял в цикле уровня L2. Такая ситуация может привести к широковещательным штормам. К счастью, протокол Spanning Tree Protocol (STP) может позволить иметь избыточные пути, имея топологию без петель, таким образом, предотвращая возможность широковещательных штормов [9].
Если у злоумышленника есть доступ к портам коммутатора, которые могут стать магистральными портами, он может ввести в сеть поддельный коммутатор. Злоумышленник может подключить поддельный коммутатор в своем сетевом гнезде на сетевой розетке, а коммутатор сформирует соединительную линию с коммутатором в сети. У злоумышленника него есть возможность создать еще одну связь со вторым коммутатором от атакуемой сети, он может манипулировать приоритетом поддельного коммутатора.
Злоумышленник может установить для своего коммутатора нулевой приоритет, чем спровоцирует изменения в топологии сети. Коммутатор злоумышленника станет корневым мостом, и весь трафик будет проходить этот коммутатор. Это дает злоумышленнику возможность перехватывать весь трафик в сети, но также злоумышленник может перенаправлять трафик с высокоскоростных каналов между реальным коммутатором на коммутатор злоумышленника с целью снижения скорости работы сети [9].
1.4 Атаки на уровнях L3 и L4 модели OSI
1.4.1 IP spoofing
В ходе данной работы будут рассмотрены следующие виды атак на сетевом и транспортном уровне модели OSI:
ICMP flood;
IP spoofing;
TCP flood;
UDP flood.
Для начала рассмотрим угрозу IP spoofing.
IP spoofing – метод, используемый для получения несанкционированного доступа к устройствам, в результате чего злоумышленник может выдать себя за другое устройство, обманув систему безопасности. В ходе данной атаки злоумышленник отправляет IP-пакеты с ложным или поддельным IP-адресом источника для того, чтобы замаскировать себя. При реализации DoS-атак часто используется IP spoofing для перегрузки устройств пакетами, отправленными якобы от действительных источников.
Способы защиты от IP spoofing [10]:
фильтрация на маршрутизаторах – использование ACL (список контроля доступа), таблицы, которая определяет правила фильтрации входящего трафика на основе передаваемых в пакетах протоколов, TCP/UDP портов, IP-адресов или MAC-адресов;
средством отражения маршрутизатором или коммутатором уровня 3 данного вида атаки является функция защиты IP-адреса (IP Source Guard), которая предназначена для фильтрации трафика, принятого с интерфейса, на основании таблицы соответствия DHCP snooping и статических соответствий IP Source Guard.
1.4.2 ICMP flood
Атака ICMP flood или Ping-затопление является достаточно простой: злоумышленник использует утилиту ping своей ОС для отправки эхо-запросов на атакуемый компьютер с максимально возможной частотой. Если быстродействие сетевого интерфейса его компьютера выше, чем у атакуемого компьютера, то атака удается, так как вся входная пропускная способность интерфейса атакуемого компьютера оказывается исчерпанной. К тому же атакуемый компьютер будет успевать отвечать на часть эхо-запросов эхо-ответами, что приведет к частичному исчерпанию пропускной способности в выходном направлении, а также к замедлению работы программ из-за отвлечения центрального процессора на обработку эхо-запросов [2].
1.4.3 TCP flood
Протокол TCP используется злоумышленниками и как инструмент для организации атак (обычно это атаки отказа в обслуживании), и как цель нападения – нарушение TCP-сеанса атакуемого приложения, например, путем подделки сегмента.
Затопление SYN-пакетами – это тип DoS-атаки, активно применяющийся злоумышленниками на протяжении многих лет; впервые он был подробно описан (с приведением кода атаки) в 1996 году, и уже в том же году началось его практическое «применение», которое продолжается по сей день. Атакуемым является конечный узел, как правило, сервер, работающий с клиентами по протоколу TCP. Атака SYN-пакетами (SYN Flood) использует уязвимость процедуры установления логического соединения протокола TCP. Для реализации атаки злоумышленник организует передачу на сервер массированного потока пакетов с флагом SYN, каждый из которых инициирует создание нового TCP-соединения. Получив пакет с флагом SYN, сервер выделяет для нового соединения необходимые ресурсы и в полном соответствии с протоколом отвечает клиенту пакетом с флагами ACK и SYN. После этого, установив тайм-аут, он начинает ждать от клиента завершающий пакет с флагом ACK, который так и не приходит [2].
Аналогичным образом создается множество других «недоустановленных» соединений. Обычно ОС сервера имеет лимит на количество одновременно поддерживаемых «недоустановленных» TCP-соединений (глобально или для каждого программного порта отдельно), так как каждое открытое соединение требует выделения памяти ядра ОС для нового блока TCB (Transmit Control Block). Этот блок содержит данные о состоянии соединения: сокет клиента, номер ожидаемого сегмента, указатель на положение сегмента в буфере и др. Блок TCB имеет размер от 280 до 1300 байт в зависимости от типа ОС. При достижении лимита OC начинает отвергать все последующие запросы на установление TCP-соединений, а, следовательно, отказывает в обслуживании всем, в том числе легальным клиентам сервера. По истечении тайм-аута ОС удаляет из памяти блоки TCB «недоустановленных» соединений и снова начинает устанавливать новые соединения.
Для осуществления атаки затоплением SYN-пакетами атакующий должен заблокировать нормальную реакцию своего компьютера на получение от атакуемого сервера сегмента с флагами SYN/ACK. Нормальная реакция состоит в том, что в соответствии с протоколом TCP атакующий должен отправить в ответ сегмент с флагом ACK. Но если это произойдет, атакуемый сервер почитает процедуру установления TCP-соединения завершенной, удалит соответствующий блок TCB из списка «недоустановленных» соединений и начнет пронимать новые соединения, то есть атака не удастся. Поэтому атакующий фильтрует входящий трафик, отсеивая ответы SYN/ACK от атакуемого сервера [2].
Обычно атака затоплением SYN-пакетами обнаруживается за счет наличия в трафике большого количества SYN-сегментов без соответствующего количества ACK-сегментов, идущих от того же источника. При этом заметного всплеска сетевого трафика может и не быть, так как лимит «недоустановленных» соединений сам по себе не столь велик. Главным средством борьбы с атакой SYN Flood является фильтрация трафика, поступающего от источника атаки.
Другим способом борьбы с атакой DoS SYN flood является изменение параметров протокола TCP – увеличение предельного числа «недоустановленных» соединений, уменьшение тайм-аута вытеснения старых «недоустановленных» соединений, усложнение логики самой процедуры установления соединения, например, введение специальных cookie-блоков SYN. В этом методе при приеме запроса SYN-сервер не запоминает блок TCB в своей оперативной памяти, а посылает его (в сжатом виде) клиенту вместе с SYN/ACK-ответом. При нормальном ходе установления соединения клиент отвечает ACK-сегментом, в котором повторяет сжатый блок TCB, сервер, получив этот ACK-сегмент, а с ним и все параметры устанавливаемого соединения, создает соответствующий блок TCB в памяти своего ядра. Поскольку в этой модифицированной процедуре на начальном этапе установления соединения ресурсы на сервере не выделяются, то и атака затоплением SYN-пакетами не успешна [2].
Разновидностью TCP-атаки затоплением SYN-пакетами является TCP-атаки затоплением ACK-пакетами, выполняемая путем отражения. Злоумышленник посылает SYN-пакеты с адресом жертвы на большое количество серверов, которые отвечают на SYN-пакеты пакетами с установленным битом ACK. ACK пакеты посылаются на атакуемый компьютер и исчерпывают пропускную способность его входного интерфейса. Этот прием превращает DoS-атаку в DDoS-атаку без использования сети ботов, так как все компьютеры, отвечающие на SYN-запросы, работают в полном соответствии со стандартной версией протокола TCP.
Атака сбросом TCP-соединения используется для разрыва TCP-соединений легальных пользователей. При поступлении TCP-сегмента с установленным флагом RST узел должен немедленно завершить сеанс, к которому относится этот сегмент, и удалить все данные, полученные в ходе сеанса. Разработчики протокола TCP ввели этот флаг для обработки аварийных ситуаций. Для проведения атаки злоумышленник должен подделать заголовок TCP-сегмента. Борьба с атаками подделки TCP-сегмента и сбросом TCP-соединений может вестись по двум направлениям. Первое направление связано с предотвращением прослушивания трафика, второе основано на изменении поведения самого протокола TCP, например, путем включения дополнительной процедуры аутентификации каждого TCP-сегмента с использованием цифровой подписи [2].
1.4.4 UDP flood
UDP-затопление относится к DoS-атакам и имеет целью исчерпание пропускной способности интерфейса атакуемого хоста. Она подобна атаке Ping-затопления, когда злоумышленник просто направляет интенсивный поток UDP-дейтаграмм на атакуемый хост. Поскольку протокол UDP работает без установления соединения, то атакуемый хост обязан принимать все направленные ему UDP-дейтаграммы – он не может, как при использовании протокола TCP, заставить передающий компьютер ограничить интенсивность потока направляемых ему пакетов, уменьшив размер окна приема. Злоумышленник может использовать аппаратный генератор трафика для того, чтобы генерировать UDP-трафик с максимально возможной скоростью выходного интерфейса, игнорируя ответные ICMP-сообщения в тех случаях, когда у атакуемого хоста программный порт, указанный в UDP-пакетах, не открыт.
Слабым местом такого вида атак является то, что их интенсивность принципиально ограничена производительностью интерфейса атакующего компьютера. Имея стандартный для ПК интерфейс 1 Гбит/с, невозможно затопить UDP-пакетами сервер с интерфейсом 10 Гбит/с. Злоумышленник может преодолеть это ограничение, если у него в распоряжении имеется сеть ботов. Именно такой подход был использован в 2007 году, когда была осуществлена массированная DDoS-атака UDP-затоплением на корневые DNS-серверы, при этом трафик создавался примерно пятью тысячами ботов [2].
1.5 Выводы к главе 1
По главе 1 можно сделать следующие выводы:
существует множество моделей безопасности, при помощи которых может быть пояснено понятие «информационная безопасность»: модель КЦД, гексада Паркера, модель STRIDE и другие;
сетевые атаки очень разнообразны, одни атаки отличаются своей сложностью, другие может осуществить даже обычный пользователь ввиду неосторожности или намеренно;
как правило, одна сетевая атака включает в себя элементы более простых атак, например, большинство современных сетевых атак совмещают в себе атаки на канальный и прикладной уровни модели OSI;
в главе 1 было представлено описание следующих видов угроз:
ARP spoofing;
MAC spoofing;
переполнение CAM таблицы;
DHCP Starvation;
DHCP spoofing;
VLAN hoping;
ICMP flood;
IP spoofing;
UDP flood;
10)TCP flood;
для реализации в данной ВКР мною были выбраны следующие виды угроз:
ARP spoofing;
MAC spoofing;
переполнение CAM таблицы;
DHCP Starvation;
DHCP spoofing;
ICMP flood;
UDP flood;
SYN flood.
2 Разработка и реализация моделей угроз уровня L2 и методов защиты
2.1 Разработка модели угрозы MAC spoofing и методов защиты
Для реализации моделей угроз информационной безопасности на канальном уровне модели OSI были использованы следующие программы и утилиты:
для реализации атаки MAC spoofing использовалась утилита macchanger на базе ОС Kali Linux;
для реализации атаки ARP spoofing использовалась программа Cain&Abel на базе ОС Windows 10;
для реализации атаки переполнения CAM таблицы использовался инструмент macof из утилиты dsniff на базе OC Ubuntu 14.03;
для реализации атак DHCP Starvation и DHCP spoofing использовались утилита Yersinia и утилита Ettercap на базе ОС Kali Linux.
Первой для реализации выбрана угроза MAC spoofing.
Цель угрозы MAC spoofing – выдать хост злоумышленника за хост легитимного пользователя путем смены MAC-адреса устройства злоумышленника на MAC-адрес, совпадающий с MAC-адресом устройства легитимного пользователя или произвести смену MAC-адреса с целью заметания следов после атаки.
Схема проведения эксперимента представлена на рисунке 2.1. В эксперименте участвуют устройство легитимного пользователя (виртуальная машина на базе Oracle VM VirtualBox), коммутатор MES3124F и устройство злоумышленника, подключенное к коммутатору (виртуальная ОС Kali Linux на базе Oracle VM VirtualBox с встроенной утилитой macchanger). В данном эксперименте смена MAC-адреса происходит с целью скрытия истинного MAC-адреса злоумышленника.
|