Как узнать кто сделал ддос атаку

Добавил пользователь Алексей Ф.
Обновлено: 06.09.2024

Принцип DDoS-атак

Распределенный отказ в обслуживании — DDoS (или полностью Distributed Denial of Service) напротив является угрозой для интернет-ресурса. Это хаотичные запросы, которые направлены на конкретный сайт. Злоумышленники могут вывести из строя даже самые сильные и мощные сервера. Как им удается получить столь высокий уровень трафика?

Ежедневно сервер подвергается большому количеству различных запросов. Большая часть из них абсолютно пустая и не имеет смысловой нагрузки. Если сервер не имеет специальной защиты, то он обрабатывает и посылает ответный сигнал на каждый из них. Это и приводит к перегрузу входящего трафика и самого сервера. Для узкополосного канала угрозой становится всего пара сотен запросов, а если речь идет о высокопропускных, то эта цифра увеличивается в сотни тысяч.

Механизм заражения компьютера

Обычно корень зла находится в вирусной программе, как правило, это троян, который легко распространяется путем внедрения на жесткий диск с различных сомнительных сайтов. В последнее время они трояны становятся незаметными даже для самых мощных антивирусных программ. Они могут храниться на ресурсе до того момента, как его создатель не подаст определенную команду. Как только хакер определил свою жертву для осуществления ДДоС-атаки, он отправляет шифрованную команду путем рассылки своим тайным агентам. В шифре содержится конкретный IP-адрес смартфона или ПК, который будет подвержен массовой атаке. Владельцы компьютеров могут и не знать, что их устройства используются хакерами.

DDoS-атаки: виды

Первый в рейтинге — пинг-флуд. Источниками атаки служат несколько или вовсе один компьютер. Чтобы защититься от подобной атаки, достаточно отключить на своем устройстве возможность посылать ответ на поступающие ICMP-запросы. Ping-Flood по похож на SMURF-атаку, поэтому не стоит на ней отдельно останавливаться.

Способы защиты от атак

Поток нежелательных запросов можно сдержать за счет введения ограничений по конкретным признакам и IP-адресам. Другой вариант подразумевает использование скрипта, который будет блокировать доступ к сайту. Например, если это происходит в нетипичное для посещения пользователями время. Недостатком этого способа является увеличение нагрузки на сервер из-за работы скрипта.

Спамный трафик можно очистить с помощью специального сервиса. Услуги защиты предоставляют различные специальные организации. Они добавляют к доменному имени интернет-ресурса DNS-сервер компании. Запросы, которые поступают в адрес ресурса, сначала принимает фильтрующий сервер. Если пакет безопасный, то он адресуется на хостинг ресурса, остальные же блокируются.

Юридические последствия

Аватар пользователя

Каждые сутки хакеры проводят около 2000 атак по всему миру. Представители малого и среднего бизнеса теряют в среднем 50 000$ за одну атаку, крупные компании — до 500 000$ и больше. Uber выплатил 149 миллионов долларов клиентам, чьи данные были украдены, Facebook заплатил штраф в размере 5 миллиардов долларов. Цели большинства атак: похищение конфиденциальных данных, вымогательство, желание сделать бяку конкуренту.

Что такое DDoS?

Кого и зачем атакуют

Знай врага в лицо


Кроме настольного друга, DDoS-атакой в вашем доме может заниматься холодильник, электрочайник, видеокамера и даже умная лампочка.


Что нужно для DDoS-атаки и сколько это стоит


Самый простой способ сделать подножку ненавистному сайту — заказать стресс-тест у сервиса, предлагающего защиту от атак. Это работает только с самыми простенькими сайтами на бесплатных CMS и дешевых виртуальных хостингах. Тест длится от 2 до 20 минут. Более серьезную атаку можно организовать с помощью автоматических инструментов.


Как вычисляют жертву?

Частный случай

Проникнуть в любую сеть можно через Wi-Fi. Хакеры удаленно перезагружают устройство с помощью программы типа Websploit. Роутер возвращается к базовым настройкам и стандартному паролю. Злоумышленник получает доступ ко всему трафику организации.


