arrow_backTorna alle field notes
WEB SECURITY Pubblicato 7 Jul 2026

Approfondimento: Fondamenti della Sicurezza API

Una breakdown pratica della sicurezza API: rischi chiave, OWASP API Top 10, e difese che ogni developer dovrebbe conoscere.

Le API sono il tessuto connettivo del software moderno, alimentando app mobile, microservizi e integrazioni di terze parti. Poiché espongono direttamente la logica applicativa e i dati, le API sono diventate un bersaglio preferito per gli attaccanti. La sicurezza API è la disciplina di progettare, testare e difendere queste interfacce contro gli abusi.

Cosa Rende le API Diverse

A differenza delle pagine web tradizionali, le API comunicano attraverso formati dati strutturati come JSON o XML, spesso con una supervisione umana minima. Ciò significa:

  • Superficie di attacco più ampia per endpoint — ogni rotta API è essenzialmente una mini-applicazione a sé stante con la sua autenticazione, validazione e logica di business.
  • Fiducia machine-to-machine — i servizi spesso assumono che se una richiesta ha un token valido, è legittima, il che gli attaccanti sfruttano tramite furto di token o replay.
  • Cambiamento rapido — le API evolvono velocemente, e gli endpoint "shadow" non documentati o deprecati spesso sfuggono alle revisioni di sicurezza.

Classi di Vulnerabilità Comuni

L'OWASP API Security Top 10 cattura i problemi più prevalenti visti nei sistemi di produzione:

  • Broken Object Level Authorization (BOLA) — un utente può accedere ai dati di un altro utente semplicemente cambiando un ID nella richiesta, perché il server non verifica la proprietà.
  • Broken Authentication — gestione debole dei token, identificatori di sessione prevedibili, o mancanza di rate limiting sugli endpoint di login.
  • Excessive Data Exposure — le API restituiscono oggetti di database completi e si affidano al client per filtrare i campi sensibili.
  • Lack of Resources & Rate Limiting — l'assenza di throttling permette agli attaccanti di fare brute-force delle credenziali o esaurire le risorse backend.
  • Broken Function Level Authorization — gli utenti normali raggiungono endpoint solo amministratori perché i controlli dei ruoli mancano o sono incoerenti.
  • Mass Assignment — accettare campi forniti dal client (come isAdmin) direttamente nei modelli di database senza filtrare.
  • Security Misconfiguration — messaggi di errore verbosi, endpoint di debug esposti, o header di sicurezza mancanti.
  • Injection — input non sanitizzato che raggiunge SQL, NoSQL, o interpreti di comandi attraverso parametri API.

Essenziali di Autenticazione e Autorizzazione

L'autenticazione conferma chi sta chiamando l'API; l'autorizzazione conferma cosa è autorizzato a fare. Una forte sicurezza API richiede che entrambi i livelli siano applicati indipendentemente, su ogni richiesta:

  • Usa protocolli standard come OAuth 2.0 o OpenID Connect piuttosto che schemi di token personalizzati.
  • Valida correttamente i JWT — controlla firma, scadenza, issuer e audience claims; non fidarsi mai di un token non firmato o alg: none.
  • Applica controlli a livello di oggetto lato server: ogni richiesta che fa riferimento a un ID risorsa deve verificare che il chiamante effettivamente possieda o abbia diritti su quella risorsa.
  • Applica il principio del privilegio minimo alle chiavi API e ai service account, limitandoli strettamente piuttosto che concedere accesso ampio.

Validazione dell'Input e Controllo dell'Output

Tratta ogni parametro API — inclusi header, query string e campi JSON annidati — come input non fidato:

  • Valida tipi di dati, lunghezze e formati usando validazione schema (ad esempio JSON Schema o validatori basati su OpenAPI).
  • Usa allowlist per i campi attesi durante la deserialization per prevenire attacchi di mass assignment.
  • Restituisci solo i campi che un client ha effettivamente bisogno; evita di scaricare interi oggetti interni nelle risposte.
  • Standardizza le risposte di errore in modo che non rivelino stack trace, percorsi interni o dettagli del database.

Rate Limiting, Monitoring e Logging

Ancora le API ben autenticate hanno bisogno di protezione contro pattern di abuso:

  • Implementa rate limiting per-utente e per-IP per contenere i tentativi di brute-force e scraping.
  • Registra gli eventi di autenticazione, i fallimenti di autorizzazione e i pattern di accesso inusuali per analisi successive.
  • Monitora le anomalie come picchi improvvisi di richieste verso endpoint sensibili o accesso da geografie inaspettate.
  • Mantieni un inventario API accurato — non puoi proteggere ciò che non sai che esiste, quindi traccia e ritira gli endpoint deprecati o shadow.

Approcci di Testing Pratico

Securizzare le API è un processo continuo, non un audit una tantum:

  • Incorpora strumenti specifici per API (come collezioni Postman abbinate a security scanner) nelle pipeline CI/CD.
  • Esegui testing manuale per difetti di autorizzazione, poiché gli scanner automatizzati spesso tralasciano problemi BOLA e di logica di business.
  • Mantieni sincronizzata la documentazione API (specifiche OpenAPI/Swagger) con l'implementazione effettiva per evitare blind spot durante il testing.
  • Rivedi le integrazioni API di terze parti con lo stesso scrutinio del tuo codice, poiché un'API partner compromessa può diventare un vettore di attacco.

Considerazioni Finali

La sicurezza API mescola i principi classici di sicurezza delle applicazioni web con le sfide uniche della comunicazione machine-to-machine su larga scala. Ottenere l'autorizzazione corretta, validare ogni input e mantenere visibilità sulla tua superficie API sono i fondamenti di una difesa resiliente.

Esplora i segmenti correlati di Korra Studio sulla sicurezza delle applicazioni web e il design dell'autenticazione per costruire una comprensione più profonda e pratica di questi concetti.

Scritto con assistenza AI, revisionato e pubblicato da Michal Pilch (CISSP), Korra Studio.

Pronto per andare oltre?

Questa è una nota dalla knowledge base di Korra Studio — la piattaforma abbina ogni argomento a mentoring 1-to-1.

Inizia gratisarrow_forward