In che modo l'IA migliorerà la sicurezza delle API

Le API sono diventate i gioielli della corona delle iniziative di trasformazione digitale delle organizzazioni, consentendo a dipendenti, partner, clienti e altre parti interessate di accedere ad applicazioni, dati e funzionalità aziendali attraverso il loro ecosistema digitale. Quindi, non c'è da meravigliarsi che gli hacker abbiano aumentato le loro ondate di attacchi contro queste risorse aziendali critiche.

Sfortunatamente, sembra che il problema peggiorerà. Gartner ha previsto che "Entro il 2022, gli abusi delle API saranno il vettore di attacco più frequente con conseguenti violazioni dei dati per le applicazioni web aziendali".

Molte aziende hanno risposto implementando soluzioni di gestione API che forniscono meccanismi, come autenticazione, autorizzazione e limitazione. Si tratta di funzionalità indispensabili per controllare chi accede alle API nell'ecosistema API e con quale frequenza. Tuttavia, nel costruire le loro strategie API interne ed esterne, le organizzazioni devono anche affrontare la crescita di attacchi più sofisticati alle API implementando una sicurezza dinamica basata sull'intelligenza artificiale (AI).

Questo articolo esamina la gestione delle API e gli strumenti di sicurezza che le organizzazioni dovrebbero incorporare per garantire sicurezza, integrità e disponibilità nei loro ecosistemi API.

Misure di sicurezza basate su regole e politiche

I controlli di sicurezza basati su regole e criteri, che possono essere eseguiti in modo statico o dinamico, sono parti obbligatorie di qualsiasi soluzione di gestione delle API. I gateway API fungono da punto di ingresso principale per l'accesso API e quindi in genere gestiscono l'applicazione delle policy ispezionando le richieste in arrivo rispetto a policy e regole relative a sicurezza, limiti di velocità, throttling, ecc. Diamo un'occhiata più da vicino ad alcuni controlli di sicurezza statici e dinamici per vedere i valore che portano.

Controlli di sicurezza statici

I controlli di sicurezza statici non dipendono dal volume della richiesta o da eventuali dati della richiesta precedente, poiché di solito convalidano i dati dei messaggi rispetto a un insieme predefinito di regole o criteri. Diverse scansioni di sicurezza statiche vengono eseguite nei gateway per bloccare SQL injection, attacchi di analisi coesiva, attacchi di espansione di entità e avvelenamento dello schema, tra gli altri.

Nel frattempo, è possibile applicare controlli statici dei criteri alla scansione del carico utile, all'ispezione dell'intestazione e ai modelli di accesso, tra gli altri. Ad esempio, SQL injection è un tipo comune di attacco eseguito utilizzando payload. Se un utente invia un payload JSON (JavaScript Object Notation), il gateway API può convalidare questa particolare richiesta rispetto allo schema JSON predefinito. Il gateway può anche limitare il numero di elementi o altri attributi nel contenuto come richiesto per proteggere da dati dannosi o modelli di testo all'interno dei messaggi.

Controlli dinamici di sicurezza

I controlli di sicurezza dinamici, a differenza delle scansioni di sicurezza statiche, controllano sempre qualcosa che varia nel tempo. Di solito ciò comporta la convalida dei dati della richiesta con le decisioni prese utilizzando i dati esistenti. Esempi di controlli dinamici includono la convalida del token di accesso, il rilevamento di anomalie e la limitazione. Questi controlli dinamici dipendono fortemente dal volume di dati inviato al gateway. A volte questi controlli dinamici si verificano al di fuori del gateway API e quindi le decisioni vengono comunicate al gateway. Diamo un'occhiata a un paio di esempi.

La limitazione e la limitazione della velocità sono importanti per ridurre l'impatto degli attacchi, perché ogni volta che gli aggressori accedono alle API, la prima cosa che fanno è leggere quanti più dati possibile. La limitazione delle richieste API, ovvero la limitazione dell'accesso ai dati, richiede che teniamo un conteggio delle richieste in arrivo entro un intervallo di tempo specifico. Se il conteggio di una richiesta supera l'importo allocato in quel momento, il gateway può bloccare le chiamate API. Con la limitazione della velocità, possiamo limitare l'accesso simultaneo consentito per un determinato servizio.

Autenticazione

L'autenticazione aiuta i gateway API a identificare ogni utente che richiama un'API in modo univoco. Le soluzioni gateway API disponibili generalmente supportano l'autenticazione di base, OAuth 2.0, la sicurezza JWT (JSON Web Token) e la sicurezza basata su certificati. Alcuni gateway forniscono anche un livello di autenticazione in aggiunta a quello per un'ulteriore convalida dei permessi a grana fine, che di solito si basa sui linguaggi di definizione delle policy in stile XACML (eXtensible Access Control Markup Language). Questo è importante quando un'API contiene più risorse che richiedono diversi livelli di controllo dell'accesso per ciascuna risorsa.

