NoSQL si riferisce a sistemi di database progettati per modelli di dati flessibili anziché per tabelle relazionali fisse. I comuni stili NoSQL includono database documentali, key-value, wide-column e a grafo. Sono popolari perché scalano bene su grandi insiemi di dati e possono archiviare dati eterogenei senza costringere ogni record a usare lo stesso schema.
Nel campo della sicurezza informatica, NoSQL è importante perché la sua flessibilità può anche ampliare la superficie di attacco. Le applicazioni possono costruire query dinamiche, esporre potenti API di amministrazione o fare affidamento su controlli di autorizzazione deboli, creando opportunità per injection, escalation dei privilegi o esposizione dei dati quando i controlli sono deboli. I difensori dovrebbero applicare il principio del privilegio minimo, convalidare gli input, esaminare la costruzione delle query e mettere in sicurezza l'accesso a repliche, backup e interfacce di gestione. Negli attacchi reali, i sistemi NoSQL vengono spesso presi di mira tramite errori di configurazione o abuso a livello applicativo, piuttosto che tramite il solo motore del database.