Выявить адрес жертвы можно с помощью Skype или другого мессенджера. Делается это с помощью хакерского ПО на Linux. На полученный адрес посылается множество пакетов данных. Бонусом можно поставить программку автодозвона на определенный номер.


Виды DDoS-атак

Smurf-атака — взломщик отправляет операционной системе запрос с подменным mac-адресом. Все ответы с сервера пересылаются на пинг-запрос хаккера, а жертва бесконечно долго ждет пакеты, который у нее умыкнул воришка.

UDP-флуд — в данном типе атаки превышается время ожидания ответа от сервера, соответственно, пользователь получает отказ в обработке запроса.

Программы-эксплоиты — используются более продвинутыми взломщиками, цель которых — коммерческие организации. Программное обеспечение выискивает ошибки кода, бэкдоры, уязвимости.

Атака на VoIP и SIP устройства связи — осуществляется через специальное ПО, для организации необходимо узнать IP-адрес пользователя.

Что делать во время DDoS-атаки

Можно провести обратную DDoS-атаку, перенаправив присланную бяку, атакующему. Если повезет, выведите из строя его оборудование. Для этого надо знать адрес сервера хакера и обладать хорошими навыками программирования. Без специалиста в этой области не обойтись — они редки и очень дорого стоят.

Активные методы защиты


Построение распределенных систем — целое искусство, позволяющее раскидывать запросы по разным узлам единой системы, если какие-то сервера стали не доступными. Вся информация дублируется, физически сервера находятся в Data-центрах разных стран. Такой подход имеет смысл использовать только для крупных проектов с большим количеством пользователей или высокими требованиями к бесперебойному доступу — банки, социальные сети.

Если у сервера нет надежной защиты или принятые меры не дали результатов — руби канаты.

Весь DDoS-трафик поступает от одного провайдера и магистрального маршрутизатора, поэтому можно заблокировать все, подключившись к резервной линии Интернет-соединения. Метод действенный, пока вас снова не обнаружат.

Как защищают сервисы

Весь интернет-трафик, поступающий на сайт, перенаправляется на сервера программно-аппаратных комплексов защиты, клиент получает только очищенный входящий трафик. Исходящий проходит через другие сервера.


Как правило, стоимость таких услуг довольна высока. Эти же сервисы предлагают постоянный мониторинг и выделенный IP, чтобы скрыть реальный адрес. Деньги берут в зависимости от объема трафика, поступающего на сервер. Расходы на защиту колеблются от 250 до нескольких тысяч долларов год.

Выбор стратегии зависит от серьезности угрозы и важности бесперебойной работы ресурса. Для большинства сайтов достаточно превентивных мер:межсетевые экраны, фильтрация запросов по ACL-списку, установка программ пассивного мониторинга, создание резервной линии Интернет-соеденения. Если доход от сайта исчисляется сотнями тысяч в день, стоит подумать о надежной защите на постоянной основе.


gallery/0_z_fgcgbymmyu_gui

Основной целью для злоумышленников, ddos применяю для устранения конкуренции в той или иной отрасли, путем полного прекращение работы атакуемого сервера за счёт подачи на него большого количества ложных запросов, с которыми не будет справляться ваш сайт.

Популярными жертвами таких атак становятся коммерческие и информационные сайты. Хацкеры в последнее время используют такой вид атак с целью вымогательства, требуя денег за прекращение атаки, или ведут информационную войну.

Кто может сделать такие атаки?

Ранее, в былых 90-x можно было сайты ложить с помощью отвертки)))

Да-да именно отвертки, которой можно было зажать кнопку F5 на клавиатуре. Из-за частого обновления страницы, которая делала частые запросы на сервер. Сервер просто напросто не справлялся с такой нагрузкой из слабости.

Сейчас же атаки организовывают с помощью БОТ-сетей. Это совокупность зараженных вирусом компьютеров которые способны синхронно исполнять команды переданные с управляющего сервера. К примеру, если бот-сети из тысячи компьютеров дать команду открыть сайт, то на целевом сайте резко возрастает нагрузка и сайт получает ДДОС атаку.

Методы DDOS атак

По крайней мере существует три различных метода организации ддос атак.

