Een firewall *herassembleert* gefragmenteerde gegevensstromen niet actief zoals een netwerkapparaat zoals een router dat zou kunnen doen. Zijn rol bestaat voornamelijk uit het inspecteren van de gegevens op beveiligingsbedreigingen *voordat* deze opnieuw worden samengesteld. Het hermontageproces vindt elders plaats, meestal bij de ontvangende toepassing.
Hier is een overzicht:
* Fragmentatie: Datastromen, vooral grote, zijn vaak gefragmenteerd op de netwerklaag (laag 3) om te passen bij de Maximum Transmission Unit (MTU) van verschillende netwerksegmenten. Deze fragmentatie wordt afgehandeld door routers en switches langs het pad. Elk fragment bevat informatie (zoals fragmentverschuiving en totale grootte) die de ontvanger gebruikt om het weer samen te stellen.
* Firewallinspectie: De firewall ziet deze gefragmenteerde pakketten afzonderlijk. Het inspecteert de headers van elk pakket (op zoek naar kwaadaardige inhoud, verboden poorten, enz.) en mogelijk de payload (afhankelijk van de configuratie en de Deep Packet Inspection (DPI)-mogelijkheden). Meestal probeert het echter niet de gehele gegevensstroom te reconstrueren voordat het de inspectie uitvoert, omdat:
* Complexiteit: Het opnieuw samenvoegen van gegevens in de firewall zou een aanzienlijke verwerkingsoverhead veroorzaken, wat een impact zou hebben op de prestaties.
* Voldoende: Voor veel veiligheidscontroles is kopinspectie vaak voldoende. De firewall kan kwaadaardige patronen in gefragmenteerde headers identificeren, zelfs als deze de gegevens op applicatieniveau niet volledig kan begrijpen.
* Statelijke inspectie: Stateful firewalls volgen de sessiecontext (bron-/bestemmings-IP, poorten, enz.). Hierdoor kunnen ze gefragmenteerde pakketten die tot dezelfde sessie behoren, correleren, zelfs zonder volledige hermontage.
* Hermontage op de bestemming: Het opnieuw samenstellen van gefragmenteerde gegevens vindt plaats op de netwerkstack van de bestemmingshost (met name in de IP-stack). Het netwerkstuurprogramma van het besturingssysteem herschikt en combineert de fragmenten op basis van hun headerinformatie, waardoor de oorspronkelijke gegevensstroom opnieuw wordt gecreëerd zodat de applicatie deze kan verwerken.
Samenvattend fungeert de firewall als filter en beveiligingsinspecteur voor elk gefragmenteerd pakket, maar laat de taak voor het opnieuw samenstellen over aan de ontvangende host. Het speelt een cruciale rol bij de beveiliging *vóór* de hermontage, niet tijdens de hermontage. |