Cos'è l'API security?
Esplora le soluzioni per l'API security di IBM Scopri in che modo il CIO di IBM ha ridotto i costi delle API
Illustrazione che rappresenta l'API security

Data di pubblicazione: 20 novembre 2023
Autori: Chrystal China, Michael goodwin

Cos'è l'API security?

L'API security si riferisce alle pratiche e alle procedure che proteggono le API (application programming interface) da usi impropri, attacchi bot dannosi e altre minacce alla cybersecurity. Fa parte della web security ma ha un focus specifico sulle API, che sono sempre più vitali per la gestione dell'IT aziendale.1

Le API sono diventate gli elementi fondamentali della trasformazione digitale, consentendo alle aziende di offrire servizi a sviluppatori e partner esterni. Poiché le API orchestrano la comunicazione e lo scambio di dati tra le app, possono promuovere esperienze utente più connesse, estendere la portata complessiva dell'azienda e favorire un'innovazione tecnologica all'avanguardia. Le API semplificano anche l'integrazione dei servizi, in modo che le aziende possano adattarsi rapidamente ai cambiamenti del mercato e alle richieste dei clienti. 

Ma con la proliferazione delle API, aumentano anche i problemi di sicurezza che spesso le accompagnano.  

Le API si collocano tra le risorse IT di un'organizzazione e gli sviluppatori di software terzi o tra le risorse IT e i singoli individui, fornendo dati e informazioni agli endpoint dei processi. Poiché gli endpoint sono esposti al mondo esterno, possono rendere le API un bersaglio attraente per vari tipi di attacchi.  

L'evoluzione dell'API security 

L'evoluzione dell'API management e dell'API security è intrinsecamente legata all'evoluzione delle API stesse. Le prime API si concentravano principalmente sulla comunicazione tra processi all'interno di un singolo sistema. Di conseguenza, la sicurezza (o la sua mancanza) era un problema minore, perché la comunicazione era limitata a una singola macchina. 

Tuttavia, con l'avvento dell'Internet delle cose (IoT) e delle architetture di microservizi cloud-native, le API si sono ampliate fino a consentire una comunicazione senza interruzioni e l'instradamento delle chiamate tra le applicazioni e tra gli ambienti DevOps. Un'API moderna e di alta qualità, ad esempio REST (Representational State Transfer), SOAP (Simple Object Access Protocol), consente di orchestrare l'integrazione delle app, di specificare i formati dei dati e di definire i tipi di chiamata, le procedure e le convenzioni.

Le API Web, in particolare GraphQL, API REST e API SOAP, hanno modificato il landscape ampliando le funzioni fino a includere funzionalità di integrazione di ampia portata in una miriade di reti complesse. 

Tuttavia, poiché le tecnologie avanzate dipendono fortemente dagli endpoint API per la funzionalità, le aziende e i team di sicurezza devono implementare misure di sicurezza efficaci per proteggere dati e servizi web e, in definitiva, ottenere il massimo dalle risorse IT. 

Vulnerabilità delle API

