DoS Attack (отказ в обслуживании)

{title}

Мы всегда должны быть внимательны к различным компьютерным атакам, которым мы подвергаемся. На этот раз мы поговорим о компьютерной атаке, которая атакует доступность службы, это атака DoS (отказ в обслуживании) . Эта атака может быть выполнена распределенным способом ( DDoS ), как правило, она будет осуществляться через ботнет. У злоумышленников есть цель, чтобы пользователи службы не могли использовать ее, потому что она насыщена, наверняка вы слышали об атаках, которым подверглась PlayStation Network, даже возможно, что из-за некоторых из этих атак вы однажды не смогли играть онлайн.

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

примечание

Чтобы хорошо понять атаку, вам нужно знать, как работает TCP / IP, или хотя бы иметь базовые представления о сетях.

Разные способы проведения атаки


Чтобы узнать безопасность и защитить себя, необходимо знать, как проводятся атаки. В этой атаке мы видим, что она может быть осуществлена ​​разными способами, а затем мы оставим некоторые из них с кратким объяснением:

SYN Flood (SYN Flood)

Эта атака состоит в отправке запросов на соединение (пакетов с активным флагом SYN) жертве с ложных IP-адресов источника, которые ответят пакетами, содержащими активные флаги ACK и SYN, и будут ожидать ответа источника соединения. с активным флагом ACK, но этого никогда не произойдет.

ICMP Flood (ICMP Flood)

В этом типе злоумышленник хочет использовать пропускную способность жертвы, отправляя многочисленные большие пакеты ICMP, это происходит через пинг.

UDP Flood

Здесь будет создано большое количество пакетов UDP, которые будут отправлены жертве на случайные порты.

Переполнение буфера

Тип атаки «классический», злоумышленник отправит жертве больше пакетов, чем может обработать буфер службы, это заставит службу не отвечать на допустимые запросы, поскольку она насыщена.

Есть и другие типы, такие как HTTP-флуд, NTP-усиление и т. Д.

Пример DoS-атаки в Python


Теперь мы увидим небольшой пример кода на Python, который будет основан на потоке SYN, тест будет проводиться контролируемым образом с виртуальными машинами.
 импорт журнала logging.getLogger ("scapy.runtime"). setLevel (logging.ERROR) из scapy.all import * conf.verb = 0 host = "192.168.56.1" port = 80 originIP = "192.168.1." endIP = 10 номер_пакета = 0, в то время как истина: номер_пакета + = 1 пакет = IP (src = (исходный IP + str (endIP)), dst = хост) / TCP (sport = RandShort (), dport = порт) отправить (пакет, интер = 0, 0002) print ("Пакет% d отправлен"% номер_пакета) endIP + = 1 if (endIP == 200): endIP = 10 
Код довольно прост, используется Python версии 3, и мы используем библиотеку Scapy, которая очень мощная и облегчает нам задачу.

Первое, что мы видим, - это импортирование необходимых библиотек, ведение журнала используется, чтобы избежать предупреждения, которое Scapy отправляет по IPv6. Затем используется conf.verb = 0, это делается для того, чтобы Scapy не отображал информацию.

Затем создается переменная хоста, которая является не чем иным, как IP-адресом цели нашей атаки и переменной порта, которая является портом нашей цели.

Так что это не всегда один и тот же исходный адрес. Я создал переменную, которая имеет базовую ( originIP ) и другую, которая будет добавлена ​​в конце ( endIP ), как вы можете видеть, они объединяются при создании исходного пакета IP + str (endIP) .

Переменная packet_number просто используется для отслеживания отправленных пакетов.

Последняя часть представляет собой бесконечный цикл, который заботится обо всем, мы создаем пакет и отправляем его, мы также показываем, что пакет был отправлен, для получения информации, и мы обновляем переменные endIP и packet_number .
Если мы выполняем код и используем wireshark, мы можем видеть, как отправляются пакеты, мы проверяем, что исходный IP-адрес каждый раз отличается, как и порт.

{title}

{title}

Если вы посмотрите, столбец Source предыдущего изображения меняется, а столбец Destination - нет, поскольку он является нашей жертвой.

$config[ads_text5] not found

меры противодействия


К сожалению, компании несут много убытков в течение года из-за этого типа атак, поэтому очень важно, чтобы мы внедрили контрмеры, вот некоторые из них, которые мы должны рассмотреть:
  • Настройте брандмауэр или системы IDS или IPS правильно
  • Ограничить количество SYN TCP-пакетов в секунду
  • Анализировать сетевой трафик
  • Обратный IP-поиск, служит для предотвращения подмены

Если вы хотите узнать больше о проблемах безопасности, вы можете посетить категорию, посвященную безопасности в Solvetic.

  • 0

$config[ads_text6] not found