TECHTARGET

Sicurezza delle API cloud: 4 buone pratiche da ricordare

Sicurezza delle API cloud, ma anche di tutte le interfacce di programmazione usate per semplificare lo sviluppo di applicazioni e servizi. Gli esperti portano i programmatori a ragionare sul perimetro dei rischi e delle vulnerabilità di una disattenzione alle metodologie di codifica e di test delle API

Pubblicato il 25 Mag 2023

sicurezza delle API cloud

Sicurezza delle API cloud come punto di attenzione importante per tutti gli sviluppatori. Nonostante tutti i vantaggi che ci sono a utilizzare le API, gli analisti sottolineano l’importanza di alzare i livelli di monitoraggio e di controllo relativi a tutte le interfacce di programmazione utilizzate.

Le API, infatti, sono l’ennesimo bersaglio preso di mira dal cybercrime. A questo proposito gli esperti di TechTarget citano un sondaggio condotto da Salt, una società che si occupa di sicurezza delle API, che nel 2021 ha rilevato come in soli 6 mesi le chiamate dei clienti legate a problemi con le API fossero salite del 141%. In proporzione al continuo moltiplicarsi di un uso sempre più onnipresente nella programmazione, gli esperti ricordano alle aziende di non sottovalutare i rischi.

Vantaggi e vulnerabilità potenziali delle API

Nell’ambito del cloud pubblico, le API sbloccano numerose possibilità per gli sviluppatori, offrendo sia funzionalità di base alle applicazioni che collegando app e programmi a servizi esterni. Mentre le API correttamente integrate avvantaggiano tutti gli utenti e rafforzano il valore del servizio sul mercato del software, la mancata sicurezza delle API cloud in particolare e delle API in generale può esporre gli ambienti applicativi a minacce anche molto dannose.

Le aziende hanno la responsabilità di fornire prodotti sicuri ma qualsiasi errore a livello di programmazione si trasforma in una vulnerabilità, aprendo la porta ad attacchi SQL injection, cross-site scripting e credential stuffing, attacchi DDoS (Distributed Denial-of-Service) e problemi facilmente prevenibili, comprese le credenziali hardcoded. Tutte queste vulnerabilità, se sfruttate in modo malevolo, possono rivelarsi estremamente pericolose.

sicurezza delle API cloud

Sicurezza delle API cloud: quali sono i punti deboli

Ecco solo alcuni esempi che possono causare problemi alla sicurezza delle API cloud e delle API in generale

  • mancato controllo delle API o scarsa revisione del codice prima dell’implementazione
  • sviluppatori che non configurano correttamente le API
  • mancato offuscamento

Vediamo più in dettaglio le zone d’ombra della programmazione da cui si generano i problemi alla sicurezza delle API.

Uno sviluppo troppo veloce favorisce l’insicurezza

Gli sviluppatori di API devono essere più consapevoli che non è possibile lanciare un buon prodotto senza controllo. Ripulendo il codice e implementando cicli di revisione e test approfonditi, i team IT possono ridurre significativamente la quantità di bug che accompagnano inizialmente una produzione. Quando le scadenze hanno la precedenza sulla qualità dell’API, la sicurezza è la prima a rimetterci.

I programmatori hanno cicli di sviluppo molto intensi, il che significa che producono enormi quantità di codice. Questa pressione li porta inevitabilmente a fare alcuni errori di programmazione. Far uscire di corsa un prodotto API garantisce virtualmente un’API non sicura nel cloud computing. Un’azienda di solito si affretta quando spera di prendere piede nel mercato prima dei suoi concorrenti.

Sebbene un’API possa essere aperta o gratuita, può comunque generare entrate per i suoi creatori. Lo stesso vale per gli sviluppatori esterni, la cui inclusione di API aiuta ad attirare gli utenti. Gli sviluppatori potrebbero non testare correttamente il modo in cui una determinata API si integra con il loro codice o determinare se i controlli incorporati offrono una protezione dei dati sufficiente.

Crittografia scadente e mancata sicurezza delle API cloud

Esistono due tipi di dati: dati in movimento e dati inattivi. Alcune API lasciano i dati non protetti durante il trasporto, cosa che accade quando viene effettuata una richiesta HTTP. L’API esce e recupera le informazioni dal database — punto A — e le invia al servizio di destinazione — punto B.

