Perche e Importante
Le API alimentano praticamente ogni applicazione moderna. Ogni volta che un utente effettua il login, esegue un pagamento, carica un file o aggiorna un profilo, una API gestisce la richiesta. App mobile, applicazioni web single-page, dispositivi IoT e architetture a microservizi dipendono tutti dalle API per funzionare.
Questo rende le API uno degli obiettivi piu preziosi per gli attaccanti. Una vulnerabilita in una API puo esporre milioni di record utente, abilitare transazioni non autorizzate o consentire il takeover completo di un account. A differenza degli attacchi web tradizionali che prendono di mira il browser, gli attacchi API colpiscono la logica lato server che elabora ogni richiesta.
La sfida e che le API spesso espongono piu funzionalita di quanto l'interfaccia utente suggerisca. Un form web puo offrire cinque campi, ma l'API sottostante puo accettarne cinquanta. Un'app mobile puo mostrare i dati di un solo utente, ma l'API puo restituire i dati di qualsiasi utente se si cambia l'ID. La sicurezza deve essere applicata a livello di API perche i controlli frontend sono facilmente aggirabili.
Per i penetration tester e i bug bounty hunter, l'API security rappresenta una delle aree di testing a piu alto impatto. I bug API piu comuni, come Broken Object Level Authorization (BOLA/IDOR) e broken authentication, spesso non richiedono competenze avanzate di exploitation, ma solo osservazione attenta e ragionamento logico.
Concetti Fondamentali
Autenticazione vs. Autorizzazione
I fondamenti dell'API security poggiano su due pilastri: autenticazione (dimostrare chi sei) e autorizzazione (dimostrare cosa ti e permesso fare). L'autenticazione verifica l'identita attraverso credenziali, token o certificati. L'autorizzazione determina se un utente verificato ha il permesso di accedere a una risorsa specifica o eseguire un'azione specifica.
La maggior parte delle vulnerabilita API critiche sfrutta le lacune tra questi due concetti. Una API puo verificare correttamente che un utente sia autenticato (autenticazione) ma non verificare che l'utente debba accedere alla risorsa richiesta (autorizzazione).
Minacce Comuni alla Sicurezza delle API
La OWASP API Security Top 10 classifica le minacce API piu diffuse:
- Broken Object Level Authorization (BOLA/IDOR): accesso ai dati di un altro utente modificando gli identificatori delle risorse
- Broken Authentication: debolezze nella gestione dei token, nella gestione delle sessioni o nella verifica delle credenziali
- Excessive Data Exposure: API che restituiscono piu dati di quelli necessari al frontend
- Mass Assignment: API che accettano campi che gli utenti non dovrebbero poter modificare
- Broken Function Level Authorization: accesso a funzioni amministrative con credenziali non-admin
Strumenti per il Testing della Sicurezza API
I principali strumenti per il testing della sicurezza API includono:
- Burp Suite: intercettazione, modifica e replay delle richieste API
- Postman: organizzazione e invio di richieste API strutturate
- ffuf/Gobuster: scoperta di endpoint API nascosti
- jwt.io: decodifica e analisi dei token JWT
Come Proteggere le API
Una protezione efficace delle API richiede difese su piu livelli:
- Implementare controlli di autorizzazione appropriati su ogni endpoint, verificando non solo l'autenticazione ma anche i permessi a livello di oggetto e di funzione
- Restituire solo i dati necessari nelle risposte API; non inviare mai oggetti completi del database al client
- Validare tutti gli input lato server, inclusi body delle richieste, parametri di query e header
- Utilizzare rate limiting e throttling per prevenire attacchi brute force e abuso delle risorse
- Implementare una gestione appropriata dei token con scadenza, rotazione e invalidazione lato server al logout
- Mantenere un inventario delle API per tracciare tutti gli endpoint, incluse le versioni deprecate
- Registrare e monitorare tutti gli accessi API per individuare pattern anomali
Come insegniamo API Security
Nel nostro Cybersecurity Bootcamp, non imparerai solo la teoria su API Security. Praticherai con strumenti reali in laboratori pratici, guidato da professionisti del settore che usano questi concetti quotidianamente.
Trattato in:
Modulo 1: Fondamenti di Cybersecurity
360+ ore di formazione esperta • CompTIA Security+ incluso