Схема
реализации IP-спуфинга:
2.2 Методы защиты
от IP-спуфинга
Снизить риск
атаки информационной системы с
подменой IP-адреса можно тремя способами:
- Контроль доступа.
Самый простой способ предотвращения
IP-спуфинга состоит в правильной настройке
управления доступом. Чтобы снизить эффективность
IP-спуфигна, настройте контроль доступа
на отсечение любого трафика, поступающего
из внешней сети с исходным адресом, который
должен располагаться внутри вашей сети.
Заметим, что это помогает бороться с IP-спуфингом,
когда санкционированными являются только
внутренние адреса. Если санкционированными
являются и некоторые адреса внешней сети,
данный метод становится неэффективным;
- Фильтрация RFC
2827. Вы можете пресечь попытки спуфинга
чужих сетей пользователями вашей сети.
Для этого необходимо отбраковывать любой
исходящий трафик, исходный адрес которого
не является одним из IP-адресов вашей организации.
Этот тип фильтрации, известный под названием
"RFC 2827", может выполнять и ваш провайдер
(ISP). В результате отбраковывается весь
трафик, который не имеет исходного адреса,
ожидаемого на определенном интерфейсе.
К примеру, если ISP предоставляет соединение
с IP-адресом 15.1.1.0/24, он может настроить
фильтр таким образом, чтобы с данного
интерфейса на маршрутизатор ISP допускался
только трафик, поступающий с адреса 15.1.1.0/24.
Следует заметить, что до тех пор, пока
все провайдеры не внедрят этот тип фильтрации,
его эффективность будет намного ниже
возможной. Кроме того, чем дальше от фильтруемых
устройств, тем труднее проводить точную
фильтрацию. Так, например, фильтрация
RFC 2827 на уровне маршрутизатора доступа
требует пропуска всего трафика с главного
сетевого адреса (10.0.0.0/8), тогда как на уровне
распределения (в данной архитектуре)
можно ограничить трафик более точно (адрес
- 10.1.5.0/24);
- Криптография и “сильная” аутентификация.
IP-спуфинг может функционировать только
при условии, что аутентификация происходит
на базе IP-адресов. Поэтому внедрение дополнительных
методов аутентификации делает этот вид
атак бесполезными. Лучшим видом дополнительной
аутентификации является криптографическая.
Если она невозможна, хорошие результаты
может дать двухфакторная аутентификация
с использованием одноразовых паролей.
Глава
3. DoS и DDoS атаки
3.1 Реализация
DoS и DDoS атак
DoS-атака (от англ. Denial of Service – “отказ
в обслуживании”) - это атака на вычислительную
систему с целью довести её до отказа.
При этом виде атаки создаются такие условия,
при которых легальные пользователи системы
не могут получить доступ к предоставляемым
системным ресурсам (серверам), либо этот
доступ затруднён. Отказ «вражеской» системы
может быть и шагом к овладению системой
(если в нештатной ситуации ПО выдаёт какую-либо
критическую информацию — например, версию,
часть программного кода и т. д.). Но чаще
такой вид атак применяется с целью экономического
давления: счета от провайдера и меры по
уходу от атаки ощутимо бьют «цель» по
карману.
Если атака
выполняется одновременно с большого
числа компьютеров, то говорят уже о DDoS-атаке
(от англ. Distributed Denial of Service, то есть о распределённой
атаке типа “отказ в обслуживании”).
Такая атака
проводится в том случае, если требуется
вызвать отказ в обслуживании
хорошо защищенной крупной компании
или правительственной организации.
Первым делом злоумышленник сканирует
крупную сеть с помощью специально
подготовленных сценариев, которые
выявляют потенциально слабые узлы. Выбранные
узлы подвергаются нападению, и злоумышленник
получает на них права администратора.
На захваченные узлы устанавливаются
троянские программы, которые работают
в фоновом режиме. Теперь эти компьютеры
называются компьютерами-зомби, их пользователи
даже не подозревают, что являются потенциальными
участниками DDoS-атаки. Далее злоумышленник
отправляет определенные команды захваченным
компьютерам и те, в свою очередь осуществляют
мощную DoS-атаку на целевой компьютер.
В некоторых
случаях к фактической DDoS-атаке приводит
непреднамеренное действие, например,
размещение на популярном интернет-ресурсе
ссылки на сайт, размещённый на малопроизводительном
сервере (слэшдот-эффект). Большой наплыв
пользователей приводит к превышению
допустимой нагрузки на сервер и, следовательно,
отказу в обслуживании части из них.
Схема DDoS-атаки:
DDoS-атака может
реализовываться за счет следующих методов
и приемов:
- Насыщение полосы пропускания.
Насыщения полосы пропускания можно добиться
несколькими способами. Среди них: HTTP-флуд
и ping-флуд; smurf-атака; атака по типу “осколочной
гранаты” (Fraggle) и атака с помощью переполнения
пакетами SYN. Принцип действия всех этих
методов один: злоумышленником посылаются
обычно бессмысленные или сформированные
в неправильном формате запросы к компьютерной
системе или сетевому оборудованию жертвы.
Цель этих запросов – вызвать отказ в
работе системы вследствие исчерпания
ее системных ресурсов (процессора, памяти,
каналов связи);
- Недостаток
ресурсов. Злоумышленники прибегают к
данному виду DoS-атаки для захвата системных
ресурсов, таких как оперативная и физическая
память, процессорное время и другие. Обычно
такие атаки проводятся с учетом того,
что взломщик уже обладает некоторым количеством
ресурсов системы. Целью атаки является
захват дополнительных ресурсов. Для этого
не обязательно насыщать полосу пропускания,
а достаточно просто перегрузить процессор
жертвы, то есть занять все допустимое
процессорное время. Этого можно достичь
следующими приемами: Отправка “тяжелых”
пакетов; переполнение сервера лог-файлами;
атака второго рода;
- Ошибки программирования.
Профессиональные реализаторы DoS-атак
не используют такой примитивный способ
атаки, как насыщение полосы пропускания.
Полностью разобравшись в структуре системы
жертвы, они пишут программы (эксплойты),
которые помогают атаковать сложные системы
коммерческих предприятий или организаций.
Чаще всего это ошибки в программном коде,
приводящие к обращению к неиспользуемому
фрагменту адресного пространства, выполнению
недопустимой инструкции или другой необрабатываемой
исключительной ситуации, когда происходит
аварийное завершение программы-сервера
— серверной программы. Классическим
примером является обращение по нулевому
адресу;
- Маршрутизация и атаки на DNS-серверы.
Все атаки на DNS-серверы можно разбить
на два типа: DoS-атаки на уязвимости в ПО
серверов и непосредственно DDoS-атаки на
DNS-серверы.В первом случае в процессе
атаки злоумышленник подменяет IP-адрес
DNS-сервера домена жертвы. После чего атакуемый
при запросе HTML-страницы, попадает либо
в «черную дыру» (если IP-адрес был заменен
на несуществующий), либо на сервер злоумышленника.
Второй случай более опасен для жертвы,
так как злоумышленник легко может получить
доступ к его личным данным. Что же касается
DDoS-атак на DNS-серверы, то это самый банальный
вид атак. DNS-сервер приводится к отказу
в обслуживании как путем насыщения полосы
пропускания, так и путем захвата системных
ресурсов. Но такая атака требуют огромного
количества компьютеров-зомби. После ее
успешного проведения, пользователи не
могут попасть на нужную им страницу в
Интернете, потому что DNS-сервер не может
преобразовать доменное имя в IP-адрес
сайта.
Некоторые известные случаи DoS-атак:
- В
ноябре 2002 года злоумышленники смогли
вывести из строя 7 корневых DNS-серверов;
- В
августе того же года произошла атака
на крупнейшую американскую телекоммуникационную
компанию AT&T. В результате атаки, которая
продлилась 8 часов, вышли из строя все
DNS-серверы компании. Пользователи некоторое
время не могли зайти не только на сайт
компании AT&T, но и на коммерческие сайты
в ее сети;
- 10
ноября 2012 года произошла атака на компанию
Go Daddy. Эта компания является крупнейшим
в мире хостинг-провайдером. Последствия
атаки были разрушительны: пострадал не
только сам домен www.godaddy.com, но и более 33
миллионов доменов в сети Интернет, которые
были зарегистрированы компанией Go Daddy;
- 22
августа 2003 года злоумышленники при помощи
вируса Mydoom вывели из строя сайт компании
SCO, занимающейся разработкой системного
программного обеспечения. Целых 3 дня
пользователи не могли попасть на сайт
компании.
3.2 Выявление
DoS-атак и защита от них
Существует
мнение, что специальные средства
для выявления DoS-атак не требуются,
поскольку факт DoS-атаки невозможно не
заметить. Во многих случаях это действительно
так. Однако достаточно часто наблюдались
удачные DoS-атаки, которые были замечены
жертвами лишь спустя 2-3 суток. Бывало,
что негативные последствия атаки выливались
в излишние расходы на оплату избыточного
интернет-трафика, что выяснялось лишь
при получении счёта от провайдера. Кроме
того, многие методы обнаружения атак
неэффективны вблизи объекта атаки, но
эффективны на сетевых магистральных
каналах. В таком случае целесообразно
ставить системы обнаружения именно там,
а не ждать, пока пользователь, подвергшийся
атаке, сам её заметит и обратится за помощью.
К тому же для эффективного противодействия
DoS-атакам необходимо знать тип, характер
и другие характеристики DoS-атак, а оперативно
получить эти сведения как раз и позволяют
системы обнаружения.
Методы обнаружения
DoS-атак делятся на три большие группы:
- Сигнатурные.
Они основаны на качественном анализе
трафика;
- Статистические.
Основаны на количественном анализе трафика;
- Гибридные.
Являются комбинацией двух вышеназванных
методов.
Основные
методы защиты от DoS-атак:
- Предотвращение.
Профилактика причин, побуждающих тех
или иных лиц организовывать DoS-атаки.
Очень часто сетевые атаки являются следствиями
личных обид, политических, религиозных
и иных разногласий;
- Фильтрация и блэкхолинг.
Блокирование трафика, исходящего от атакующих
машин. Эффективность этих методов снижается
по мере приближения к объекту атаки и
повышается по мере приближения к атакующей
машине;
- Обратный DoS.
Перенаправление трафика, используемого
для атаки, на атакующего;
- Устранение уязвимостей.
Не работает против атак, построенных
по принципу “флуда”, для которых
“уязвимостью” является конечность тех
или иных системных ресурсов;
- Наращивание ресурсов.
Абсолютной защиты, естественно, не дает,
но является хорошим фоном для применения
других видов защиты от DoS-атак;
- Рассредоточение.
Построение распределённых дублированных
систем, которые не прекратят обслуживать
пользователей, даже если некоторые их
элементы станут недоступны из-за DoS-атаки;
- Уклонение.
Увод непосредственной цели атаки (доменного
имени или IP-адреса) подальше от других
ресурсов, которые часто также подвергаются
воздействию вместе с непосредственной
целью атаки;
- Активные ответные меры.
Воздействие на источники, организатора
или центр управления атакой, как техническими,
так и организационно-правовыми средствами;
- Использование оборудования для отражения DoS-атак.
Например, DefensePro (Radware), SecureSphere (Imperva), Периметр
(МФИ Софт), Arbor Peakflow, Riorey, Impletec iCore и др.;
Глава
4. Атаки типа Man in the middle
4.1 Реализация
атаки Man in the middle
Атака по типу Man in the middle (в пер. с англ.
“человек посередине”) – это метод компрометации
канала связи, при котором взломщик, подключившись
к каналу между контрагентами, осуществляет
активное вмешательство в протокол передачи,
удаляя, искажая информацию или навязывая
ложную.
Атака начинается
с прослушивания канала связи и заканчивается
тем, что злоумышленник пытается подменить
перехваченное сообщение, извлечь из него
полезную информацию, перенаправить его
на какой-нибудь внешний ресурс.
Предположим,
объект A планирует передать объекту
B некую информацию. Объект C обладает
знаниями о структуре и свойствах
используемого метода передачи данных,
а также о факте планируемой
передачи информации, которую С планирует
перехватить. Для совершения атаки С “представляется”
объекту А как В, а объекту В — как А. Объект
А, ошибочно полагая, что он направляет
информацию В, посылает её объекту С. Объект
С, получив информацию, и совершив с ней
некоторые действия (например, скопировав
или модифицировав в своих целях) пересылает
данные собственно получателю — В; объект
В, в свою очередь, считает, что информация
была получена им напрямую от А.
Общая схема
атаки типа “Человек посередине”:
- Контрагент
А отправляет сообщение контрагенту В
и просит В передать свой открытый ключ,
но его перехватывает злоумышленник С;
- С
отправляет сообщение В;
- В
отправляет свой открытый ключ А, и ключ
перехватывает С;
- С
отправляет А свой собственный ключ, но
А думает, что это ключ В;
- А
шифрует новое сообщение при помощи ключа
С и отправляет его В;
- С
перехватывает сообщение А, расшифровывает,
видоизменяет сообщение или производит
любые другие манипуляции с ним, после
чего шифрует сообщение открытым ключом
В и оправляет его В;
- В
получает сообщение, зашифрованное его
же ключом.
Этот
пример демонстрирует необходимость
использования методов для подтверждения
того, что обе стороны используют
правильные открытые ключи, то есть что
у стороны А открытый ключ стороны В,
а у стороны В открытый ключ стороны А.
В противном случае, канал может быть подвержен
атаке типа “человек посередине”.
Возможные
сценарии атаки:
- Обмен открытыми ключами.
В случае системы с открытым ключом, злоумышленник
может перехватывать сообщения обмена
открытыми ключами между клиентом и сервером
и изменять их, как в примере выше. Для
того, чтобы оставаться незамеченным,
злоумышленник должен перехватывать все
сообщения между клиентом и сервером и
шифровать и расшифровывать их соответствующими
ключами. Такие действия могут показаться
слишком сложными для проведения атаки,
однако они представляют реальную угрозу
для небезопасных сетей (например, интернет
и беспроводные сети). Именно поэтому атаки типа «человек
посередине» представляют реальную угрозу
для систем, совершающих финансовые операции
через интернет. К ним относятся: интернет-банкинг,
платёжный шлюз и др. Применяя данный вид
атаки, злоумышленник может получить доступ
к учетной записи пользователя и совершать
всевозможные финансовые махинации от
его имени;
- Внедрение вредоносного кода.
Внедрение кода в атаке типа «человек
посередине» главным образом применяется
для захвата уже авторизованной сессии,
выполнения собственных команд на сервере
и отправки ложных ответов клиенту. Атака
типа «человек посередине» позволяет
злоумышленнику вставлять свой код в электронные
письма, SQL выражения и веб-страницы (то
есть позволяет осуществлять SQL-инъекции,
HTML/script-инъекции или XSS-атаки), и даже модифицировать
загружаемые пользователем бинарные файлы
для того, чтобы получить доступ к учетной
записи пользователя или изменить поведение
программы, загруженной пользователем
из интернета;
- Downgrade Attack.
Термином “Downgrade Attack” называют такую
атаку, при которой злоумышленник вынуждает
пользователя использовать менее безопасные
функции, протоколы, которые всё ещё поддерживаются
из соображений совместимости. Такой вид
атаки может быть проведён на протоколы
SSH, IPsec и PPTP.
Некоторые программные реализации
MITM-атаки:
- Dsniff
– инструмент для SSL и SSH атак;
- Cain –
имеет графический интерфейс, поддерживает
сниффинг и ARP-спуфинг;
- Ettercap –
инструмент для проведения атак в локальной
сети;
- AirJack –
реализует атаки, основанные на стандарте
беспроводной связи 802.11;
- SSLSniff –
инструмент для MITM-атаки на SSL. Был разработан
изначально для нахождения уязвимостей
в Internet Explorer;
- SSLStrip –
инструмент для MITM-атаки на SSL;
- Mallory -
прозрачный прокси-сервер, осуществляющий
TCP- и UDP-MITM-атаки. Может быть также использован
для атаки на протоколы SSL, SSH и многие другие.
4.2 Выявление
MITM-атак и защита от них
Для обнаружения
атаки типа «человек посередине» необходимо
проанализировать сетевой трафик. К примеру,
для детектирования атаки по SSL следует
обратить внимание на следующие параметры:
- IP-адрес
сервера;
- DNS-сервер;
- X.509-сертификат
сервера (Подписан ли он самостоятельно?
Подписан ли сертификат CA? Был ли сертификат
аннулирован? Менялся ли сертификат недавно?
Получали ли другие клиенты в интернете
такой же сертификат?).
Эффективно
защититься от MITM-атак можно лишь криптографическими
средствами. Однако, заблуждением многих
клиентов сети Интернет является то, что
использование соединения по протоколу
HTTPS, по их мнению, является безопасным.
Рассмотрим случай стандартной HTTP-транзакции.
В этом случае злоумышленник достаточно
легко может разбить оригинальное TCP-соединение
на два новых: одно между собой и клиентом,
другое между собой и сервером. Это довольно
просто сделать, так как очень редко соединение
между клиентом и сервером прямое, в большинстве
случаев они связаны через некоторое количество
промежуточных серверов. MITM-атаку можно
проводить на любом из этих серверов.
Однако в
случае, если клиент и сервер общаются
по HTTPS — протоколу, поддерживающему
шифрование — тоже может быть проведена
атака «человек посередине». При
таком виде соединения используется
TLS или SSL для шифрования запросов, что,
казалось бы, делает канал защищённым
от сниффинга и MITM-атак. Атакующий может
для каждого TCP-соединения создать две
независимые SSL-сессии. Клиент устанавливает
SSL-соединение с атакующим, тот в свою очередь
создает соединение с сервером. Браузер
в таких случаях обычно предупреждает
о том, что сертификат не подписан доверенным
центром сертификации, но рядовой пользователь
с легкостью игнорирует данное предупреждение.
К тому же, у злоумышленника может оказаться
сертификат, подписанный центром сертификации.
Таким образом, HTTPS протокол нельзя считать
защищенным от MITM-атак.