Documentation officielle

Règles du challenge

Lisez attentivement cette page avant de soumettre vos prédictions.

Description du projet

Contexte et dataset

Ce challenge porte sur la détection d'intrusion réseau. L'objectif est de construire un modèle capable de classifier chaque flux réseau dans l'une des 10 catégories — trafic normal ou famille d'attaque. Les données proviennent d'un dataset produit par le Cyber Range Lab de l'Université de New South Wales (Australie), reconnu dans la littérature de recherche en cybersécurité.

257 673
Flux réseau
42
Features par flux
10
Classes à prédire

Les 10 classes

Label entier à prédire pour chaque flux

Label Classe Description % train
0NormalTrafic réseau bénin, aucune activité malveillante36.09%
1GenericAttaque générique visant à briser un chiffrement par blocs22.85%
2ExploitsExploitation de vulnérabilités connues dans des logiciels17.28%
3FuzzersEnvoi de données aléatoires pour provoquer des comportements inattendus9.41%
4DoSAttaque par déni de service visant à rendre un service indisponible6.35%
5ReconnaissanceCollecte d'informations sur la cible avant une attaque (scan de ports)5.43%
6AnalysisAnalyse de fichiers et ports pour infiltrer un réseau1.04%
7BackdoorInstallation d'une porte dérobée permettant un accès persistant0.90%
8ShellcodeInjection de shellcode utilisé comme charge utile dans des exploits0.59%
9 Worms rare Vers informatique capable de se propager automatiquement entre hôtes 0.07%
La classe Worms compte 122 exemples en train et seulement 26 dans le test. La gestion du déséquilibre est la difficulté centrale du challenge.
39 features numériques

Durée, paquets src/dst, octets échangés, TTL, charge bits/s, jitter, fenêtre TCP, temps inter-paquets, métriques de connexion agrégées.

3 features catégorielles — à encoder
proto133 valeurs uniques
service13 valeurs
state11 valeurs

Critères de classement

Comment le score est calculé et les équipes classées

Métrique principale

Macro F1-Score

Le classement est déterminé par le Macro F1-Score — la moyenne non pondérée des F1-Scores des 10 classes. Chaque classe contribue équitablement, quelle que soit sa fréquence.

Macro F1 = ( F10 + F11 + … + F19 ) / 10

Un modèle qui ignore les classes rares (Worms, Shellcode) sera fortement pénalisé même s'il classe correctement les classes majoritaires.

Tiebreaker

F1-Score Worms — classe 9

En cas d'égalité sur le Macro F1, le classement est déterminé par le F1 de la classe Worms (26 exemples dans le test set). C'est l'indicateur le plus direct de la qualité du traitement du déséquilibre.

F1 Pondéré

Moyenne pondérée par taille de classe. Moins sévère sur les classes rares.

Accuracy

Trompeuse seule : ~78% accessibles sans traiter les classes rares.

Macro Recall / Precision

Capacité de détection et fiabilité des prédictions sur les 10 classes.

Ordre de tri du leaderboard

1 Macro F1 décroissant
2 F1 Worms décroissant

Le score retenu est celui de la meilleure soumission validée de chaque équipe.

Règles de soumission

Format du fichier, contraintes et données disponibles

Format du fichier CSV

Exemple attendu

id,label
0,4
1,0
2,1
3,9
...
Colonne id
De 0 à 38 650 — correspond aux identifiants de test_public.csv
Colonne label
Entier entre 0 et 9 représentant la classe prédite

Contraintes techniques

Nombre de lignes 38 651 exactement
Labels valides 0 à 9
Valeurs manquantes Rejetées
Prédictions uniformes Rejetées
Soumissions Illimitées

Données disponibles

train.csv

180 371 flux — features + Label (0–9)

validation.csv

38 651 flux — features + Label (0–9)

test_public.csv

38 651 flux — features uniquement

sample_submission.csv

Exemple au format attendu

Règles organisationnelles

Soumissions illimitées par équipe
Score retenu : meilleure soumission validée
Taille équipe : 4 membres maximum
Données externes autorisées
Labels test set confidentiels
Sélection d'une soumission finale possible