В первые дни мая 2007 года сотни тысяч пользователей, пытавшихся зайти на сайты радио «Эхо Москвы» ( www.echo.msk.ru ) или газеты «Коммерсантъ» (kommersant.ru), вместо привычных страниц постоянно получали сообщение «Невозможно отобразить страницу». Иногда доступ ненадолго восстанавливался, но потом вновь прерывался. Представители этих изданий сообщали, что их сайты подвергаются хакерской DDoS-атаке. Мимоходом кто-то «пощупал» и сайт «Вокруг света», но — обошлось. Что же происходит?
Чтобы понять, что такое DoS-атака (или DDoS), лучше всего прибегнуть к аналогии. Несколько раз в неделю в Мировом океане возникают одиночные гигантские волны, которые ведут себя совершенно не так, как нормальная волна. Они появляются внезапно, в спокойном море и достигают высоты 30 метров. Если судно вдруг встречает такую волну, оно «втыкается» в вертикальную стену воды, и шансов остаться на плаву у него немного, как бы велико оно ни было (такая история была рассказана в фильме «Посейдон»). Интернет — тоже океан, только информационный, и в нем есть явление, очень похожее на гигантские волны. Если вдруг на сайт накатывает настоящий информационный шквал — это DoS-атака. Часто эти атаки так и называют flood, то есть «потоп».
Точно так же, как обшивка морского судна обычно рассчитана на некие предельные нагрузки (скажем, до 15 тонн на квадратный метр), обычный сайт рассчитан на предельную посещаемость, при превышении которой сервер «ложится». В море даже в шторм судно легко преодолевает высокую волну, потому что обычная волна полога, и на нее можно «взойти», а «волны-убийцы» почти вертикальны и создают нагрузку, скажем, до 100 тонн на квадратный метр, поэтому от них нет защиты. Так же и в Интернете: постепенный рост посещаемости в течение недель и месяцев не страшен, а бурный всплеск может оказаться смертельным.
Зачем проводится DoS -атака
Английская аббревиатура DoS расшифровывается как Denial of Service — «отказ в обслуживании». Целью DoSатаки является создание таких условий работы сайта, при которых пользователь не может получить к нему доступ. Чаще всего злоумышленники добиваются этого, забрасывая сайт огромным количеством «мусорных» запросов, и пользователи уже не могут пробиться к сайту: легитимные запросы тонут в «шуме». DoS-атаки активно используются злоумышленниками для оказания давления на ресурс. Например, известны атаки на Интернет-казино. Поскольку вся деятельность такого казино происходит через Интернет и каждый день простоя приносит серьезные убытки, злоумышленники угрожают владельцам DoS-атакой и требуют выплатить некоторую сумму. В случае отказа такие атаки действительно проводились.
DoS-атака может использоваться в конкурентной борьбе. Журнал New Scientist писал о случае, когда компания спутникового телевидения из Массачусетса оплатила атаку на сайты трех своих прямых конкурентов. Пока их сайты были заблокированы, пользователи обращались к той компании, до которой могли достучаться, то есть к заказчику атаки. Этот случай расследовало ФБР, и виновных удалось установить, что бывает далеко не всегда. DoS-атака может быть организована и для оказания психологического давления, чтобы заставить сайт изменить свой контент, который по каким-то причинам не нравится организатору атаки.
Как это делается
Несмотря на то что методы организации DoS-атак хорошо известны специалистам, успешно им противостоять удается не всегда. Дело в том, что быстро и точно отделить «мусорные» запросы от легитимных крайне трудно. Принцип DoS-атак: использовать хороший контент в дурных целях: «legitimate content but bad intent». DoS-атаки можно разделить на одиночные, которые проводятся с одного компьютера, и распределенные, в которых используются сети подчиняющихся злоумышленникам компьютеров-зомби (или botnets).
В качестве примера приведем два метода одиночных атак (их, конечно, гораздо больше). При установлении соединения между компьютером-клиентом и сервером сайта происходит обмен служебными пакетами — синхронизация. Для организации атаки клиент (обычно с поддельного IP-адреса) посылает серверу служебный запрос. Сервер сообщает о готовности и резервирует канал связи. А вот второго подтверждения от такого клиента сервер не дождется никогда. Таким образом, канал связи окажется занятым по крайней мере какое-то время. Поскольку каналов конечное число, а запросы на соединение идут непрерывно, и не один из них не подтверждается — все каналы оказываются занятыми, и получить доступ к сайту реальные пользователи не могут.
Другой метод сфокусирован для атак на публичные сайты. В этом случае компьютер-клиент направляет множество запросов на публичный сайт, по возможности очень мощный, например на почтовый сервер или крупный новостной портал, но в качестве обратного адреса указывает не свой, а адрес сайта-жертвы. Публичный ресурс отвечает сайту-жертве — ответы сыплются непрерывным потоком, сервер жертвы не справляется с нагрузкой и блокируется. У этого метода есть серьезное преимущество: публичный сайт, который становится фактически производителем спама, нельзя заблокировать — источник атаки полностью легитимен, но этот легитимный источник в результате «роняет» сайт.
Но наиболее часто сегодня используется распределенная атака — DDoS-атака (Distributed Denial of Service Attack). Такая атака опирается на сеть компьютеров-зомби (botnet’ов). Конечно, здесь bot — это усечение от слова robot, а net — «сеть», но любопытно, что в английском языке у слова bot есть и другое значение — «личинка овода», и это значение очень точно отражает метод работы botnet.
Согласно исследованию, проведенному в Технологическом институте Джорджии (Georgia Institute of Technology, USA), по состоянию на январь 2007 года различные сети компьютеров-зомби (botnets) охватывают около 11% из 650 миллионов компьютеров, подключенных к Интернету. Наиболее крупные botnets включают десятки тысяч компьютеров, разбросанных по всему миру. 26 июля 2004 года в результате распределенной атаки несколько часов были заблокированы поисковые порталы Google и Yahoo, а ведь Google — это десятки тысяч серверов, и чтобы добиться от Google отказа в обслуживании, нужно просто чудовищное количество «мусора». А между тем поисковик замолчал.
Компьютер (как правило, это домашняя машина, подключенная к выделенному каналу) может быть заражен троянской программой. Эта программа попадает на компьютер пользователя, как правило, при неосторожном обращении с электронной почтой, например открытии вложений в письмо, или при посещении зараженного сайта, когда злоумышленник может, используя уязвимости браузера или операционной системы, установить на компьютер пользователя вредоносную программу. Компьютеры, зараженные троянскими программами и подчиняющиеся командам удаленного хозяина, превращаются в botnet. Такая программа может в течение долгого времени ничем деструктивным себя не проявлять, а владелец компьютера даже не подозревает, что его машина заражена и полностью подконтрольна удаленному хозяину. Единственное, чем занят такой «троянский конь» — он «слушает» определенный чат или форум.
В таком чате может идти обычная переписка страдающих бездельем подростков, но в определенный момент некто пишет условную фразу, которая содержит адрес сайта-жертвы. Сеть зомби-машин начинает работать. Из «личинок» вылупляются «оводы» и начинают «топить» жертву. Запросы идут из многих точек Сети, идут с высокой частотой, и сайт, который они атакуют, начинает задыхаться, перестает отвечать на легитимные запросы и наконец смолкает. Атакующие компьютеры могут не только сами посылать запросы на сайт-жертву, но инициировать поток запросов от публичных сайтов. Этот изощренный вид атаки получил название DRDoS (Distributed Reflecting Denial of Service Attack).
Атака на интернет
DoS-атакам подвергаются не только отдельные сайты, но и вся инфраструктура Интернета в целом. Так произошло 21 октября 2002 года (атака длилась один час) и 6 февраля 2007 (атака длилась восемь часов). Тогда были атакованы корневые DNS-серверы (англ. Domain Name System — «система доменных имен»).
DNS-серверы предназначены для установления цифрового IP-адреса сайта по его названию. Когда пользователь запрашивает нужный сайт, например www.vokrugsveta.ru , его браузер связывается с ближайшим DNS-сервером и пытается выяснить у него, какой IP-адрес следует поставить в соответствие введенному имени. Если ближайший DNS-сервер не знает адреса, он направляет запрос на корневой DNS, который тоже ответа не знает, но знает какой DNS отвечает за зону RU. Постепенно разбирая введенное имя, DNS-сервера выясняют, какой же IP-адрес следует поставить в соответствие имени. И в конце концов выясняется, что это 88.222.4.40.
Самое узкое место в этой цепочке — корневые DNS. Их всего 13, и через них проходит подавляющее число запросов, поскольку именно они содержат ссылки на домены верхнего уровня, например COM, ORG или RU.
Если удастся вывести из строя корневые DNS, можно парализовать целые сегменты Сети — миллионы компьютеров. В 2002 году, когда были атакованы все 13 серверов, это отчасти удалось. Тогда сбои заметили многие пользователи Интернета. В 2007 году были атакованы 3 корневых DN- сервера, и никто из пользователей этого не заметил. Отразить атаку удалось путем многократного копирования DNS на разных физических серверах. DoS-атаку отбили, выстояли, но это — не окончательная победа. Утверждать, что это никогда не повторится, было бы наивно.
Как смягчить удар
Эффективной защиты от DoS-атак сегодня не существует. Любой ресурс в любой момент может быть атакован злоумышленниками. Но существуют рекомендации, которые помогают смягчить удар. Один из методов защиты: наращивание мощности серверов и пропускной способности каналов. Другой: дублирование информации на разных компьютерах. Это именно те методы, которые используются для защиты корневых DNS. Кроме того, применяются различные методы фильтрации запросов, причем фильтры и межсетевые экраны должны отражать атаку на самой ранней стадии — чем раньше мы сможем перехватывать «мусорные» запросы, тем лучше защищен наш ресурс. Но атаки все равно проходят, хотя, как утверждает разработчик антивирусных программ Symantec, за последний год число DoSатак заметно снизилось. Но произошло это не потому, что найдено эффективное противоядие, а потому, что злоумышленники пришли к выводу, что огромные botnets гораздо выгоднее использовать для рассылки спама, чем для атак. Кстати, провести DoS-атаку на сайт — не слишком дорогое удовольствие. Ресурс Хакер.ru приводит такие расценки: «Комплект из 5 000 зараженных троянами машин оценивают в 200 — 500 долларов», «Ваше желание заDDoSить сайт сбудется примерно за 80—250 баксов за сутки, в зависимости от популярности ресурса». New Scientist приводит несколько большие цифры: атака с использованием большой зомби-сети стоит от 500 до 1 500 долларов.
Что же делать?
Нужно быть предельно аккуратным. Это правило специалисты по информационной безопасности, кажется, уже устали повторять всем и каждому, но приходится делать это снова и снова. Главная сила любого организатора DoS-атаки — это подконтрольная ему сеть компьютеров-зомби. Троянские программы можно выловить и вычистить, но это бесполезно, если пользователь тут же подхватит новые. А антивирусные программы всегда на шаг отстают. Не надо открывать вложение, даже если оно пришло со знакомого адреса. Троянская программа может прочесть адресную книгу вашего лучшего друга и послать вам вирус или троян от его имени. Лучше лишний раз уточнить, что это за вложение, а не торопиться раскрыть документ или картинку с соблазнительным названием. Будьте бдительны, и волна не пройдет!
Владимир Губайловский