Cosa succede con un attacco man-in-the-middle o island hopping? Alcuni sviluppatori non riescono a rendersi conto che non tutti i percorsi dei dati sono sicuri. Altri implementano protocolli obsoleti o scudi deboli che non scongiurano i tentativi di hacking. I dati a riposo risiedono comunemente all’interno dei database. Le API si connettono direttamente a questi database, motivo per cui una crittografia scadente è così problematica.

Quando la crittografia è scadente o addirittura inesistente, i dati sensibili come record personali, credenziali e informazioni di pagamento rimangono vulnerabili. Queste API potrebbero anche non essere conformi agli standard obbligatori, come HIPAA, Sarbanes-Oxley Act e PCI DSS. Ecco perché gli esperti consigliano di optare per le API che supportano la crittografia avanzata, AES 256 o Triple DES è l’ideale. Per i dati in movimento, le API dovrebbero utilizzare il secure socket layer e il transport layer security (TLS). Assicurati di utilizzare le versioni più recenti, poiché TLS 1.0 o 1.1 potrebbe non essere sufficiente per alcune applicazioni.

Cos’è l’offuscamento e perché è importante

Un altro elemento di disattenzione legato alla fretta è quando il codice di programmazione non viene offuscato per proteggere la proprietà intellettuale o i segreti commerciali e per impedire a un utente malintenzionato di eseguire il reverse engineering di un programma software proprietario.

Se non si usa uno strumento chiamato offuscatore, che convertirà automaticamente il semplice codice sorgente in un programma che funziona allo stesso modo ma è più difficile da leggere e comprendere, è più facile esporre il fianco al cybercrime. Fanno parte delle tecniche di offuscamento:

  • la cifratura di una parte o di tutto il codice di un programma
  • l’eliminazione di metadati potenzialmente rivelatori
  • la sostituzione di nomi di classi e variabili con etichette prive di significato
  • l’aggiunta di codice inutilizzato o privo di significato a uno script dell’applicazione

Tuttavia, anche gli autori di codice dannoso utilizzano questi metodi per impedire che i loro meccanismi di attacco vengano rilevati dagli strumenti anti-malware. Ciò significa che i pirati informatici sanno potenzialmente come eludere anche l’offuscamento.

Half-baked access controls

I team IT devono garantire che solo le persone giuste accedano alle informazioni protette. Inoltre, tutti i servizi protetti devono verificare che gli utenti siano chi dicono di essere. Molte API non riescono a convalidare gli input degli utenti in modo appropriato, il che può creare vulnerabilità tra sistemi. Le API, infatti, forniscono l’accesso ai dati degli utenti da altre fonti e utilizzano le applicazioni come gateway per queste informazioni.

Sfortunatamente, i protocolli di autenticazione e autorizzazione incompleti possono promuovere l’eccessiva condivisione dei dati. Ad esempio, supponiamo che si stia acquistando qualcosa da un negozio online che ha un’opzione di pagamento di terze parti integrata. Gli utenti finali potrebbero apprezzare questa opzione che fa affidamento sui servizi di pagamento e sulle credenziali esistenti senza consegnare informazioni sensibili al commerciante.

Idealmente, l’API dei pagamenti non condividerà alcuna credenziale o informazione di pagamento con quel negozio online. Tuttavia, le API mal codificate e implementate possono divulgare accidentalmente le credenziali a destinatari indesiderati. Ecco perché è opportuno utilizzare API che implementano una sorta di sistema di token, in particolare OAuth 2.0 permettendo così di isolare quei dati che devono rimanere al sicuro.

API nel mirino degli hacker: cosa dicono gli analisti

Dal momento che le API sono progettate proprio per facilitare la vita degli sviluppatori che le creano ma anche dei clienti e delle aziende che le utilizzano, l’usabilità e la disponibilità sono fattori che spesso compromettono la sicurezza. Un sondaggio del 2020 condotto da Veracode ed ESG (una divisione di TechTarget) ha rilevato che il 48% delle organizzazioni inserisce regolarmente e consapevolmente codice vulnerabile in produzione.