1) По полосе пропускания — данный вид атаки предполагает что на веб сайт направляется большое количество запросов по протоколам TCP, UDP и ICMP и таким образом полностью заполняют его пропускную способность. Вызывая при этом отказ в обслуживании.

2) На основе протокола сервера — данный вид атаки направлен на конкретные сервисы сервера. И может выполнятся с помощью TCP, UDP и ICMP. Часто такие атаки называют SYN-флуд, смысл которых в отсылке на веб сервер большого количества SYN запросов на которые сервер должен ответить запросом ASK. Из-за большого наводнения таких запросов, сервер часто не справляется с нагрузкой и падает.

3) На основе ошибок конкретного веб сайта — этот вид атаки является самым сложным в плане исполнения и применяется как правило высоко-проффесиональными хакерами. Суть его состоит в том что на сайте-жертве находятся уязвимости, используя которые создается высокая нагрузка на сервер и он получает отказ в обслуживании.

Инструменты

1) Linux

gallery/0_yes3jejwkl5yks5n

gallery/1_xfcy-523ac4_o3vr7bxphq

gallery/1_vg3h--l1s7uovzmqbndr0q

gallery/1_oomkdsp2csnajpbfm1cria

gallery/1_-gndeqoonday5_uvycciqg

gallery/1_dgbkryyukc-h-xwp7zex0q

gallery/1_dahcbsxdlcxnmn4l99xxgg

gallery/1_4h1x3kpovpxdcaioe-0eva

gallery/0_qynv_klsrz4mktqm

gallery/1_7sdl8xb1ag4_yxncmmhiig

gallery/1_cvy0fteos4pdgumcrkic5w

И помните все показанное выше, сделано в целях обучения.

Можно применять только на своих проектах, после разрешения.

1. Отказаться от Windows Server

Практика подсказывает, что сайт, который работает на винде, в случае DDoS обречен. Причина неудачи кроется в виндовом сетевом стеке: когда соединений становится очень много, то сервер непременно начинает плохо отвечать. Я не знаю, почему Windows Server в таких ситуациях работает настолько отвратно, факт есть фактом.

2. Отказ от Apache

3. Использовать модуль testcookie

- Поддерживает ли JavaScript,

- Тот ли он браузер, за который себя выдает

Проверка реализована с помощью кукисов с использованием разных методов:

- произвольным шаблоном, причем можно использовать JavaScript.

Чтобы избежать автоматического парсинга, проверяющая кукиса может быть зашифрована с помощью AES-128 и позже расшифрована на клиентской стороне JavaScript. Большой минус правда, он блокирует доступ для многих легитимных пользователей (фактически всех мобильных устройств), также к недостаткку относим всех ботов, в том числе Googlebot. Если вы планируете оставить testcookie на постоянной основе, убедитесь, что вы при этом не пропадете из поисковой выдачи; создает проблемы пользователям с браузерами Links, w3m и им подобными; не спасает от ботов, оснащенных полноценным браузерным движком с JavaScript. Словом, testcookie_module не универсален.

4. Нейронная сеть (PoC)

Берем нейронную сеть PyBrain, запихиваем в нее логи и проанализируем запросы, более подробнее здесь. В этом случае весьма полезно иметь access.log до начала DDoS’а, так как он описывает практически 100% легитимных клиентов, а следовательно, отличный dataset для тренировки нейронной сети. Тем более глазами в логе боты видны не всегда.

5. Анализируйте ошибки

Проанализируйте объем трафика, время ответа сервера, количество ошибок. Для этого смотрите логи. В nginx время ответа сервера фиксируется в логе двумя переменными: request_time и upstream_response_time. Первая — это полное время выполнения запроса, включая задержки в сети между пользователем и сервером; вторая сообщает, сколько бэкенд выполнял запрос. Значение upstream_response_time чрезвычайно важно для сайтов с большим количеством динамического контента и активным общением фронтенда с базой данных, им нельзя пренебрегать.

6. Отслеживайте количество запросов в секунду

В случае nginx вы можете примерно оценить эту величину следующей shell-командой. Переменная ACCESS_LOG содержит путь к журналу запросов nginx в combined-формате:

echo $(($(fgrep -c “$(env LC_ALL=C date — date=@$(($(date \ +%s)-60)) +%d/%b/%Y:%H:%M)” “$ACCESS_LOG”)/60))