Se non adeguatamente protetti, gli endpoint API possono consentire a soggetti malintenzionati di ottenere l'accesso non autorizzato a dati sensibili, provocare l'interruzione dei servizi o entrambi, con conseguenze potenzialmente devastanti. Le minacce più comuni includono:

  • Attacchi basati sull'autenticazione, in cui gli hacker tentano di scoprire o sottrarre le password degli utenti o di sfruttare meccanismi di autenticazione deboli per ottenere l'accesso ai server API.

  • Attacchi man-in-the-middle, in cui un soggetto malintenzionato sottrae o modifica dei dati (ad esempio, credenziali di accesso o informazioni di pagamento) intercettando richieste o risposte API.

  • Iniezioni di codice/attacchi di iniezione, in cui l'hacker trasmette uno script dannoso (per introdurre informazioni false, eliminare o rivelare dati o interrompere la funzionalità delle app) tramite una richiesta API, sfruttando i punti deboli degli interpreti API che leggono e traducono i dati.

  • Errori di configurazione della sicurezza, quando le informazioni sensibili dell'utente o i dettagli del sistema vengono esposti a causa di configurazioni predefinite inadeguate, di una condivisione di risorse cross-origin (CORS) troppo permissiva o di intestazioni HTTP errate.

  • Attacco denial-of-service (DoS): questi attacchi inviano decine di richieste API per arrestare o rallentare il server. Gli attacchi DoS possono spesso provenire da più aggressori contemporaneamente, in quello che viene chiamato distributed denial-of-service (DdoS).

  • Attacchi BOLA (broken object level authorization): si verificano quando i criminali informatici manipolano gli identificatori degli oggetti sugli endpoint API per ampliare la superficie di attacco e ottenere l'accesso non autorizzato ai dati degli utenti. Gli attacchi BOLA sono particolarmente comuni, perché l'implementazione di adeguati controlli di autorizzazione a livello di oggetto può essere difficile e richiedere molto tempo.   

 

Best practice per l'API security  

In un'economia digitale dinamica, le API sono fondamentali per l'agilità aziendale, ma la loro natura aperta può comportare rischi significativi per la sicurezza dei dati. Le violazioni dell'API security hanno portato a ingenti perdite di dati, anche per aziende grandi e affidabili come John Deere, Experian e Peloton.2

Inoltre, in un ambiente tecnologico così globalizzato, le vulnerabilità della sicurezza minacciano tutti i principali provider di servizi, indipendentemente dal settore o dalla posizione geografica. Ad esempio, un attacco API del 2022 alla società di telecomunicazioni australiana Optus ha esposto i nomi, i numeri di telefono, i dettagli del passaporto e i dati della patente di guida di quasi 10 milioni di clienti.3

Questi incidenti sottolineano l'importanza di proteggere le API e hanno accelerato lo sviluppo di strategie e strumenti completi per l'API security.

L'implementazione di protocolli di API security rigorosi protegge i dati, le applicazioni e i servizi che gli endpoint API espongono, garantendone la disponibilità per gli utenti legittimi. L'API security, però, non riguarda solo la protezione degli endpoint. Dà anche priorità alla sicurezza delle interazioni di rete, come le trasmissioni di dati, le richieste degli utenti e le comunicazioni tra app durante l'intero ciclo di vita delle API.

Alcune delle soluzioni di API security più comuni per rafforzare le infrastrutture IT includono:

Protocolli di autenticazione e autorizzazione

L'autenticazione è il processo di verifica dell'identità di un utente, di un sistema o di un processo. Nel contesto delle API, si riferisce all'uso di protocolli di autenticazione dell'utente, come OAuth 2.0, chiavi API e specifiche JWT, per garantire che un richiedente sia chi dichiara di essere. 

L'autorizzazione, invece, è il processo di verifica dell'accesso di un utente autenticato. Una volta che l'utente è stato autenticato, il controllo degli accessi basato sui ruoli deve limitare l'accesso dell'utente alle risorse di cui ha bisogno o che ha richiesto.

Crittografia

Con la crittografia, file di testo semplice e altri tipi di dati vengono convertiti da una forma leggibile a una versione codificata che può essere decodificata solo da un soggetto in possesso di una chiave di decrittazione. Utilizzando tecnologie di crittografia come la TLS (transport layer security), la connessione SSL e i protocolli di crittografia TLS, i team possono assicurarsi che il traffico API non venga intercettato o alterato da soggetti malintenzionati o utenti non autorizzati. 

Convalida dell'input

I protocolli di convalida dell'input proteggono le API da dati dannosi, come gli attacchi di SQL injection e cross-site scripting, assicurando che gli input soddisfino determinati criteri (lunghezza, tipo, formato, intervallo, ecc.) prima che vengano elaborati. L'utilizzo di firewall per applicazioni web (WAF) e la convalida di schemi XML o JSON possono aiutare i team addetti alla sicurezza ad automatizzare i processi di convalida, analizzando preventivamente le richieste in entrata e bloccando il traffico dannoso prima che raggiunga il server.  

