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.
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.
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.
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.
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.
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.