Cryptonet Labs

API security: rischi e contromisure per app business critical​

Scritto da Security360HUB | Dec 16, 2024 3:34:25 PM

Le API sono uno strumento sempre più usato in contesto aziendale, per esempio per esporre dati verso terze parti, realizzare backend di mobile app, o permettere a diversi sistemi di dialogare attraverso uno strumento teoricamente più sicuro e affidabile rispetto ad altre soluzioni come l’accesso diretto a basi di dati o infrastrutture. Tuttavia, nemmeno queste sono esenti da rischi per la sicurezza: l’API security è un problema la cui importanza va di pari passo con la diffusione dell’utilizzo di questi strumenti, come base di interscambio o come fonte di monetizzazione. 

API security: i principali rischi  

Una web API può avere delle vulnerabilità, soprattutto per la loro stessa natura di strumenti aperti o comunque destinate a un accesso più ampio rispetto al resto delle risorse aziendali. Contemporaneamente, si tratta pur sempre di strumenti che espongono, anche se in parte e in modo controllato, asset aziendali. Ma quali sono i principali rischi? Per conoscerli, possiamo basarci sul lavoro dell’Open Web Application Security Project, (OWASP), che mantiene una lista universalmente riconosciuta per la sua affidabilità. La OWASP Top 10 API Security Risk, aggiornata al 2023, è praticamente una checklist al servizio di chi si occupa di API security. Ricordiamo qui brevemente i 5 principali rischi 

  • Broken object-level authorization (BOLA): si verifica quando un utente può accedere ai dati di altri utenti a causa di un processo di validazione non efficace. Tipicamente deriva da un sistema di accesso troppo permissivo o da una protezione inadeguata. 
  • Broken authentication: come suggerisce il nome, si tratta di tutte le problematiche relative a protocolli di autenticazione deboli o malfunzionanti.  
  • Broken object property level authorization: questo rischio si manifesta quando gli attaccanti possono modificare o leggere le proprietà di un oggetto a cui non hanno accesso. Può succedere se le API non effettuano adeguati controlli sulle autorizzazioni prima di ogni operazione. 
  • Unrestricted resource consumption: Concettualmente simili ai DoS, gli attacchi che sfruttano questa vulnerabilità fanno sì che l’API consumi troppe risorse di sistema, fino a causarne il blocco o il crash. Nel caso di API basate su servizi cloud, vulnerabilità di questo tipo possono anche causare problemi dal punto di vista economico, in quanto conduce a un eccessivo consumo di risorse cloud. 
  • Broken function level authorization: in pratica l’API non riesce a controllare con successo i privilegi degli utenti, permettendo anche a quelli di basso livello di effettuare operazioni riservate a gestori o amministratori.  

Le contromisure per gestire l’API security 

Anche se, come in ogni tema legato alla sicurezza, non esiste una ricetta sempre valida, è possibile identificare alcune buone pratiche comuni che permettono di contenere i rischi legati alla sicurezza delle API. Naturalmente ciascuna di quelle elencate qui, e nella guida completa, ha un set di contromisure specifiche, ma che si possono raccogliere in alcuni macro-ambiti. Vediamo quelli principali. 

Criteri di autorizzazione solidi 

Stabilire protocolli di autenticazione sufficientemente solidi e affidabili, basati su buone pratiche di settore, è il primo passo per la messa in sicurezza delle API. In aggiunta, autenticazione a più fattori e un solido sistema di archiviazione crittografata delle password possono dare un ragionevole livello iniziale di sicurezza. 

Monitoraggio e controllo 

Un altro aspetto fondamentale, mutuato dalla cybersecurity in termini più generali, è quello del controllo: a partire dall’utilizzo delle risorse e dal carico dei sistemi, fino ad arrivare alla segnalazione delle anomalie nei tentativi di accesso, ogni aspetto delle API sorvegliato costituisce una potenziale riduzione del rischio. I dati raccolti possono essere inoltre utilizzati per nutrire sistemi di controllo basati sul machine learning o altri strumenti di analisi avanzata, in grado di rilevare in modo automatico e in tempo reale anche le anomalie che possono sfuggire al controllo tradizionale. 

Controllo delle App business critical 

Abbiamo visto come le API, per la loro natura, debbano ricevere una particolare attenzione nel controllo della sicurezza, per arrivare a un monitoraggio costante delle risorse. In questo modo è possibile mettere in sicurezza le risorse aziendali, riducendo il rischio e abbreviando i tempi di mitigazione.