Rate limiting

Il rate limiting protegge le risorse API da attacchi brute force e DoS limitando il numero di chiamate che un utente o un indirizzo IP può effettuare in un determinato lasso di tempo. I limiti alle richieste garantiscono che tutte le richieste API vengano elaborate tempestivamente e che nessun utente possa sovraccaricare il sistema con richieste dannose.  

Quote e throttling

Come il rate limiting, il throttling limita il numero di chiamate API ricevute da un sistema. Tuttavia, anziché operare a livello di utente/cliente, il throttling opera a livello di server/rete. I limiti e le quote di throttling proteggono la larghezza di banda del sistema di backend dell'API limitando l'API a un certo numero di chiamate, messaggi o entrambi, al secondo. 

Intestazioni di sicurezza

Le intestazioni di sicurezza possono essere particolarmente efficaci per prevenire attacchi di clickjacking. L'intestazione "content-security-policy", ad esempio, indica al browser quali risorse può richiedere al server. L'intestazione “x-content-type-option" impedisce ai browser di tentare di eseguire il MIME-sniffing dei tipi di contenuto e l'intestazione “strict-transport-security" impone connessioni sicure (HTTP over SSL/TLS) al server.

API gateway

L'installazione di API gateway è uno dei modi più semplici per limitare l'accesso alle API e aggiungere un ulteriore livello di sicurezza alla rete, soprattutto nel caso di API aperte. Un API gateway funge da unico punto di ingresso per tutte le richieste API che un sistema riceve, standardizzando le interazioni API e offrendo funzioni di sicurezza quali caching, analytics, API composition, rate limiting, crittografia, registrazione e controllo degli accessi.

Controllo e registrazione

Mantenere log di verifica completi e aggiornati, e rivederli spesso, consente alle organizzazioni di tenere traccia degli accessi e dell'utilizzo dei dati e di registrare ogni richiesta API. Data la complessità degli ecosistemi API, tenere sotto controllo l'attività delle API può richiedere molto lavoro, ma le procedure di auditing e di registrazione possono far risparmiare tempo ai team che devono tornare sui propri passi a seguito di una violazione dei dati o di una mancanza di conformità. 

Gestione degli errori

La gestione proattiva degli errori negli ambienti API può impedire ai criminali informatici di rivelare informazioni sensibili sui processi API. Idealmente, qualsiasi errore API restituirà codici di stato HTTP che indicano a grandi linee la natura dell'errore, fornendo ai team un contesto sufficiente per comprendere e risolvere il problema senza rischiare un'eccessiva esposizione dei dati. 

Monitoraggio e patch delle API

Come per qualsiasi applicazione o sistema software, il monitoraggio e la manutenzione in tempo reale sono essenziali per garantire la sicurezza delle API. Tieni d'occhio qualsiasi attività di rete insolita e aggiorna le API con le ultime patch di sicurezza, correzioni di bug e nuove funzioni.

Le organizzazioni devono inoltre adottare standard di sicurezza tempestivi, come le raccomandazioni per l'API security dell'Open Web Application Security Project (OWASP). L'elenco OWASP API Security Top 10, ad esempio, offre un framework per comprendere e mitigare le minacce all'API security più critiche e comuni, come l'autenticazione interrotta, l'assegnazione di massa e la falsificazione delle richieste lato server.

Controllo delle versioni e documentazione

Ogni nuova versione del software API include aggiornamenti di sicurezza e correzioni di bug che colmano le lacune nella sicurezza delle versioni precedenti. Tuttavia, senza adeguate pratiche di controllo delle versioni, gli utenti possono accidentalmente (o intenzionalmente) distribuire una versione obsoleta dell'API e mettere in pericolo i dati sensibili. Pratiche attente di controllo delle versioni e documentazione consentono alle aziende di accelerare lo sviluppo delle API e di eliminare gradualmente le vecchie versioni delle API senza interrompere i servizi, spingendo gli utenti verso iterazioni più nuove e sicure.

