Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 4.05 KB

File metadata and controls

14 lines (13 loc) · 4.05 KB

OWASP Top 10 API Security Risks – 2019

Rischio Descrizione
API1:2019 - Broken Object Level Authorization Le API tendono a esporre endpoint che gestiscono identificatori di oggetti, creando un'ampia superficie di attacco legata ai problemi di controllo degli accessi a livello di oggetto. I controlli di autorizzazione a livello di oggetto devono essere considerati in ogni funzione che accede a una fonte di dati tramite un input dell'utente.
API2:2019 - Broken User Authentication I meccanismi di autenticazione sono spesso implementati in modo errato, consentendo agli attaccanti di compromettere i token di autenticazione o di sfruttare falle implementative per assumere temporaneamente o permanentemente l'identità di altri utenti. La compromissione della capacità del sistema di identificare il client/utente compromette la sicurezza dell'API nel suo complesso.
API3:2019 - Excessive Data Exposure Puntando a implementazioni generiche, gli sviluppatori tendono a esporre tutte le proprietà degli oggetti senza considerarne la sensibilità individuale, affidandosi ai client per filtrare i dati prima di mostrarli all'utente.
API4:2019 - Lack of Resources & Rate Limiting Molto spesso le API non impongono alcuna restrizione sulle dimensioni o sul numero di risorse che possono essere richieste dal client/utente. Ciò non solo può compromettere le prestazioni del server API, portando a un Denial of Service (DoS), ma apre anche la porta a falle di autenticazione come gli attacchi a forza bruta.
API5:2019 - Broken Function Level Authorization Politiche di controllo degli accessi complesse con gerarchie, gruppi e ruoli differenti, e una separazione poco chiara tra funzioni amministrative e funzioni ordinarie, tendono a causare falle nell'autorizzazione. Sfruttando queste problematiche, gli attaccanti ottengono accesso alle risorse di altri utenti e/o alle funzioni amministrative.
API6:2019 - Mass Assignment L'associazione dei dati forniti dal client (ad esempio JSON) ai modelli dati, senza un adeguato filtraggio delle proprietà basato su una whitelist, porta solitamente al Mass Assignment. Indovinando le proprietà degli oggetti, esplorando altri endpoint API, leggendo la documentazione o fornendo proprietà aggiuntive nei payload delle richieste, gli attaccanti possono modificare proprietà degli oggetti a cui non dovrebbero avere accesso.
API7:2019 - Security Misconfiguration La configurazione errata della sicurezza è comunemente il risultato di configurazioni di default non sicure, configurazioni incomplete o estemporanee, storage cloud aperto, header HTTP configurati in modo errato, metodi HTTP non necessari, Cross-Origin Resource Sharing (CORS) permissivo e messaggi di errore dettagliati contenenti informazioni sensibili.
API8:2019 - Injection Le falle di injection, come SQL, NoSQL, Command Injection, ecc., si verificano quando dati non attendibili vengono inviati a un interprete come parte di un comando o di una query. I dati malevoli dell'attaccante possono ingannare l'interprete inducendolo a eseguire comandi non previsti o ad accedere a dati senza la dovuta autorizzazione.
API9:2019 - Improper Assets Management Le API tendono a esporre più endpoint rispetto alle applicazioni web tradizionali, rendendo una documentazione aggiornata e accurata molto importante. Un inventario adeguato degli host e delle versioni API distribuite svolge anche un ruolo importante nel mitigare problemi come le versioni API deprecate e gli endpoint di debug esposti.
API10:2019 - Insufficient Logging & Monitoring Logging e monitoraggio insufficienti, uniti a un'integrazione con la risposta agli incidenti assente o inefficace, consentono agli attaccanti di continuare ad attaccare i sistemi, mantenere la persistenza, spostarsi lateralmente su altri sistemi per manomettere, estrarre o distruggere dati. La maggior parte degli studi sulle violazioni dimostra che il tempo necessario per rilevare una violazione supera i 200 giorni, tipicamente rilevata da terze parti piuttosto che da processi o monitoraggio interni.