Rilevamento delle intrusioni basato sul Web che integra la visibilità nell'app Web e nel database

1

Considerare il problema dell'indurimento di un'applicazione Web esistente, supportata da database, per rilevare gli attacchi e fermarli dove possibile.

Sembra che un approccio plausibile potrebbe essere quello di costruire un sistema di rilevamento delle intrusioni che abbia osservabilità in due punti: (a) a livello di server Web (ad esempio, per osservare la pagina in esecuzione, l'URL della richiesta, i parametri della richiesta, il cookie di sessione), e (b) a livello di database (ad esempio, per osservare la query SQL che viene eseguita). Posso immaginare molte opportunità di costruire un rilevatore di anomalie e un sistema di monitoraggio in grado di rilevare molti attacchi. Ad esempio, se in passato le query SQL avviate dalla pagina foo.php sono state query SELECT e ora viene visualizzato un comando UPDATE o DROP, potrebbe essere sospetto. Se vedo una query che contiene un punto e virgola o una sottoquery nidificata, e non l'ho mai vista prima da quella pagina, potrebbe essere sospetta. E così via. Questo è il tipo di cosa che può essere implementata solo con visibilità sia nella richiesta web (ad esempio, sul server web o sul livello di front-end) e nel database.

Qualcuno ha mai visto questo tipo di sistema? Qualcuno l'ha costruito, e se sì, quanto bene funziona? Esiste un nome standard per questo tipo di sistema? (La mia comprensione è che un firewall di un'applicazione Web normalmente ha visibilità solo nell'applicazione web ma non nel database, quindi è diverso.) Esistono sistemi come questo disponibili commercialmente o come open source?

    
posta D.W. 04.06.2014 - 00:39
fonte

2 risposte

1

non voglio pubblicizzare una soluzione commerciale, ma esiste un firewall di database che conosco che offre questo tipo di protezione per db richiesta, compresa la modalità di apprendimento, la whitelist ecc.

Has anyone built it, and if so, how well does it work?

funziona così come la tua implementazione. una buona implementazione è necessaria, dal momento che ognuno di questi prodotti deve essere ottimizzato. meglio definisce i requisiti, più facile è.

la generazione automatica di whitelist per WAF e DB-Firewall potrebbe essere inclusa nei normali cicli di implementazione, ad es. generato su sistemi di test in modalità di apprendimento e aggiornato / trasferito su (a) i sistemi live durante le implementazioni.

my pov: WAF e la protezione in stile WAF funzionano molto bene contro gli attacchi automatici e la discarica, mentre non contro quelli intelligenti che sanno come nascondere i loro attacchi all'interno delle richieste regolari di prova: case1 , case2

Is there a standard name for this sort of system?

difesa in profondità:))))

Are there existing systems like this available commercially or as open source?

nessuna soluzione all-in-one afaik, e non avrebbe molto senso: ti piacerebbe avere il WAF nel tuo frontend-gateway e nella protezione db tra i tuoi server e database. la richiesta http è molto più complessa rispetto alle query SQL e l'approccio al filtro è molto diverso. armati di lua puoi far saltare in aria il tuo waf un vero giocattolo fantastico, esp. quando si genera una protezione basata sul profilo.

di solito suggerisco nginx + naxsi come un semplice waf basato su pattern, se possibile puro whitelisting, e se hai bisogno di più, un LuaWAF personalizzato. a livello db vado verde: D

quando hai bisogno di maggiore protezione e vuoi filtrare non solo il traffico in entrata, ma anche il traffico in uscita, suggerirei snort / suricata tra i tuoi frontend / app-server; mi piace questa soluzione da un punto di vista delle prestazioni; mod_security per esempio, una soluzione che abbiamo usato prima, è PITA totale sia in termini di prestazioni che di mantenimento delle regole.

    
risposta data 04.06.2014 - 13:56
fonte
1

Dovresti esaminare il progetto App Sensor di OWASP ; sta facendo esattamente il tipo di cose di cui stai parlando. È più una dimostrazione di concetto / implementazione di esempio, ma l'idea funziona e ha molti pregi.

Il progetto è focalizzato sulla definizione di punti di rilevamento e potenziali azioni; sentono che ogni sito dovrebbe impostare le regole tra i due. Tutti proviamo questo sentimento alcune volte e iniziamo a prestare maggiore attenzione alle situazioni e penso che il progetto apporti alcune osservazioni davvero positive che la nostra applicazione dovrebbe fare una cosa simile, quindi un'azione potenziale è aumentare il livello di registrazione.

Si scusa per aver aggiunto una risposta a un commento; Non ho abbastanza reputazione per commentare.

    
risposta data 03.09.2014 - 03:30
fonte

Leggi altre domande sui tag