L’approccio DevSecOps è ormai imprescindibile, anche alla luce di una interessante analisi sullo stato della sicurezza delle API.
La sicurezza delle API è un problema che non è più possibile sottovalutare. Non è la prima volta che si parla di Application Programming Interface e dei rischi ad esse legati: F5 e Akamai, per esempio, allertano da tempo su questo aspetto. Ora a puntare i riflettori è Imperva, una società di Thales, nel report State of API Security in 2024 in cui riporta dati significativi. Imperva parte con la definizione della superficie di attacco: la maggior parte del traffico Internet (71%) nel 2023 era costituito da chiamate API. Inoltre, un tipico sito aziendale ha registrato una media di 1,5 miliardi di chiamate API nel 2023.
Questo significa che un enorme volume di traffico Internet passa attraverso le API, costituendo di fatto una superficie di rischio ampissima. Quello che denota Impreva è che, nonostante gli sforzi per adottare framework sicuri, le API vengono spesso inserite in produzione prima di essere catalogate, autenticate o controllate per il solito problema della pressione a cui sono sottoposti gli sviluppatori per fornire servizi digitali ai clienti nel modo più rapido possibile.
Gli attaccanti sono ben consci della situazione, tanto che le API sono di fatto un vettore di attacco comune. Fra i settori maggiormente presi di mira in questo senso ci sono quelli financial e retail, per il fatto che registrano i volumi più elevati di chiamate API rispetto a qualsiasi altro settore. Il vettore di attacco più diffuso è l’Account takeover (ATO), che si concretizza quando i criminali informatici sfruttano le vulnerabilità nei processi di autenticazione di un'API per ottenere l'accesso non autorizzato agli account.
Secondo i dati di Impreva, nel 2023 quasi la metà (45,8%) di tutti gli attacchi ATO ha preso di mira le API con tentativi spesso effettuati in maniera automatica da bot dannosi. In caso di successo, questi attacchi possono bloccare l’accesso ai servizi da parte dei legittimi clienti, fornire ai criminali informatici dati sensibili, causare perdite di denaro.
Mitigare i rischi per la sicurezza delle API è una sfida spesso frustrante anche per i team di sicurezza più avanzati. Il problema si riallaccia infatti allo spinoso tema del DevSecOps e alla mancanza di strumenti e processi capaci di aiutare effettivamente gli sviluppatori e i team di sicurezza a lavorare in modo più collaborativo. Per questo si stima che una API su 10 sia vulnerabile agli attacchi. Imperva nel report identifica tre tipi comuni di problemi: API shadow, obsolete e non autenticate.
Le Shadow API o API non documentate sono API sulle quali non è stata condotta alcuna attività di supervisione perché nessuno sa che esistono o a cosa sono connesse. Imperva stima che questo tipo di API costituisca il 4,7% della raccolta di API attive di ogni organizzazione. Il problema è che queste API in genere hanno accesso a informazioni sensibili, e anche solo una singola Shadow API può portare a una violazione della normativa con conseguente multa, e/o a un attacco ben riuscito che sfocia nell’accesso non autorizzato a dati sensibili.
Passiamo alla seconda opzione. L’obsolescenza delle API è una progressione naturale nel ciclo di vita del software: dato che il software viene aggiornato a un ritmo elevato e continuo, la presenza di API non aggiornate non è rara, anzi, secondo Imperva in media costituiscono il 2,6% della raccolta di API attive di un'organizzazione. Quando una API è obsoleta (o deprecata per usare il termine tecnico), i servizi che ne fanno uso diventano vulnerabili.
Chiudiamo con le API non autenticate, che spesso vengono introdotte nel ciclo di sviluppo a causa di una configurazione errata, di una svista o del tentativo di mantenere la compatibilità con le versioni precedenti del software. Queste API costituiscono, in media, il 3,4% della raccolta di API attive di un'organizzazione e costituiscono un rischio significativo perché possono esporre dati o servizi sensibili a utenti non autorizzati, portando a data breach.
Per mitigare i vari rischi per la sicurezza introdotti da API gestite in modo errato, si consiglia di eseguire controlli regolari per identificare gli endpoint API non monitorati o non autenticati. Il monitoraggio continuo può aiutare a rilevare eventuali tentativi di sfruttare le vulnerabilità associate a questi endpoint. Inoltre, gli sviluppatori devono aggiornare e aggiornare regolarmente le API per garantire che gli endpoint deprecati vengano sostituiti con alternative più sicure.
I consigli per mitigare i rischi sono sempre gli stessi e sono noti da tempo: il problema non è nella mancanza di misure contenitive efficienti, ma nell’approccio DevOps con tutti i rischi e gli anacronismi che comporta. Detto questo, Imperva pubblica quattro best practice: individuare, classificare e inventariare tutte le API in uso con un processo continuo. Tracciare un profilo di rischio delle API che permetta di identificare e proteggere quelle sensibili e ad alto rischio. Implementare un sistema di monitoraggio efficiente che consenta di rilevare e analizzare attivamente comportamenti sospetti e modelli di accesso. Infine, adottare un approccio alla sicurezza delle API che integri Web Application Firewall (WAF), protezione delle API, prevenzione DDoS (Distributed Denial of Service) e protezione dai bot.