Un firewall sensibile alle applicazioni comprende non solo le porte, ma le applicazioni specifiche ascoltano porte specifiche. Sono infatti basati su host (installati su una workstation utente o su un server) e impediscono al malware di essere ascoltato su una porta che verrebbe normalmente utilizzata da un'applicazione legittima.
Ad esempio, potresti aprire la porta 80 su un firewall tradizionale perché hai IIS in esecuzione e vuoi consentire il traffico web. Se il malware dovesse uccidere IIS e iniziare ad ascoltare sulla porta 80, il tradizionale firewall di rete distribuirà felicemente il traffico, perché tutto ciò che sa è che ha una regola che dice che dovrebbe consentire il traffico specificato per la porta 80.
Un firewall sensibile alle applicazioni, d'altro canto, ha una regola che consente il traffico specifico a IIS e, se il malware lo spegne, il firewall inizierà a bloccare il traffico verso le porte su cui IIS è stato ascoltato e, in assenza di ulteriori regole che consentono tale traffico, il malware è effettivamente bloccato per impostazione predefinita.
L'esempio in entrata è reale, ma leggermente forzato. Dove questo diventa particolarmente utile è in situazioni in cui si dispone di un host molto bloccato e un insieme limitato di applicazioni che devono essere autorizzati a comunicare in uscita. Ora non è più necessario consentire il traffico in uscita tramite le porte aperte attraverso il firewall, ma è sufficiente impostare regole specifiche per le applicazioni che consentono solo la serie di applicazioni che devono comunicare in uscita per farlo. Fatto correttamente, questo può seriamente limitare la capacità del malware di comunicare con command & infrastruttura di controllo, per estrarre dati, o per essere utilizzata per ulteriori spostamenti laterali in una rete.
Un firewall per applicazioni web, d'altro canto, è sensibile all'applicazione in un senso diverso, in quanto pur essendo solo un firewall basato su rete, ha una conoscenza specifica di come sia il traffico HTTP e può ispezionare il traffico e applicare le regole per identificare e bloccare il traffico potenzialmente dannoso prima che raggiunga l'applicazione HTTP. Quindi, non importa se l'applicazione server Web è IIS, Apache o malware, ma se vede una richiesta in entrata che contiene un modello di iniezione SQL comune, ad esempio, può rifiutarsi di inoltrare la richiesta a il web server, proteggendolo dagli attacchi che potrebbe non essere progettato per proteggersi da.