Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ddos-reduction-system — Адаптивный двухэтапный шлюз для защиты от DDoS-атак на уровне L4, использующий поведенческий анализ трафика, классификацию методом случайного леса и принудительное применение правил на уровне ядра через ipset/iptables. | Kitploit
Инструменты/GitHubGitHub/devinblack001/ddos-reduction-system
Оборонительные ИнструментыСниффинг и анализ пакетовСкриптинг и автоматизацияСетевая безопасностьМашинное ОбучениеОбнаружение ВторженийРеагирование на ИнцидентыОбнаружение АномалийАнализ Журналов

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
GitHubdevinblack001/ddos-reduction-system

ddos-reduction-system

Адаптивный двухэтапный шлюз для защиты от DDoS-атак на уровне L4, использующий поведенческий анализ трафика, классификацию методом случайного леса и принудительное применение правил на уровне ядра через ipset/iptables.

Репозиторий
242 дней назадЕщё не проверено
Поделиться

Система FLOD

Первая линия обороны

Адаптивный двухступенчатый шлюз для смягчения объёмных DDoS-атак на уровне 4.

Автор: Abdullah Armiyao

Проект: Adaptive Two Stage Framework for Near Real Time Layer 4 Volumetric DDoS Mitigation Using Behavioral Traffic Analysis

Обзор панели управления FLOD, пять защищаемых целей, все в состоянии Normal

Что это делает

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

FLOD изучает, как выглядит ваш обычный трафик, и сдвигает собственные границы обнаружения в соответствии с ним. Он отличает DDoS-флуд от всплеска легитимных запросов (flash crowd) — законного роста нагрузки — без ручной настройки порогов.

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

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

Как это устроено

Ступень 1 — это сенсор на Rust на пути прохождения пакетов. Он захватывает каждый пакет, направленный к защищаемому хосту, вычисляет скорость и разнообразие источников на коротких окнах и сравнивает их с базовой линией, которую поддерживает самостоятельно. Он выполняет только арифметические операции, поэтому не мешает трафику.

Ступень 2 — это сервис на Python. Он получает сводку от Ступени 1 раз за окно, классифицирует её с помощью Random Forest и применяет меры на уровне ядра через ipset и iptables. Параллельно на каждом окне работает Isolation Forest, помечающий трафик, не похожий ни на что, что изучила любая из моделей, и отображаемый как отдельное состояние Anomalous, а не влияющий на применение мер. Ступень 2 также обслуживает веб-панель управления.

Они соединены через Unix domain socket.

Область применения

FLOD работает с объёмными флудами уровня 4, видимыми только по заголовкам пакетов: скорость, энтропия исходных IP, сочетание протоколов и то, насколько трафик сконцентрирован на самом нагруженном источнике. На практике это означает флуды, которые одновременно являются высокообъёмными и сконцентрированными, поступающими от ограниченного набора реальных адресов.

Одна вещь явно вне области применения, и одна решается частично:

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

Рандомизированная подмена источника. Подделка нового исходного адреса для каждого пакета повышает энтропию, а не понижает её, инвертируя сигнал, который ищут признаки на основе адресов. Энтропия исходных портов, дисперсия TTL и разнообразие отпечатков TCP SYN инвариантны относительно подмены адресов и закрывают это слепое пятно обнаружения, но обнаружение поддельного флуда — более узкая задача, чем его остановка: блокировка поддельного адреса всё равно наказывает того, кто на самом деле им владеет, поэтому безопасное применение мер против этого класса остаётся открытым вопросом. См. Detection и Explainer.

Быстрый старт

root@kitploit:~
git clone https://github.com/DevInBlack001/ddos-reduction-system.git
cd ddos-reduction-system
sudo bash scripts/install.sh --interface <IFACE> --victim-ips <IP1>,<IP2>

sudo systemctl enable --now ddos-stage2
sudo systemctl enable --now ddos-stage1

Установщик собирает Ступень 1, затем копирует код Ступени 2 и виртуальное окружение в /opt/flod/stage2 (принадлежащий root) и настраивает там административную учётную запись, поскольку Ступень 2 работает от root и не должна исполнять что-либо из рабочей копии, в которую непривилегированная учётная запись всё ещё может писать. Изменяемое состояние — база данных, конфигурация JSON, обученные модели — находится в /var/lib/flod. Сама рабочая копия с этого момента является лишь источником; повторный запуск scripts/install.sh или scripts/update.sh обновляет установленную копию из неё. Причины описаны в Security.

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

Установщик также настраивает инструментарий сборки eBPF, когда это возможно, под ту версию LLVM, которую поставляет ваш дистрибутив. Эта часть необязательна: без неё сенсор всё равно собирается и работает на libpcap.

У сенсора два бэкенда захвата. libpcap используется по умолчанию и работает везде. При наличии инструментария --capture-mode kernel подсчитывает пакеты в пути драйвера через XDP и TC, пробуждая пользовательское пространство раз за окно, а не раз за пакет. Обнаружение в обоих случаях идентично.

Настройка обнаружения измеряется, а не угадывается. scripts/calibrate.py читает собственный лог сенсора, выбирает образцы обычного трафика и определяет, где должны находиться границы аномалий в вашей сети.

Чтобы попробовать без установки, запустите из рабочей копии:

root@kitploit:~
sudo bash scripts/run.sh

Он запрашивает каждое необходимое значение, предлагает значение по умолчанию для каждого и спрашивает, запускать ли также Ступень 2. Добавьте --defaults, чтобы принять всё без запросов.

Чтобы запустить наборы тестов:

root@kitploit:~
scripts/test.sh

Документация

Wiki — для запуска системы:

СтраницаСодержание
InstallationТребования, размещение в сети, первый вход
ConfigurationФлаги сенсора, настройка применения мер, оповещения
Dashboard GuideКаждая страница консоли
TroubleshootingКогда что-то не работает

docs/ — для понимания или изменения системы:

ДокументСодержание
ArchitectureКонвейер, многопоточность, настройка захвата, измерение исходящего трафика
DetectionWelford, EWMA, энтропия, границы аномалий, сохранение базовой линии
ExplainerКаждый термин и каждое поле формата передачи, объяснённые для нетехнического читателя
IPCФормат передачи вектора признаков
EnforcementКлассификация, четыре уровня смягчения, обработка NAT
TrainingЗахват размеченных данных и обучение модели
TestingЗапуск обоих наборов тестов
SecurityЭтап усиления защиты и модель угроз
RoadmapЗавершённые и запланированные версии
Benchmark ResultsFLOD против фиксированного порога: оборудование, методология, полный вывод
Lessons LearnedРеальные баги, найденные в ходе разработки, сохранённые ради того, что они обобщают

CONTRIBUTING.md описывает настройку разработки и соглашения. SECURITY.md описывает порядок сообщения об уязвимостях.

Авторство

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

Я использовал ИИ в качестве помощника по программированию во время реализации: он писал и рефакторил код по моим спецификациям и служил собеседником, пока я прорабатывал компромиссы в дизайне. Решения о том, что строить, зачем и как система должна себя вести, были моими.

Статус

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

Лицензия

См. LICENSE.

Скачать инструмент