My IBM Accedi Iscriviti

Ottimizza le API con le best practice per l'API security

6 novembre 2023

Tempo di lettura: 5 minuti

Le aziende continuano a orientarsi verso infrastrutture IT digitalizzate e basate su cloud. I sistemi digitali offrono flessibilità, scalabilità e velocità senza precedenti rispetto alle rispettive controparti on-premise più tradizionali.

Tuttavia, le infrastrutture digitali dipendono fortemente dalle application programming interface (API) per facilitare i trasferimenti di dati tra applicazioni software e tra applicazioni e utenti finali. In quanto framework di backend per la maggior parte delle applicazioni web e mobili, le API sono connesse a internet e pertanto vulnerabili agli attacchi. E poiché molte API memorizzano e trasferiscono dati sensibili, richiedono protocolli di sicurezza efficaci e pratiche di monitoraggio attente per evitare che le informazioni cadano nelle mani sbagliate.

Spiegazione della sicurezza delle API

Con "sicurezza delle API" ci si riferisce all'insieme di pratiche e prodotti che un'organizzazione utilizza per prevenire attacchi dannosi e usi impropri delle API. Data la complessità degli ecosistemi API, la crescita delle piattaforme IoT e l'enorme volume di API utilizzate dalle organizzazioni (circa 20.000 in media (link esterno a ibm.com)), gestire la sicurezza delle API è sempre più impegnativo e sempre più necessario.

Le API si collocano tra le risorse IT di un'organizzazione e gli sviluppatori di software terzi, e tra le risorse IT e i singoli individui, fornendo dati e informazioni agli endpoint dei processi. È a livello di questi endpoint che i dati dell'azienda e degli utenti sono vulnerabili a vari tipi di attacchi e rischi per la sicurezza, tra cui:

  • Attacchi basati sull'autenticazione: 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: un soggetto malintenzionato sottrae o modifica dei dati (ad esempio, credenziali di accesso o informazioni di pagamento) intercettando richieste e/o risposte tra l'API.
  • Iniezioni di codice/attacchi di iniezione: 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.
  • 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 ottenere l'accesso non autorizzato ai dati degli utenti. Questo problema si verifica quando un endpoint API consente a un utente di accedere a record ai quali normalmente non dovrebbe avere accesso. 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.

Questi e altri tipi di attacchi informatici sono quasi inevitabili nel dinamico landscape IT odierno. E con la proliferazione dei criminali informatici e l'accesso a tecnologie di hacking più sofisticate, l'implementazione dei protocolli di API security diventerà sempre più cruciale per la sicurezza dei dati aziendali.

Best practice per l'API security

Le API consentono alle aziende di semplificare l'integrazione tra sistemi e la condivisione dei dati, ma questa interconnettività comporta una maggiore esposizione agli attacchi informatici. In effetti, la maggior parte degli hack ad applicazioni mobili e web attacca le API per ottenere l'accesso ai dati dell'azienda o degli utenti. Le API hackerate o compromesse possono portare a catastrofiche violazioni dei dati e interruzioni del servizio che mettono a rischio dati personali, finanziari e medici sensibili.

