Il crescente impatto delle applicazioni di rete sul mondo del lavoro ha favorito la crescita delle esigenze di sicurezza nel traffico dati. Le architetture hardware e sofware dedicate sono oggetto costante di studio e miglioramento. Da un lato si cerca di ottimizzare la velocita' di scansione dei dati in modo da garantire all'utenza un funzionamento il più possibile trasparente, dall'altro si cerca di introdurre algoritmi di individuazione del traffico malizioso sempre piu' selettivi ed intelligenti. Tali caratteristiche sono chiaramente in contrasto tra loro poichè uno studio approfondito dei dati in transito richiede un grande lavoro su ogni pacchetto e la ricostruzione opportuna dell'intero flusso dati. La ricostruzione di tali flussi e' in massima parte demandata all'implementazione ISO/OSI del sistema operativo e quindi può essere ragionevolmete considerata al limite dell'ottimizzazione ma la stessa analisi di quanto ottenuto non è un problema banale e viene risolto solitamente tramite algoritmi euristici. Tutti questi meccanismi rispondono in ultima analisi alla necessità di proteggere un certo numero di macchine appartenenti ad una rete privata -detta intranet o lan- dalle aggressioni provenienti da persone non autorizzate. La quantità di applicazioni operanti, ognuna con una propria implementazione, verso Internet effettivamente lascia supporre una grossa difficoltà nella gestione globale del problema.
Inoltre la rete è in continua evoluzione per cui di giorno in giorno nascono nuove falle nei sistemi di sicurezza dovute alla richiesta e aggiunta di nuove funzionalità. Un esempio su tutti è la realizzazione ad-hoc di applicativi java per l'aggiramento dei tipi più diffusi di firewall di cui apprezzeremo più avanti il funzionamento.