La sicurezza delle API può essere classificata sulla base delle tecniche utilizzate, tra cui la sicurezza dei protocolli di trasporto (come il protocollo HTTPS per la trasmissione dei dati), il controllo degli accessi (pensiamo alle chiavi API o OAuth per l'autenticazione e l'autorizzazione) e la convalida dell'input e dell'output (per garantire che i dati ricevuti e inviati da un'API siano quelli previsti). Esistono anche misure proattive come la limitazione della velocità delle API, che consentono di prevenire gli abusi e test di sicurezza automatizzati per individuare eventuali vulnerabilità.
API e sicurezza
API è l'acronimo di Application Programming Interface, ossia interfaccia di programmazione dell'applicazione. Proprio come proteggete le vostre informazioni di base, ad esempio la password collegata alla vostra identità sui social media, è ugualmente importante proteggere l'accesso alle API nel back-end, così che gli identificatori come le chiavi e le chiamate API non vengano usati in modo improprio.
Non sorprende che le API rappresentino un crescente rischio alla sicurezza perché qualsiasi applicazione o servizio web disponibile sono, quasi sicuramente, supportati in qualche modo da un'API. Dalle applicazioni mobili e dai dispositivi IoT (Internet of Things) alle applicazioni interne, ai servizi basati sul cloud fino alle architetture di microservizi, le API rendono possibili le comunicazioni e le transazioni aziendali.
Di conseguenza, la sicurezza delle API web e la relativa gestione deve essere una priorità di importanza cruciale per i vostri team IT per tutto il ciclo di vita delle API. Tuttavia, proteggere le API dalle minacce alla sicurezza può risultare complesso a causa della migrazione nel cloud, delle moderne pratiche DevOps e delle API in continua evoluzione.
API: un approccio sistematico
La sicurezza delle API è un approccio sistematico con lo scopo di proteggere le API utilizzate dalle organizzazioni per supportare i processi aziendali, tra cui:
- API implementate per semplificare l'accesso a funzionalità e dati da parte di clienti o partner aziendali
- API utilizzate dai partner aziendali
- API implementate e utilizzate internamente allo scopo di mettere le funzionalità e i dati delle applicazioni a disposizione di vari sistemi e interfacce utente, in modo scalabile e standardizzato.
Un'efficace strategia per la sicurezza delle API deve includere tecniche sistematiche per:
- Valutare i rischi e il loro potenziale impatto
- Eseguire appropriate misure di mitigazione
Per valutare i rischi, occorre innanzitutto creare un inventario di tutte le API, approvate e non, utilizzate dall'organizzazione, che deve includere attributi quali:
- Classificazioni dei dati che, come minimo, distinguono tra dati "non sensibili", "sensibili" e "molto sensibili".
- Indicatori di rischio, quali vulnerabilità ed errori di configurazione delle API.
Le API sono gli elementi fondamentali per misurare l'impatto e dare priorità alle operazioni di mitigazione.
La visibilità delle API e le misure di mitigazione dei rischi devono considerare una serie di potenziali minacce diverse, tra cui:
- Rilevamento e prevenzione dell'utilizzo delle "API ombra" non autorizzate.
- Identificazione e correzione delle vulnerabilità e degli errori di configurazione nelle API, che potrebbero essere sfruttati dai criminali
- Prevenzione degli scenari di utilizzo inappropriato delle API, come la violazione della logica business e lo scraping dei dati
Per identificare e mitigare questi ed altri rischi per la sicurezza delle API, occorrono controlli di sicurezza abbastanza sofisticati da risolvere questo panorama di minacce complesso e in rapida evoluzione. Tuttavia, ugualmente importante è trovare modi per estendere le pratiche per la sicurezza delle API a workflow generici che influiscono su questo aspetto, come la documentazione e lo sviluppo di software.
Le API web: i concetti fondamentali
Le API (Application Programming Interface) sono un componente fondamentale del moderno sviluppo web e la loro grande importanza si riflette su un'enorme responsabilità, che, nel caso delle API, corrisponde alla sicurezza La sicurezza delle API consiste nella protezione delle interfacce che mettono in relazione le diverse applicazioni. Senza un appropriato livello di sicurezza delle API, si potrebbero verificare problemi di esposizione dei dati sensibili, violazione dei sistemi e interruzione dei servizi. In pratica, la sicurezza delle API è ciò che tiene i criminali lontani consentendo agli utenti legittimi di svolgere il loro lavoro.
Autenticazione e autorizzazione per la sicurezza delle API web
Due aspetti fondamentali della sicurezza delle API sono l'autenticazione e l'autorizzazione. L'autenticazione è il processo di verifica dell'identità di un utente, dispositivo o sistema. È simile all'azione di presentare la propria carta di identità all'entrata di un locale per garantire che la persona che sta accedendo sia chi dichiara di essere. L'autorizzazione, d'altro canto, è l'operazione che consente di stabilire cosa può fare o meno un utente verificato. Solo perché si consente a qualcuno di entrare in un locale, non significa che questa persona può andare al bar e versarsi da sola un drink. Nel mondo delle API, l'autenticazione e l'autorizzazione possono includere tecniche come chiavi API, token oppure OAuth.
Convalida dell'input: la chiave per la sicurezza delle API web
Un altro importante aspetto della sicurezza delle API è la convalida dell'input. Questa operazione consente di controllare che i dati inviati ad un'API siano validi prima che vengano elaborati. È un'operazione simile al controllo dei biglietti al cinema prima di vedere un film: non fareste certo entrare qualcuno con il biglietto per vedere un altro film, giusto? Allo stesso modo, la convalida dell'input aiuta a impedire ai dati dannosi di accedere ad un'API e causare danni.
Sicurezza delle API 101
La sicurezza delle API è uno dei problemi che sta salendo più rapidamente ai vertici dell'elenco delle priorità dei responsabili della sicurezza. Ma probabilmente è anche uno di quelli più difficili da capire. Le API hanno avuto un'evoluzione molto rapida, trasformandosi da dettaglio di implementazione a strumento strategico di innovazione. Proprio per questo, i team di sicurezza faticano ad adottare strategie e pratiche di sicurezza più sofisticate per le loro API. Oltre a supportare le attività commerciali, le API contengono anche i dati sensibili.
Di seguito viene riportato un elenco degli argomenti utilizzati da responsabili e professionisti per incrementare le conoscenze di base sulla sicurezza delle API.
Che cos'è un'API web?
Un'API web è un'interfaccia di programmazione costituita da uno o più endpoint per l'interazione con un determinato sistema per lo scambio di messaggi di richiesta/risposta, generalmente in formato JSON o XML, che vengono esposti attraverso il web, solitamente utilizzando un server web basato su HTTP.
Un'API web è il concetto che la maggior parte delle persone associa alla parola "API". Si tratta di un insieme di endpoint costituiti dai percorsi delle risorse, dalle operazioni eseguibili su tali risorse e dalla definizione dei dati delle risorse (in formato JSON, XML, protobuf o altro).
Il termine API web permette di distinguerle dalle altre API, come quelle esposte dal sistema operativo o dalle librerie alle applicazioni eseguite nello stesso sistema. Ma, quando parliamo della trasformazione digitale delle aziende e della sicurezza delle API, con il termine "API" indichiamo quelle basate su HTTP, ovvero le API web.
I quattro tipi più comuni di API web
I quattro tipi principali di API web attualmente osservati, che sono basati su HTTP, sono:
- API RESTful : queste API, che risalgono alla tesi di dottorato di Roy Fielding del 2000, sono il tipo di API web più diffuso e in genere utilizzano il formato JSON (JavaScript Object Notation) per i dati. Le API RESTful sono facili da utilizzare, grazie ai moderni framework front-end (come React e React Native), semplificando lo sviluppo delle applicazioni web e mobili. Sono diventate lo standard di fatto per qualsiasi API web, comprese quelle utilizzate per le attività B2B (da azienda ad azienda).
- API SOAP : queste API utilizzano il linguaggio XML (Extensible Markup Language) dettagliato per le chiamate di procedura remota (RPC, Remote Procedure Call), che viene ancora utilizzato nelle API legacy.
- API GraphQL : GraphQL, il nuovo standard sviluppato da Facebook, fornisce l'accesso al database tramite un singolo endpoint POST (di solito, /graphql). Questo standard risolve un problema comune delle API RESTful, che richiedono più chiamate per compilare una singola pagina dell'interfaccia utente, ma introduce altri problemi.
- API gRPC : queste API sono un nuovo protocollo binario ad alte performance sviluppato da Googletramite HTTP/2.0, che viene utilizzato soprattutto per le comunicazioni est-ovest
Quali sono le differenze tra le API B2C e B2B?
Le API B2C (da azienda a consumatore) sono le API alla base delle applicazioni web e mobili. Vengono solitamente utilizzate dai moderni client front-end per consentire agli utenti finali di accedere alle funzionalità aziendali esposte dalle API stesse.
Le API B2B (da azienda ad azienda) sono utilizzate dai partner commerciali di un'azienda (quindi da altre aziende), a volte per fornire servizi (queste aziende sono quindi clienti finali) e talvolta per fornire valore anche ai clienti congiunti (B2B2C, da azienda ad azienda a consumatore).
Le API B2B sono fondamentali per la trasformazione digitale dell'azienda, perché consentono di semplificare le interazioni con fornitori, rivenditori e altri partner, oltre che di migliorare l'experience offerta ai clienti.
Le API B2B includono ad esempio:
- API di open banking
- API di gestione della supply chain
- API utilizzate per la fatturazione elettronica e per i pagamenti fra partner commerciali
Poiché i consumatori delle API differiscono molto tra loro (app rivolte agli utenti che utilizzano API B2C oppure applicazioni commerciali di partner che utilizzano API B2B), anche i controlli di sicurezza disponibili per la protezione di tali API possono variare notevolmente.
A proposito di sicurezza, possiamo notare che fino a poco tempo fa il settore si è concentrato sugli scenari di utilizzo B2C ma, anche in questi casi, l'attenzione era completamente dedicata alla protezione delle applicazioni web, trascurando la sicurezza delle API B2C. I controlli di sicurezza utilizzati per proteggere le applicazioni web B2C si traducono scarsamente nella protezione delle API B2C, come nel caso delle soluzioni WAF/WAAP, oppure non offrono alcuna protezione, come avviene per la maggior parte delle soluzioni di protezione dai bot ).
Il problema della sicurezza delle API B2B sta diventando sempre più cruciale. Nel caso delle API B2B, tra i fornitori di prima generazione non esiste una soluzione dedicata a visibilità e sicurezza che copra l'accesso ai dati in blocco per conto degli utenti condivisi, come nel caso dell'open banking, in cui le aziende di tecnofinanza e gli istituti finanziari condividono i dati dei clienti che hanno rilasciato il loro consenso.
Qual è la differenza tra API ed endpoint?
Quando parlano di "API", spesso gli utenti si riferiscono in realtà ad un singolo endpoint API. Le API, note anche come servizi o prodotti API, sono insiemi di endpoint che forniscono una funzione aziendale. Il termine endpoint, invece, indica una risorsa o il percorso di una risorsa, noto anche come URI (Uniform Resource Identifier), e l'operazione eseguita su di esso, come la creazione, la lettura, l'aggiornamento o l'eliminazione. Nelle API RESTful tutte queste operazioni sono solitamente mappate ai metodi HTTP POST, GET, PUT e DELETE.
Che cos'è un'API nord-sud?
Si tratta di un'API che l'azienda rende accessibile agli utenti esterni, soprattutto ai propri partner commerciali. Ad esempio, le banche che adottano l'open banking possono utilizzare le API per esporre i propri account ad altre organizzazioni fintech o a fornitori di servizi finanziari. Le organizzazioni sanitarie possono utilizzarle per esporre le cartelle cliniche dei pazienti alle compagnie di assicurazione e ad altre organizzazioni mediche. Nel settore alberghiero le API possono essere utilizzate per esporre il sistema di prenotazione di un hotel agli agenti di viaggio o agli aggregatori. Le API sono il tessuto connettivo che collega le organizzazioni fra loro. In genere, le API nord-sud sono considerate sicure, perché l'accesso richiede procedure di autorizzazione e autenticazione. Questa è la tipologia di API che si sta diffondendo più rapidamente e, di conseguenza, rappresenta la superficie di attacco più estesa per la maggior parte delle organizzazioni.
Che cos'è un'API est-ovest?
È un'API utilizzata internamente da un'organizzazione, Le API di questo tipo vengono utilizzate per collegare le applicazioni interne oppure per connettere fra loro i diversi reparti o business unit. Poiché sono inaccessibili dall'esterno dell'organizzazione, queste API sono considerate di tipo est-ovest.
Quali sono le differenze tra API pubbliche e private?
Le API private, note anche come API interne, sono destinate agli sviluppatori e ai collaboratori di un'azienda. Spesso parte di un'iniziativa SOA (Service-Oriented Architecture), le API private hanno lo scopo di semplificare lo sviluppo interno, consentendo a business unit o reparti diversi di accedere in modo efficace ed efficiente ai dati delle rispettive controparti.
Viceversa le API pubbliche, note anche come API esterne, vengono rese accessibili a consumatori all'esterno dell'azienda. Le loro manifestazioni più estreme, come le API aperte, possono essere utilizzate liberamente da chiunque. In ogni caso, richiedono una gestione più rigorosa e una documentazione eccellente, per poter essere utilizzate anche da tecnici esterni all'azienda.
È importante notare che le API private accessibili attraverso Internet non sono assolutamente private, nel senso più rigoroso del termine. Prendiamo ad esempio l'API B2C di ACME sviluppata internamente dai tecnici ACME, che viene utilizzata esclusivamente dalle app mobili ACME. Si potrebbe avere la tentazione di considerarla privata, ma poiché il traffico verso tale API arriva da Internet, e quindi "dall'esterno dell'azienda", non è un'API privata, ma è semplicemente un'API non documentata. Le API di questo tipo vengono attaccate ogni giorno dagli hacker, che intercettano il traffico e retroingegnerizzano le app mobili per individuare le API con cui interagiscono.
Quanto è grave il problema della sicurezza delle API?
I rischi legati alla sicurezza delle API sono fra i più pressanti tra quelli a cui si trovano di fronte i team di sicurezza aziendali, e la gravità del problema può solo aumentare, perché il numero delle interazioni con i clienti, e dei processi aziendali interni, che utilizzano le API continua a crescere.
In breve, l'utilizzo delle API si sta moltiplicando e i team di sicurezza spesso faticano a tenere il passo con le relative strategie di sicurezza.
Proprio per questo, il problema della sicurezza delle API sta rapidamente diventando una delle principali preoccupazioni e priorità dei responsabili della sicurezza e dell'ambiente IT. In realtà, secondo la ricerca condotta da Gartner, "entro il 2022, l'abuso di API, che ora si verifica raramente, diventerà il più frequente vettore di attacco, causando violazioni di dati per le applicazioni web aziendali".
Qual è la differenza tra la sicurezza delle API e la sicurezza delle applicazioni?
Anche se la sicurezza delle API e la sicurezza delle applicazioni tradizionali sono discipline correlate, la sicurezza delle API costituisce un problema a sé stante per i suoi livelli di portata e complessità.
Scalabilità superiore
La rapida diffusione delle API è dovuta soprattutto a tre fattori:
- Aumento dell'utilizzo di microservizi, un'architettura che impone l'uso delle API per la comunicazione fra i servizi
- Nel canale degli utenti diretti, i moderni framework delle applicazioni front-end come React, Angular e Vue, utilizzano le API e stanno sostituendo le applicazioni web legacy, che non sempre lo fanno
- Inoltre, le API vengono aggiunte anche per gestire canali completamente nuovi, che sono intrinsecamente diversi per i partner, l'IoT e l'automazione aziendale.
Complessità superiore dovuta all'aumento della flessibilità
A differenza delle applicazioni web, le API sono progettate per essere utilizzate a livello di programmazione e in molti modi diversi. Proprio per questo, è estremamente difficile distinguere gli utilizzi legittimi dagli attacchi e dalle violazioni.
Che cos'è la sicurezza API-to-API?
Un maggior numero di organizzazioni utilizza le API per rendere dati e processi aziendali disponibili in modo bilaterale per clienti e partner. Secondo alcuni, le API B2C (da azienda a consumatore) potenziano i dati nei siti web o nelle app mobili. Tuttavia, anche la rete delle API attivate in background richiede una sicurezza API-to-API. Consideriamo, ad esempio, l'app di tecnofinanza che vi consente di controllare i vostri dati finanziari creando chiamate API B2B (da azienda ad azienda) dall'app alla vostra banca, che a sua volta deve autenticarvi come utente legittimo. La rete di chiamate API da B2C a B2B mostra che vi serve un approccio olistico per proteggere tutto il traffico delle API. Anche la complessa rete delle API B2C e B2B richiede alle organizzazioni di considerare una sicurezza API-to-API.
Quali sono le best practice per le API web?
Per migliorare la sicurezza delle API, le organizzazioni possono iniziare con le 12 best practice elencate di seguito:
- Trovare modi per integrare le procedure e gli standard di sicurezza delle API con il ciclo di sviluppo del software utilizzato dall'organizzazione
- Includere la documentazione e i test di sicurezza automatizzati delle API nelle pipeline di integrazione continua/delivery continua (CI/CD, Continuous Integration/Continuous Delivery)
- Garantire che vengano applicati controlli di autenticazione e autorizzazione appropriati ed efficaci a tutte le API
- Implementare misure di limitazione della velocità per evitare lo sfruttamento o la compromissione delle API
- Aumentare la limitazione della velocità e altre misure a livello di applicazione, tramite gateway specializzati e/o reti per la distribuzione dei contenuti, allo scopo di mitigare il rischio di attacchi DDoS (Distributed Denial-of-Service)
- Integrare i test di sicurezza delle API nei processi di test delle applicazioni in generale
- Eseguire il rilevamento continuo delle API
- Implementare un approccio sistematico con lo scopo di identificare e correggere le vulnerabilità più comuni delle API, come quelle incluse nella classifica OWASP con le 10 principali vulnerabilità per la sicurezza delle API
- Utilizzare il rilevamento e la prevenzione delle minacce basate su firma, come livello di protezione base contro gli attacchi noti alle API
- Intensificare il rilevamento basato su firma, tramite IA e analisi comportamentale, affinché il rilevamento delle minacce alle API diventi più scalabile, accurato, rilevante per l'azienda e resiliente alle nuove minacce
- Garantire che il monitoraggio e l'analisi della sicurezza delle API si estendano per più settimane e sessioni API diverse
- Integrare il monitoraggio della sicurezza delle API, e della generazione degli avvisi relativi, con l'accesso on-demand all'inventario delle API e ai dati relativi alle attività destinati a ricercatori di minacce informatiche e sviluppatori, oltre che al personale DevOps e di supporto
Il metodo più efficace per adottare le best practice di sicurezza delle API consiste nel valutare la maturità dell'organizzazione, utilizzando un framework come quello riportato di seguito.
Che cos'è la vulnerabilità di un'API?
In un'API, una vulnerabilità è un bug del software oppure un errore di configurazione del sistema, che può essere sfruttato da un malintenzionato per accedere ai dati sensibili o alle funzionalità di un'applicazione, oppure per utilizzare l'API in modo inappropriato.
La classifica OWASP con le 10 principali vulnerabilità per la sicurezza delle API offre una panoramica utile su alcune delle vulnerabilità alle API più ampiamente violate, che le organizzazioni dovrebbero tentare di individuare e risolvere.
Le vulnerabilità delle API vengono tutte registrate nella classifica OWASP dei 10 rischi principali per la sicurezza delle API?
La classifica OWASP con le 10 principali vulnerabilità per la sicurezza delle API costituisce un ottimo punto di partenza per le organizzazioni che cercano di migliorare il proprio approccio alla sicurezza delle API. Le sue categorie coprono una vasta gamma di potenziali rischi per le API, ma è importante ricordare che tali categorie sono piuttosto generiche. È pertanto importante esaminare e identificare le sotto-categorie di ciascuna.
Esistono anche rischi alla sicurezza delle API che non rientrano completamente nella classifica OWASP dei 10 rischi principali per la sicurezza delle API, come lo sfruttamento dei bug logici. Ad esempio, gli autori degli attacchi alle API tentano spesso di sfruttare i problemi di autorizzazione (ampiamente coperti dalla classifica OWASP) e lo sfruttamento dei bug logici (completamente ignorati dalla classifica OWASP).
Quali sono le modalità di utilizzo non autorizzato delle API?
Le API possono essere attaccate e sfruttate in modi molto diversi, ma i più comuni includono:
- Sfruttamento delle vulnerabilità. Le vulnerabilità tecniche dell'infrastruttura sottostante possono causare la compromissione del server. Le vulnerabilità di questo tipo variano dalle vulnerabilità Apache Struts (CVE-2017-9791, CVE-2018-11776 e simili) alle vulnerabilità Log4j (CVE-2021-44228 e simili).
- Violazioni della logica aziendale: si tratta di scenari spaventosi , che tengono i CISO svegli la notte, poiché i controlli di sicurezza legacy sono inutili contro questi attacchi. Si verifica una violazione della logica quando l'autore della minaccia sfrutta i difetti di progettazione o implementazione delle applicazioni per dare origine a un comportamento imprevisto e non autorizzato.
- Accesso non autorizzato ai dati. Molti criminali sfruttano i malfunzionamenti dei meccanismi di autorizzazione delle API per accedere ai dati senza autorizzazione. Queste vulnerabilità hanno molti nomi diversi, come BOLA (Broken Object Level Authorization), IDOR (Insecure Direct Object Reference) e BFLA (Broken Function Level Authorization). Il sito web sul progetto per la sicurezza delle API di OWASP contiene un elenco aggiornato delle vulnerabilità.
- Controllo degli account. Dopo un furto di credenziali o persino un attacco XSS, è possibile assumere il controllo di un account. Quando questo accade, è possibile abusare persino delle API meglio scritte e perfettamente protette. Dopotutto, se non si effettua un'analisi comportamentale, qualunque attività svolta dopo l'autenticazione può essere considerata legittima.
- Scraping dei dati. Quando le organizzazioni rendono disponibili i loro set di dati tramite API pubbliche, gli autori delle minacce possono interrogare queste risorse in maniera aggressiva, per acquisire in maniera indiscriminata enormi set di dati preziosi.
- Attacchi DoS (Denial-of-Service) alle aziende. Chiedendo al back-end di svolgere le attività gravose, gli autori di attacchi alle API possono causare danni o un'interruzione completa dei servizi a livello di applicazione (una vulnerabilità molto comune in GraphQL, ma può verificarsi con qualunque implementazione in endpoint API dispendiosa in termini di risorse).
Come vengono protette le API back-end?
Le API back-end consentono agli sviluppatori di accedere ai principali servizi delle applicazioni in modo rapido e altamente ripetibile. Ciò è particolarmente importante per le organizzazioni che rendono i dati disponibili tramite vari tipi di interfacce utente. Uno dei passaggi più importanti da intraprendere per proteggere le API back-end è l'implementazione di solido modello di autenticazione e accesso. Tuttavia, è anche importante non presumere che una serie di API back-end ben autenticate non verranno mai violate.
Si sono osservati numerosi esempi di criminali che hanno sfruttato varie vulnerabilità presenti nelle app mobili o nelle interfacce web per forzare l'interfaccia utente a interagire con le API back-end in modo imprevisti e non autorizzati. Il miglior modo per proteggere le API back-end da questi tipi di abusi e da altre minacce è tramite l'uso costante dell'analisi comportamentale. La creazione di modelli di utilizzo standard delle API back-end renderà possibile rilevare eventuali anomali e intraprendere i necessari passaggi in modo proattivo per proteggere le API back-end da vettori di attacco che potrebbero non essere stati anticipati durante il processo iniziale di sviluppo e implementazione.
Che cos'è un'API zombie?
Le API sono in continua evoluzione, spinte dall'evoluzione dei requisiti aziendali e di mercato. Quando vengono rilasciate nuove implementazioni degli endpoint per soddisfare nuove esigenze aziendali, correggere i bug e introdurre miglioramenti tecnici, le versioni precedenti di questi endpoint diventano obsolete.
Ma poiché il ritiro dei vecchi endpoint è tutt'altro che semplice da gestire, le implementazioni obsolete degli endpoint rimangono spesso accessibili e funzionanti, pertanto si parla di API "zombie".
Come si identificano i vari tipi di API ombra?
Il modo migliore per effettuare il rilevamento delle API ombra a livello aziendale consiste nell'acquisire e analizzare i dati dei log attività delle API, dalle fonti che forniscono la copertura più ampia. L'implementazione di sensori a livello di app in ogni singola API può fornire informazioni dettagliate sulla sua attività ma, per definizione, non può garantire una copertura estesa proprio perché le API correnti o legacy sconosciute rimangono nell'ombra.
Le origini dati dei log delle attività delle API includono:
- Reti per la distribuzione dei contenuti (CDN)
- Gateway API
- WAF (Web Application Firewall)
- Orchestrazione dei container Kubernetes
Una volta raccolti i dati non elaborati provenienti da tutte le fonti disponibili, è possibile utilizzare l'intelligenza artificiale per trasformarli in un inventario di tutti gli endpoint, le API e i parametri, comprensibile agli esseri umani. A questo punto è possibile eseguire ulteriori analisi per classificare tali elementi e identificare le API ombra, che dovrebbero essere eliminate o introdotte nei processi di governance formali.
Come si possono proteggere le API B2B (da azienda ad azienda) e le API interne?
Quando si parla di API interne, bisogna stabilire cosa si intende esattamente per "interne". Alcuni considerano "API interne" le API che vengono esposte su Internet per essere utilizzate dalle applicazioni web e mobili della propria organizzazione. Anche se la documentazione di tali API può essere effettivamente accessibile solo ai dipendenti e ai collaboratori dell'azienda, gli hacker sono ormai molto esperti nell'analisi delle app e nella retroingegnerizzazione delle API che le servono, tramite toolkit di disassemblaggio delle app e proxy come Burp Suite.
In ogni caso, se per "API interne" si intendono le API est-ovest, inaccessibili dall'esterno dell'organizzazione, il pericolo principale si riduce alle minacce interne.
Le API interne (con riferimento al primo dei significati precedenti) e le API B2B (da azienda ad azienda) possono essere protette come la maggior parte delle API: Occorre proteggere innanzitutto il ciclo di sviluppo sicuro del software (SSDLC, Secure Software Development Lifecycle), quindi garantire l'accesso autenticato e autorizzato, gestendo le quote, i limiti di velocità e gli arresti in caso di picchi di traffico improvvisi, oltre che utilizzando WAF/WAAP per la protezione dalle firme note.
A causa della natura sensibile e spesso massiva delle transazioni nelle API B2B, è possibile considerare l'aggiunta di rigorosi meccanismi di autenticazione, come mTLS.
In entrambi i casi, è consigliabile utilizzare l'analisi comportamentale, soprattutto se le entità coinvolte sono numerose e risulta difficile distinguere tra i comportamenti legittimi e quelli illegittimi.
Ad esempio:
- Come si può sapere se le credenziali API di uno specifico utente sono state violate?
- Come si può sapere se un partner che elenca i numeri delle fatture sta violando l'API di fatturazione allo scopo di rubare i dati degli account?
La protezione delle API interne e B2B richiede un contesto aziendale che non può essere ricavato analizzando solamente gli elementi tecnici, come indirizzi IP e token API. L'unico modo per comprendere e gestire efficacemente i rischi per le API interne e B2B consiste nell'utilizzare l'intelligenza artificiale e l'analisi comportamentale, per ottenere visibilità sulle entità aziendali rilevanti. Il contesto aziendale e i benchmark storici per l'uso normale delle API da parte di entità specifiche come utenti o partner, ma anche processi aziendali (fatture, pagamenti, ordini, e così via), consentono di rilevare anomalie che altrimenti passerebbero inosservate.
I gateway API dispongono di sicurezza integrata?
Molte organizzazioni che adottano un approccio strategico alle API utilizzano i gateway API, tra cui Apigee, Kong, MuleSoft, Akamai, AWS API Gateway e Azure API Management.
La maggior parte di essi è dotata di funzioni di sicurezza integrate molto utili alle organizzazioni, a partire dall'autenticazione (e dell'autorizzazione, se è possibile utilizzare OpenID Connect).
Tuttavia, da sole, l'autenticazione, l'autorizzazione e la gestione delle quote a livello di gateway API non sono sufficienti, e per diversi motivi:
- Lacune nel rilevamento eseguito dai gateway API: i gateway API hanno visibilità e controllo solo sulle API che sono configurati per gestire, ma sono completamente inefficaci nel caso delle API e degli endpoint ombra
- Lacune di sicurezza dei gateway API: i gateway API possono applicare l'autenticazione e, in parte, gli schemi di autorizzazione, ma non ispezionano i payload (come WAF e WAAP), né creano un profilo comportamentale che consenta di rilevare le violazioni
Quali sono gli errori più comuni nella configurazione delle API?
Visto il numero delle possibili modalità di utilizzo delle API, gli errori di configurazione che si possono commettere sono praticamente infiniti. Si rilevano tuttavia alcuni temi ricorrenti:
Autenticazione inefficace o assente
L'autenticazione è fondamentale per proteggere i dati sensibili resi disponibili tramite le API. Occorre, in primo luogo, garantire che tutte le API che trasportano dati sensibili utilizzino l'autenticazione, ma è importante anche proteggere i meccanismi di autenticazione dagli attacchi di forza bruta, dal credential stuffing e dall'uso di token di autenticazione rubati, limitando la velocità.
Possono, inoltre, verificarsi errori di configurazione che consentono ai consumer API di ignorare i meccanismi di autenticazione, spesso in relazione alla gestione dei token, come nel caso dei problemi noti di convalida dei JWT o della mancanza di controllo dell'ambito dei token.
Autorizzazione inefficace
Le API vengono spesso utilizzate per fornire accesso a dati o contenuti, comprese le informazioni sensibili. L'autorizzazione è un processo che consente di verificare l'idoneità di un consumer API ad accedere ai dati richiesti, prima di renderli disponibili. Questa operazione può essere eseguita a livello di oggetto o di risorsa (ad esempio, è possibile può accedere ai propri ordini, ma non a quelli degli altri) oppure a livello di funzione (come spesso accade con le funzionalità amministrative).
L'autorizzazione è difficile da implementare correttamente, a causa dell'elevato numero di casi e condizioni all'edge, oltre che della moltitudine dei flussi possibili per le chiamate API tra i microservizi. Se non utilizza un motore di autorizzazione centralizzato, l'implementazione dell'API potrebbe includere alcune di queste vulnerabilità, come BOLA (Broken Object-Level Authorization) e BFLA (Broken Function-Level Authorization).
Errata configurazione della sicurezza
Oltre ai problemi di autenticazione e autorizzazione menzionati in precedenza, è possibile anche commettere diversi tipi di errori di configurazione della sicurezza, che includono comunicazioni non sicure (come l'uso di suite di crittografia vulnerabili o l'assenza del protocollo SSL/TLS), storage cloud non protetto e policy eccessivamente permissive per la condivisione delle risorse tra origini diverse.
Mancanza di risorse e limitazione della velocità
Quando le API vengono implementate senza limitare il numero delle chiamate eseguibili dai relativi consumer, i criminali possono sovraccaricare le risorse del sistema determinando un peggioramento del servizio e un attacco DoS (Denial-of-Service) su vasta scala). I limiti di velocità dovrebbero essere applicati, come minimo, all'accesso a qualsiasi endpoint non autenticato, con gli endpoint di autenticazione che rivestono un'importanza critica, altrimenti gli attacchi basati su forza bruta, credential stuffinge convalida delle credenziali sono semplicemente inevitabili.
Che cosa sono gli attacchi alle API?
Gli attacchi alle API sono tentativi di utilizzare le API per scopi dannosi o non autorizzati. Gli attacchi alle API possono assumere varie forme, tra cui:
- Sfruttamento delle vulnerabilità tecniche presenti nelle implementazioni delle API
- Utilizzo di credenziali rubate e di altre tecniche per il controllo degli account, che consentono ad un criminale di spacciarsi per un utente legittimo
- Abuso della logica aziendale che consente l'utilizzo delle API in modi imprevisti
Che cos'è il credential stuffing per le API?
La fuga di ID utente e password da siti web e piattaforme SaaS è ormai un problema abituale. Questi incidenti comportano spesso la condivisione online di moltissimi set di credenziali.
Il credential stuffing è una pratica che consiste nell'utilizzare le credenziali di autenticazione ottenute da siti web violati in precedenza per effettuare tentativi di accesso automatici ad altri siti web. Questa tecnica si basa sul presupposto che molti utenti utilizzano le stesse credenziali per accedere siti diversi.
Sempre più spesso, questa pratica viene applicata direttamente alle API, senza attraversare il front-end, che può essere costituito da un'applicazione web o mobile. Questo consente ai malintenzionati di automatizzare più facilmente gli attacchi, dato che le API vengono create proprio per facilitare l'utilizzo.
Che cos'è l'esfiltrazione dei dati tramite le API?
L'esfiltrazione dei dati è il risultato più comune dell'abuso e degli attacchi sferrati contro le API. In alcuni casi, si riferisce al furto di informazioni altamente sensibili e riservate, eseguito sfruttando e attaccando le API. Tuttavia può indicare anche tipi di violazioni meno gravi, incluso lo scraping di dati pubblicamente disponibili condotto in modo aggressivo per accumulare grandi dataset che, in forma aggregata, forniscono informazioni preziose.
Quali sono le ultime tendenze in materia di sicurezza delle API?
Pratiche di sviluppo. Di seguito sono riportate le tendenze principali che i responsabili della sicurezza dovrebbero prendere in considerazione nello sviluppo di una strategia di sicurezza delle API.
Analisi comportamentale e rilevamento delle anomalie: oltre a cercare di prevedere i possibili attacchi e affidarsi esclusivamente al rilevamento basato su firme e alle policy predefinite (come WAF) per mitigare i rischi, le organizzazioni stanno adottando sempre più l'intelligenza artificiale e l'analisi comportamentale per visualizzare le attività delle API nel contesto aziendale e per rilevare eventuali anomalie.
Passaggio da un approccio on-premise alle soluzioni SaaS (Software-as-a-Service): mentre molti prodotti per la sicurezza delle API di prima generazione sono stati implementati on-premise, gli approcci basati su SaaS sono sempre più diffusi per i loro livelli di velocità e facilità di implementazione, a cui si aggiunge le possibilità di sfruttare l'intelligenza artificiale e l'apprendimento automatico su vasta scala.
Analisi di finestre temporali più ampie: gli approcci alla sicurezza delle API che analizzano solamente le singole chiamate API o le attività nelle sessioni a breve termine, vengono sostituiti da piattaforme che analizzano l'attività delle API nel corso di alcuni giorni, e talvolta di settimane, dall'ottimizzazione automatizzata delle policy WAF di base all'analisi dei comportamenti, fino al rilevamento delle anomalie.
Metodologia DevSecOps estesa anche agli stakeholder non esperti di sicurezza: uno dei metodi più efficaci per contenere i rischi legati alle API consiste nel creare un legame più stretto fra le strategie e gli strumenti di sicurezza delle API, gli sviluppatori e i sistemi coinvolti nella creazione, nell'implementazione e nella configurazione delle API.
Sicurezza delle API basata su API: anche se è essenziale rilevare e mitigare le violazioni e gli attacchi in corso contro le API, le organizzazioni più lungimiranti stanno cercando soluzioni per utilizzare l'accesso on-demand ai dati e alle informazioni dettagliate sulla sicurezza delle API per migliorare la ricerca delle minacce, la risposta agli incidenti e le API.
Che cos'è la sicurezza delle API basata su firma?
le tecniche di sicurezza delle API basate su firme monitorano le caratteristiche e i modelli di attacco noti, allo scopo di generare avvisi e altre risposte automatiche quando rilevano una discrepanza. Il valore del rilevamento basato su firma è limitato (per la sicurezza delle API e in generale), poiché molte tecniche di abuso e vari attacchi alle API non presentano una firma.
Il rilevamento basato su firma è basato sul fatto che i suoi segni rilevatori si trovano in un solo pacchetto o richiesta. Non doversi preoccupare del contesto (chi è l'utente? A quanti endpoint ha avuto accesso lo scorso mese?) consente ai motori di corrispondenza delle firme di lavorare a velocità estremamente elevate. Tuttavia, in tal modo, perdono completamente di vista la maggior parte degli attacchi alle API.
La sicurezza delle API richiede un preciso contesto, ossia bisogna comprendere ogni richiesta API nel contesto in cui è stata effettuata dall'utente, le sue precedenti richieste e i modelli complessivi delle richieste di tutti gli utenti. Le tecniche di sicurezza delle API basate sull'analisi comportamentale e sull'apprendimento automatico devono, pertanto, essere usate per rilevare eventuali usi anomali.
Che cosa sono le attività di rilevamento e risposta delle API?
Le attività di rilevamento e risposta delle API rientrano in una nuova categoria della sicurezza delle API, incentrata sull'analisi approfondita dei dati storici con lo scopo di:
- Stabilire uno standard per il comportamento di tutti gli utenti delle API
- Rilevare attacchi e anomalie che indicano possibili violazioni e utilizzi inappropriati delle API.
Per essere efficaci su vasta scala, le attività di rilevamento e risposta delle API devono essere basate su un modello SaaS (Software-as-a-Service) viste le enormi dimensioni dei dataset richiesti dalle tecniche di intelligenza artificiale e apprendimento automatico a uso intensivo di risorse.
Che cos'è la protezione avanzata dalle minacce alle API?
La protezione avanzata dalle minacce alle API è un approccio SaaS alla sicurezza delle API, che combina l'analisi comportamentale con la ricerca delle minacce allo scopo di:
- Rilevare tutte le API utilizzate da un'organizzazione, incluse le API ombra o zombie.
- Applicare l'apprendimento automatico per sovrapporre il contesto aziendale e determinare le modalità di utilizzo e violazione delle API.
- Eseguire l'analisi comportamentale e la ricerca delle minacce, sia sulle API che sui dati relativi alle loro attività, memorizzati per finestre temporali estese.
Che cos'è una piattaforma di sicurezza delle API?
Una piattaforma di sicurezza delle API è un'offerta basata su SaaS, che viene espressamente progettata allo scopo di:
- Creare un inventario, aggiornato continuativamente, di tutte le API utilizzate a livello aziendale, incluse quelle non autorizzate.
- Analizzare le API e il relativo utilizzo, utilizzando tecniche di intelligenza artificiale e apprendimento automatico per scoprire il contesto aziendale e stabilire lo schema di base del comportamento previsto.
- Rilevare anomalie nell'utilizzo delle API e, se necessario, generare avvisi e dati di supporto ai flussi di lavoro SIEM (Security Information and Event Management) e SOAR (Security Orchestration, Automation and Response).
- Fornire accesso on-demand all'inventario delle API e alle informazioni relative ad attività e minacce per tutti gli stakeholder, non solo esperti di sicurezza.
Quali sono i tipi di sicurezza delle API disponibili?
Le organizzazioni utilizzano molti tipi diversi di tecniche di sicurezza delle API per proteggere le loro applicazioni e i loro dati sensibili da abusi e altri tipi di attacchi. Ecco i più comuni tipi di sicurezza delle API:
- Scansione dei codici delle API alla ricerca di vulnerabilità e falle della sicurezza durante lo sviluppo e l'esecuzione dei test
- Sviluppo di modelli delle minacce alle API e implementazione di contromisure come la convalida dell'input
- Implementazione delle API con best practice, come la crittografia TLS e modelli di autenticazione e autorizzazione solidi e scalabili
- Distribuzione di strumenti specializzati, come soluzioni WAF (Web Application Firewall), piattaforme di mitigazione di bot e gateway API
- Conduzione di valutazioni regolari delle vulnerabilità per identificare eventuali configurazioni errate o altri difetti di implementazione
- Rilevamento costante delle API per garantire che tutte le API in uso sia protette o, se necessario, dismesse
- Monitoraggio delle tecniche di attacco alle API tramite firme
- Monitoraggio di altre forme sofisticate di abuso delle API tramite l'analisi comportamentale e il rilevamento delle anomalie
- Conduzione di attività di ricerca delle minacce costanti per identificare e mitigare i rischi tempestivamente e per fornire linee guida proattive sulla sicurezza ai team operativi e di sviluppo
Tutti questi tipi di sicurezza delle API possono potenzialmente svolgere un ruolo nella vostra strategia di sicurezza complessiva, ma è importante implementarli in modo integrato con un'attenzione particolare al profilo di rischio specifico dell'organizzazione.
Che cosa sono le ditte specializzate in API?
Ora che i responsabili della sicurezza e IT utilizzano le API in modo più strategico, potrebbero sentire l'esigenza di ricorrere a partner specializzati in materia di API. Queste aziende possono essere suddivise in due tipologie comuni:
- Aziende che forniscono la tecnologia necessaria per accettare le chiamate API in un sistema centrale, per poi indirizzarle alle risorse di back-end e ai microservizi appropriati.
- Aziende che forniscono piattaforme di sicurezza delle API per garantire ai clienti di identificare tutte le API attive, rilevare attacchi e violazioni, oltre a fornire informazioni dettagliate sull'utilizzo delle API.
Che cos'è la ricerca delle minacce alle API?
Alcuni team di sicurezza svolgono una ricerca proattiva delle minacce, allo scopo di identificare tempestivamente le minacce potenziali e adottare le contromisure necessarie. I prodotti di prima generazione per la sicurezza delle API non sono molto utili ai team di ricerca delle minacce, perché si concentrano solo sugli avvisi e non memorizzano alcuna attività delle API, pertanto non forniscono dati da cercare e interrogare. Le aziende all'avanguardia nella sicurezza delle API memorizzano vasti set di dati altamente contestuali relativi alle attività delle API, mettendoli a disposizione sia in un'interfaccia utente grafica, sia tramite API, in modo che possano essere sfruttati per la ricerca delle minacce.
Che cos'è una soluzione WAAP?
Una soluzione WAAP (Web Application and API Protection) è una categorizzazione utilizzata dalla società di ricerche Gartner per classificare le nuove minacce alle applicazioni web e alle API. Si tratta di un'evoluzione della precedente soluzione WAF (Web Application Firewall) introdotta per rispondere alla crescente importanza strategica assunta dalla sicurezza delle API e al passaggio dalle piattaforme WAF sul cloud come servizi SaaS gestiti.
In cosa consiste la documentazione delle API?
Il tipo di documentazione più comune per le API RESTful (che sono le API web più diffuse) è costituito da una raccolta di file Swagger basati sulla specifica OpenAPI. In teoria, la documentazione delle API viene creata dagli sviluppatori durante le relative fasi di progettazione o implementazione, ma in realtà tale documentazione risulta spesso obsoleta, e le modalità di utilizzo effettive delle API risultano notevolmente diverse da quelle documentate. Per risolvere il problema, alcune piattaforme di sicurezza delle API possono generare file Swagger a partire dall'attività reale delle API, evidenziando le lacune tra l'uso documentato e quello effettivamente implementato, allo scopo di fornire informazioni essenziali per qualunque valutazione dei rischi associati alle API.
Esiste una lista di controllo per la sicurezza delle API consigliata alle aziende?
Per garantire una sicurezza efficace delle API è necessario eseguire regolarmente una serie di procedure dettagliate. Di seguito è riportata una lista di controllo che può essere utilizzata dai team di sicurezza come punto di partenza per adottare un approccio più sofisticato alla protezione delle API:
- Il vostro approccio alla sicurezza delle API include un meccanismo per il rilevamento continuo delle API a livello aziendale?
- Utilizzate una soluzione cloud/SaaS per accedere alle tecniche di intelligenza artificiale e apprendimento automatico, oltre che per evitare di complicare inutilmente la distribuzione?
- Il vostro approccio alla sicurezza delle API analizza i dati in un orizzonte temporale sufficientemente lungo (in teoria, almeno 30 giorni)?
- Il vostro approccio offre ai vostri team il contesto aziendale di cui hanno bisogno per comprendere a fondo l'attività delle API e i potenziali rischi osservati?
- Avete una strategia per l'automazione bidirezionale fra la piattaforma di sicurezza delle API e gli altri processi aziendali correlati, come SIEM/SOAR, ricerca di minacce, documentazione, strumenti DevOps e così via?
- Avete adottato le misure necessarie per estendere gli strumenti e i processi di protezione delle API anche agli stakeholder che non sono specializzati in materia di sicurezza?
Esiste una tassonomia delle API che i team di sicurezza dovrebbero conoscere?
Di seguito sono riportate le categorie e le descrizioni comuni delle API che possono presentarsi in un contesto di sicurezza.
Categorizzazioni di sicurezza delle API
API autorizzate | API non autorizzate | API obsolete |
---|---|---|
API pubblicata (con documentazione Swagger o simile) | API ombra |
API obsoleta |
API non autorizzata | API legacy | |
API zombie | API zombie | |
API nascosta | API orfana |
Quali sono i tipi di API più comuni e i termini a queste associati?
I team addetti alla sicurezza dovrebbero conoscere i termini riportati di seguito, che si riferiscono ai diversi modelli di utilizzo e approcci tecnologici per l'implementazione delle API.
API per scopo di utilizzo
Modello di utilizzo delle API |
Descrizione |
---|---|
API pubblica |
API che viene condivisa su Internet e resa liberamente disponibile a tutti gli sviluppatori |
API esterna | Questo termine, spesso utilizzato con il significato di API pubblica, indica un'API che viene esposta su Internet |
API privata | API implementata in un data center protetto o in un ambiente cloud e riservata all'uso da parte di sviluppatori affidabili |
API interna | Questo termine viene spesso utilizzato con il significato di API privata |
API di terze parti | Consente di accedere a livello di programmazione a funzionalità specializzate e/o dati provenienti da fonti di terze parti, per utilizzarli in un'applicazione |
API per i partner | API di terze parti che viene resa disponibile esclusivamente ai partner commerciali autorizzati |
API autenticata | API accessibile solo agli sviluppatori che hanno ottenuto le credenziali relative (o l'accesso non autorizzato) |
API non autenticata | API accessibile a livello di programmazione, senza utilizzare credenziali specifiche |
I termini e le tecnologie API più comuni
Modello di utilizzo delle API | Descrizione |
---|---|
API HTTP | API che utilizza HTTP (HyperText Transfer Protocol) come protocollo di comunicazione per le chiamate API. |
API RESTful | Le API representational state transfer (RESTful), che risalgono alla tesi di dottorato di Roy Fielding del 2000, sono il tipo di API web più diffuso e in genere utilizzano il formato JSON (JavaScript Object Notation) per i dati. Le API RESTful sono facili da utilizzare, grazie ai moderni framework front-end (come React e React Native), semplificando lo sviluppo delle applicazioni web e mobili. Sono diventate lo standard di fatto per qualsiasi API web, comprese quelle utilizzate per le attività B2B (da azienda ad azienda). |
GraphQL | Le API GraphQL sono il nuovo standard sviluppato da Facebook e consentono di accedere a un database tramite un singolo endpoint POST (solitamente /graql). Questo standard risolve un problema comune delle API RESTful, che richiedono più chiamate per compilare una singola pagina dell'interfaccia utente, ma introduce altri problemi. |
SOAP | SOAP utilizza il linguaggio XML (Extensible Markup Language) dettagliato per le chiamate di procedura remota (RPC, Remote Procedure Call). Viene ancora utilizzato nelle API legacy. |
XML-RPC | XML-RPC è un metodo per l'esecuzione di chiamate procedurali su Internet, che utilizza una combinazione di XML, per la codifica, e HTTP, come protocollo di comunicazione. |
gRPC | Le API gRPC sono un nuovo protocollo binario ad alte prestazioni sviluppato da Google su HTTP/2.0, che viene utilizzato soprattutto per le comunicazioni est-ovest. |
OpenAPI | OpenAPI è una descrizione e una specifica di documentazione per le API. Nelle versioni precedenti, OpenAPI era noto come Swagger e ancora oggi questi termini sono spesso usati in modo intercambiabile (proprio come i protocolli SSL e TLS). |
Che cosa include una soluzione per la sicurezza delle API?
Le soluzioni per la sicurezza delle API includono una serie di pratiche e strumenti utilizzati per garantire la sicurezza delle API (Application Programming Interface) da attacchi dannosi e violazioni di dati. Le API vengono ampiamente usate da aziende e organizzazioni per consentire alle loro applicazioni di comunicare tra loro, condividere dati ed eseguire varie funzioni.
Tuttavia, poiché l'uso delle API è diventato sempre più diffuso, lo sono diventati anche i rischi alla sicurezza ad esse associati. Le API sono potenzialmente vulnerabili ad una gamma di rischi alla sicurezza, inclusi accessi non autorizzati, attacchi DoS (Denial-of-Service) e attacchi di tipo injection. Per mitigare questi rischi, le aziende devono implementare solide soluzioni per la sicurezza delle API.
Le soluzioni per la sicurezza delle API comprendono:
- Autenticazione e autorizzazione: le soluzioni per la sicurezza delle API includono le operazioni di autenticazione e autorizzazione degli utenti che accedono alle API per garantire che solo gli utenti autorizzati possano accedere e manipolare i dati. Tra i metodi di autenticazione, figurano l'autenticazione multifattore, OAuth, OpenID Connect e le chiavi API, mentre i metodi di autorizzazione includono i controlli degli accessi basati sui ruoli e sugli attributi
- Gateway API: un gateway API è un componente delle soluzioni per la sicurezza delle API complete, che funge da punto di accesso per tutte le richieste API. Il gateway può eseguire numerose funzioni, incluse l'autenticazione, la limitazione della velocità, la gestione del traffico e la memorizzazione nella cache; inoltre, può aiutare a prevenire vari tipi di attacchi, come gli attacchi DDoS (Distributed Denial-of-Service).
- Crittografia: le soluzioni per la sicurezza delle API includono anche la crittografia, con la quale si garantisce che i dati trasmessi tramite le API siano sicuri e che non vengano intercettati dai criminali. Le tecniche di crittografia includono la crittografia SSL, TLS e AES, che possono essere utilizzate per crittografare richieste/risposte API e dati inattivi.
- Limitazione della velocità: si tratta di una funzione delle soluzioni per la sicurezza delle API, che aiuta a prevenire gli attacchi DoS (Denial-of-Service) limitando il numero di richieste che un utente può effettuare in un periodo di tempo specificato. La limitazione della velocità può essere basata sugli indirizzi IP, sugli account utente o su altri parametri e può aiutare ad impedire ai criminali di sovraccaricare le API con un numero eccessivo di richieste.
- Controllo e registrazione: le soluzioni per la sicurezza delle API devono includere anche le operazioni di controllo e registrazione, che possono aiutare a rilevare e mitigare le minacce alla sicurezza fornendo la visibilità sulle attività delle API. Il controllo consiste nel monitoraggio delle richieste/risposte delle API, mentre la registrazione di eventi e attività delle API viene eseguita in modo sicuro e antimanomissione.
- Test delle API: le soluzioni per la sicurezza delle API includono anche i test delle API allo scopo di identificare le vulnerabilità e i potenziali rischi alla sicurezza. È possibile eseguire i test delle API manualmente o con strumenti automatizzati per garantire che le API siano sicure e che funzionino nel modo previsto.
- Monitoraggio e protezione del runtime delle API: il comportamento delle API deve essere monitorato in una soluzione per la sicurezza delle API. Comprendere il normale comportamento rispetto ad un abuso anomalo è un componente essenziale per proteggere le API dai criminali.
- Gestione delle vulnerabilità: le soluzioni per la sicurezza delle API includono anche la gestione delle vulnerabilità allo scopo di identificare e risolvere le vulnerabilità della sicurezza nelle API. La gestione delle vulnerabilità può riguardare la scansione, l'applicazione di patch e la risoluzione delle vulnerabilità e può aiutare a impedire ai criminali di sfruttare le vulnerabilità note nelle API.
Le soluzioni per la sicurezza delle API sono fondamentali per garantire la sicurezza e l'integrità delle API. Implementando l'autenticazione e l'autorizzazione, il gateway API, la crittografia, la limitazione della velocità, il controllo e la registrazione, i test delle API, il monitoraggio, la protezione del runtime e la gestione delle vulnerabilità, le aziende possono garantire che le loro API siano sicure e protette da una varietà di minacce alla sicurezza.
Poiché le API diventano un componente sempre più integrante delle attività aziendali, le organizzazioni devono investire in solide soluzioni per la sicurezza delle API al fine di proteggere i loro dati sensibili e la proprietà intellettuale.
Che cos'è l'analisi comportamentale?
L'analisi comportamentale è un approccio alla sicurezza che utilizza l'apprendimento automatico e l'analisi dei dati per identificare le anomalie e i modelli del comportamento degli utenti. Questo approccio viene utilizzato per rilevare e prevenire minacce alla sicurezza, come le minacce interne, il controllo degli account e le frodi.
L'analisi comportamentale sta diventando sempre più importante nel campo della sicurezza delle API, che vengono usate e prese di mira maggiormente dai criminali informatici.
Le API vengono usate dalle aziende per consentire alle loro applicazioni di comunicare tra loro, condividere dati ed eseguire varie funzioni. Tuttavia, poiché l'uso delle API è diventato sempre più diffuso, lo sono diventati anche i rischi alla sicurezza ad esse associati.
Le API sono potenzialmente vulnerabili ad una gamma di rischi alla sicurezza, inclusi accessi non autorizzati, attacchi DoS (Denial-of-Service) e attacchi di tipo injection. L'analisi comportamentale può aiutare a rilevare queste minacce analizzando il comportamento degli utenti e identificando modelli anomali che potrebbero indicare un attacco.
In che modo l'analisi comportamentale si collega alla sicurezza delle API?
L'analisi comportamentale è un componente fondamentale della sicurezza delle API, poiché le API possono essere prese di mira dai criminali informatici che cercano di ottenere accessi non autorizzati ai dati sensibili o di interrompere le attività aziendali. L'analisi comportamentale può aiutare a rilevare queste minacce analizzando il comportamento degli utenti e identificando modelli anomali che potrebbero indicare un attacco.
Le soluzioni per la sicurezza delle API che includono l'analisi comportamentale possono aiutare a identificare e prevenire i seguenti tipi di attacchi:
Attacchi per il controllo degli account: questo attacco si verifica quando un criminale ottiene l'accesso all'account di un utente legittimo e lo utilizza per accedere a dati sensibili o per eseguire azioni dannose. L'analisi comportamentale può aiutare a rilevare se un account è stato compromesso analizzando il comportamento degli utenti e identificando eventuali modelli anomali che indicano che un criminale ha ottenuto l'accesso all'account di un utente.
Minacce interne: questo attacco si verifica quando un utente affidabile con un accesso autorizzato ad un'API lo utilizza per scopi dannosi. L'analisi comportamentale può aiutare a rilevare le minacce interne analizzando il comportamento degli utenti e identificando modelli anomali che potrebbero indicare che un utente si comporta in modo sospetto o dannoso.
Attacchi di tipo injection: gli attacchi di questo tipo si verificano quando un criminale inietta codice o comandi dannosi in una richiesta API al fine di sfruttare una vulnerabilità e ottenere l'accesso non autorizzato ai dati sensibili. L'analisi comportamentale può aiutare a rilevare gli attacchi di tipo injection analizzando il comportamento degli utenti e identificando modelli anomali che potrebbero indicare che un criminale sta tentando di sfruttare una vulnerabilità delle API.
Attacchi DoS (Denial-of-Service): gli attacchi di questo tipo si verificano quando un criminale sovraccarica un'API con un numero eccessivo di richieste allo scopo di interrompere le attività aziendali. L'analisi comportamentale può aiutare a rilevare gli attacchi DoS analizzando il comportamento degli utenti e identificando modelli anomali che potrebbero indicare che un criminale sta tentando di "inondare" un'API con un numero eccessivo di richieste.
Poiché le API diventano un componente sempre più usato e preso di mira dai criminali informatici, le aziende devono investire in solide soluzioni per la sicurezza delle API che includono l'analisi comportamentale al fine di proteggere i loro dati sensibili e la proprietà intellettuale.
Ricerca delle minacce gestita
La ricerca delle minacce gestita è un approccio alla sicurezza proattivo che implica l'utilizzo di avanzati strumenti e tecniche in grado di identificare e mitigare potenziali minacce alla sicurezza prima che possano risultare dannose.
La ricerca delle minacce gestita è un tipo di servizio offerto da alcuni fornitori di soluzioni per la sicurezza delle API, nell'ambito del quale un'azienda paga un provider di terze parti per gestire e condurre la ricerca delle minacce per proprio conto. Questo servizio consente alle aziende di usufruire delle competenze e delle risorse di un team specializzato nella sicurezza senza dover investire in funzionalità di ricerca delle minacce interne.
Questo tipo di ricerca delle minacce si definisce gestita perché un'azienda paga un fornitore di soluzioni per la sicurezza delle API che condurrà la ricerca delle minacce per proprio conto. La ricerca delle minacce gestita richiede al fornitore di soluzioni per la sicurezza delle API di condurre il monitoraggio proattivo dell'infrastruttura delle API dell'azienda, l'analisi dei registri e di altre origini dati e l'utilizzo di tecniche avanzate, come l'apprendimento automatico e l'analisi comportamentale per identificare potenziali minaccia alla sicurezza.
Il fornitore di soluzioni per la sicurezza delle API collabora quindi con l'azienda per risolvere eventuali minacce identificate e per fornire consigli su come migliorare il suo livello di sicurezza.
La ricerca delle minacce gestita è particolarmente importante nel contesto della sicurezza delle API poiché le API possono risultare vulnerabili per una varietà di minacce alla sicurezza, tra cui attacchi di tipo injection, attacchi per il controllo degli account e attacchi DoS (Denial-of-Service).
La ricerca delle minacce gestita può aiutare a identificare e mitigare queste minacce prima che possano risultare dannose, consentendo alle aziende di proteggere i loro dati sensibili e la proprietà intellettuale.
Tra i componenti principali della ricerca delle minacce gestita, figurano i seguenti:
- Monitoraggio proattivo e indagini: la ricerca delle minacce gestita include il monitoraggio proattivo delle API di un'azienda al fine di identificare le potenziali minacce alla sicurezza, tra cui il monitoraggio di tutti i dati delle attività delle API, inclusi i registri di sistema e altre origini dati o tramite l'indagine degli avvisi rilevati.
- Archiviazione dei dati cronologici delle API: tutti i dati delle API devono essere archiviati per consentire di eseguire le appropriate indagini e la ricerca delle minacce. L'accesso ai dati è un prerequisito per la ricerca delle minacce gestita.
- Tecniche di rilevamento avanzate: la ricerca delle minacce gestita utilizza avanzate tecniche tecnologiche, come l'apprendimento automatico e l'analisi comportamentale al fine di identificare le potenziali minacce alla sicurezza, Queste tecniche possono aiutare a identificare le minacce non rilevabili tramite i tradizionali approcci basati su firma.
- Team per la ricerca delle minacce: la ricerca delle minacce gestita richiede un team dedicato di esperti di sicurezza che sono formati e competenti nell'identificazione e nella mitigazione delle potenziali minacce alla sicurezza, Il fornitore di soluzioni per la sicurezza delle API che offre il servizio, solitamente, dispone di un team di esperti con competenze specifiche nelle minacce alla sicurezza delle API.
- Risoluzione e consigli: la ricerca delle minacce gestita implica la collaborazione con l'azienda per risolvere eventuali minacce identificate e per fornire consigli su come migliorare il suo livello di sicurezza, tra cui applicare patch per la correzione delle vulnerabilità, migliorare i controlli degli accessi o implementare altri controlli di sicurezza in altri strumenti come le soluzioni WAF, le CDN o altri proxy.
Nel contesto della sicurezza delle API, la ricerca delle minacce gestita può aiutare a identificare e mitigare una varietà di minacce, tra cui attacchi di tipo injection, attacchi per il controllo degli account e attacchi DoS (Denial-of-Service).
Investendo nella ricerca delle minacce gestita, le aziende possono assicurarsi che le loro API siano sicure e protette da una varietà di minacce alla sicurezza.
Domande frequenti (FAQ)
Gli aspetti fondamentali della sicurezza delle API si possono ridurre ai seguenti quattro principi: autenticazione, autorizzazione, crittografia e convalida dell'input.
L'autenticazione verifica l'identità degli utenti o dei sistemi che interagiscono con le API. L'autorizzazione stabilisce cosa può fare un utente verificato. La crittografia garantisce che i dati trasmessi tra un sistema e l'altro rimangano riservati e illeggibili da sguardi indiscreti. Infine, la convalida dell'input controlla la legittimità dei dati in arrivo per prevenire risultati dannosi o imprevisti.
La sicurezza delle API consiste nel garantire un uso sicuro delle API (Application Programming Interface) nel modo previsto, tra cui proteggere le API da minacce e attacchi, salvaguardare i dati sensibili e garantire un servizio affidabile.
Tra i rischi alla sicurezza delle API più comuni, figurano gli accessi non autorizzati, le violazioni di dati, gli attacchi DoS (Denial-of-Service) e gli attacchi di tipo injection. Gli accessi non autorizzati possono verificarsi quando un criminale ottiene l'accesso ad operazioni riservate.
Le violazioni di dati possono esporre informazioni sensibili, gli attacchi DoS (Denial-of-Service) possono sovraccaricare un'API e renderla inutilizzabile, infine gli attacchi di tipo possono indurre un'API ad eseguire comandi indesiderati.
La protezione delle API implica vari passaggi. Innanzitutto, usare sempre il protocollo HTTPS per la trasmissione dei dati al fine di garantirne la crittografia. Implementare rigorosi controlli di autenticazione e autorizzazione utilizzando tecniche come chiavi API, OAuth oppure JWT.
Convalidare l'input per proteggersi dagli attacchi di tipo injection. Controllare regolarmente le API e sottoporle a test per cercare eventuali vulnerabilità. Infine, considerare la possibilità di usare una soluzione per la sicurezza delle API come quella offerta da Akamai per fornire un altro livello di protezione.
La mancanza di un sistema di sicurezza delle API può condurre a serie implicazioni finanziarie. Le violazioni di dati, le interruzioni dei servizi o la mancata conformità possono tutti comportare sanzioni salate, per non parlare dei potenziali costi per la risoluzione.
Inoltre, bisogna considerare anche i danni alla reputazione e alla fiducia dei clienti, che possono avere un impatto finanziario a lungo termine. In breve, non investire nella sicurezza delle API alla fin fine può costarvi molto di più.
Mentre la sicurezza delle API si focalizza sulla protezione delle API dalle minacce, la gestione delle API consiste nel supervisionare il ciclo di vita delle API, tra cui progettare, pubblicare, documentare e analizzare le API.
La gestione delle API, inoltre, riguarda spesso alcuni aspetti della sicurezza delle API, come il controllo degli accessi e la limitazione della velocità. In altre parole, la sicurezza delle API è una parte del processo di gestione delle API, ma la gestione delle API è molto più della semplice sicurezza.
Le API e i servizi web sono un po' come i quadrati e i rettangoli: tutti i quadrati sono rettangoli, ma non tutti i rettangoli sono quadrati. Analogamente, tutti i servizi web sono API, ma non tutte le API sono servizi web. Un servizio web è un tipo specifico di API che opera sul web, di solito utilizzando protocolli come HTTP. Dall'altra parte, un'API è un concetto più generale che può essere utilizzato in molti contesti diversi, non solo sul web.
Perché i clienti scelgono Akamai
Akamai è l'azienda di cybersecurity e cloud computing che abilita e protegge il business online. Le nostre soluzioni di sicurezza leader del settore, la nostra innovativa intelligence sulle minacce e il nostro team operativo su scala globale forniscono una difesa approfondita in grado di proteggere i dati e le applicazioni aziendali ovunque. Le soluzioni complete di cloud computing offerte da Akamai assicurano performance elevate e notevoli risparmi, grazie alla piattaforma più distribuita al mondo. Le maggiori aziende internazionali si affidano ad Akamai per ottenere la protezione, la scalabilità e le competenze leader del settore di cui hanno bisogno per far crescere la loro attività senza rischi.