Stateful inspection är en teknik som används i datornätverksbrandväggar för att skydda ett nätverk från obehörig åtkomst. Även ibland känd som dynamisk filtrering, metoden kan inspektera ett helt datapaket innan det kommer in i nätverket. På detta sätt kontrolleras varje paket som kommer in i något gränssnitt på brandväggen helt för giltighet mot de typer av anslutningar som tillåts passera till andra sidan. Processen har fått sitt namn eftersom den inte bara inspekterar datapaketen, utan också övervakar tillståndet för en anslutning som har upprättats och tillåts genom brandväggen.
Idén för tillståndsfull inspektion skapades först av programvaran Check Point®, redan i mitten av 1990-talet. Innan Check Points® Firewall-1 INSPECT™-motorprogramvara övervakade brandväggar applikationslagret, högst upp i modellen för sammankoppling av öppna system (OSI). Detta tenderade att vara mycket belastande för en dators processor, så paketinspektion flyttade ner OSI-modellens lager till det tredje lagret, nätverkslagret. Tidig paketinspektion kontrollerade endast rubrikinformationen, adresseringen och protokollinformationen för paket och hade inget sätt att särskilja paketets tillstånd, till exempel om det var en ny anslutningsbegäran.
I en tillståndsfull inspektionsbrandvägg kombineras den resursvänliga och snabba paketfiltreringsmetoden något med den mer detaljerade applikationsinformationen. Detta ger ett visst sammanhang till paketet och ger därmed mer information för att basera säkerhetsbeslut. För att lagra all denna information måste brandväggen upprätta en tabell som sedan definierar anslutningens tillstånd. Detaljerna för varje anslutning, inklusive adressinformation, portar och protokoll, såväl som sekvensinformationen för paketen, lagras sedan i tabellen. Den enda tid som resurser överhuvudtaget är ansträngda är under den första inmatningen i tillståndstabellen; efter det använder vartannat paket som matchas mot det tillståndet knappt några datorresurser.
Den tillståndsbestämda inspektionsprocessen börjar när det första paketet som begär en anslutning fångas och inspekteras. Paketet matchas mot brandväggens regler, där det kontrolleras mot en rad möjliga auktoriseringsparametrar som är oändligt anpassningsbara för att stödja tidigare okända, eller ännu inte utvecklade, programvara, tjänster och protokoll. Det fångade paketet initierar handskakningen och brandväggen skickar ett svar tillbaka till den begärande användaren som bekräftar en anslutning. Nu när tabellen har fyllts i med tillståndsinformation för anslutningen, matchas nästa paket från klienten mot anslutningstillståndet. Detta fortsätter tills anslutningen antingen tar slut eller avslutas, och tabellen rensas från tillståndsinformationen för den anslutningen.
Detta medför ett av de problem som den statliga inspektionsbrandväggen står inför, denial of service-attacken. Med denna typ av attack äventyras inte säkerheten så mycket som brandväggen bombarderas med många initiala paket som begär en anslutning, vilket tvingar tillståndstabellen att fyllas på med förfrågningar. När den är full kan tillståndstabellen inte längre acceptera några förfrågningar, så alla andra anslutningsförfrågningar blockeras. En annan attackmetod mot en stateful brandvägg utnyttjar brandväggens regler för att blockera inkommande trafik, men tillåter all utgående trafik. En angripare kan lura en värd på den säkra sidan av brandväggen att be om anslutningar utifrån, vilket effektivt öppnar upp alla tjänster på värden för angriparen att använda.