По сравнению с нормальным для этого времени дня уровнем количество запросов в секунду может как падать, так и расти. Растут они в случае, если пришел крупный бот, а падают, если пришедший бот обрушил сайт, сделав его полностью недоступным для легитимных пользователей, и при этом бот статику не запрашивает, а легитимные пользователи запрашивают. Падение количества запросов наблюдается как раз за счет статики. Но, так или иначе, мы ведем речь о серьезных изменениях показателей. Когда это происходит внезапно — пока вы пытаетесь решить проблему своими силами и если не видите ее сразу в логе, лучше быстро проверьте движок и параллельно обратитесь к специалистам.

7. tcpdump

Это средство диагностики. С помощью его был обнаружен баг в ядре Linux, когда оно открывало TCP-соединение при выставленных флагах TCP-сегмента SYN и RST. Первым багрепорт отправил именно системный администратор, чей ресурс был атакован этим методом, — атакующие узнали об уязвимости раньше, чем весь мир. Ему, очевидно, такая диагностика помогла. Другой пример: у nginx есть одно не очень приятное свойство — он пишет в лог только после полной отработки запроса. Бывают ситуации, когда сайт лежит, ничего не работает и в логах ничего нет. Все потому, что все запросы, которые в данный момент загружают сервер, еще не выполнились. Tcpdump поможет и здесь.

8. Размеры буферов в nginx

Не секрет, что каждый ресурс имеет лимит. Прежде всего это касается оперативной памяти. Поэтому размеры заголовков и всех используемых буферов нужно ограничить адекватными значениями на клиента и на сервер целиком. Их обязательно нужно прописать в конфиге nginx.

- client_header_buffer_size__ Задает размер буфера для чтения заголовка запроса клиента. Если строка запроса или поле заголовка запроса не помещаются полностью в этот буфер, то выделяются буферы большего размера, задаваемые директивой large_client_header_buffers.

- large_client_header_buffers Задает максимальное число и размер буферов для чтения большого заголовка запроса клиента.

- client_body_buffer_size Задает размер буфера для чтения тела запроса клиента. Если тело запроса больше заданного буфера, то все тело запроса или только его часть записывается во временный файл.

9. Настраиваем тайм-ауты в nginx

Ресурсом является и время. Поэтому следующим важным шагом должна стать установка всех тайм-аутов, которые опять же очень важно аккуратно прописать в настройках nginx.

- reset_timedout_connection on; Помогает бороться с сокетами, зависшими в фазе FIN-WAIT.

- client_header_timeout Задает тайм-аут при чтении заголовка запроса клиента.

- client_body_timeout Задает тайм-аут при чтении тела запроса клиента.

- send_timeout Задает тайм-аут при передаче ответа клиенту. Если по истечении этого времени клиент ничего не примет, соединение будет закрыто.

Нужно выставить минимальные значения, при которых сайт остается в работоспособном состоянии, то есть страницы отдаются и запросы обрабатываются. Это определяется только тестированием — как с десктопов, так и с мобильных устройств. Алгоритм поиска значений каждого параметра:

- Выставляем математически минимальное значение параметра.

- Запускаем прогон тестов сайта.

- Если весь функционал сайта работает без проблем — параметр определен. Если нет — увеличиваем значение параметра и переходим к п. 2.

- Если значение параметра превысило даже значение по умолчанию — это повод для обсуждения в команде разработчиков.

В ряде случаев ревизия данных параметров должна приводить к рефакторингу/редизайну сайта. Например, если сайт не работает без трехминутных AJAX long polling запросов, то нужно не тайм-аут повышать, а long polling заменять на что-то другое — бот в 20 тысяч машин, висящий на запросах по три минуты, легко убьет среднестатистический дешевый сервер.

10. Лимитируем соединия в nginx

В nginx также есть возможность лимитировать соединения, запросы и так далее. Если вы не уверены в том, как поведет себя определенная часть вашего сайта, то в идеале вам нужно протестировать ее, понять, сколько запросов она выдержит, и прописать это в конфигурации nginx. Одно дело, когда сайт лежит и вы способны прийти и поднять его. И совсем другое дело — когда он лег до такой степени, что сервер ушел в swap. В этом случае зачастую проще перезагрузиться, чем дождаться его триумфального возвращения. Предположим, что на сайте есть разделы с говорящими названиями /download и /search. При этом мы:

