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?