Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ddos-reduction-system — 행동 기반 트래픽 분석, Random Forest 분류, 커널 수준 ipset/iptables 적용을 사용하는 적응형 2단계 Layer 4 DDoS 완화 게이트웨이. | Kitploit
도구/GitHubGitHub/devinblack001/ddos-reduction-system
Defensive ToolsPacket Sniffing & AnalysisScripting & AutomationNetwork SecurityMachine LearningIntrusion DetectionIncident ResponseAnomaly DetectionLog Analysis

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubdevinblack001/ddos-reduction-system

ddos-reduction-system

행동 기반 트래픽 분석, Random Forest 분류, 커널 수준 ipset/iptables 적용을 사용하는 적응형 2단계 Layer 4 DDoS 완화 게이트웨이.

저장소 보기
215729일 전아직 검토되지 않음

FLOD 시스템

First Line Of Defense

적응형 2단계 Layer 4 볼류메트릭 DDoS 완화 게이트웨이.

저자: Abdullah Armiyao

프로젝트: 행동 트래픽 분석을 이용한 준실시간 Layer 4 볼류메트릭 DDoS 완화를 위한 적응형 2단계 프레임워크

FLOD 대시보드 개요, 네 가지 분류 상태(Normal, Flash Crowd, DDoS, Anomalous)를 동시에 모두 포괄하는 다섯 개의 보호 대상

기능

대부분의 DDoS 완화는 고정 임계값을 사용합니다. 초당 하드코딩된 패킷 수를 초과하여 전송하는 모든 것을 차단합니다. 이는 양방향으로 실패합니다. 바쁜 시간대에 정상 트래픽이 급증하면 실제 사용자가 차단되거나, 공격자가 임계선 바로 아래에 머물러 통과합니다.

FLOD는 정상 트래픽이 어떤 모습인지 학습하고 그에 맞춰 자체 탐지 경계를 이동합니다. 누구도 수동으로 임계값을 조정하지 않고도 DDoS 플러드를 정당한 급증인 플래시 크라우드와 구별합니다.

트래픽 소스와 보호 대상 호스트 사이의 게이트웨이에 인라인으로 위치하며, 문제가 되는 소스를 커널에서 드롭하거나 스로틀합니다.

대시보드는 차단한 주소를 공격자로 명시하므로, 네트워크 구조를 미리 알지 못하는 사람도 어떤 발신자가 적대적이었는지 알 수 있습니다. 스로틀된 주소는 별도로 나열되는데, 스로틀링은 예방 조치로도 사용되며 한 번에 전체 그룹에 적용되기 때문입니다.

구축 방식

1단계는 패킷 경로 위의 Rust 센서입니다. 보호 대상 호스트로 향하는 모든 패킷을 캡처하고, 짧은 윈도우 동안의 속도와 소스 다양성을 계산하여 자체 유지 관리하는 기준선과 비교합니다. 산술 연산만 수행하므로 트래픽에 방해가 되지 않습니다.

2단계는 Python 서비스입니다. 윈도우마다 한 번씩 1단계로부터 요약을 받아 Random Forest로 분류하고, ipset과 iptables를 통해 커널 수준의 시행을 수행합니다. Isolation Forest가 모든 윈도우에서 함께 실행되어 두 모델 중 어느 것도 학습하지 못한 트래픽을 표시하며, 시행을 주도하지 않고 별도의 Anomalous 상태로 노출됩니다. 2단계는 웹 대시보드도 제공합니다.

둘은 Unix 도메인 소켓으로 연결됩니다.

자체 트래픽으로부터의 학습

모델은 캡처되고 레이블이 지정된 트래픽으로 학습되며, 배포 환경은 계속 더 많은 트래픽을 캡처합니다. Isolation Forest가 낯설다고 판단한 윈도우와 Random Forest가 DDoS라고 확신 있게 판정한 윈도우는 캡처 파일에 기록됩니다. 주기적인 작업이 Random Forest와 다르게 구축된 두 번째 모델로 이들을 재점수화하고, 두 모델이 모두 높은 신뢰도로 동일한 클래스를 선택하고 둘 다 해당 행이 캡처된 이후에 학습된 경우에만 학습용 행으로 준비합니다. 대시보드의 검토 페이지는 준비된 행을 페이지당 500개씩 보여주며, 사람이 이를 학습 데이터에 병합할지 폐기할지 결정합니다. 어떤 것도 자체적으로 학습 세트에 도달하지 않습니다.

범위

FLOD는 패킷 헤더만으로 관찰 가능한 Layer 4 볼류메트릭 플러드에서 작동합니다. 속도, 소스 IP 엔트로피, 프로토콜 구성, 그리고 트래픽이 가장 바쁜 소스에 얼마나 집중되어 있는지입니다. 실제로 이는 대량이면서 동시에 집중된, 제한된 실제 주소 집합에서 도착하는 플러드를 의미합니다.

한 가지는 명시적으로 범위 밖이며, 한 가지는 부분적으로 다루어집니다.

애플리케이션 계층 공격. 요청 내용이 파싱되지 않으므로, 저속·저량 요청 플러드와 연결 고갈은 헤더만 사용하는 특징 집합으로 관찰할 수 있는 범위 밖입니다.

무작위화된 소스 스푸핑. 패킷마다 새로운 소스 주소를 위조하면 엔트로피가 낮아지는 대신 높아져, 주소 기반 특징이 찾는 신호를 뒤집습니다. 소스 포트 엔트로피, TTL 분산, TCP SYN 핑거프린트 다양성은 주소 위조에 불변이며 이 탐지 사각지대를 메우지만, 스푸핑된 플러드를 탐지하는 것은 이를 중단하는 것보다 좁은 문제입니다. 위조된 주소를 차단하는 것은 여전히 그 주소를 실제로 소유한 사람에게 피해를 주므로, 이 부류에 대한 안전한 시행은 여전히 미해결 과제입니다. Detection과 Explainer를 참조하십시오.

빠른 시작

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

설치 프로그램은 Stage 1을 빌드한 다음 Stage 2의 코드와 가상 환경을 /opt/flod/stage2(root 소유)로 복사하고 그곳에 관리 계정을 설정합니다. Stage 2는 root로 실행되며, 권한 없는 계정이 여전히 쓸 수 있는 체크아웃에서 무엇도 실행해서는 안 되기 때문입니다. 변경 가능한 상태, 데이터베이스, JSON 설정, 학습된 모델은 /var/lib/flod에 있습니다. 이제부터 체크아웃 자체는 소스일 뿐이며, scripts/install.sh 또는 scripts/update.sh를 다시 실행하면 설치된 복사본이 체크아웃에서 새로 고쳐집니다. 그 이유는 보안을 참조하세요.

대시보드는 포트 8000에서 제공되며, 설치 프로그램의 자체 서명 인증서가 설치되면 HTTPS를 사용합니다. 이 구성이 의존하는 네트워크 레이아웃을 포함한 전체 지침은 wiki에 있습니다.

설치 프로그램은 또한 가능한 경우 eBPF 빌드 툴체인을 설정하며, 배포판이 제공하는 LLVM에 맞춥니다. 이 부분은 선택 사항입니다. 없어도 센서는 libpcap 기반으로 빌드되고 실행됩니다.

센서에는 두 가지 캡처 백엔드가 있습니다. libpcap이 기본이며 어디서나 작동합니다. 툴체인이 갖춰지면 --capture-mode kernel은 XDP와 TC를 통해 드라이버 경로에서 패킷을 세어, 패킷마다 한 번이 아니라 윈도우마다 한 번 사용자 공간을 깨웁니다. 탐지 방식은 어느 쪽이든 동일합니다.

탐지 튜닝은 추측이 아니라 측정으로 이루어집니다. scripts/calibrate.py는 센서 자체 로그를 읽고 일반 트래픽을 샘플링하여, 사용자의 네트워크에서 이상 경계가 어디에 있어야 하는지 계산합니다.

아무것도 설치하지 않고 사용해 보려면 작업 복사본에서 직접 실행하세요:

sudo bash scripts/run.sh

필요한 각 값을 묻고, 모든 값에 기본값을 제공하며, Stage 2도 시작할지 묻습니다. 아무것도 묻지 않고 모두 수락하려면 --defaults를 추가하세요.

테스트 스위트를 실행하려면:

scripts/test.sh

문서

시스템 실행에 대해서는 **Wiki**를 참고하십시오:

페이지다루는 내용
설치요구 사항, 네트워크 배치, 최초 로그인
구성센서 플래그, 차단 조정, 알림
대시보드 가이드콘솔의 모든 페이지
문제 해결무언가 작동하지 않을 때

이해하거나 변경하는 데에는 **docs/**를 참고하십시오:

문서다루는 내용
아키텍처파이프라인, 스레딩, 캡처 튜닝, 송신 측정
탐지Welford, EWMA, 엔트로피, 이상 경계, 기준선 지속성
해설비기술 독자를 위해 설명된 모든 용어와 모든 와이어 포맷 필드
IPC특징 벡터 와이어 포맷
차단분류, 네 가지 완화 계층, NAT 처리
플레이북네 가지 계층 위에 계층화된 운영자 정의 트리거/단계 시퀀스
알림Discord, 이메일, Telegram, 그리고 그 밖의 모든 것을 위한 범용 웹훅
학습레이블이 지정된 데이터 캡처 및 모델 학습
테스트두 테스트 스위트 모두 실행
보안하드닝 작업과 위협 모델
로드맵완료된 버전과 계획된 버전
벤치마크 결과FLOD 대 고정 임계값: 하드웨어, 방법론, 전체 출력
실시간 벤치마크배포된 게이트웨이에 대한 7단계 트래픽 캠페인
백엔드 벤치마크처리량, CPU, 지연 시간, 전환 측면에서 비교한 커널과 libpcap
교훈개발 중 발견된 실제 버그, 일반화되는 점을 위해 보존

CONTRIBUTING.md는 개발 환경 설정과 관례를 다룹니다. SECURITY.md는 취약점 보고를 다룹니다.

저자

이 프로젝트는 제 것입니다. 개념, 아키텍처, 2단계 설계, 탐지 접근 방식, 차단 정책, 기능 집합, 그리고 모든 버전에 걸친 모든 기능적 결정은 저에게서 비롯되었습니다. 저는 네트워크 보안, 통계적 탐지, 시스템 프로그래밍에 대한 학습 과제로서 이를 구축했으며, 전 과정에 걸쳐 설계와 발전을 주도했습니다.

저는 구현 중에 AI를 코딩 조수로 활용하여 제 사양에 맞춰 코드를 작성하고 리팩터링했으며, 설계상의 트레이드오프를 검토하는 과정에서 의견을 나눌 상대로 삼았습니다. 무엇을, 왜 구축할지, 그리고 시스템이 어떻게 동작해야 하는지에 대한 결정은 제 것이었습니다.

상태

개인 오픈 소스 프로젝트이며 작동하는 시스템이지만, 프로덕션 보안 제품에 필요한 적대적 테스트를 거친 것은 아닙니다. 랩 네트워크나 잘못 동작해도 감당할 수 있는 곳에 배포하십시오.

대시보드는 V10 기준으로 세 가지 선택 가능한 디자인 계열과 운영자 정의 플레이북을 갖추고 있습니다. 로드맵을 참고하십시오.

라이선스

LICENSE를 참고하십시오.

도구 다운로드