Inspecția de stat este o tehnică utilizată în firewall-urile rețelei de calculatoare pentru a proteja o rețea de accesul neautorizat. De asemenea, uneori cunoscută sub numele de filtrare dinamică, metoda este capabilă să inspecteze un întreg pachet de date înainte de a intra în rețea. În acest fel, fiecare pachet care intră în orice interfață de pe firewall este verificat complet pentru validitate față de tipurile de conexiuni care au voie să treacă pe cealaltă parte. Procesul își primește numele deoarece nu numai că inspectează pachetele de date, dar monitorizează și starea unei conexiuni care a fost stabilită și permisă prin firewall.
Ideea pentru inspecția de stat a fost concepută pentru prima dată de software-ul Check Point®, la mijlocul anilor 1990. Înainte de software-ul motorului Check Point® Firewall-1 INSPECT™, firewall-urile monitorizau stratul de aplicație, în partea de sus a modelului de interconectare a sistemelor deschise (OSI). Acest lucru tindea să fie foarte solicitant pentru procesorul unui computer, așa că inspecția pachetelor a mutat în jos straturile modelului OSI până la al treilea strat, stratul de rețea. Inspecția timpurie a pachetelor a verificat doar informațiile de antet, adresarea și informațiile de protocol ale pachetelor și nu a avut nicio modalitate de a distinge starea pachetului, cum ar fi dacă era o nouă solicitare de conexiune.
Într-un firewall de inspecție completă, metoda de filtrare rapidă și prietenoasă cu resursele este combinată oarecum cu informațiile mai detaliate ale aplicației. Acest lucru oferă un anumit context pachetului, oferind astfel mai multe informații din care să se bazeze deciziile de securitate. Pentru a stoca toate aceste informații, firewall-ul trebuie să stabilească un tabel, care definește apoi starea conexiunii. Detaliile fiecărei conexiuni, inclusiv informațiile despre adresă, porturile și protocoalele, precum și informațiile de secvențiere pentru pachete, sunt apoi stocate în tabel. Singurul moment în care resursele sunt solicitate este în timpul intrării inițiale în tabelul de stat; după aceea, fiecare alt pachet care se potrivește cu acea stare utilizează aproape deloc resurse de calcul.
Procesul de inspecție completă începe atunci când primul pachet care solicită o conexiune este capturat și inspectat. Pachetul este comparat cu regulile firewall-ului, unde este verificat cu o serie de posibili parametri de autorizare care sunt personalizabili la nesfârșit pentru a suporta software, servicii și protocoale necunoscute anterior sau care nu au fost încă dezvoltate. Pachetul capturat inițializează strângerea de mână, iar paravanul de protecție trimite un răspuns înapoi utilizatorului care solicită o conexiune. Acum că tabelul a fost completat cu informații despre starea conexiunii, următorul pachet de la client este comparat cu starea conexiunii. Aceasta continuă până când conexiunea fie expiră, fie se încheie, iar tabelul este șters de informațiile de stare pentru acea conexiune.
Acest lucru duce la una dintre problemele cu care se confruntă firewall-ul de inspecție de stat, atacul de denial of service. Cu acest tip de atac, securitatea nu este compromisă în măsura în care firewall-ul este bombardat cu numeroase pachete inițiale care solicită o conexiune, forțând tabelul de stare să se umple cu cereri. Odată plin, tabelul de stare nu mai poate accepta nicio solicitare și astfel toate celelalte solicitări de conectare sunt blocate. O altă metodă de atac împotriva unui firewall cu stare de protecție profită de regulile firewall-ului pentru a bloca traficul de intrare, dar permite orice trafic de ieșire. Un atacator poate păcăli o gazdă din partea securizată a paravanului de protecție pentru a cere conexiuni din exterior, deschizând efectiv orice servicii de pe gazdă pentru ca atacatorul să le folosească.