Si tratta della violazione dell'autorizzazione a livello della proprietà dell'oggetto (BOPLA). Mentre la vulnerabilità BOPLA riguarda una proprietà all'interno di un oggetto, la vulnerabilità BOLA si riferisce all'intero oggetto. Le misure di protezione delle API dagli attacchi BOLA non garantiscono la protezione delle API dagli attacchi BOPLA, pertanto è fondamentale per i team addetti alla sicurezza adottare soluzioni progettate per difendere da questi due tipi di attacchi.
Un punto centralizzato per la gestione delle API
Oggi, le API sono ovunque poiché consentono a vari sistemi software di comunicare in modi che potenziano il nostro mondo sempre più connesso. Le API (Application Programming Interface) forniscono un insieme di regole e strumenti che consentono a diversi programmi software scritti in diverse lingue di scambiare informazioni e condividere funzionalità tra loro. I gateway API forniscono un punto centralizzato per la gestione, la protezione e l'ottimizzazione delle chiamate API, sia che si tratti di richieste che di risposte.
Poiché sono cruciali per tantissimi processi e spesso si connettono a dati sensibili, le API sono diventate uno dei bersagli preferiti dai criminali. Di conseguenza, i team addetti alla sicurezza devono adottare protocolli, pratiche e misure tali da garantire la sicurezza dei gateway API e da proteggere i servizi di back-end e i microservizi sottostanti supportati dalle API.
Che cos'è un'API?
Un'API è un insieme di protocolli e definizioni che consentono ai componenti software appartenenti a diversi sistemi o scritti in diverse lingue di comunicare facilmente e condividere informazioni tra loro. Applicando un metodo standard per la comunicazione delle applicazioni, le API consentono ad un'applicazione di accedere e incorporare funzioni e dati forniti da un'altra applicazione. Ad esempio, se desiderano includere su un sito web le più recenti notizie meteo, gli sviluppatori possono usare le API per accedere a tali dati da una fonte esterna anziché creare una propria applicazione separata che si occupa di raccogliere e interpretare i dati sul meteo. Le API sono coinvolte praticamente in tutte le azioni e le transazioni online, dai pagamenti dell'e-commerce a quelli online fino alle piattaforme dei social media e ai servizi cloud, il che espande la loro superficie di attacco.
Quali sono le minacce alle API?
Gli hacker ora prendono di mira le API perché spesso offrono l'accesso ai dati sensibili o possono consentire ai criminali un accesso non autorizzato a sistemi più grandi. Con la rapida proliferazione delle API, i team addetti alla sicurezza spesso non conoscono tutte le API presenti nell'ecosistema digitale della propria organizzazione, rendendo più difficile proteggere adeguatamente ogni API con controlli di sicurezza e patch/aggiornamenti regolari. La sicurezza delle API può essere compromessa da vari rischi, tra cui sfruttamento delle vulnerabilità, errori di autenticazione/autorizzazione e attacchi DoS (Denial-of-Service).
Che cos'è un gateway API?
Un gateway API è un livello di software che funge da punto di ingresso per gestire le richieste dei client e delle chiamate API e per restituire le risposte provenienti dagli endpoint API. I gateway API instradano le richieste in entrata ai servizi di back-end o ai microservizi appropriati, combinando più richieste in una sola richiesta o dividendo singole richieste in più richieste per soddisfare le esigenze del client in modo più efficiente. I gateway API, inoltre, convertono i protocolli tra diverse app e microservizi e possono fungere da sistemi di bilanciamento del carico per ottimizzare le performance delle API.
Che cos'è la sicurezza dei gateway API?
Un gateway API può svolgere un'ampia gamma di funzioni di sicurezza per prevenire eventuali abusi e attacchi alle API e per migliorare il livello di sicurezza di un'organizzazione.
- Autenticazione. I gateway API possono convalidare le credenziali, come i token ID, per autenticare l'identità di tutte le richieste API.
- Limitazione e regolazione della velocità. I gateway API adottano varie misure di sicurezza, tra cui la possibilità di limitare il numero di chiamate consentite ad un'API in un determinato periodo di tempo per garantire di non superare o sovraccaricare tale capacità di elaborazione. In tal modo, i gateway API contribuiscono a prevenire gli attacchi DoS (Denial-of-Service), gli attacchi di forza bruta e gli attacchi che utilizzano tentativi ed errori in cui gli hacker tentano di accedere ai sistemi presi di mira provando ripetutamente ad inserire varie credenziali.
- Applicazione delle policy. I gateway API consentono di applicare le policy e le regole, soprattutto quelle relative alle funzioni di autenticazione, autorizzazione e controllo degli accessi, da seguire durante l'accesso ai servizi di back-end e ai microservizi.
- Protezione basata su firme. Le API possono bloccare alcune minacce mediante il riconoscimento delle firme e dei modelli di attacchi noti.
- Registrazione e monitoraggio. I gateway API consentono di monitorare in modo costante il traffico delle API e le metriche sull'utilizzo delle API. I gateway possono anche mantenere un registro di tutte le transazioni con informazioni sui problemi relativi all'utilizzo e alla sicurezza.
- Disaccoppiamento. Per migliorare la sicurezza, un gateway API può svincolare i servizi di back-end dalle applicazioni front-end per eliminare qualsiasi contatto diretto tra loro. In tal modo, è possibile bloccare gli attacchi SQL injection, in cui viene iniettato codice dannoso nei database back-end.
La sicurezza dei gateway API è efficace?
Anche se i gateway API sono una parte importante di un programma di sicurezza, rappresentano solo un livello del sistema di protezione, pertanto alcune vulnerabilità rimangono esposte ad eventuali rischi. Alcuni attacchi come la violazione dell'autorizzazione a livello della proprietà dell'oggetto (BOPLA) possono sembrare parte del normale traffico indirizzato ad un gateway API, il che lascia i sistemi vulnerabili agli attacchi BOLA e BOPLA. I gateway, inoltre, non forniscono una visibilità sull'inventario delle API tale da garantire ai team addetti alla sicurezza la conoscenza di tutte le API e la protezione di ogni API mediante le policy e i controlli appropriati. Per questo motivo, molte organizzazioni usano altre soluzioni per la protezione delle API insieme ai gateway API per migliorare la visibilità sulla superficie di attacco.
Quali sono le best practice per la sicurezza dei gateway API?
Le organizzazioni e i relativi team addetti alla sicurezza possono migliorare la sicurezza dei gateway API adottando le best practice riportate di seguito.
- Centralizzazione dell'autenticazione. Centralizzando l'autenticazione delle API sul gateway, le organizzazioni possono ridurre il rischio che si verifichino tentativi indipendenti da parte dei microservizi di gestire gli accessi, la verifica dei token e altri elementi del processo di autenticazione, che possono condurre a problemi di complessità e lacune nella sicurezza.
- Implementazione della limitazione della velocità. Controllare il numero delle richieste API può evitare che una quantità eccessiva di richieste (dannose o legittime) riesca a sovraccaricare i servizi e a subire attacchi DoS o DDoS.
- Monitoraggio costante. Effettuare il monitoraggio e le analisi in modo costante può aiutare a rilevare potenziali minacce e a risolvere eventuali problemi con le richieste e l'accesso al client.
- Rimozione di API inutilizzate e obsolete. I team addetti alla sicurezza possono migliorare la sicurezza dei gateway API tenendo traccia di tutte le API e rimuovendo le API che non vengono più utilizzate o che non supportano più le nuove misure di sicurezza.
- Adozione di una soluzione WAF (Web Application Firewall). L'implementazione di una soluzione WAF nei programmi di sicurezza delle API e della rete può bloccare le minacce più comuni, come gli attacchi di tipo injection e XSS (Cross-Site Scripting), limitando l'accesso alle API in base a regole e condizioni definite.
- Utilizzo dell'analisi comportamentale. Una soluzione di analisi comportamentale basata sui servizi SaaS può registrare tutte le attività delle API per stabilire uno standard di comportamenti normali, quindi avvisare in caso di potenziali minacce e consigliare le adeguate misure difensive o proattive.
Domande frequenti (FAQ)
OpenAPI è uno standard aperto e un linguaggio delle specifiche per le API HTTP che articola la struttura e la sintassi in modo separato dal linguaggio di programmazione in cui sono state create le API. Con lo standard OpenAPI, i team DevOps possono comunicare facilmente come funziona un'API in una specifica codificata in un documento JSON o YAML. La sicurezza OpenAPI si riferisce ai vari schemi di sicurezza che limitano l'accesso alle applicazioni in base all'autenticazione e che possono riguardare la crittografia, l'autorizzazione e altre misure necessarie per proteggere l'integrità, la disponibilità e la riservatezza delle API.
La violazione dell'autorizzazione a livello di oggetto (BOLA) è una delle minacce più potenti per la sicurezza delle API e dei gateway API. Inclusa nell'elenco OWASP con i 10 principali rischi per la sicurezza delle API, questa vulnerabilità consente agli hacker di manipolare i parametri di input, come i parametri URL o i payload delle richieste, per accedere a dati non autorizzati o per eseguire azioni non autorizzate.
Perché i clienti scelgono Akamai
A sostegno e protezione della vita online c'è sempre Akamai. Le principali aziende al mondo scelgono Akamai per creare, offrire e proteggere le loro experience digitali, aiutando miliardi di persone a vivere, lavorare e giocare ogni giorno. Akamai Connected Cloud, una piattaforma edge e cloud ampiamente distribuita, avvicina le app e le experience agli utenti e allontana le minacce.