O que é inspeção estadual?
A inspeção de estado é uma técnica usada nos firewalls da rede de computadores para proteger uma rede contra acesso não autorizado. Também conhecido como filtragem dinâmica, o método é capaz de inspecionar um pacote de dados inteiro antes de entrar na rede. Dessa maneira, todos os pacotes que entram em qualquer interface do firewall são completamente verificados quanto à validade em relação aos tipos de conexões que podem passar para o outro lado. O processo recebe esse nome porque não apenas inspeciona os pacotes de dados, mas também monitora o estado de uma conexão que foi estabelecida e permitida pelo firewall.
A idéia de inspeção com estado foi criada pela primeira vez pelo software Check Point®, em meados dos anos 90. Antes do software do mecanismo Firewall-1 INSPECT ™ da Check Point, os firewalls monitoravam a camada de aplicação, na parte superior do modelo de interconexão de sistemas abertos (OSI). Isso costumava ser muito desgastante para o processador de um computador; portanto, a inspeção de pacotes passou das camadas do modelo OSI para a terceira camada, a camada de rede. A inspeção inicial de pacotes verificava apenas as informações do cabeçalho, as informações de endereçamento e protocolo dos pacotes e não tinha como distinguir o estado do pacote, como se era uma nova solicitação de conexão.
Em um firewall de inspeção com estado, o método de filtragem de pacotes rápido e de fácil utilização de recursos é mesclado com as informações mais detalhadas do aplicativo. Isso fornece algum contexto ao pacote, fornecendo mais informações a partir das quais basear as decisões de segurança. Para armazenar todas essas informações, o firewall precisa estabelecer uma tabela, que define o estado da conexão. Os detalhes de cada conexão, incluindo as informações de endereço, portas e protocolos, bem como as informações de seqüência para os pacotes, são armazenados na tabela. O único momento em que os recursos são sobrecarregados é durante a entrada inicial na tabela de estados; depois disso, todos os outros pacotes correspondentes a esse estado usam quase nenhum recurso de computação.
O processo de inspeção com estado começa quando o primeiro pacote que solicita uma conexão é capturado e inspecionado. O pacote é comparado com as regras do firewall, onde é verificado em relação a uma variedade de possíveis parâmetros de autorização que são infinitamente personalizáveis para suportar software, serviços e protocolos anteriormente desconhecidos ou ainda a serem desenvolvidos. O pacote capturado inicializa o handshake e o firewall envia uma resposta de volta ao usuário solicitante que reconhece uma conexão. Agora que a tabela foi preenchida com informações de estado para a conexão, o próximo pacote do cliente é comparado com o estado da conexão. Isso continua até a conexão atingir o tempo limite ou terminar, e a tabela é limpa das informações de estado para essa conexão.
Isso traz um dos problemas enfrentados pelo firewall de inspeção com estado: o ataque de negação de serviço. Com esse tipo de ataque, a segurança não é comprometida na medida em que o firewall é bombardeado com vários pacotes iniciais solicitando uma conexão, forçando a tabela de estado a preencher as solicitações. Depois de preenchida, a tabela de estados não pode mais aceitar nenhuma solicitação e, portanto, todas as outras solicitações de conexão são bloqueadas. Outro método de ataque contra um firewall stateful tira proveito das regras do firewall para bloquear o tráfego recebido, mas permite qualquer tráfego de saída. Um invasor pode induzir um host no lado seguro do firewall a solicitar conexões externas, abrindo efetivamente quaisquer serviços no host para o invasor usar.