- не хотим, чтобы боты (или люди с чересчур ретивыми рекурсивными download-менеджерами) забили нам таблицу TCP-соединений своими закачками;

- не хотим, чтобы боты (или залетные краулеры поисковых систем) исчерпали вычислительные ресурсы СУБД множеством поисковых запросов.

И на последок Тренды в DDoS

- Непрерывно растет мощность атак сетевого и транспортного уровня. Потенциал среднестатистической атаки типа SYN-флуд достиг.

- Особым спросом в последнее время пользуются атаки на DNS. UDP-флуд валидными DNS-запросами со spoof’ленными IP-адресами источника — это одна из наиболее простых в реализации и сложных в плане противодействия атак. Многие крупные компании (в том числе хостинги) испытывали в последнее время проблемы в результате атак на их DNS-серверы. Чем дальше, тем таких атак будет больше, а их мощность будет расти.

- Судя по внешним признакам, большинство ботнетов управляется не централизованно, а посредством пиринговой сети. Это дает злоумышленникам возможность синхронизировать действия ботнета во времени — если раньше управляющие команды распространялись по ботнету в 5 тысяч машин за десятки минут, то теперь счет идет на секунды, а ваш сайт может неожиданно испытать мгновенный стократный рост числа запросов.

- Доля ботов, оснащенных полноценным браузерным движком с JavaScript, все еще невелика, но непрерывно растет. Такую атаку сложнее отбить встроенными подручными средствами, поэтому Самоделкины должны с опасением следить за этим трендом.

Если сайт уязвим к ddos, то он перестанет открываться

Как защитится?

Потом берем любой сайт и указываем его в терменале с упоминанием порта 80 и запускаем

Теперь компилируем это из формата “.c” в “.exe” командой gcc xerxes.c

Загрузиться файл расширения .с! Лежать он будет по этому пути: Home>xerxes

Заходим в эту директорию

Как проверить новичку свой проект на DDOS

Пример будет сделан на ОС linux, поэтому для начала установим себе его.

Затем открываем терминал и пишем в нем легкую команду для закачки себе этого приложения

- HOIC

Это все возможные инструменты для проверки на уязвимость проекта к ddos

Так же существует множество программ в Exploit Database

2) Windows

- Качаем фреймворк metasploit-framework

- Смотрим содержание директории:

root@slogin:~ cd metasploit-framework/embedded/framework/modules/auxiliary/dos

1. Недостаточная фильтрация данных может привести повышенному потреблению ресурсов, к длительному или бесконечному циклу, выделению огромного объема оперативной памяти.

2. Недостаточная фильтрация данных

3. Атака второго рода — подобные атаки приводят к срабатыванию системы защиты, что приводит к недоступности сервера

4. Флуд — Думаю тут все ясно. Большое количество ресурсоемких запросов, обращенных к серверу.

В интернете были найдены полезные команды для проверки нагрузки на сервер, а так же для анализа и определения ДДОС (DDoS) атаки.

Что делать?

Либо в случае ОС CentOS5/RHEL:

Если их более 20-30, то это уже повод для беспокойства.

Далее обязательно просмотреть глобальные логи Апача на предмет наличия аномалий (например, запросов без указания вихоста):

Эта команда укажет число запросов до сайта с уникальных айпи, вывод ее будет в виде:

Таким образом, если какой-то IP / блок айпи заваливает сайт запросами, это будет видно по резко уходящим в верх значениям запросов для IP злоумышленников.

Полезные команды:

Число процессов Apache:

Число коннектов на 80 порт:

То же, в статусе SYN

Пример SYN-флуда:

Посмотреть много ли разных IP:

На какой домен чаще всего идут запросы:

Статус Apache:

Посмотреть откуда IP или Domain:

или

С какого IP сколько запросов:

Количество соединений с сервером:

Вывод информации в реальном времени, IP которые соединены с сервером и какое количество соединений по каждому IP

позволяет узнать сколько одновременных подключений на порт с 1 айпи

Читайте также: