
FLNET2023은 연합 학습(Federated Learning) 시나리오에서 침입 탐지를 위해 설계된 데이터셋입니다. CORE 에뮬레이터를 사용하여 구축되었으며, 다양한 트래픽과 공격을 포함한 현실적인 네트워크를 시뮬레이션합니다. 연합 학습 기반 침입 탐지 연구를 위한 벤치마크 역할을 합니다.
FLNET2023은 침입 탐지 시스템, 특히 연합 학습(FL) 애플리케이션을 위한 최신 벤치마크 데이터셋입니다. CORE 에뮬레이터를 사용하여 생성되었으며, 실제 네트워크 토폴로지와 다양한 트래픽 및 공격 유형을 구현합니다. FLNET2023은 연합 학습 기반 네트워크 침입 탐지에 대한 강력한 연구를 장려하는 것을 목표로 합니다.
CORE(Common Open Research Emulator) CORE는 하나 이상의 머신에서 네트워크를 에뮬레이션하기 위한 도구입니다. 이러한 에뮬레이션된 네트워크를 실제 네트워크에 연결할 수 있습니다. CORE는 가벼운 가상 머신의 토폴로지를 그리기 위한 GUI와 네트워크 에뮬레이션 스크립팅을 위한 Python 모듈로 구성됩니다.
데이터셋은 인터넷 토폴로지 동물원에서 얻은 GEANT-2012 네트워크 토폴로지를 기반으로 생성되었습니다. 이 실제 토폴로지는 인터넷 서비스 제공업체(ISP)에서 볼 수 있는 것과 유사한 대규모 네트워크 인프라를 나타내며, 각각 특정 위치나 기능을 제공하는 주요 라우터를 나타내는 40개의 노드로 구성됩니다. 이 토폴로지는 Common Open Research Emulator(CORE) 내에서 복제되었으며, 네트워크 트래픽 데이터는 전략적으로 선택된 10개의 라우터 노드({D1, D2, D3, ..., D10}으로 표시)에서 수집되었습니다. 아래 그림에서 확인할 수 있습니다. 이러한 노드는 네트워크의 여러 부분을 담당하며 다양하고 실제적인 데이터 세트를 제공하기 위해 선택되었습니다.

FLNET2023은 정상 및 악성 네트워크 트래픽을 광범위하게 혼합하여 네트워크 상호 작용에 대한 현실적인 관점을 제공합니다. 데이터셋은 HTTP, TCP, UDP, ICMP와 같은 여러 일반적인 네트워크 프로토콜을 포괄합니다.
FLNET2023의 각 인스턴스는 세심하게 레이블이 지정되어 있으며, 해당 인스턴스가 나타내는 네트워크 흐름에 대한 귀중한 정보를 제공합니다. 레이블은 특정 인스턴스가 정상인지 악성인지를 나타낼 뿐만 아니라, 해당되는 경우 공격 유형에 대한 구체적인 세부 정보도 제공합니다. 이러한 레이블은 침입 탐지 모델을 훈련하고 테스트하는 작업을 크게 간소화합니다.
FLNET2023 데이터셋은 실제 네트워크 시나리오에서 흔히 관찰되는 네 가지 유형의 DDoS 공격(DDoS-dyn, DDoS-stomp, DDoS-bot, DDoS-tcp)을 두드러지게 포함합니다. 네트워크 환경의 위협이 DDoS에 국한되지 않음을 인지하여, 당사의 데이터셋에는 DoS-slowhttp 및 Infiltration-mitm과 같은 다양한 기타 공격 유형이 포함됩니다. 또한 명령 주입(Command Injection), XSS, SQL 주입과 같은 웹 기반 공격도 포함됩니다. 이러한 다양한 공격 유형의 포함은 데이터셋의 현실성을 높이고 실제 네트워크 위협 환경과의 정렬을 보장합니다.
FLNET2023 데이터셋은 각 네트워크 흐름에 대한 포괄적인 세부 정보를 제공하는 광범위한 특징 세트를 제공합니다. 이러한 특징에는 소스 및 대상 IP 주소, 포트 번호, 패킷 길이, 타임스탬프 등이 포함됩니다. 특징은 CICFLOWMeter 도구를 사용하여 추출됩니다. 또한 자체 특징 추출 도구를 사용하려는 경우 PCAP 파일도 제공합니다.
FLNET2023은 각 인스턴스에 대한 풍부한 메타데이터를 포함하여 추가 컨텍스트를 제공하고 데이터 해석을 지원합니다. 메타데이터에는 라우터 및 해당 IP 주소에 대한 세부 정보가 포함되어 있으며, 이는 데이터셋을 포괄적으로 이해하고 침입 탐지 모델을 효과적으로 개발 및 평가하는 데 중요한 정보입니다.
데이터셋은 다양한 유형의 네트워크 공격과 정상 트래픽을 기반으로 폴더로 구분됩니다. 각 공격 유형은 정상 트래픽과 함께 DDoS, DoS, Infiltration, Normal, Web, TEST와 같이 해당 전용 폴더가 있습니다.
각 폴더 내에는 CSV와 PCAP 두 개의 하위 폴더가 있습니다.
CSV 폴더: 이 폴더에는 각 클라이언트에 대해 수집된 데이터가 CSV 형식으로 포함되어 있습니다. 각 파일은 Dataset-<ClientNumber>-<TrafficType>.csv 규칙을 사용하여 이름이 지정됩니다. 예를 들어:
Dataset-10-TCP.csv: 이 파일에는 클라이언트 10의 TCP 트래픽 데이터가 포함되어 있습니다.Dataset-1-BOT.csv: 이 파일에는 클라이언트 1의 BOT 트래픽 데이터가 포함되어 있습니다.공격 유형이 하나만 있는 일부 폴더에서는 트래픽 유형을 지정하지 않고 Dataset-<ClientNumber>.csv 규칙을 사용하여 데이터셋 이름이 지정됩니다. 예를 들어:
/Infiltration/CSV/Dataset-1.csv: 이 파일에는 클라이언트 1의 침투 공격 데이터가 포함되어 있습니다.PCAP 폴더: 이 폴더에는 각 클라이언트에 해당하는 패킷 캡처(PCAP) 파일이 포함되어 있으며, CSV 파일과 유사한 방식으로 이름이 지정됩니다. 예를 들어:
Dataset-10-TCP.pcap: 이 파일에는 클라이언트 10의 TCP 트래픽에 대한 패킷 캡처 데이터가 포함되어 있습니다.Dataset-1-BOT.pcap: 이 파일에는 클라이언트 1의 BOT 트래픽에 대한 패킷 캡처 데이터가 포함되어 있습니다.FLNET2023 데이터셋의 데이터 포인트는 네트워크 토폴로지 내의 여러 고유 노드에서 수집되어 네트워크 활동에 대한 균형 잡힌 관점을 제공합니다. 이러한 수집 지점에는 다양한 서버 노드와 라우터 노드가 포함되어 있으며, 각각 데이터셋의 다양성과 깊이에 기여합니다. 수집 지점은 광범위한 네트워크 상호 작용을 반영하는 데이터셋을 생성할 목적으로 선택되었습니다. 데이터 수집 지점의 IP 주소는 아래 표에 나와 있습니다.
데이터 수집 지점 외에도 FLNET2023은 수많은 다른 라우터 노드를 통합하여 네트워크 토폴로지의 현실성과 복잡성을 향상시킵니다. 이러한 라우터 노드는 네트워크 트래픽을 지시하고 실제 네트워크 혼잡 및 라우팅 시나리오를 시뮬레이션하는 데 중추적인 역할을 합니다. 토폴로지에 포함됨으로써 보다 실제적인 네트워크 환경을 표현하고 침입 탐지에 추가적인 과제를 유발합니다. 다른 라우터 노드의 IP 주소는 아래 표에 나와 있습니다.
아래 단계에 따라 데이터셋을 효과적으로 사용하여 머신러닝 모델을 훈련하고 테스트하세요.
DDoS, DoS, Infiltration, Normal, Web, TEST)를 선택합니다.CSV 폴더로 이동합니다.DDoS 폴더에서 클라이언트 10의 TCP 트래픽 데이터를 포함하려면 DDoS/CSV/Dataset-10-TCP.csv로 이동합니다.Normal/CSV/Dataset-10.csv로 이동합니다.TEST 폴더로 이동합니다.FLNET2023 데이터셋은 pcap 형식의 전체 패킷 페이로드를 포함한 레이블이 지정된 네트워크 흐름으로 구성됩니다. 또한 연합 학습에 최적화된 관련 프로필, 레이블이 지정된 흐름 및 CSV 파일이 연구자에게 공개적으로 제공됩니다. 침입 탐지 분야의 추가 발전을 촉진하기 위해 연구자에게 공개적으로 제공됩니다. 귀하의 작업에서 당사 데이터셋을 사용하려는 경우, 관련 논문을 인용해 주시기를 부탁드립니다.
| 공격 | 지속 시간 | PPS | 크기 |
|---|
| Normal-D1 | 278.38 분 | 6.23 pk/s | 257 MB |
| Normal-D2 | 278.85 분 | 5.41 pk/s | 222 MB |
| Normal-D3 | 304.44 분 | 10.68 pk/s | 46.4 MB |
| Normal-D4 | 295.77 분 | 2.17 pk/s | 305 MB |
| Normal-D5 | 262.38 분 | 8.06 pk/s | 225 MB |
| Normal-D6 | 284.33 분 | 12.16 pk/s | 388 MB |
| Normal-D7 | 294.77 분 | 19.02 pk/s | 665 MB |
| Normal-D8 | 294.77 분 | 13.43 pk/s | 507 MB |
| Normal-D9 | 286.45 분 | 8.08 pk/s | 464 MB |
| Normal-D10 | 313.83 분 | 23.71 pk/s | 1.23 GB |
| DoS-hulk-D2 | 11.38 분 | 576 pk/s | 8.2 GB |
| DoS-hulk-D4 | 10.36 분 | 622 pk/s | 8.4 GB |
| DoS-hulk-D6 | 10 분 | 674 pk/s | 8.5 GB |
| DoS-hulk-D7 | 10 분 | 375 pk/s | 4.6 GB |
| DoS-hulk-D8 | 8.73 분 | 376 pk/s | 4.6 GB |
| DoS-slowhttp-D1 | 4.02 분 | 43 pk/s | 23.4 MB |
| DoS-slowhttp-D2 | 4.37 분 | 21 pk/s | 8.8 MB |
| DoS-slowhttp-D3 | 8.02 분 | 49 pk/s | 48.7 MB |
| DoS-slowhttp-D4 | 8.02 분 | 40.5 pk/s | 44.1 MB |
| DoS-slowhttp-D8 | 4.42 분 | 28 pk/s | 10.0 MB |
| DoS-slowhttp-D9 | 4.02 분 | 31 pk/s | 19.7 MB |
| DoS-slowhttp-D10 | 4.27 분 | 44 pk/s | 19.7 MB |
| DDoS-bot-D1 | 5 분 | 292 pk/s | 16.4 GB |
| DDoS-stomp-D5 | 5 분 | 1298 pk/s | 41.2 GB |
| DDoS-dyn-D9 | 10 분 | 538 pk/s | 25.2 GB |
| DDoS-tcp-D10 | 5 분 | 3102 pk/s | 76.6 GB |
| Web-sql-injection-D3 | 25.2 초 | 8 pk/s | 4.7 MB |
| Web-sql-injection-D4 | 22.2 초 | 10 pk/s | 4.7 MB |
| Web-command-injection-D1 | 2.00 분 | 2 pk/s | 1.4 MB |
| Web-xss-D2 | 45 초 | 34 pk/s | 3.0 MB |
| Web-xss-D4 | 4.98 초 | 305 pk/s | 6.1 MB |
| Infiltration-mitm-D1 | 25.47 분 | 1.53 pk/s | 33.3 MB |
| Infiltration-mitm-D2 | 52.35 분 | 1.53 pk/s | 22.3 MB |
| Infiltration-mitm-D3 | 24.93 분 | 1.53 pk/s | 31.3 MB |
| Infiltration-mitm-D4 | 24.08 분 | 1.53 pk/s | 10.9 MB |
| Infiltration-mitm-D5 | 52.47 분 | 1.53 pk/s | 78.8 MB |
| Infiltration-mitm-D7 | 31.98 분 | 2.48 pk/s | 79.9 MB |
| Infiltration-mitm-D9 | 51.78 분 | 1.53 pk/s | 80.9 MB |
| Infiltration-mitm-D10 | 22.95 분 | 1.53 pk/s | 35.3 MB |
| 노드 | 인터페이스 | IPv4 |
|---|
| D1 | eth0 | 10.0.48.2/24 |
| eth1 | 10.0.49.1/24 | |
| eth2 | 10.0.50.1/24 | |
| eth3 | 10.0.51.1/24 | |
| eth4 | 10.0.52.1/24 | |
| D2 | eth0 | 10.0.29.1/24 |
| eth1 | 10.0.30.2/24 | |
| eth2 | 10.0.56.2/24 | |
| D3 | eth0 | 10.0.22.2/24 |
| eth1 | 10.0.23.1/24 | |
| eth2 | 10.0.38.1/24 | |
| eth3 | 10.0.40.2/24 | |
| eth4 | 10.0.45.2/24 | |
| eth5 | 10.0.47.2/24 | |
| eth6 | 10.0.43.1/24 | |
| D4 | eth0 | 10.0.1.2/24 |
| eth1 | 10.0.2.2/24 | |
| eth2 | 10.0.5.2/24 | |
| eth3 | 10.0.21.1/24 | |
| eth4 | 10.0.24.2/24 | |
| eth5 | 10.0.25.1/24 | |
| D5 | eth0 | 10.0.26.2/24 |
| eth1 | 10.0.27.1/24 | |
| eth2 | 10.0.34.2/24 | |
| eth3 | 10.0.35.1/24 | |
| D6 | eth0 | 10.0.6.2/24 |
| eth1 | 10.0.7.1/24 | |
| eth2 | 10.0.8.2/24 | |
| eth3 | 10.0.35.2/24 | |
| eth4 | 10.0.54.2/24 | |
| D7 | eth0 | 10.0.53.2/24 |
| eth1 | 10.0.54.1/24 | |
| eth2 | 10.0.55.1/24 | |
| eth3 | 10.0.56.1/24 | |
| eth4 | 10.0.57.2/24 | |
| D8 | eth0 | 10.0.8.2/24 |
| eth1 | 10.0.9.1/24 | |
| eth2 | 10.0.55.2/24 | |
| eth3 | 10.0.60.2/24 | |
| D9 | eth0 | 10.0.9.2/24 |
| eth1 | 10.0.10.1/24 | |
| eth2 | 10.0.11.1/24 | |
| eth3 | 10.0.13.2/24 | |
| eth4 | 10.0.16.2/24 | |
| D10 | eth0 | 10.0.31.2/24 |
| eth1 | 10.0.32.1/24 | |
| eth2 | 10.0.33.1/24 | |
| eth3 | 10.0.34.1/24 | |
| eth4 | 10.0.36.1/24 | |
| eth5 | 10.0.38.2/24 | |
| eth6 | 10.0.39.1/24 | |
| eth7 | 10.0.29.2/24 | |
| eth8 | 10.0.49.2/24 | |
| eth9 | 10.0.53.1/24 |
| 노드 | 인터페이스 | IPv4 |
|---|
| R1 | eth0 | 10.0.46.1/24 |
| R2 | eth0 | 10.0.45.1/24 |
| eth1 | 10.0.59.1/24 | |
| eth2 | 10.0.46.2/24 | |
| R3 | eth0 | 10.0.47.1/24 |
| eth1 | 10.0.59.2/24 | |
| R4 | eth0 | 10.0.58.2/24 |
| eth1 | 10.0.44.1/24 | |
| R5 | eth0 | 10.0.43.2/24 |
| eth1 | 10.0.58.1/24 | |
| R6 | eth0 | 10.0.42.2/24 |
| eth1 | 10.0.44.2/24 | |
| eth2 | 10.0.48.1/24 | |
| R7 | eth0 | 10.0.41.1/24 |
| eth1 | 10.0.42.1/24 | |
| R8 | eth0 | 10.0.39.2/24 |
| eth1 | 10.0.40.1/24 | |
| R9 | eth0 | 10.0.21.2/24 |
| eth1 | 10.0.22.1/24 | |
| R10 | eth0 | 10.0.23.2/24 |
| eth1 | 10.0.24.1/24 | |
| eth2 | 10.0.36.2/24 | |
| eth3 | 10.0.37.2/24 | |
| R11 | eth0 | 10.0.0.1/24 |
| eth1 | 10.0.37.1/24 | |
| R12 | eth0 | 10.0.0.2/24 |
| eth1 | 10.0.1.1/24 | |
| R13 | eth0 | 10.0.25.2/24 |
| eth1 | 10.0.32.2/24 | |
| R14 | eth0 | 10.0.28.1/24 |
| eth1 | 10.0.33.2/24 | |
| R15 | eth0 | 10.0.2.1/24 |
| eth1 | 10.0.3.1/24 | |
| eth2 | 10.0.27.2/24 | |
| eth3 | 10.0.28.2/24 | |
| R16 | eth0 | 10.0.4.2/24 |
| eth1 | 10.0.5.1/24 | |
| R17 | eth0 | 10.0.3.2/24 |
| eth1 | 10.0.4.1/24 | |
| eth2 | 10.0.6.1/24 | |
| eth3 | 10.0.26.1/24 | |
| R18 | eth0 | 10.0.7.2/24 |
| eth1 | 10.0.60.1/24 | |
| R19 | eth0 | 10.0.10.2/24 |
| R20 | eth0 | 10.0.11.2/24 |
| eth1 | 10.0.12.1/24 | |
| R21 | eth0 | 10.0.12.2/24 |
| eth1 | 10.0.13.1/24 | |
| eth2 | 10.0.14.1/24 | |
| eth3 | 10.0.15.1/24 | |
| R22 | eth0 | 10.0.14.2/24 |
| R23 | eth0 | 10.0.15.2/24 |
| eth1 | 10.0.16.1/24 | |
| eth2 | 10.0.17.1/24 | |
| eth3 | 10.0.18.1/24 | |
| eth4 | 10.0.29.2/24 | |
| R24 | eth0 | 10.0.17.2/24 |
| R25 | eth0 | 10.0.20.2/24 |
| eth1 | 10.0.57.1/24 | |
| R26 | eth0 | 10.0.18.2/24 |
| eth1 | 10.0.19.1/24 | |
| eth2 | 10.0.20.1/24 | |
| R27 | eth0 | 10.0.19.2/24 |
| R28 | eth0 | 10.0.30.1/24 |
| eth1 | 10.0.31.1/24 | |
| eth2 | 10.0.50.2/24 | |
| R29 | eth0 | 10.0.52.2/24 |
| R30 | eth0 | 10.0.51.2/24 |
TEST 내부의 CSV 폴더로 이동하여 테스트 CSV 파일을 선택합니다.TEST/CSV/slowHTTP.csv에는 Slow HTTP 테스트 데이터가 포함되어 있습니다.