Un IDS (sistema di rilevamento delle intrusioni) o IPS (sistema di prevenzione delle intrusioni) è la soluzione standard. In genere funziona osservando il traffico verso le risorse protette (come un server Web) e cercando caratteristiche associate agli attacchi. Il grande vantaggio è che consente di risparmiare un sacco di tempo e offre molti più modi di scansionare i vettori di attacco rispetto a quello che si potrebbe fare da soli. Con la maggior parte dei sistemi di questo tipo, pianifichi un modo per ottenere aggiornamenti, in modo che gli aggressori si evolvano, il tuo sistema segue poco dopo.
Per ogni tipo di risorsa, i vettori di attacco varieranno e sono sempre in evoluzione. Come accennato, per i server Web, un vettore piuttosto comune è costituito da input errati: l'iniezione di codice e l'overflow del buffer sono i due che vengono in mente più facilmente. Ma questo cambierà per ogni tipo di risorsa che si desidera proteggere e qualsiasi protocollo che un utente malintenzionato può utilizzare per accedervi.
Un sistema sofisticato può combinare:
- benchmark su come il sistema si comporta attualmente e l'osservazione delle modifiche a quei benchmark
- analisi dei protocolli e uso improprio degli aspetti di tali protocolli
- ripetuti tentativi di fornire un input non corretto o non valido
- qualsiasi modello di comportamento che mostra un tipo di scansione
- rilevamento di comportamenti significativamente inusuali
e altro ...
Non c'è davvero una risposta perfetta all'eterno - "siamo stati attaccati con successo?" domanda, la vera chiave è conoscere un determinato sistema, che cos'è "normale" e quindi qual è "anormale", e conoscere un determinato modello di progettazione o comunicazione abbastanza bene da sapere come e quando può essere usato impropriamente