Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1
Но что еще хуже… Я попытался разработать проект для своих студентов, и получалось забавно, но проблема заключалась в том, что нельзя было посмотреть «убиваемые» адреса, так как этого вам было нужно видеть IP config. Но если я проведу атаку действительно очень быстро, система сразу отреагирует и никто не увидит, что же с ней произошло.
Я сделал так, что можно было увидеть всю сеть, все адреса этой сети страница за страницей. Этот список можно было сделать еще больше, так как в него добавлялось по 5 IP-адресов в секунду. Когда я запустил этот проект в первый раз, мне показалось, что ничего не происходит, так как моя Windows-машина вроде бы вообще не отреагировала на то, что случилось.
Студентам это было бы не интересно, потому что они ничему не научатся, если не смогут увидеть наносимые атакой повреждения. Я подумал «ок, это плохой проект, что же мне сделать?», но тут меня озарило – эта штука убивает контроллер домена, почтовый сервер и все такое, это очень плохо. Это настолько плохо, что я вообще не могу рассказать об этом своим ученикам, лучше я тихонько расскажу об этом Microsoft!
Так что я разослал твит о том, что Windows 7 содержит опасную уязвимость, что, впрочем, совсем не удивительно. Я сообщил, что в связи с этим мне нужны контакты службы безопасности Windows, и люди в «Твиттере» помогли мне найти нужных людей в Microsoft. Через 2 дня у меня был официальный ответ из Microsoft, в котором сообщалось, что Марк Хьюз рассказал им об этом еще год назад. Но это не важно, потому что они не намерены вносить исправления в текущие версии Windows, потому что Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows XP постепенно «отмирают» и они прекращаю их поддержку. Вместо этого они устранят эту уязвимость в Windows 8 или Windows 9, если ещё чего-нибудь не придумают.
Я подумал – отлично, если вы собираетесь действовать таким образом, то я расскажу об этом всему миру и дам своим студентам протестировать этот проект в качестве домашнего задания, предупредив, чтобы они использовали его в изолированной сети, потому что иначе можно убить все компьютеры в колледже, включая наши серверы. Они так и поступили, поэтому я до сих пор еще там преподаю, а не стою на улице с кружкой для подаяний.
В любом случае это очень мощная атака, и я бы хотел немного поговорить, как можно от неё защититься. Но прежде чем я начну, я передам это дело Мэтью, и единственное, что я хочу – это чтобы вы сейчас испробовали воздействие этой атаки на себе.
Атаке RA Flood подвержены все Windows –машины и компьютеры с одной из версий Free BSD Unix, а вот машины с MAC OS и Open BSD для неё неуязвимы. Если вы посмотрите на конфигурацию моего «Макбука», то увидите, что он тоже является хостом и присоединился к некоторым из существующих здесь сетей, вы видите здесь сеть inet6 с адресом, начинающимся с 2001.
Он подсоединился к некоторым из этих бесполезных сетей, но не ко всем сетям. Я думаю, что это могут быть сети DefCon. Но в любом случае, вы видите, что мой «Макбук» в течение некоторого времени подсоединился к 10-ти первым найденным сетям и больше не обращает внимания на RA. Это очень хорошая защита и я думаю, что Microsoft также должен был поступить с Windows, но их не интересует мое мнение. Cisco выпустили патч, призванный защитить их оборудование от атак подобного рода, а Juniper до сих пор этого не сделали.
Так что если у вас есть устройства для тестирования, Райан собирается настроить свою изолированную сеть и там кого-нибудь убить. Если вы хотите принять в этом участие, можете присоединиться к сети SSID под названием «Do not use», которая использует шифрование WPA2, так что нужно ввести пароль «Do not use». Если вы присоединяетесь к этой сети, Райан увидит, сколько людей вошло в сеть, и убьёт вас. Это убийство довольно интересно, так как поможет выяснить, какие еще устройства уязвимы, кроме Windows и Free BSD.
Некоторые люди сказали, что собираются принести сюда интересные устройства, и я хотел бы об этом узнать, так что попрошу вас после демонстрации пройти в комнату Q&A и рассказать об этом. Тогда мы смогли бы информировать производителя, чтобы подвигнуть его на выпуск патча для выявленной уязвимости своего устройства. Я думаю, что многие люди уязвимы для атак подобного рода, но не знают об этом.
Сейчас я передам слово Мэттью, чтобы он рассказ о LulzSec, а затем продолжу разговор о защите, если у нас останется время. Пока что я закрою все окна, чтобы очистить рабочий стол. Я извиняюсь, название сети «Do not connect» и пароль тоже «Do not connect»!
Мэттью Принс: Сэм – единственный из знакомых мне людей, который может осуществить DDoS-атаку с таким обаянием. Меня зовут Мэтью Принс, я знаю Сэма, мы оба живем в Сан-Франциско и оба замешаны в историю LulzSec.
Поэтому я расскажу вам историю о том, как меня в это втянули, о некоторых DDoS-атаках, которые мы наблюдали на протяжении 23 дней, и о том, что мы сделали, чтобы их остановить.
2 июня 2011 года около 16:54 по Гринвичу LulzSec объявили в своем аккаунте «Твиттер», что создали страницу Lulz Security по адресу lulzsecurity.com. Удивительным было то, что эта страница в течение 15 минут была в состоянии оффлайн из-за мощной DDoS-атаки. Я не знаю подробностей этой конкретной атаки, потому что мы тогда еще не были к этому привлечены.
Примерно через час после публикации поста о создании страницы, LulzSec сообщили в «Твиттере», что им удалось решить проблему отказа в обслуживании. Единственное, что изменилось за это время, как мне позже сообщили, это то, что за 9 минут до этого сообщения они подписались на наш сервис CloudFlare. Мы делаем веб-сайты быстрее и защищаем их от некоторых видов атак, но не считаем себя сервисом для предотвращения DDoS – атак, поэтому некоторые из нас были удивлены таким поступком LulzSec.
Еще большим сюрпризом стало, когда часом спустя хакеры опубликовали адресованное мне сообщение, в котором признавались в любви к CloudFlare и спрашивали, могут ли рассчитывать на бесплатный премиум-аккаунт в обмен на ром.
Я понятия не имел, кем на тот момент были эти LulzSec, поэтому написал в «Твиттере» сообщение, которое мой адвокат потом сказал удалить: «Это зависит от того, насколько хорош будет ром». Скажу сразу, они никогда не присылали нам ром, а мы никогда не предоставляли им про-аккаунт. Но CloudFlare является бесплатным сервисом, каждый день у нас регистрируются тысячи сайтов, и обычно мы не имеем с ними проблем.
Итак, в течение следующих 23 дней эти ребята сеяли хаос самыми различными способами. Наконец, 25 июня они опубликовали твит, который ознаменовал конец атаки.
Интересным было то, что CloudFlare работает как обратный прокси, поэтому весь трафик, который направлялся к Lulz Security, сначала проходил через нашу сеть, которая обладает двумя существенными эффектами. Первый – любой, кто атаковал Lulz Security, атаковал нас, второй – благодаря нам Lulz Security могли скрыть местонахождение источника своей атаки, то есть место, где фактически находился их хостинг. Это побочные эффекты архитектуры нашей системы, но хакеры использовали их себе на пользу.
Сэм связался со мной некоторое время назад и сказал, что собирается поговорить о DDoS. Мы поговорили о нашем опыте и он спросил, не мог бы я поделиться некоторой информацией по этому поводу. У нас есть юрисконсульт, мы настоящая компания со своей собственной политикой конфиденциальности, и даже если вы находитесь в международном розыске за киберпреступление, мы стараемся уважать вашу частную жизнь. Поэтому я написал LulzSec письмо и отправил его на адрес электронной почты, указанный ими в своем аккаунте.
Я сообщил им, что меня пригласили на DefCon в качестве спикера, чтобы я рассказал об атаках на CloudFlare, связанных с деятельностью их сообщества. Я написал, что некоторая информация, которую я хочу сообщить во время своего выступления, защищена нашей политикой конфиденциальности, поэтому я прошу согласия LulzSec на её раскрытие. Спустя 11 дней некто по имени Джек Воробей ответил мне текстом: «У вас есть моё согласие».
И вот я здесь, чтобы рассказать о некоторых вещах, о которых не мог бы говорить без этого разрешения. Я могу говорить о том, как они повлияли на нас, но не буду раскрывать вам хосты, которые они использовали для атаки или реальные IP-адреса.
Позвольте мне рассказать вам немного больше о том, что произошло за эти 23 дня, и показать анализ фактического трафика на сайт Lulz Security в течение этого времени.
За это время было совершено более 18 миллионов просмотров страниц, когда люди заходили на этот сайт. Вы можете увидеть, что практически с самого начала атаки с 22 июня по 5 июля наблюдался пик обычного трафика, а затем сайт перестал работать, хотя по-прежнему использовал CloudFlare. Если вы попытаетесь зайти на этот сайт сегодня, то увидите там только страницу конфигурации Apache, и я не знаю, что они планируют делать с ним дальше.
Интересно посмотреть на трафик атаки, который обрушил сайт.
Я бы сказал, что весь трафик до пика посередине – просто обычный фоновый шум, в котором не было ничего особенного и который не предвещал ничего из того, что я покажу на слайде через пару секунд. На самом деле эти три недели, в течение которых LulzSec пользовались сервисом CloudFlare, были довольно спокойными в отношении DoS-атак. Это странно, потому что многие люди говорили о том, что в это время они атаковали LulzSec.
Пик в середине графика был вызван парой очень явных событий, о которых я расскажу далее. Мы также поговорим о видах атак, которые использовались против LulzSec и о том, что мы сделали, чтобы себя защитить.
Особенно интересное событие произошло 25 июня. Оно было связано с Джестером. Я не знал, кто это такой, поэтому Сэм предоставил мне о нем некоторые материалы.
Джестер будто бы потратил кучу времени на то, чтобы выяснить местоположение сайта LulzSec и с гордостью опубликовал на своей странице IP-адреса их ресурсов: www.lulzsecurity.com: 204.197.240.133 и lulzsecurity.com: 111.90.139.55.
Я знаю, на каком хосте находился сайт LulzSec 25 июня и могу вам сказать, что эти адреса не имеют к нему никакого отношения. На протяжении этих 23 дней они использовали 7 различных хостов, первоначально хост располагался в Монреале, в Канаде. Некоторое время в начале июня использовался малазийский хостинг с IP-адресом 111.90.139.55. Большинство используемых ими хостов располагались в США, включая один крупный хост, специализирующийся на смягчении последствий DoS-атак, а в конце они перешли на немецкий хостинг, где сайт находится по сегодняшний день.
Интересно, что множество людей утверждали, что именно они обрушили сайт LulzSec и выкладывали в интернет соответствующие фотографии. На самом деле это просто демонстрирует услугу, которую мы предлагаем в CloudFlare — если ваш back-end сервер отключается, мы показываем его кэшированную версию, о чем свидетельствует оранжевая полоса вверху страницы. Она сообщает пользователю, что он просматривает кэш, так же, как это бывает с кэшем страницы в Google.
Я думаю, что когда люди заявляли, что обрушили сайт LulzSec, в действительности происходило то, что ребят из LulzSec просто выгоняли с их хостов. Так, на короткий 36-часовой период времени они фактически указывали в качестве своего адреса недопустимый IP-адрес 2.2.2.2, потому что под таким адресом нет ни хоста, ни активного веб-сервера. Я думаю, что они просто выбрали случайный IP-адрес, чтобы наша система просто «выталкивала» их постоянно в режим онлайн, потому что версия кэша существует ограниченный период времени, пока не истечет время его жизни. В этот момент они на короткое время возвращались обратно на хост и указывали фейковый адрес просто для того, чтобы появиться в нашем кэше.
Я не знаю ни одного человека, который бы указал, что сайт LulzSec хотя бы короткое время работал в автономном режиме, несмотря на то, что множество людей попытались выбить его из режима онлайн. На самом деле в это же время именно LulzSec обрушивали чужие сайты, например, сайт ЦРУ, и эти атаки было интересно наблюдать. На слайде перечислено, какие именно атаки мы наблюдали.
Мы были очень удивлены и буквально «поставили всех на уши» во время DDoS- атаки, которая пыталась обрушить сайт целых три недели, так как обычно мы наблюдали атаки, которые длились значительно меньший период времени. Дразнить хакеров, которые пасутся в «Твиттере», не настолько опасно, как дразнить китайскую или восточноевропейскую кибер-мафию или людей, которые занимаются интернет – вымогательством, потому что именно они способны на мощную DDoS-атаку. Да, эти парни тоже достаточно умны, но всё же подобные атаки — это не их уровень.
Мы наблюдали несколько относительно безвредных атак на 7 уровень OSI с использованием таких инструментов, как Slowloris. Но внутренний веб-сервер CloudFlare специально разработан так, чтобы не только «убивать» атаки на 7-й уровень, но и фиксировать все IP-адреса, с которых совершались эти атаки. Я имею в виду, что на самом деле мы только рады, когда хакеры нападают на наш 7-й уровень, потому что гораздо больше хлопот нам причиняют DDoS-атаки на 3 или 4 уровень.
В этом случае мы смягчаем их последствия, так как используем сеть Anycast. Это значит, что у нас есть куча машин, сотни и сотни компьютеров, работающие в 14 различных дата-центрах по всему миру и привязанных к одному и тому же IP-адресу.
Это позволяет «распылять» распределённую DoS–атаку или атаку большим объёмом трафика на большую поверхность сети, что очень затрудняет использование подобных атак против нас.
Намного больше неприятностей нам принесли атаки другого рода. Первая была произведена с помощью чего-то вроде очень большой сети с огромным количеством трафика, который злоумышленники направили прямо на нас. Эта сеть располагалась географически близко к нашему дата-центру в Сан-Хосе, и они использовали практически всю его пропускную способность. Мы вынуждены были передать наших клиентов другим, менее занятым дата-центрам, так что на них это не отразилось. Но дата-центр в Сан-Хосе в это время смог обслуживать только Lulz Security, продолжая удерживать их в режиме онлайн.
Ещё более интересная атака, которая несла угрозу большинству связанных с нами людей, использовала Google в качестве «отражателя» трафика. В отношении IP-адресов Google мы придерживаемся особых правил, чтобы убедиться, что мы никогда не заблокируем законный трафик, приходящий к нам оттуда. Кто-то действительно умный обнаружил, что если послать в Google много SYN-запросов с поддельными заголовками, указывающими на наш IP-адрес, то Google вернет их обратно к нам. Решение этой проблемы было довольно простым и заняло всего несколько минут — мы заблокировали ACK, к которым не были прикреплены SYN, а затем позвонили нашим друзьям в Google и сказали, что они никогда не получат трафик из данных источников, поэтому пусть просто используют против них файрвол. Это была действительно умная атака, которая учитывала природу нашей инфраструктуры и воспользовалась особенностями её работы.
Последняя атака, которая причинила нам много хлопот, базировалась на том, что кто-то выполнил тщательное сканирование диапазонов наших IP-адресов и обнаружил имевшиеся там интерфейсы маршрутизатора, подверженные внешнему воздействию. Воспользовавшись этим, злоумышленник запустил атаку типа «перебор по словарю» и вывел из строя несколько наших роутеров, сумев обойти Anycast.
Решение проблемы снова оказалось довольно простым – мы заблокировали эти IP-адреса, находящиеся вне нашей сети, однако атака все же причинила нам ущерб, так как на несколько минут «выбила» наши роутеры в режим оффлайн.
Знаете, когда я сравнивал самые большие атаки, свидетелями которых мы побывали, то наблюдал даже такое, когда наш клиент получал электронное письмо с текстом: «Привет, мы — китайское правительственное агентство, которое обнаружило, что кто-то в сети собирается напасть на вас, и если вы пришлете нам 10 000$, то мы, вероятно, сможем решить эту проблему». Очевидно, что это никакое не агентство, но они действительно способны решить эту проблему, потому что сами же её и создают. Однако таких атак было сравнительно не много.
Я расскажу еще о некоторых интересных вещах. Всплеск на фоне обычного фонового трафика совпадает по времени с заявление LulzSec о том, что они обрушили серверы Minecraft. После окончания атаки трафик немного уменьшился.
Сотрудники нашего офиса, являющиеся поклонниками Minecraft, завязали большой спор о том, не должны ли LulzSec после этого покинуть нашу сеть, потому что самым они причинили много вреда и вообще, это совсем не круто. Так что можно извлечь урок, что если вы собираетесь организовать против кого-то DDoS-атаку, лучше не трогайте Minecraft.
У меня имеется очень мало информации о том, кто на самом деле эти парни из Lulz Security, для нас это просто одно из имен пользователей, которые создают аккаунты на Cloudflare. Оно очень похоже на имя того, кто был арестован, и я не знаю, это простое совпадение или эти люди действительно обрушили указанные сайты. Мы не замечали за ними такой большой активности, чтобы перемещать их хосты, к тому же их сайт сейчас не работает.
Однако нам было интересно наблюдать за тем, как весь мир в течение 23 дней пытался их «убить», и как бы то ни было, мы помогли им удержаться на плаву. Благодарю за то, что пригласили меня сюда!
Сэм Боун: благодарю, Мэтью, за то, что решили прийти. Сейчас я вернусь к своей презентации. Я слышал много разговоров о том, что атаковать легче, чем защищаться, поэтому я продемонстрирую вам атаку, которая разнесет всё к чертям. И если вам это не нравится, то сидите и ждите, пока Microsoft не выпустит свой патч, иначе окажетесь в пролёте. Вот в чем состоял основной посыл моего выступления. Однако я продвинусь дальше и расскажу, что существует несколько способов защиты от атаки вида RA Flood.
Защищаться действительно труднее, потому что если вы отключите IPv6, то утратите множество полезных функций, например, возможность создавать домашние группы и возможность прямого доступа. Вы можете отключить обнаружение маршрутизатора Router Discovery с помощью соответствующей консольной команды, и это будет означать, что вы устанавливаете статический адрес IPv6, что, возможно, хорошо для сервера.
Вы можете заблокировать мошеннические RA с помощью брандмауэра Windows, после чего в сети смогут приниматься объявления только от авторизированного роутера. Таким образом, можно легко защитить ваших клиентов от атак. Cisco выпускает свитчи с функцией RA Guard, которая является патчем уязвимости Windows, о которой говорил Марк Хьюз. Так что вы можете защитить свою сеть, просто купив свитч Cisco с такой функцией. Однако RA Guard можно очень легко обойти, добавив фрагментированные заголовки в RA-пакеты, так что на любую защиту находится своя атака.
В любом случае, я пришел к таким выводам: ваш сайт будет в порядке, если никто вас не ненавидит. Но если вас возненавидел хотя бы один человек — и это доказывает Джестер, вот почему Джестер настолько важен для сетевой безопасности — то один разозлившийся человек может обрушить множество сайтов, и вы будете перед ним беспомощны.
Вернее, вы будете не совсем беспомощны, но защита потребует от вас огромных усилий. Я поиграл с некоторыми инструментами для защиты и выяснил, что последняя версия бесплатного Mod Security, который находится в стадии тестирования, обладает некоторой защитой от DDoS атак на 7-й уровень. Однако всё, что он может — это остановить слишком много соединений с одного IP-адреса и предотвратить тестирование вашей сети, но он не сможет остановить Джестера, который использовал Tor или аналогичные сети, когда все атакующие пакеты приходили из разных сетей.
Вы можете оплатить такой сервис, как Akamai, и они будут использовать несколько трюков, чтобы защитить вас от подобных атак. Вы можете установить балансировщик нагрузки Load Balancer, который будет защищать ваш сервер, пропуская только полные, не фрагментированные запросы. Но балансировщик загрузки сам по себе прожорливая вещь, это не идеальная защита, потому что он использует примерно в 4 раза больше пакетов, чем необходимо.
Вы также можете использовать контратаку. Например, кто-то попытался атаковать HT More с помощью сети ботнет, но он указал свой DNS-адрес в качестве адреса их сервера C&C так, чтобы они взорвали сами себя. В этом случае могут возникнуть некоторые юридические вопросы, но это срабатывает. Это работает против Flood-атак типа тех, что использовали Anonymous со своей Low Orbit Ion Canon.
Мне доставило удовольствие наблюдать за CloudFlare, которые говорят о том же, о чем говорю я — повсюду ужасные атаки, вы мало что можете сделать, поэтому нужно связаться с людьми, которые имеют уязвимости, и попытаться заставить их исправить свое оборудование. Это, как правило, малый бизнес, который многого не знает и не имеет собственной службы безопасности. Я не могу попросить их купить и ввести в строй дополнительный сервер для защиты своего основного сервера, но могу посоветовать использовать CloudFlare, который является бесплатным сервисом.
Это не трудно сделать, и это действительно защитит вас. Мне доставило большое удовольствие видеть, как этот сервис смог остановить Джестера, который очень хотел обрушить этот сайт, но так и не смог. Первое, что я увидел – это то, что можно легко развернуть сеть, не тратя деньги на дорогостоящую службу безопасности. Так что в следующем семестре я со своими студентами попробую сыграть в игру, в которой мы установим всю эту защиту и попытаемся её прорвать, ведь оборона намного сложнее атаки.
Итак, Райан, сколько машин нам удалось убить? Чья-нибудь машина устояла перед нападением? Кто-нибудь хочет об этом рассказать? Добровольцев нет? Ну что же, когда вам предлагают добровольно угробить свой компьютер, обычно находится не много желающих. Что же, это вполне справедливо. Вот и все, увидимся в следующем году!
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Но что еще хуже… Я попытался разработать проект для своих студентов, и получалось забавно, но проблема заключалась в том, что нельзя было посмотреть «убиваемые» адреса, так как этого вам было нужно видеть IP config. Но если я проведу атаку действительно очень быстро, система сразу отреагирует и никто не увидит, что же с ней произошло.
Я сделал так, что можно было увидеть всю сеть, все адреса этой сети страница за страницей. Этот список можно было сделать еще больше, так как в него добавлялось по 5 IP-адресов в секунду. Когда я запустил этот проект в первый раз, мне показалось, что ничего не происходит, так как моя Windows-машина вроде бы вообще не отреагировала на то, что случилось.
Студентам это было бы не интересно, потому что они ничему не научатся, если не смогут увидеть наносимые атакой повреждения. Я подумал «ок, это плохой проект, что же мне сделать?», но тут меня озарило – эта штука убивает контроллер домена, почтовый сервер и все такое, это очень плохо. Это настолько плохо, что я вообще не могу рассказать об этом своим ученикам, лучше я тихонько расскажу об этом Microsoft!
Так что я разослал твит о том, что Windows 7 содержит опасную уязвимость, что, впрочем, совсем не удивительно. Я сообщил, что в связи с этим мне нужны контакты службы безопасности Windows, и люди в «Твиттере» помогли мне найти нужных людей в Microsoft. Через 2 дня у меня был официальный ответ из Microsoft, в котором сообщалось, что Марк Хьюз рассказал им об этом еще год назад. Но это не важно, потому что они не намерены вносить исправления в текущие версии Windows, потому что Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows XP постепенно «отмирают» и они прекращаю их поддержку. Вместо этого они устранят эту уязвимость в Windows 8 или Windows 9, если ещё чего-нибудь не придумают.
Я подумал – отлично, если вы собираетесь действовать таким образом, то я расскажу об этом всему миру и дам своим студентам протестировать этот проект в качестве домашнего задания, предупредив, чтобы они использовали его в изолированной сети, потому что иначе можно убить все компьютеры в колледже, включая наши серверы. Они так и поступили, поэтому я до сих пор еще там преподаю, а не стою на улице с кружкой для подаяний.
В любом случае это очень мощная атака, и я бы хотел немного поговорить, как можно от неё защититься. Но прежде чем я начну, я передам это дело Мэтью, и единственное, что я хочу – это чтобы вы сейчас испробовали воздействие этой атаки на себе.
Атаке RA Flood подвержены все Windows –машины и компьютеры с одной из версий Free BSD Unix, а вот машины с MAC OS и Open BSD для неё неуязвимы. Если вы посмотрите на конфигурацию моего «Макбука», то увидите, что он тоже является хостом и присоединился к некоторым из существующих здесь сетей, вы видите здесь сеть inet6 с адресом, начинающимся с 2001.
Он подсоединился к некоторым из этих бесполезных сетей, но не ко всем сетям. Я думаю, что это могут быть сети DefCon. Но в любом случае, вы видите, что мой «Макбук» в течение некоторого времени подсоединился к 10-ти первым найденным сетям и больше не обращает внимания на RA. Это очень хорошая защита и я думаю, что Microsoft также должен был поступить с Windows, но их не интересует мое мнение. Cisco выпустили патч, призванный защитить их оборудование от атак подобного рода, а Juniper до сих пор этого не сделали.
Так что если у вас есть устройства для тестирования, Райан собирается настроить свою изолированную сеть и там кого-нибудь убить. Если вы хотите принять в этом участие, можете присоединиться к сети SSID под названием «Do not use», которая использует шифрование WPA2, так что нужно ввести пароль «Do not use». Если вы присоединяетесь к этой сети, Райан увидит, сколько людей вошло в сеть, и убьёт вас. Это убийство довольно интересно, так как поможет выяснить, какие еще устройства уязвимы, кроме Windows и Free BSD.
Некоторые люди сказали, что собираются принести сюда интересные устройства, и я хотел бы об этом узнать, так что попрошу вас после демонстрации пройти в комнату Q&A и рассказать об этом. Тогда мы смогли бы информировать производителя, чтобы подвигнуть его на выпуск патча для выявленной уязвимости своего устройства. Я думаю, что многие люди уязвимы для атак подобного рода, но не знают об этом.
Сейчас я передам слово Мэттью, чтобы он рассказ о LulzSec, а затем продолжу разговор о защите, если у нас останется время. Пока что я закрою все окна, чтобы очистить рабочий стол. Я извиняюсь, название сети «Do not connect» и пароль тоже «Do not connect»!
Мэттью Принс: Сэм – единственный из знакомых мне людей, который может осуществить DDoS-атаку с таким обаянием. Меня зовут Мэтью Принс, я знаю Сэма, мы оба живем в Сан-Франциско и оба замешаны в историю LulzSec.
Поэтому я расскажу вам историю о том, как меня в это втянули, о некоторых DDoS-атаках, которые мы наблюдали на протяжении 23 дней, и о том, что мы сделали, чтобы их остановить.
2 июня 2011 года около 16:54 по Гринвичу LulzSec объявили в своем аккаунте «Твиттер», что создали страницу Lulz Security по адресу lulzsecurity.com. Удивительным было то, что эта страница в течение 15 минут была в состоянии оффлайн из-за мощной DDoS-атаки. Я не знаю подробностей этой конкретной атаки, потому что мы тогда еще не были к этому привлечены.
Примерно через час после публикации поста о создании страницы, LulzSec сообщили в «Твиттере», что им удалось решить проблему отказа в обслуживании. Единственное, что изменилось за это время, как мне позже сообщили, это то, что за 9 минут до этого сообщения они подписались на наш сервис CloudFlare. Мы делаем веб-сайты быстрее и защищаем их от некоторых видов атак, но не считаем себя сервисом для предотвращения DDoS – атак, поэтому некоторые из нас были удивлены таким поступком LulzSec.
Еще большим сюрпризом стало, когда часом спустя хакеры опубликовали адресованное мне сообщение, в котором признавались в любви к CloudFlare и спрашивали, могут ли рассчитывать на бесплатный премиум-аккаунт в обмен на ром.
Я понятия не имел, кем на тот момент были эти LulzSec, поэтому написал в «Твиттере» сообщение, которое мой адвокат потом сказал удалить: «Это зависит от того, насколько хорош будет ром». Скажу сразу, они никогда не присылали нам ром, а мы никогда не предоставляли им про-аккаунт. Но CloudFlare является бесплатным сервисом, каждый день у нас регистрируются тысячи сайтов, и обычно мы не имеем с ними проблем.
Итак, в течение следующих 23 дней эти ребята сеяли хаос самыми различными способами. Наконец, 25 июня они опубликовали твит, который ознаменовал конец атаки.
Интересным было то, что CloudFlare работает как обратный прокси, поэтому весь трафик, который направлялся к Lulz Security, сначала проходил через нашу сеть, которая обладает двумя существенными эффектами. Первый – любой, кто атаковал Lulz Security, атаковал нас, второй – благодаря нам Lulz Security могли скрыть местонахождение источника своей атаки, то есть место, где фактически находился их хостинг. Это побочные эффекты архитектуры нашей системы, но хакеры использовали их себе на пользу.
Сэм связался со мной некоторое время назад и сказал, что собирается поговорить о DDoS. Мы поговорили о нашем опыте и он спросил, не мог бы я поделиться некоторой информацией по этому поводу. У нас есть юрисконсульт, мы настоящая компания со своей собственной политикой конфиденциальности, и даже если вы находитесь в международном розыске за киберпреступление, мы стараемся уважать вашу частную жизнь. Поэтому я написал LulzSec письмо и отправил его на адрес электронной почты, указанный ими в своем аккаунте.
Я сообщил им, что меня пригласили на DefCon в качестве спикера, чтобы я рассказал об атаках на CloudFlare, связанных с деятельностью их сообщества. Я написал, что некоторая информация, которую я хочу сообщить во время своего выступления, защищена нашей политикой конфиденциальности, поэтому я прошу согласия LulzSec на её раскрытие. Спустя 11 дней некто по имени Джек Воробей ответил мне текстом: «У вас есть моё согласие».
И вот я здесь, чтобы рассказать о некоторых вещах, о которых не мог бы говорить без этого разрешения. Я могу говорить о том, как они повлияли на нас, но не буду раскрывать вам хосты, которые они использовали для атаки или реальные IP-адреса.
Позвольте мне рассказать вам немного больше о том, что произошло за эти 23 дня, и показать анализ фактического трафика на сайт Lulz Security в течение этого времени.
За это время было совершено более 18 миллионов просмотров страниц, когда люди заходили на этот сайт. Вы можете увидеть, что практически с самого начала атаки с 22 июня по 5 июля наблюдался пик обычного трафика, а затем сайт перестал работать, хотя по-прежнему использовал CloudFlare. Если вы попытаетесь зайти на этот сайт сегодня, то увидите там только страницу конфигурации Apache, и я не знаю, что они планируют делать с ним дальше.
Интересно посмотреть на трафик атаки, который обрушил сайт.
Я бы сказал, что весь трафик до пика посередине – просто обычный фоновый шум, в котором не было ничего особенного и который не предвещал ничего из того, что я покажу на слайде через пару секунд. На самом деле эти три недели, в течение которых LulzSec пользовались сервисом CloudFlare, были довольно спокойными в отношении DoS-атак. Это странно, потому что многие люди говорили о том, что в это время они атаковали LulzSec.
Пик в середине графика был вызван парой очень явных событий, о которых я расскажу далее. Мы также поговорим о видах атак, которые использовались против LulzSec и о том, что мы сделали, чтобы себя защитить.
Особенно интересное событие произошло 25 июня. Оно было связано с Джестером. Я не знал, кто это такой, поэтому Сэм предоставил мне о нем некоторые материалы.
Джестер будто бы потратил кучу времени на то, чтобы выяснить местоположение сайта LulzSec и с гордостью опубликовал на своей странице IP-адреса их ресурсов: www.lulzsecurity.com: 204.197.240.133 и lulzsecurity.com: 111.90.139.55.
Я знаю, на каком хосте находился сайт LulzSec 25 июня и могу вам сказать, что эти адреса не имеют к нему никакого отношения. На протяжении этих 23 дней они использовали 7 различных хостов, первоначально хост располагался в Монреале, в Канаде. Некоторое время в начале июня использовался малазийский хостинг с IP-адресом 111.90.139.55. Большинство используемых ими хостов располагались в США, включая один крупный хост, специализирующийся на смягчении последствий DoS-атак, а в конце они перешли на немецкий хостинг, где сайт находится по сегодняшний день.
Интересно, что множество людей утверждали, что именно они обрушили сайт LulzSec и выкладывали в интернет соответствующие фотографии. На самом деле это просто демонстрирует услугу, которую мы предлагаем в CloudFlare — если ваш back-end сервер отключается, мы показываем его кэшированную версию, о чем свидетельствует оранжевая полоса вверху страницы. Она сообщает пользователю, что он просматривает кэш, так же, как это бывает с кэшем страницы в Google.
Я думаю, что когда люди заявляли, что обрушили сайт LulzSec, в действительности происходило то, что ребят из LulzSec просто выгоняли с их хостов. Так, на короткий 36-часовой период времени они фактически указывали в качестве своего адреса недопустимый IP-адрес 2.2.2.2, потому что под таким адресом нет ни хоста, ни активного веб-сервера. Я думаю, что они просто выбрали случайный IP-адрес, чтобы наша система просто «выталкивала» их постоянно в режим онлайн, потому что версия кэша существует ограниченный период времени, пока не истечет время его жизни. В этот момент они на короткое время возвращались обратно на хост и указывали фейковый адрес просто для того, чтобы появиться в нашем кэше.
Я не знаю ни одного человека, который бы указал, что сайт LulzSec хотя бы короткое время работал в автономном режиме, несмотря на то, что множество людей попытались выбить его из режима онлайн. На самом деле в это же время именно LulzSec обрушивали чужие сайты, например, сайт ЦРУ, и эти атаки было интересно наблюдать. На слайде перечислено, какие именно атаки мы наблюдали.
Мы были очень удивлены и буквально «поставили всех на уши» во время DDoS- атаки, которая пыталась обрушить сайт целых три недели, так как обычно мы наблюдали атаки, которые длились значительно меньший период времени. Дразнить хакеров, которые пасутся в «Твиттере», не настолько опасно, как дразнить китайскую или восточноевропейскую кибер-мафию или людей, которые занимаются интернет – вымогательством, потому что именно они способны на мощную DDoS-атаку. Да, эти парни тоже достаточно умны, но всё же подобные атаки — это не их уровень.
Мы наблюдали несколько относительно безвредных атак на 7 уровень OSI с использованием таких инструментов, как Slowloris. Но внутренний веб-сервер CloudFlare специально разработан так, чтобы не только «убивать» атаки на 7-й уровень, но и фиксировать все IP-адреса, с которых совершались эти атаки. Я имею в виду, что на самом деле мы только рады, когда хакеры нападают на наш 7-й уровень, потому что гораздо больше хлопот нам причиняют DDoS-атаки на 3 или 4 уровень.
В этом случае мы смягчаем их последствия, так как используем сеть Anycast. Это значит, что у нас есть куча машин, сотни и сотни компьютеров, работающие в 14 различных дата-центрах по всему миру и привязанных к одному и тому же IP-адресу.
Это позволяет «распылять» распределённую DoS–атаку или атаку большим объёмом трафика на большую поверхность сети, что очень затрудняет использование подобных атак против нас.
Намного больше неприятностей нам принесли атаки другого рода. Первая была произведена с помощью чего-то вроде очень большой сети с огромным количеством трафика, который злоумышленники направили прямо на нас. Эта сеть располагалась географически близко к нашему дата-центру в Сан-Хосе, и они использовали практически всю его пропускную способность. Мы вынуждены были передать наших клиентов другим, менее занятым дата-центрам, так что на них это не отразилось. Но дата-центр в Сан-Хосе в это время смог обслуживать только Lulz Security, продолжая удерживать их в режиме онлайн.
Ещё более интересная атака, которая несла угрозу большинству связанных с нами людей, использовала Google в качестве «отражателя» трафика. В отношении IP-адресов Google мы придерживаемся особых правил, чтобы убедиться, что мы никогда не заблокируем законный трафик, приходящий к нам оттуда. Кто-то действительно умный обнаружил, что если послать в Google много SYN-запросов с поддельными заголовками, указывающими на наш IP-адрес, то Google вернет их обратно к нам. Решение этой проблемы было довольно простым и заняло всего несколько минут — мы заблокировали ACK, к которым не были прикреплены SYN, а затем позвонили нашим друзьям в Google и сказали, что они никогда не получат трафик из данных источников, поэтому пусть просто используют против них файрвол. Это была действительно умная атака, которая учитывала природу нашей инфраструктуры и воспользовалась особенностями её работы.
Последняя атака, которая причинила нам много хлопот, базировалась на том, что кто-то выполнил тщательное сканирование диапазонов наших IP-адресов и обнаружил имевшиеся там интерфейсы маршрутизатора, подверженные внешнему воздействию. Воспользовавшись этим, злоумышленник запустил атаку типа «перебор по словарю» и вывел из строя несколько наших роутеров, сумев обойти Anycast.
Решение проблемы снова оказалось довольно простым – мы заблокировали эти IP-адреса, находящиеся вне нашей сети, однако атака все же причинила нам ущерб, так как на несколько минут «выбила» наши роутеры в режим оффлайн.
Знаете, когда я сравнивал самые большие атаки, свидетелями которых мы побывали, то наблюдал даже такое, когда наш клиент получал электронное письмо с текстом: «Привет, мы — китайское правительственное агентство, которое обнаружило, что кто-то в сети собирается напасть на вас, и если вы пришлете нам 10 000$, то мы, вероятно, сможем решить эту проблему». Очевидно, что это никакое не агентство, но они действительно способны решить эту проблему, потому что сами же её и создают. Однако таких атак было сравнительно не много.
Я расскажу еще о некоторых интересных вещах. Всплеск на фоне обычного фонового трафика совпадает по времени с заявление LulzSec о том, что они обрушили серверы Minecraft. После окончания атаки трафик немного уменьшился.
Сотрудники нашего офиса, являющиеся поклонниками Minecraft, завязали большой спор о том, не должны ли LulzSec после этого покинуть нашу сеть, потому что самым они причинили много вреда и вообще, это совсем не круто. Так что можно извлечь урок, что если вы собираетесь организовать против кого-то DDoS-атаку, лучше не трогайте Minecraft.
У меня имеется очень мало информации о том, кто на самом деле эти парни из Lulz Security, для нас это просто одно из имен пользователей, которые создают аккаунты на Cloudflare. Оно очень похоже на имя того, кто был арестован, и я не знаю, это простое совпадение или эти люди действительно обрушили указанные сайты. Мы не замечали за ними такой большой активности, чтобы перемещать их хосты, к тому же их сайт сейчас не работает.
Однако нам было интересно наблюдать за тем, как весь мир в течение 23 дней пытался их «убить», и как бы то ни было, мы помогли им удержаться на плаву. Благодарю за то, что пригласили меня сюда!
Сэм Боун: благодарю, Мэтью, за то, что решили прийти. Сейчас я вернусь к своей презентации. Я слышал много разговоров о том, что атаковать легче, чем защищаться, поэтому я продемонстрирую вам атаку, которая разнесет всё к чертям. И если вам это не нравится, то сидите и ждите, пока Microsoft не выпустит свой патч, иначе окажетесь в пролёте. Вот в чем состоял основной посыл моего выступления. Однако я продвинусь дальше и расскажу, что существует несколько способов защиты от атаки вида RA Flood.
Защищаться действительно труднее, потому что если вы отключите IPv6, то утратите множество полезных функций, например, возможность создавать домашние группы и возможность прямого доступа. Вы можете отключить обнаружение маршрутизатора Router Discovery с помощью соответствующей консольной команды, и это будет означать, что вы устанавливаете статический адрес IPv6, что, возможно, хорошо для сервера.
Вы можете заблокировать мошеннические RA с помощью брандмауэра Windows, после чего в сети смогут приниматься объявления только от авторизированного роутера. Таким образом, можно легко защитить ваших клиентов от атак. Cisco выпускает свитчи с функцией RA Guard, которая является патчем уязвимости Windows, о которой говорил Марк Хьюз. Так что вы можете защитить свою сеть, просто купив свитч Cisco с такой функцией. Однако RA Guard можно очень легко обойти, добавив фрагментированные заголовки в RA-пакеты, так что на любую защиту находится своя атака.
В любом случае, я пришел к таким выводам: ваш сайт будет в порядке, если никто вас не ненавидит. Но если вас возненавидел хотя бы один человек — и это доказывает Джестер, вот почему Джестер настолько важен для сетевой безопасности — то один разозлившийся человек может обрушить множество сайтов, и вы будете перед ним беспомощны.
Вернее, вы будете не совсем беспомощны, но защита потребует от вас огромных усилий. Я поиграл с некоторыми инструментами для защиты и выяснил, что последняя версия бесплатного Mod Security, который находится в стадии тестирования, обладает некоторой защитой от DDoS атак на 7-й уровень. Однако всё, что он может — это остановить слишком много соединений с одного IP-адреса и предотвратить тестирование вашей сети, но он не сможет остановить Джестера, который использовал Tor или аналогичные сети, когда все атакующие пакеты приходили из разных сетей.
Вы можете оплатить такой сервис, как Akamai, и они будут использовать несколько трюков, чтобы защитить вас от подобных атак. Вы можете установить балансировщик нагрузки Load Balancer, который будет защищать ваш сервер, пропуская только полные, не фрагментированные запросы. Но балансировщик загрузки сам по себе прожорливая вещь, это не идеальная защита, потому что он использует примерно в 4 раза больше пакетов, чем необходимо.
Вы также можете использовать контратаку. Например, кто-то попытался атаковать HT More с помощью сети ботнет, но он указал свой DNS-адрес в качестве адреса их сервера C&C так, чтобы они взорвали сами себя. В этом случае могут возникнуть некоторые юридические вопросы, но это срабатывает. Это работает против Flood-атак типа тех, что использовали Anonymous со своей Low Orbit Ion Canon.
Мне доставило удовольствие наблюдать за CloudFlare, которые говорят о том же, о чем говорю я — повсюду ужасные атаки, вы мало что можете сделать, поэтому нужно связаться с людьми, которые имеют уязвимости, и попытаться заставить их исправить свое оборудование. Это, как правило, малый бизнес, который многого не знает и не имеет собственной службы безопасности. Я не могу попросить их купить и ввести в строй дополнительный сервер для защиты своего основного сервера, но могу посоветовать использовать CloudFlare, который является бесплатным сервисом.
Это не трудно сделать, и это действительно защитит вас. Мне доставило большое удовольствие видеть, как этот сервис смог остановить Джестера, который очень хотел обрушить этот сайт, но так и не смог. Первое, что я увидел – это то, что можно легко развернуть сеть, не тратя деньги на дорогостоящую службу безопасности. Так что в следующем семестре я со своими студентами попробую сыграть в игру, в которой мы установим всю эту защиту и попытаемся её прорвать, ведь оборона намного сложнее атаки.
Итак, Райан, сколько машин нам удалось убить? Чья-нибудь машина устояла перед нападением? Кто-нибудь хочет об этом рассказать? Добровольцев нет? Ну что же, когда вам предлагают добровольно угробить свой компьютер, обычно находится не много желающих. Что же, это вполне справедливо. Вот и все, увидимся в следующем году!
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?