Stateful inspection est une technique utilisée dans le pare-feu de réseau informatique pour protéger un réseau contre tout accès non autorisé. Aussi parfois connu comme le filtrage dynamique, la méthode est capable d'inspecter tout un paquet de données avant qu'il ne pénètre le réseau. De cette façon, chaque paquet entrant dans une interface sur le pare-feu est contrôlé complètement la validité contre les types de connexions qui sont autorisés à passer de l'autre côté. Le processus tire son nom car non seulement il inspecte les paquets de données, mais surveille également l'état d'une connexion qui a été mis en place et a permis à travers le pare-feu.
L'idée de stateful inspection a d'abord été mise au point par Check Point Software, remonte au milieu des années 1990. Avant de Check Point Firewall-1 VERIFIER logiciel du moteur, pare-feu surveillé la couche d'application, au sommet de l'interconnexion de systèmes ouverts modèle (OSI). Cette tendance à être très exigeant sur le processeur d'un ordinateur, de sorte que l'inspection des paquets déplacés vers le bas les couches du modèle OSI pour la troisième couche, la couche réseau. Packet inspection tôt seulement la vérification des informations d'en-tête, l'adressage et les informations de protocole, de paquets et n'avait aucun moyen de distinguer l'état du paquet, comme s'il s'agissait d'une nouvelle demande de connexion.
Dans un pare-feu stateful inspection, la méthode de filtrage de paquets ressource conviviale et rapide est fusionné quelque peu avec les informations d'application plus détaillées. Cela donne un certain contexte pour le paquet, ce qui donne plus d'information à partir de laquelle les décisions de sécurité de base. Pour stocker toutes ces informations, le pare-feu doit établir un tableau qui définit alors l'état de la connexion. Les détails de chaque connexion, y compris les informations adresse, ports et protocoles, ainsi que les informations de séquence pour les paquets sont ensuite stockées dans la table. Le seul moment où les ressources sont tendues à tous est au cours de la première entrée dans la table d'état, après que tous les autres paquets en correspondance avec cet état utilisent pratiquement pas de ressources informatiques.
Le processus d'inspection stateful commence lorsque le premier paquet demandant une connexion est capturé et inspecté. Le paquet est apparié à l'encontre des règles de pare-feu, où il est comparé à un tableau de paramètres d'autorisation possibles qui sont sans cesse personnalisable afin de soutenir jusque-là inconnues, ou encore être développé, logiciels, services et protocoles. Le paquet capturé initialise la poignée de main, et le pare-feu envoie une réponse à l'utilisateur qui demande la reconnaissance d'une connexion. Maintenant que le tableau a été rempli avec les informations d'état de la connexion, le prochain paquet du client est comparé à l'état de connexion. Cela continue jusqu'à ce que la connexion soit expire ou est résilié, et la table est débarrassée de l'information d'état pour cette connexion.
Cela porte sur l'un des problèmes rencontrés par le pare-feu stateful inspection de l'attaque par déni de service. Avec ce type d'attaque, la sécurité n'est pas compromise pour autant que le pare-feu est bombardée avec de nombreux paquets initiaux demandant une connexion, forçant la table d'état pour remplir les demandes. Une fois pleine, la table d'état ne peut plus accepter toutes les demandes, et ainsi de toutes les autres demandes de connexion sont bloquées. Une autre méthode d'attaque contre un pare-feu stateful tire parti des règles du pare-feu pour bloquer le trafic entrant, mais permettre à tout le trafic sortant. Un attaquant peut tromper un hôte sur le côté sécurisé du pare-feu en demandant des connexions de l'extérieur, ouverture effective des services sur l'hôte pour l'attaquant à utiliser.