IPv6 Headers — Stégano dans les en-têtes IPv6

Réseau IPv6

Surface IPv6

IPv6 offre de nombreux champs détournables pour cacher des données : Flow Label (20 bits), Traffic Class, et surtout les en-têtes d'extension (Hop-by-Hop, Destination Options) qui peuvent transporter des options/padding arbitraires.

Champs & extension headers

Flow Label    : 20 bits modulables par flux
Traffic Class : 8 bits
Extension headers : options de padding (PadN) -> données cachées

# Forge avec Scapy
from scapy.all import *
p = IPv6(dst=t, fl=0xABCDE)/IPv6ExtHdrDestOpt(
    options=[PadN(optdata=b'HIDDEN')])/UDP()

Détection

Analyser les Flow Labels non aléatoires, les en-têtes d'extension inhabituels et les options de padding non nulles. Peu d'outils défensifs inspectent finement IPv6, d'où l'intérêt stéganographique de ces champs.