Le API (Application Programming Interface) sono diventate uno strumento fondamentale per l’integrazione delle app attraverso la web technology. Parte del successo di tale tecnologia è dovuta al fatto che è basata su tecniche note e infrastrutture già esistenti.
L’errore commesso da molti player, inclusi colossi come Facebook, è credere che sia possibile rendere sicuri le API utilizzando lo stesso approccio implementato nella rete internet. Le API sono diverse dai siti web e presentano criticità uniche che vanno valutate con attenzione.
In questo contesto, gli attacchi alle API sono diventati sempre più comuni, provocando la fuoriuscita di enormi quantità di dati sensibili relativi agli utenti e all’app in sé.
Indice degli argomenti
Attacchi alle API: i numeri e le proporzioni della questione
Un’indagine condotta da Salt Security ha fatto emergere che nel 91% dei casi di incidenti di sicurezza, il problema ha coinvolto un’API.
La questione maggioritaria riguardava le vulnerabilità di queste applicazioni (54% dei casi), mentre in seconda piazza si trovano questioni legate alla procedura di autenticazione (46%).
Vi sono poi ulteriori questioni come l’uso (abuso) delle API da parte di bot e programmi esterni per estrarre i dati con il cosiddetto data scraping (20% dei casi).
Un’altra questione, che coinvolge il 19% dei casi riportati dall’indagine, è quella degli attacchi DoS.
Queste vulnerabilità sono spesso presenti nelle API e non si palesano finché un threat actor o un criminal hacker le scopre e decide di sfruttarle per i propri scopi illeciti. Le conseguenze di tali offensive possono essere:
- sottrazione di dati;
- abuso degli account;
- interruzione del servizio cui l’API fa riferimento.
I rischi legati alle API
Alla luce di quanto detto, è possibile delineare tecniche d’attacco potenziali che vedono vittima le API. Ma visto che queste interfacce sono uniche, è bene sottolineare che ogni caso presenta le sue peculiarità e richiede pertanto un approccio personalizzato.
Ciò non significa però che il tema della cyber security applicato alle API sia un miraggio, dato che è possibile ricondurre la grandissima maggioranza degli attacchi alle API a una di queste tre categorie:
- attacchi man-in-the middle che intercettano transazioni e trasferimenti di dati legittimi e non cifrati. A seguito di tali attacchi, le informazioni raccolte potrebbero essere rese pubbliche. In alcuni casi è addirittura possibile replicare la transazione intercettata;
- attacchi ai parametri che sfruttano i dati inviati a un’API, incluso l’URL, parametri della query, dati relativi all’HTTP e contenuto del post;
- identity attack, volti a sfruttare vulnerabilità nella procedura di autenticazione, di autorizzazione o di monitoraggio della sessione. In molti casi, tali attacchi sono resi possibili a causa di errori nella migrazione del sito web nello sviluppo dell’API.
Queste macrocategorie ci permettono di individuare i confini di una strategia di mitigazione efficace contro gli attacchi alle API. Una strategia può dirsi efficace al 100% solo nel caso in cui protegga anche da vettori d’attacco futuri e imprevisti.
Attacchi alle API: come proteggersi
Come abbiamo visto, sono diverse le aree vulnerabili. Per ottenere risultati soddisfacenti, è importante avere una visione d’insieme chiara sull’API, sul suo funzionamento e sui suoi confini operativi. In gergo tecnico si dice che l’API ha aumentato la superficie d’attacco utile. Alla luce di questo, è importante “perlustrare” tutta questa nuova superficie e monitorare gli accessi senza soluzione di continuità.
Ecco perché è fondamentale ridurre al minimo le falle logiche di programmazione e cercare, per quanto possibile, di delineare chiaramente l’architettura per evitare che la frammentazione non faccia altro che rendere troppo complessa l’interfaccia per comprendere cosa stia avvenendo al suo interno.
Oltre a questo, è bene porre sotto la lente d’ingrandimento le principali vulnerabilità che colpiscono le API. Al riguardo, la TOP 10 di OWASP pubblicata nel 2019 è ancora attuale, indicando chiaramente che le questioni poste due anni fa non sono ancora state risolte.
Investire in strumenti telemetrici e di scansione
Infine, è bene munirsi di strumenti e procedure di autenticazione per monitorare costantemente le API. Dato che il controllo manuale della sicurezza delle API non è realistico, è necessario investire in strumenti telemetrici e di scansione che garantiscano alti standard di sicurezza.
Una volta implementati tali strumenti e affinate le procedure, è possibile evidenziare una “baseline”, ovvero un insieme di parametri “standard” che faciliteranno i controlli futuri. Qualsiasi anomalia rispetto a tale baseline dovrebbe innescare meccanismi di notifica automatizzati, richiedendo, ove necessario, l’intervento manuale.
E anche se gli sviluppatori sono formati sull’argomento e ben disposti ad applicare questi nuovi controlli di sicurezza, all’interno dei sistemi informatici aziendali potrebbero essere ancora attive API antiquate, che pongono un grande rischio per la sicurezza generale.
Conclusioni
In questo contesto stanno sorgendo i primi programmi di sicurezza focalizzati al 100% sulla sicurezza delle API.
Servizi e strumenti API gateway, utilissimi per controllare lo stato delle API e verificare in tempo reale quante e quali connessioni e messaggi passino per l’interfaccia.
Molti sono ancora i passi da fare in tal senso, ma la consapevolezza della questione e la volontà di allocare le giuste risorse sul tema devono esserci.