Limitazioni della sicurezza delle API tradizionali

Gli approcci basati su criteri di autenticazione, autorizzazione, limitazione della velocità e limitazione sono strumenti efficaci, ma lasciano ancora delle crepe attraverso le quali gli hacker possono sfruttare le API. In particolare, i gateway API fanno fronte a più servizi Web e le API che gestiscono vengono spesso caricate con un numero elevato di sessioni. Anche se analizzassimo tutte quelle sessioni utilizzando policy e processi, sarebbe difficile per un gateway ispezionare ogni richiesta senza ulteriore potenza di calcolo.

Inoltre, ogni API ha il proprio modello di accesso. Pertanto, un modello di accesso legittimo per un'API potrebbe indicare attività dannose per un'API diversa. Ad esempio, quando qualcuno acquista articoli tramite un'applicazione di shopping online, effettuerà più ricerche prima di effettuare l'acquisto. Pertanto, un singolo utente che invia da 10 a 20 richieste a un'API di ricerca in un breve periodo di tempo può essere un modello di accesso legittimo per un'API di ricerca. Tuttavia, se lo stesso utente invia più richieste all'API di acquisto, il pattern di accesso potrebbe indicare attività dannose, come un hacker che cerca di prelevare il più possibile utilizzando una carta di credito rubata. Pertanto, ogni modello di accesso API deve essere analizzato separatamente per determinare la risposta corretta.

Un altro fattore ancora è che un numero significativo di attacchi avvengono internamente. Qui, gli utenti con credenziali valide e accesso ai sistemi utilizzano la loro capacità di attaccare quei sistemi. Le funzionalità di autenticazione e autorizzazione basate su criteri non sono progettate per prevenire questo tipo di attacchi. 

Anche se potessimo applicare più regole e policy a un gateway API per proteggerci dagli attacchi qui descritti, l'overhead aggiuntivo sul gateway API sarebbe inaccettabile. Le aziende non possono permettersi di frustrare gli utenti reali chiedendo loro di sopportare i ritardi di elaborazione dei loro gateway API. Invece, i gateway devono elaborare richieste valide senza bloccare o rallentare le chiamate API degli utenti.

Il caso per l'aggiunta di un livello di sicurezza AI

Per colmare le crepe lasciate dalle protezioni API basate su policy, i moderni team di sicurezza necessitano di una sicurezza API basata sull'intelligenza artificiale in grado di rilevare e rispondere agli attacchi dinamici e alle vulnerabilità uniche di ciascuna API. Applicando modelli di intelligenza artificiale per ispezionare e creare rapporti su tutte le attività API, le aziende potrebbero scoprire automaticamente attività e minacce API anomale attraverso le infrastrutture API che i metodi tradizionali mancano.

Anche nei casi in cui le misure di sicurezza standard sono in grado di rilevare anomalie e rischi, possono essere necessari mesi per fare le scoperte. Al contrario, utilizzando modelli predefiniti basati su modelli di accesso degli utenti, un livello di sicurezza basato sull'intelligenza artificiale consentirebbe di rilevare alcuni attacchi quasi in tempo reale.

È importante sottolineare che i motori di intelligenza artificiale di solito funzionano al di fuori dei gateway API e comunicano loro le loro decisioni. Poiché il gateway API non deve spendere risorse per elaborare queste richieste, l'aggiunta della sicurezza AI in genere non influisce sulle prestazioni di runtime.

Integrazione della sicurezza delle API basata su policy e AI

Quando si aggiunge la sicurezza basata sull'intelligenza artificiale a un'implementazione della gestione API, ci sarà un punto di applicazione della sicurezza e un punto di decisione. In genere, queste unità sono indipendenti a causa dell'elevata potenza di calcolo richiesta, ma non si dovrebbe consentire alla latenza di influire sulla loro efficienza.

Il gateway API intercetta le richieste API e applica vari criteri. Ad esso è collegato il punto di applicazione della sicurezza, che descrive gli attributi di ogni richiesta (chiamata API) al punto di decisione, richiede una decisione di sicurezza e quindi applica tale decisione nel gateway. Il punto di decisione, alimentato dall'intelligenza artificiale, apprende continuamente il comportamento di ogni modello di accesso API, rileva comportamenti anomali e contrassegna diversi attributi della richiesta.

Ci dovrebbe essere un'opzione per aggiungere criteri al punto di decisione secondo necessità e richiamare questi criteri, che possono variare da API a API, durante il periodo di apprendimento. Qualsiasi policy dovrebbe essere definita dal team di sicurezza una volta comprese a fondo le potenziali vulnerabilità di ciascuna API che intendono esporre. Tuttavia, anche senza il supporto di policy esterne, la tecnologia dei punti decisionali e dei punti di applicazione adattivi e basati sull'intelligenza artificiale finirà per apprendere e prevenire alcuni degli attacchi complessi che non possiamo rilevare con le policy.

