Supponete che Network IPS / IDS sia in grado di rilevare un exploit, tuttavia, lo stesso server delle applicazioni è ancora vulnerabile a tale exploit.
Se modifico il codice exploit, ci sono IPS / IDS che rileveranno ancora questo attacco?
Supponete che Network IPS / IDS sia in grado di rilevare un exploit, tuttavia, lo stesso server delle applicazioni è ancora vulnerabile a tale exploit.
Se modifico il codice exploit, ci sono IPS / IDS che rileveranno ancora questo attacco?
Dipende. Un IDS potrebbe rilevare la vulnerabilità, oppure potrebbe non esserlo, a seconda che sia in grado di rilevare lo sfruttamento della vulnerabilità stessa indipendentemente dal payload di exploit.
In generale, i sistemi IDS possono provare a rilevare gli attacchi cercando di riconoscere il carico utile di un attacco ("codice di exploit") o cercando di riconoscere lo sfruttamento della vulnerabilità (il vettore stesso). Se modifichi il payload, puoi evitare il rilevamento con lo stile precedente della firma, ma non con quest'ultimo.
Ci hai chiesto di assumere che gli IDS funzionassero rilevando solo il primo, ma questa non è una rappresentazione accurata di come gli IDS funzionino realmente nella vita reale. In altre parole, hai chiesto di fare un'ipotesi che non sia effettivamente accurata.
Potresti leggere su attacchi di evasione IDS . Vedi, ad esempio, i documenti di ricerca classici:
Inserimento, evasione e negazione del servizio: elusione del rilevamento delle intrusioni sulla rete , Ptacek e Newsham, 1998.
Bro: un sistema per il rilevamento di intrusi di rete in tempo reale , Paxson . Reti di computer 31 (23-24). Originariamente pubblicato su Usenix Security 1998. Vedi in particolare la Sezione 5.3.
Rilevamento delle intrusioni sulla rete: evasione, normalizzazione del traffico e end-to- Semantica del protocollo finale , Handley, Kreibich e Paxson. Usenix Security 2001.
Infine, in generale, ricorda che nessun IDS garantisce mai per rilevare tutti gli attacchi. Rilevano alcuni attacchi, ma non tutti. Sono lontani da una difesa perfetta. Come sempre, se si ha la possibilità di correggere la vulnerabilità stessa, si tratta di una difesa più affidabile che affidarsi a un IDS per rilevare lo sfruttamento della vulnerabilità.
Questi commenti si applicano anche ai sistemi IPS (grazie a @Everett per averlo indicato).
Potresti considerare un IPS basato su host come OSSec. Funziona con Linux, BSD, OS X e Windows. Questo è progettato per analizzare ciò che viene fatto a un sistema specifico (quello su cui è installato OSSec). Non hai ancora una garanzia, ma è un passaggio da un IDS.
IDS cerca pattern nel traffico e si basa sulle firme. Se l'exploit non contiene il payload o non utilizza il modello di traffico che l'IDS sta cercando, l'exploit passerà.
Puoi vedere, quindi, che potrebbe non esserci bisogno di un software per cambiare un exploit per passare un IDS. A volte, semplicemente la codifica dell'exploit per escludere alcuni caratteri può funzionare. In alternativa, crittografare il traffico in modo che l'IDS non possa analizzare il codice.
Per il caso migliore, usa l'IDS nel tuo ambiente di test, carica le firme, quindi attiva il tuo exploit. Scopri quali regole vengono colpite e come vengono scritte tali regole. In questo modo, puoi vedere cosa deve cambiare nel tuo codice exploit.
Dipende dal tipo di vulnerabilità e dal tipo di exploit su cui stai lavorando. Stai modificando il codice exploit, il che significa che in realtà dovrebbe comportare una modifica nella sequenza di bit nel payload del pacchetto o nel flusso di dati dell'applicazione utilizzando il protocollo specificato . Perché è quello che l'IPS cercherà. Ci sono vulnerabilità che possono funzionare solo con un codice di exploit, alcuni possono prendere una variazione.