Vero è che rendere ostico all’utente un accesso o un servizio per garantire la sicurezza, infatti, rischiano di far perdere l’ingaggio, favorendo il tasso di abbandono. Secondo la ricerca, una delle motivazioni per cui insorgono problemi alla sicurezza delle API cloud e delle API in generale è che gli sviluppatori ritendono che il codice sia a basso rischio (49%) o perché i problemi vengono scoperti troppo tardi per risolverli prima della distribuzione (45%).

Sicurezza delle API cloud: il punto di vista di Gartner

Le API non sono necessariamente difficili da proteggere, ma non sono sempre scritte e distribuite considerando le linee guida di una sicurezza ottimizzata.

«Il punto centrale delle API è aprire l’accesso ad applicazioni e dati” ha spiegato Mark O’Neill, analista di Gartner. “Questo accesso è ottimo per le aziende e i loro partner, sviluppatori e clienti, ma è anche musica per le orecchie di un utente malintenzionato. Il motivo? Che si va a creare un’enorme superficie di attacco. La dimensione effettiva di questa superficie di attacco, per altro, è difficile da ponderare”.

Alla domanda su quante API utilizzano le aziende, O’Neill ha stimato che le aziende con 2.000 dipendenti potrebbero averne da 300 a 500. Senza contare come ci siano grandi aziende che arrivano addirittura a utilizzare decine di migliaia di API. Tenere traccia di un inventario così vasto è praticamente impossibile e questo è un problema, soprattutto perché le API sono un facile punto di accesso a dati potenzialmente sensibili se protetti in modo improprio e se non dispongono di misure di autenticazione per controllare chi vi accede.

Attenzione alle esposizioni indesiderate

Oggi le API costituiscono la maggior parte del traffico Web, ma non sono sempre mantenute sicure quanto necessario. Una buona API offre funzionalità pertinenti e feedback dell’utente finale, quando qualcosa va storto o funziona come previsto. Un utente finale non vede cosa succede in background. Tutti gli input sono forniti sul front-end, tramite la GUI.

Ad esempio, l’API Identity di PayPal consente ai clienti di accedere ai siti Web tramite il proprio conto PayPal. Gli utenti finali sul front end interagiscono con i campi di accesso, ma nel back end è l’API a gestire tutto il processo di autorizzazione, recuperando le informazioni relative all’account. Un’esposizione potrebbe offrire informazioni accidentali su come funziona questo processo, cosa causa errori e come funziona il back-end per raggiungere i suoi obiettivi. In altre parole, i meccanismi tecnici dell’API sono in mostra.

Salvaguardare i dati dell’applicazione è fondamentale

Sebbene la documentazione dell’API fornisca informazioni approfondite qui, alcune cose non dovrebbero essere pubblicizzate. Gli attori malevoli possono sfruttare le informazioni, come la logica aziendale, la struttura dell’API o la sintassi e gli endpoint, per lanciare un attacco.

Allo stesso modo, le esposizioni non sono solo sul lato tecnico. API mal codificate possono garantire visibilità o accesso indesiderato a dati protetti, il che invita a violazioni. Questi eventi sono costosi, tradiscono la fiducia degli utenti e aprono l’infrastruttura a ulteriori problemi. Il consiglio degli esperti? Assicurarsi sempre di salvaguardare i dati dell’applicazione. Allo stesso modo, progettare qualsiasi messaggio di codice di errore o feedback con un focus contestuale, senza approfondimenti sensibili sull’architettura dell’API. Un altro suggerimento prezioso è quello di non pubblicizzare le risposte delle intestazioni agli utenti finali.

Sviste e problemi della programmazione delle API

Alcune API sono intrinsecamente meno sicure di altre. Come già anticipato, la non sicurezza delle API cloud possono esporre gli ambienti a minacce dannose. Di seguito, esamineremo le minacce comuni e le cattive pratiche a cui prestare attenzione che creano API non sicure nel cloud computing a partire dalla mappatura.

“Una verità fondamentale nell’IT è che non puoi proteggere ciò che non sa che esiste” ha precisato Sandy Carielli, analista di Forrester Research. “Il tema è che se non si ha una mappatura realistica e oggettiva di dove sono e di quante sono le API in uso è impossibile avere contezza di quali dati vengano trasferiti e quali siano le modalità di accesso accedervi. Questo è problematico non solo perché il numero di API nelle aziende sta crescendo in modo esponenziale, ma anche perché le API sono un vettore di attacco sempre più diffuso”.