Un altro vantaggio di avere due componenti separati per il punto di applicazione della sicurezza e il punto di decisione è la capacità di integrarsi con le soluzioni di gestione delle API esistenti. Un semplice miglioramento dell'interfaccia utente e un'estensione personalizzata potrebbero integrare il punto di applicazione della sicurezza nell'editore e nel gateway dell'API. Dall'interfaccia utente, l'editore dell'API può scegliere se abilitare la sicurezza AI per l'API pubblicata, insieme a eventuali criteri speciali necessari. Il punto di applicazione della sicurezza estesa pubblicherebbe gli attributi della richiesta nel punto di decisione e limiterebbe l'accesso all'API in base alla risposta del punto di decisione.

Tuttavia, la pubblicazione di eventi al punto di decisione e la limitazione dell'accesso in base alla sua risposta richiederà tempo e dipenderà fortemente dalla rete. Pertanto, è meglio implementarlo in modo asincrono con l'aiuto di un meccanismo di memorizzazione nella cache. Ciò influirà un po 'sulla precisione, ma se si considera l'efficienza del gateway, l'aggiunta di un livello di sicurezza AI contribuirà in misura minima alla latenza complessiva.

Sfide a livello di sicurezza basate sull'intelligenza artificiale

Naturalmente, i vantaggi non arrivano senza costi. Sebbene un livello di sicurezza basato sull'intelligenza artificiale offra un livello aggiuntivo di protezione API, presenta alcune sfide che i team di sicurezza dovranno affrontare.

  • Overhead aggiuntivo . Il livello di sicurezza AI aggiuntivo aggiunge un po 'di overhead al flusso di messaggi. Pertanto, le soluzioni di mediazione dovrebbero essere abbastanza intelligenti da gestire la raccolta e la pubblicazione di informazioni al di fuori del flusso di mediazione principale.
  • Falsi positivi . Un volume elevato di falsi positivi richiederà un'ulteriore revisione da parte di professionisti della sicurezza. Tuttavia, con alcuni algoritmi AI avanzati, possiamo ridurre il numero di falsi positivi attivati.
  • Mancanza di fiducia . Le persone si sentono a disagio quando non capiscono come è stata presa una decisione. Dashboard e avvisi possono aiutare gli utenti a visualizzare i fattori alla base di una decisione. Ad esempio, se un avviso indica chiaramente che un utente è stato bloccato per l'accesso al sistema a una velocità anormale di oltre 1.000 volte in un minuto, le persone possono comprendere e fidarsi della decisione del sistema.
  • Vulnerabilità dei dati . La maggior parte delle soluzioni di intelligenza artificiale e apprendimento automatico si basa su enormi volumi di dati, che sono spesso sensibili e personali. Di conseguenza, queste soluzioni potrebbero diventare soggette a violazioni dei dati e furti di identità. La conformità al GDPR (Regolamento generale sulla protezione dei dati) dell'Unione Europea aiuta a mitigare questo rischio ma non lo elimina del tutto.
  • Limitazioni dei dati etichettati . I sistemi di intelligenza artificiale più potenti vengono addestrati attraverso l'apprendimento supervisionato, che richiede dati etichettati e organizzati per renderli comprensibili dalle macchine. Ma i dati etichettati hanno dei limiti e la futura creazione automatizzata di algoritmi sempre più difficili non farà che aggravare il problema.
  • Dati difettosi . L'efficacia di un sistema di intelligenza artificiale dipende dai dati su cui viene addestrato. Troppo spesso, dati errati sono associati a pregiudizi etnici, comuni, di genere o razziali, che possono influenzare le decisioni cruciali sui singoli utenti.

Dato il ruolo fondamentale delle API nelle aziende odierne, stanno diventando sempre più bersagli di hacker e utenti malintenzionati. I meccanismi basati su criteri, come l'autenticazione, l'autorizzazione, la scansione del payload, la convalida dello schema, la limitazione e la limitazione della velocità, sono requisiti di base per l'implementazione di una strategia di sicurezza API di successo. Tuttavia, solo aggiungendo modelli di intelligenza artificiale per ispezionare e segnalare continuamente tutte le attività API, le aziende saranno protette dagli attacchi alla sicurezza più sofisticati che emergono oggi.

Sanjeewa Malalgoda è architetto software e direttore associato dell'ingegneria presso WSO2, dove guida lo sviluppo di WSO2 API Manager. Lakshitha Gunasekara è un ingegnere del software nel team WSO2 API Manager. 

-

Il New Tech Forum offre un luogo per esplorare e discutere la tecnologia aziendale emergente in profondità e ampiezza senza precedenti. La selezione è soggettiva, in base alla nostra scelta delle tecnologie che riteniamo importanti e di maggiore interesse per i lettori. non accetta materiale di marketing per la pubblicazione e si riserva il diritto di modificare tutti i contenuti forniti. Invia tutte le richieste a  [email protected] .