Ad esempio, se un team scopre una falla nella sicurezza nella versione v1 di un'API, può correggerla nella versione v2. Inoltre, con il controllo delle versioni, i team che si occupano della sicurezza possono incoraggiare gli utenti a migrare dalla v1 alla v2 secondo i propri ritmi, chiarendo al contempo nella documentazione della versione che la v1 presenta una vulnerabilità di sicurezza nota. 

Test di sicurezza

I test di sicurezza richiedono agli sviluppatori di inviare richieste standard utilizzando un client API per valutare la qualità e la correttezza delle risposte del sistema. Condurre regolarmente dei test per identificare e affrontare le lacune nella sicurezza aiuta i team a correggere le vulnerabilità delle API prima che gli aggressori abbiano la possibilità di sfruttarle. 

Soluzioni correlate
IBM® API Connect

IBM API Connect è una soluzione completa di gestione delle API che utilizza un'esperienza intuitiva per consentirti di creare, gestire, proteggere, diffondere e monetizzare le API in modo coerente, contribuendo a potenziare la trasformazione digitale on-premise e nei cloud. 

Esplora API connect

IBM API Connect - Caso d'uso per l'API security

IBM® API Connect offre una gamma di capacità per proteggere, controllare e mediare l'accesso alle tue API. Controlla l'accesso alle API tramite autenticazione e autorizzazione utilizzando OAuth, OpenID Connect e servizi di terze parti. Implementa ovunque, da una rete perimetrale a una co-locazione con le app e i microservizi cloud-native, proteggendo l'accesso al runtime, ovunque.

Esplora il caso d'uso per l'API security

Noname Advanced API Security for IBM

Migliora l'API security in tutta l'azienda con funzionalità avanzate basate sull'intelligenza artificiale. IBM, leader nella gestione delle API e degli application gateway, collabora con Noname Security, leader nell'API security, per offrire funzionalità avanzate di API security. Questa soluzione congiunta ti aiuterà a raggiungere nuovi livelli di sicurezza.

Esplora Noname Advanced API Security for IBM
Risorse Panoramica di IBM API Connect

Massimizza il valore delle API per promuovere il business digitale con una soluzione completa per la gestione delle API.

Tutorial di IBM API Connect

Questi tutorial forniscono istruzioni pratiche che aiutano gli sviluppatori a imparare a utilizzare le tecnologie nei loro progetti.

IBM integration community hub

Visita la community per ricevere le risposte; resta in contatto per scoprire le best practice. Manchi solo tu.

Fasi successive

IBM API Connect è una soluzione sicura per l'API management che, attraverso un'esperienza intuitiva, consente di creare, gestire, proteggere, diffondere e monetizzare le API in modo coerente, contribuendo a promuovere la trasformazione digitale on-premise e sui vari cloud. Di conseguenza, offre a te e ai tuoi clienti la possibilità di potenziare le app digitali e dare impulso all'innovazione in tempo reale. IBM API Connect è disponibile anche con ulteriori funzionalità in IBM Cloud Pak for Integration, con cui potrai automatizzare la modernizzazione delle applicazioni e la gestione delle API nel percorso verso il cloud.

Esplora IBM API Connect
Note a piè di pagina

 Research Brief: The Urgency of Addressing API Security in an Application Security Program (link esterno a ibm.com), Enterprise Strategy Group, 16 ottobre 2023.

2  On the Radar: Wib secures APIs throughout their full lifecycles (link esterno a ibm.com), Omdia, 1 settembre 2023.

3 The next big API security breach looms: here’s how to prepare (link esterno a ibm.com), SC Magazine, 19 ottobre 2023.