Anche i cambiamenti nel mercato degli strumenti di sicurezza delle API e l’incertezza su chi è responsabile della sicurezza delle API rendono il problema più difficile da affrontare. Una cosa è certa: è giunto il momento per le aziende di gestire la sicurezza delle API. La domanda è come.

Best practice per la sicurezza delle API cloud

Sebbene le best practice per la sicurezza delle API cloud siano sufficientemente documentate, i team di sicurezza e progettazione dovrebbero tenere a mente le seguenti considerazioni sulla sicurezza delle API specifiche per il cloud.

1. Fare l’inventario per mappare le API cloud in uso

I servizi cloud sono quasi garantiti per esporre le API. È imperativo che le organizzazioni eseguano un inventario continuo e un lavoro di identificazione per determinare quali servizi sono in uso, dove sono esposti e quali API sono associate. Non è raro che anche una modesta presenza del cloud nei principali ambienti PaaS e IaaS includa centinaia o addirittura migliaia di funzioni API. La creazione di un inventario delle API, specificando quello che fanno e dove sono esposte, può migliorare la sicurezza delle API cloud in generale.

2. Aggiungere sicurezza davanti alle API cloud

Le organizzazioni dovrebbero prendere in considerazione l’idea di mettere la protezione DDoS e i web application firewall (WAF) davanti alle API esposte. Molte API possono anche essere interrogate e attaccate per sollecitare dati o introdurre input indesiderati nelle applicazioni. I principali provider di servizi cloud (CSP) offrono la protezione WAF e DDoS come opzioni cloud-native per tutti i punti di ingresso API. Sono disponibili anche prodotti di terze parti. Sempre più spesso è possibile trovare una varietà di funzionalità di sicurezza nei servizi e nelle piattaforme di gateway API, che molti team di sviluppo e ingegneri prevedono di utilizzare comunque. Tra queste, ci sono opzioni di limitazione della velocità, mascheramento dei dati, instradamento distribuito a più back-end e integrazione con altri servizi di protezione DDoS e WAF.

3. Migliorare l’identità dell’API cloud e la gestione degli accessi

Una delle maggiori sfide di sicurezza associate alle API cloud è l’autenticazione e l’autorizzazione deboli o imperfette. Le organizzazioni dovrebbero dare la priorità alla gestione dell’identità e degli accessi delle API cloud durante la creazione e la distribuzione di applicazioni e servizi cloud.

Innanzitutto, è opportuno:

  • Valutare i privilegi in uso per le API, sia per le interfacce e le query esterne che per l’orientamento interno da servizio a servizio.
  • Assegnare ruoli di servizio con privilegi minimi ove possibile, per limitare ciò che le API possono fare in caso di dirottamento o intrusione.
  • Implementare l’autenticazione forte per le API ovunque. Molte API cloud utilizzano chiavi API native o autenticazione di base, ma metodi più efficaci, come JSON Web Tokens (JWT), aiutano a prevenire l’uso di chiavi statiche, che gli aggressori potrebbero dirottare e sfruttare. I JWT includono anche funzionalità di autenticità e non ripudio con certificati digitali.

4. Registrare e monitorare le richieste insolite

La registrazione e il monitoraggio dell’attività dell’API sono in qualche modo più semplici nel cloud. Tutte le API sono intrinsecamente legate alla struttura del fornitore di servizi cloud per cui i servizi di registrazione, come AWS CloudTrail, Amazon CloudWatch e Google Cloud Logging, possono tenere traccia di tutte le attività API ed essere monitorate per richieste o comportamenti insoliti.

Molte piattaforme e servizi gateway front-end forniscono anche potenti funzionalità di registrazione. Lo svantaggio della registrazione delle API nel cloud è l’enorme volume e l’ampiezza delle richieste. Spesso ci sono molti più registri di quelli che le operazioni e i team di sicurezza possono gestire, e molti di loro non sono particolarmente utili dal punto di vista della sicurezza.

In generale, molte delle best practice per la sicurezza delle API cloud si applicano allo stesso modo in altri ambienti non cloud.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4