Fortunatamente, i progressi nella API security consentono di prevenire o mitigare l'impatto degli attacchi informatici da parte di malintenzionati. Ecco 11 pratiche e programmi comuni di API security che le organizzazioni possono utilizzare per proteggere le risorse informatiche e i dati degli utenti:

  1. API gateway. L'installazione di un API gateway è uno dei modi più semplici per limitare l'accesso alle API. I gateway creano un unico punto di accesso per tutte le richieste API e fungono da livello di sicurezza applicando policy di sicurezza, contribuendo a standardizzare le interazioni API e offrendo funzionalità quali la trasformazione richiesta/risposta, la memorizzazione nella cache e la registrazione.
  2. Autenticazione e autorizzazione efficaci. L'utilizzo di protocolli di autenticazione standard del settore, come OAuth 2.0, chiavi API, JWT, OpenID Connect e altri, garantisce che solo gli utenti autenticati possano accedere alle API aziendali. Inoltre, l'implementazione dei controlli degli accessi in base al ruolo impedisce agli utenti di accedere alle risorse che non sono autorizzati a utilizzare.
  3. Protocolli di crittografia. La connessione SSL o i protocolli di crittografia TLS, come HTTP Secure (HTTPS), aiutano i team a proteggere la comunicazione tra l'API e le applicazioni client. HTTPS crittografa tutte le trasmissioni di dati di rete, impedendo accessi non autorizzati e manomissioni. La crittografia dei dati inattivi, ad esempio le password memorizzate, può proteggere ulteriormente i dati sensibili mentre sono in archivio.
  4. Firewall per applicazioni web (WAF). I WAF forniscono un ulteriore livello di protezione per le API aziendali, in particolare dagli attacchi comuni alle app web come gli attacchi injection, il cross-site scripting (XSS) e il cross-site request forgery (CSRF). Il software di sicurezza WAF è in grado di analizzare le richieste API in entrata e di bloccare il traffico dannoso prima che raggiunga il server.
  5. Convalida dei dati. Come le persone evitano di aprire allegati provenienti da mittenti sconosciuti, le organizzazioni devono filtrare tutto ciò che i loro server accettano e rifiutare qualsiasi trasmissione di dati o contenuti di grandi dimensioni (compresi quelli provenienti dai consumatori). Anche l'uso della convalida dello schema XML o JSON e la conferma dei parametri possono essere utili per prevenire gli attacchi.
  6. Rate limiting. Questa protezione preserva le risorse da attacchi brute force e DoS limitando il numero di richieste che un utente o un indirizzo IP può effettuare in un determinato intervallo di tempo. I limiti alle richieste garantiscono che le richieste vengano elaborate tempestivamente e che nessun utente possa sovraccaricare il sistema con richieste dannose.  
  7. 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 test di sicurezza delle API, ad esempio test di penetrazione, test di iniezione, test di autenticazione degli utenti, test di manomissione dei parametri e altro, per identificare e risolvere le vulnerabilità aiuta i team a risolverle prima che gli aggressori le sfruttino.
  8. Monitoraggio e patch delle API. Come per qualsiasi applicazione o sistema software, un monitoraggio e una manutenzione regolari 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. Il monitoraggio deve includere anche la consapevolezza e la preparazione per le vulnerabilità comuni delle API, come quelle incluse nell'elenco delle prime 10 vulnerabilità dell'Open Web Application Security Project (OWASP).
  9. 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. Tenere sotto controllo l'attività delle API può essere complicato, ma l'implementazione di procedure di auditing e registrazione può far risparmiare tempo quando i team devono ripercorrere i propri passi a seguito di una violazione dei dati o di una mancanza di conformità. E poiché forniscono una registrazione del normale comportamento della rete, i registri di controllo possono anche facilitare l'individuazione di anomalie.
  10. Quote e throttling. Come il rate limiting, il throttling limita il numero di richieste che il tuo sistema riceve. Tuttavia, anziché operare a livello di utente o client, il throttling opera a livello di server/rete. I limiti e le quote di throttling tutelano la larghezza di banda del sistema di backend dell'API limitandone il numero di chiamate o messaggi al secondo. Indipendentemente dalle quote, è importante valutare il volume delle chiamate di sistema nel tempo, in quanto un volume maggiore può indicare abusi e/o errori di programmazione.
  11. 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. Inoltre, senza adeguate pratiche di documentazione, gli utenti potrebbero accidentalmente implementare una versione obsoleta o vulnerabile dell'API. La documentazione deve essere completa e coerente, e includere parametri di input chiaramente indicati, risposte previste e requisiti di sicurezza.

AI e sicurezza delle API

Tra le misure di sicurezza delle API esistenti, l'AI è emersa come un nuovo e potenzialmente potente strumento per rafforzare le API. Ad esempio, le aziende possono sfruttare l'AI per il rilevamento delle anomalie negli ecosistemi API. Una volta che un team ha stabilito una linea base del comportamento normale delle API, può utilizzare l'AI per identificare le deviazioni del sistema (come modelli di accesso insoliti o richieste ad alta frequenza), segnalare potenziali minacce e rispondere immediatamente agli attacchi.

Anche le tecnologie AI possono consentire la modellazione automatizzata delle minacce. Utilizzando i dati storici delle API, l'AI è in grado costruire modelli di minaccia per prevedere le vulnerabilità e le minacce prima che i malintenzionati possano sfruttarle. Se un'organizzazione ha a che fare con un volume elevato di attacchi basati sull'autenticazione, può utilizzare l'AI per installare metodi di autenticazione degli utenti avanzati (come il riconoscimento biometrico), rendendo più difficile per gli aggressori ottenere l'accesso senza autorizzazione.

Inoltre, gli strumenti basati sull'intelligenza artificiale possono automatizzare i protocolli di test di sicurezza delle API, identificando le lacune e i rischi di sicurezza in modo più efficiente ed efficace rispetto ai test manuali. E con la crescita degli ecosistemi API aumentano anche i protocolli di sicurezza basati sull'intelligenza artificiale. L'AI consente alle aziende di monitorare e proteggere molte API contemporaneamente, rendendo la sicurezza delle API scalabile quanto le API stesse.

Resta aggiornato sulla sicurezza delle API con IBM

L'importanza della sicurezza delle API non deve essere trascurata. Più ci addentriamo nell'era della trasformazione digitale, più l'affidamento alle API continuerà a crescere, e le minacce alla sicurezza e i malintenzionati si evolveranno di pari passo. Tuttavia, con strumenti di gestione delle API come IBM API Connect, le organizzazioni possono garantire che le loro API siano gestite, sicure e conformi durante il loro intero ciclo di vita.

Proteggere le API non è mai un'attività una tantum: le aziende devono vederlo come un processo continuo e dinamico che richiede vigilanza, abilità e apertura a nuove tecnologie e soluzioni. Utilizzando una combinazione di pratiche tradizionali di sicurezza delle API e nuovi approcci basati sull'AI come Noname Advanced API Security for IBM, le aziende possono garantire che le risorse IT rimangano il più sicure possibile, proteggendo sia il consumatore che l'azienda.

 

Autore

Chrystal R. China

Writer, automation & ITOps