Как Защитить Ресурс От DoS-атаки?
Денис Батранков, консультант по информационной безопасности IBM Internet Security Systems, batrankov@ru.ibm.com
Многие считают, что защиты от DDoS атак, специально запруживающих каналы передачи данных не существует. Однако, мы в России просто про эти решения не знаем. В этой статье вы узнаете о трех типах DDoS атак и имена тех производителей и компаний, которые предлагают решения по защите от распределенных атак типа отказ в обслуживании направленных на заполнение пропускной способности каналов.
Источник угрозы
Представьте себе, что сейчас на ваш WEB сервер одновременно подключатся 100 тысяч человек из Интернет и попытается загрузить ее главную страницу. Хватит ли пропускной способности канала в Интернет? Как защититься от злонамеренной перегрузки ваших каналов связи?
Определения
В сети Интернет есть большое число зараженных компьютеров, которые выполняют удаленно команды, в том числе по команде могут подключаться и загружать любые страницы с любого WEB сервера. Такой управляемый компьютер называет ботом. Множество таких управляемых компьютеров называется бот сетью. Каждый такой компьютер в этой сети - зомби, который всегда готов выполнить команду своего повелителя. В составе такой бот сети может быть одновременно до нескольких сотен тысяч компьютеров.
Кто предоставляет компьютеры для бот сети
Реальные владельцы компьютеров чаще всего не подозревают, что кто-то может управлять их компьютером удаленно. Сейчас троянские программы работают незаметно и мы, не замечая этого, позволяем неизвестным людям использовать ресурсы наших компьютеров для их собственных целей. Люди, которые управляют такой большой бот сетью могут шантажировать крупные компании, владельцев интернет магазинов, интернет-казино, новостных сайтов, платежных систем и других популярных ресурсов, предлагая заплатить выкуп за то, что они не будут атаковать их при помощи своей бот сети.
Определенно, такие вычислительные ресурсы представляют явный практический интерес. Можно не только проводить DDoS атаки, но и рассылать спам или проводить распределенные вычисления, например подбор пароля. Поэтому, очень часто проводятся попытки украсть бот сеть. Чтобы зомбированный компьютер воспринял команду от хозяина нужно доказать, что ты хозяин, например при помощи пароля. Если этот пароль подобрать, то есть шанс стать хозяином небольшой стаи компьютеров. Например, это возможно для сети на основе ботов BlackEnergy, которые защищены только паролем.
Пример 1. Самые большие бот сети |
Обнаружена новая бот сеть под названием Kraken, включающая порядка 400 тысяч компьютеров. Размеры бот сети превосходят всемирно известную бот сеть Storm, размер которой около 100 тысяч компьютеров. Источник: компания Damballa на конференции RSA 7.04.2008 |
Спросите у самого себя: а какие у меня гарантии, что мой компьютер не входит в бот сеть? Дает ли такие гарантии установленный сигнатурный антивирус? Непохоже. По статистике 40% компьютеров входящих в бот сеть имеют антивирус, который не определяет, что компьютер заражен. Дает ли гарантии установленный поведенческий антивирус или система предотвращения атак? Возможно, но многие люди даже не знают что это такое. И, слово специально, уходя с работы никогда не выключают компьютер.
Любой может стать соучастником DDoS атаки
Для того, чтобы ваш компьютер стал участником DDoS атаки совершенно необязательно, чтобы на нем была уязвимость или установлен какой-то злонамеренный код. Код для атаки может быть у вашего соседа в сети или на популярном сайте в Интернете. Так Trojan-Downloader.JS.Agent вставляет вредоносный javascript во все соседние компьютеры при помощи атаки ARP spoofing, пока они грузят странички в своим браузером из Интернет. Это может быть любой код, включая код для проведения DDoS атаки. Вот этот код в вашем браузере выполнит 10000 соединений с любым сайтом:
<div id="attack" style="visibility:hidden">
<script type="text/javascript">
attack_host="www.{атакуемый сайт}.com"
attack_port=80
path='index.html'
for(i=1;i<=10000;i++)
{ document.write('<img src="http://' + attack_host + ':' + attack_port + '/' + path + '?' + Math.random() + '">');}
</script></div>
Если вы читаете какую-то страницу через WEB браузер, например страницу с этой статьей, и в ней будет внедрен этот javascript код, то вы становитесь соучастником DDoS атаки и 10000 раз нападете на выбранный автором скрипта сайт. А если эту статью прочтет 10000 человек, то на сайт уже будет осуществлено уже 100 000 000 (100 миллионов) соединений. Другой вариант, если один из пользователей вставит этот javascript в сайт, где контент сайта заполняется самими пользователями (форумы, блоги, социальные сети), то помогать в осуществлении атаки будет любой человек зашедший на сайт. Например, если это будут odnoklassniki.ru, где уже 20 миллионов пользователей, то теоретически можно осуществить атаку на сайт при помощи 200000000000 (200 миллиардов) соединений. и это не предел Так что вы уже представляете себе масштаб угрозы. Защищаться надо. Как владельцам сетевых ресурсов от атак, так и пользователям от того, чтобы не стать соучастниками атаки.
Пример 2: Как осуществить DoS атаку на WEB сервер при помощи двух отверток и браузера. |
Запускаете Internet Explorer, вводите адрес необходимого сайта, одной отверткой фиксируете кнопку Ctrl, другой F5. Количество запросов в секунду, которые будет посылать ваш Internet Explorer может затруднить работу сайта и даже помешать другим людям посетить это же ресурс. |
К DDoS атаке надо готовиться заранее
Интернет достаточно агрессивная среда, чтобы начинать в нем бизнес, не позаботившись о своей защите. Но многие компании живут в нем согласно поговорке: пока гром не грянет, мужик не перекрестится. DoS и DDoS атаки отличаются тем, что с ними невозможно бороться без предварительной подготовки. И вдобавок, и это еще хуже, с ними все равно сложно бороться, даже если вы подготовились заранее. Если сейчас страдают DNS и WEB сайты, то на подходе угроза таким все более популярным сервисам как VoIP и IPTV.
Пример 3: DDoS атака на правительственные сайты Эстонии |
Атаки против эстонских правительственных сайтов начались после переноса властями статуи Бронзового солдата из центра Таллина на окраины. В результате многие правительственные сайты Эстонии перестали работать, а местная компьютерная группа быстрого реагирования была вынуждена закрыть доступ к сайтам из-за границы. Пик атак пришёлся на 8 и 9 мая 2007 года. По словам премьер-министра Эстонии, атаки представляли собой лавину запросов, иногда до 5 миллионов в секунду против обычной посещаемости 1-1,5 тыс. в день. В этой атаке обвинили Россию, тем более, что некоторые российские хакеры брали на себя ответственность за эти действия. Была ли действительно Россия источником атаки читайте в конце статьи. |
К сожалению, многие сервера выставляются в Интернете даже без защиты межсетевым экраном, не говоря уже про более сложные системы защиты типа систем предотвращения атак. В итоге, в тот момент когда начинается атака, выясняется, что защищаться нечем и компании вынуждены тратить драгоценное (в момент атаки) время на простые вещи, такие как установка межсетевого экрана на сервер, установка системы предотвращения атак или переход к другому провайдеру. Но, поскольку DDoS атаки даже с установленными системами защиты сложно остановить, а в момент атаки у вас не будет времени на выбор верного способа защиты, то вы сможете положиться только на средства защиты своего провайдера. И, как правило, в том что DDoS атака провалилась - заслуга провайдера. Именно про правильный выбор провайдера и пойдет рассказ в этой статье. Для начала давайте посмотрим более подробно какими бывают атаки типа отказ в обслуживании.
Виды DoS атак
Существует несколько способов группирования DoS атак по типам. Одна из логичных категоризаций DoS атак находится тутhttp://www.niser.org.my/resources/dos_attack.pdf
Различают несколько видов DoS атак.
Разрушающие
Атаки, которые приводят к тому что устройство в сети становится полностью неработоспособно: зависает, уничтожается операционная система или конфигурация. Такие атака основаны на уязвимостях программного обеспечения атакуемых систем.
Атаки на ресурсы системы
Атаки, которые значительно снижают производительность устройств или приложений. Например к этому классу относится атака SYN Flood.
Заполнение пропускной способности каналов
В эту категорию попадают атаки, которые своей целью ставят переполнение пропускной способности каналов. Обычно для переполнения канала используются любой вид пакетов TCP, ICMP или UDP с поддельными адресами источника случайно изменяющимися в диапазоне всевозможных значений, адреса получателя в пакете точно также случайно выбирают из диапазона сети, которая находится на атакованном канале. Однако сейчас такие атаки, стали осуществляться при помощи сетей зараженных компьютеров, где адреса источников атаки настоящие, и таким образом, практически неотличимые от подключающихся компьютеров реальных пользователей.
Еще одной разновидностью DDoS атак такого типа являются DRDoS атаки (Distributed Reflection DoS), которые могут использовать как источник своей атаки любой сервер в Интернете. Идея DRDoS: любой сервер на пакет TCP c SYN флагом обязательно ответит пакетом TCP c флагами SYN+ACK. Если адресом источника в первом пакете поставить адрес жертвы, то сервер пошлет несколько TCP пакетов с флагами SYN+ACK по адресу жертвы, пока не поймет, что жертва соединения не хочет и соединения не будет. Если использовать для атаки много таких мощных серверов, отвечающих на ложные пакеты по ложному адресу, то жертва будет запружена потоком пакетов.
Схема работы DRDoS.
Пример 4: DDoS на Коммерсант |
Генеральный директор издательского дома "Коммерсант" Демьян Кудрявцев заявил в интервью агентству "Интерфакс" 14 марта 2008 года, что финансовые потери компании, связанные с блокировкой сайта www.kommersant.ru в результате DDoS атак, исчисляются десятками или даже сотнями тысяч долларов. Кудрявцев подчеркнул, что DDoS атаки на сайт "Коммерсанта" беспрецедентны для России: "Если известные атаки на сайты эстонского посольства, радиостанции "Эхо Москвы" представляли собой 200-300 мегабайт мусорного трафика в секунду, то вчера на наш сайт его уровень достиг 2 гигабайт в секунду", - отметил он. Источник: securitylab.ru |
Атаки 1 и 2 типа встречаются достаточно части и для борьбы с ними администраторы уже давно эффективно используют как сетевые так и хостовые системы предотвращения атак (IPS). В этой статье мы будем говорить о защите от атак 3 типа, поскольку об этих методах защиты пока еще нет информации в русскоязычном Интернете. Атака третьего типа может быть обнаружена системой обнаружения или предотвращения атак, но заблокировать такую атаку на самом канале ни одна система защиты к сожалению будет неспособна. Канал во время атаки переполнен и в защите от атак должен принимать участие вышестоящий провайдер. IPS обычно не используются для защиты от таких атак, хотя сигнатуры для защиты SYNFlood и UDPFlood помогают уменьшить влияние этих атак, разгрузив атакованные сервера. Чаще всего для атак этого типа используются бот сети, которые выполняют вполне легитимные подключения и работу с вашей сетью. Но проблема в том, что их слишком много и отличить зомбированный компьютер от реального пользователя практически невозможно. Атаки третьего типа знакомы всем дачникам, пытающимся выехать из Москвы в пятницу и вернуться в Москву в воскресенье: МКАД и все трассы в области забиты и никакими средствами избавиться от их нельзя. Все пытающиеся прорваться сквозь пробку ругаются, хотя на самом деле сами и являются частью этой пробки. Остается только ждать, когда это все кончится само.
Защита от DDoS для корпоративной сети
Если ваш провайдер не предлагает услугу по блокировании DDoS атак, то у вас есть вариант попросить кого-то еще это сделать, но не меняя провайдера. Такую услугу мы разберем на примере компании Prolexic (www.prolexic.com). Даже, если на вас в настоящий момент идет атака, то вы можете достаточно быстро блокировать ее при помощи сервиса Prolexic одним из следующих вариантов.
Перенаправление DNS и использование прокси
Вы можете прописать в DNS IP адреса сети компании Prolexic. Допустим прописать, что ваш WEB сервер стоит на IP адресах Prolexic. В итоге атака будет направляться в их сеть, трафик DDoS будет отрезаться, а нужный трафик с вашего WEB сайта при помощи обратного прокси доставляться всем клиентам. Этот вариант очень подходит Интернет банкам, Интернет магазинам, онлайн-казино или электронным журналам. Вдобавок прокси позволяет кешировать данные.
BGP маршруты и GRE туннели
Prolexic может, используя протокол маршрутизации BGP сказать всему Интернету, что ваша сеть находится в сети Prolexic и весь трафик будет перенаправляться к ним, где и будет очищаться от злонамеренного содержимого. Чистый трафик вам будет перенаправляться при помощи протокола GRE, который переносит данные в вашу сеть так, как будто никакой DDoS атаки и не было. А вы из своей сети будете отвечать на пришедшие к вам пакеты в обычном режиме, поскольку ваш канал уже не будет перегружен.
Прямое подключение к Prolexic
Можно напрямую подключить свою сеть через Prolexic и всегда быть под их защитой, но по понятным причинам это не всегда возможно. Если ваша компания международная, то часть своих ресурсов вы можете подключить через компанию Prolexic или подобные компании. И на вас будет сложно совершить DDoS атаку.
Картинка с сайта www.prolexic.com
Как именно компания Prolexic отличает трафик зомбированных компьютеров от трафика обычных мне найти не удалось. В технической документации содержится информация о некой уникальной технологии использующей некоторые аппаратные и программные средства. Но самое главное в этой услуге, что есть к кому обратиться, если DDoS уже идет и есть возможность блокировать ее достаточно быстро.
Пример 5. Чудес не бывает. |
Чтобы подчеркнуть это, надо заметить, что были атаки и на сам Prolexic. В мае 2006 года появилось сообщение, что его DNS сервера перестали работать вместе с DNS серверами их клиентов. Подробнее тут www.secure64.com/ddos-news/prolexic-pharmamaster.html. Хотя потом оказалось, что атака была не на сами сети Prolexic, на защищенные технологией DNS Shield (www.ultradns.com/technology/dnsshield.html) DNS сервера компании UltraDNS, но пострадало 80% клиентов Prolexic. В общем история темная. |
Сервис от Akamai
Большие компании, такие как IBM, Microsoft, Apple, Sony, AMD, BMW, Toyota, FedEx, NASA, NBA, MTV защищают свои WEB сайты от DDoS атак при помощи сервиса Akamai (www.akamai.com). Однако защита от DDoS, это лишь одна из возможностей сервиса Akamai. Этот сервис позволяет компаниям иметь зеркало своих сайтов в тысячах различных точек по всему земному шару, гарантируя 100% доступность в любое время. Обычно на зеркалах лежат мультимедийные данные, такие как видео, аудио и графика. Akamai использует математические алгоритмы для решения проблем с перегрузками возникающими на WEB серверах в глобальном масштабе. Эти алгоритмы были разработаны в Массачусетском технологическом институте (MIT). И именно благодаря им Akamai обеспечивает быструю и надежную передачу контента пользователям Интернет. Есть в судьбе компании и печальный факт: один из основателей Akamai Даниель Левин был убит при попытке остановить террористов в одном из самолетов захваченных 11 сентября 2001 года в США.