API7:2019 Errata configurazione della sicurezza: cosa, esempi di exploit e metodi di prevenzione

Blog

CasaCasa / Blog / API7:2019 Errata configurazione della sicurezza: cosa, esempi di exploit e metodi di prevenzione

Jul 07, 2023

API7:2019 Errata configurazione della sicurezza: cosa, esempi di exploit e metodi di prevenzione

Home » Editorial Calendar » API Security » API7:2019 Security Misconfiguration:

Home » Calendario editoriale » Sicurezza API » Configurazione errata della sicurezza API7:2019: cosa, esempi di exploit e metodi di prevenzione

Le configurazioni errate della sicurezza sono rischi per la sicurezza molto comuni, non solo nelle applicazioni Web ma anche nelle API. Sono state costantemente incluse nelle 10 principali vulnerabilità delle applicazioni Web di OWASP. Facevano parte dell'originale OWASP Top 10 API Security Risks pubblicato nel 2019 e ora sono inclusi nell'elenco aggiornato del 2023.

L'errata configurazione della sicurezza mantiene il suo 7° posto in classificaOWASP Top 10 API 2023RCa causa della sua diffusa prevalenza, facile sfruttabilità e facile rilevabilità.

Cosa sono esattamente le configurazioni errate della sicurezza? Cosa li causa e come mitigarli? Continua a leggere per scoprirlo.

Le configurazioni errate della sicurezza sono gli errori e le sviste effettuate durante la configurazione, l'implementazione o la manutenzione di un'API che possono portare a vulnerabilità della sicurezza. Ciò accade quando gli sviluppatori/team IT non hanno seguito le migliori pratiche di sicurezza nell'implementazione e nella configurazione delle API.

Possono verificarsi errate configurazioni della sicurezza a causa dell'incapacità degli sviluppatori e dei team di sicurezza IT di rafforzare adeguatamente la superficie di attacco con configurazioni adeguate.

Significa semplicemente che le impostazioni essenziali di sicurezza dell'API non sono state implementate o sono state implementate in modo errato, lasciando pericolose lacune e punti deboli nell'API. Gli autori delle minacce possono sfruttare queste lacune per orchestrare attacchi massicci e violazioni dei dati.

Queste configurazioni errate possono verificarsi a diversi livelli dello stack API, tra cui server API, gateway API, applicazione client, infrastruttura che supporta l'API, livello di rete, livello di sistema, livello di applicazione e così via. Non esiste quasi alcuna differenza nel modo in cui queste configurazioni errate influiscono sulle app Web e sulle API.

// API non sicura Endpointapp.get('/api/user/:id', (req, res) => {const userId = req.params.id;// Recupera i dati utente dal database senza autenticazione o autorizzazioneUser.findById( userId, (err, utente) => {if (err) {return res.status(500).json({ errore: 'Errore interno del server' });}if (!utente) {return res.status(404) .json({ errore: 'Utente non trovato' });}// Restituisce l'utente datares.json(utente);});});In questo esempio, l'endpoint API /api/user/:id è progettato per recuperare i dati dell'utente in base all'ID fornito. Tuttavia, non sono previsti controlli di autenticazione o autorizzazione.

Il codice recupera direttamente l'utente dal database senza verificare l'identità dell'utente o assicurarsi che disponga delle autorizzazioni necessarie.

Un utente malintenzionato che sfrutta questa configurazione errata potrebbe semplicemente inviare una richiesta GET a /api/user/:id con qualsiasi parametro id e recuperare i dati dell'utente senza autenticazione o autorizzazione adeguata. Ciò espone le informazioni sensibili dell'utente a persone non autorizzate.

L'errata configurazione del sistema è una vulnerabilità che può essere sfruttata, sia nelle API, nelle applicazioni web, nelle reti, nei contenitori o nelle piattaforme di sviluppo. Se lasci le API configurate in modo improprio, inadeguato o non sicuro, lascerai l'API esposta a un'ampia gamma di rischi per la sicurezza.

Le vulnerabilità dovute a errori di configurazione della sicurezza sono disponibili in tutte le forme e dimensioni, con diversi livelli di rischio. Ecco alcuni esempi di cosa potrebbe portare a queste configurazioni errate.

Consulta l'elenco completo delle configurazioni errate dell'API dal nostroElenco di controllo per il test della penna API.

Ecco cinque esempi di scenari di attacco per errata configurazione dell'API e le loro potenziali implicazioni:

La violazione di Capital One del 2019 è un esempio reale di sfruttamento di configurazioni errate della sicurezza da parte degli aggressori. Nel caso di Capital One, gli aggressori hanno scoperto che veniva utilizzato un WAF open source per proteggere le app e le API dell'azienda. Questo WAF non è stato configurato e ottimizzato adeguatamente per le esigenze e il contesto dell'ambiente AWS dell'azienda. Di conseguenza, non ha seguito i principi di zero trust e privilegio minimo.

Essendo eccessivamente permissivi, gli aggressori potrebbero facilmente aggirare il WAF. Gli aggressori hanno creato uno script di injection per prendere di mira il servizio di metadati cloud di backend AWS. Il WAF non ha potuto ispezionare il contenuto del messaggio o filtrarlo e ha consentito l'elaborazione della richiesta di iniezione da parte del backend. Ora, l’aggressore potrebbe raccogliere metadati a cui non avrebbe dovuto accedere.