Opsio - Cloud and AI Solutions

API Test di sicurezza: una guida completa per le applicazioni moderne

Published: ·Updated: ·Reviewed by Opsio Engineering Team
Fredrik Karlsson

Le API sono la spina dorsale delle applicazioni moderne e la superficie più attaccata.Oltre l'80% del traffico web ora scorre attraverso le API e gli attacchi API sono aumentati del 700% negli ultimi anni. I test di sicurezza API non sono più facoltativi: sono essenziali per qualsiasi organizzazione che espone le API a partner, applicazioni mobili o Internet.

Punti chiave

  • Le API presentano vulnerabilità uniche:La Top 10 della sicurezza OWASP API copre le minacce specifiche per le API che i tradizionali test web non riescono a cogliere.
  • L'autorizzazione a livello di oggetto non funzionante (BOLA) è il rischio n. 1 API:Gli aggressori manipolano gli ID oggetto nelle richieste API per accedere ai dati di altri utenti.
  • Le lacune nell'autenticazione e nella limitazione della velocità sono pervasive:Molte API non dispongono di un'adeguata convalida dei token, limitazione della velocità e prevenzione degli abusi.
  • Sono richiesti test automatizzati e manuali:Gli scanner automatizzati rilevano i difetti API comuni. I test manuali rilevano le vulnerabilità della logica aziendale e i complessi bypass delle autorizzazioni.

OWASP API Top 10 della sicurezza (2023)

#VulnerabilitàDescrizioneApproccio al test
API1Autorizzazione a livello di oggetto interrottaAccesso agli oggetti di altri utenti modificando gli IDTestare ogni endpoint con token utente diversi, enumerare gli ID oggetto
API2Autenticazione interrottaGenerazione di token debole, convalida mancante, flussi non sicuriAnalisi dei token, forza bruta, manipolazione dei flussi
API3Autorizzazione del livello di proprietà dell'oggetto danneggiatoAssegnazione di massa, esposizione eccessiva dei dati nelle risposteAggiungi campi imprevisti nelle richieste, analizza i dati di risposta
API4Consumo illimitato di risorseLimiti di velocità, impaginazione o dimensioni mancantiTest di inondazione, test di carico utile di grandi dimensioni, bypass dell'impaginazione
API5Autorizzazione del livello di funzione interrottaAccesso agli endpoint di amministrazione come utente normaleTestare gli endpoint di amministrazione con token non di amministrazione
API6Accesso illimitato ai flussi aziendali sensibiliAbuso automatizzato delle funzionalità aziendaliSimulazione bot, test automatizzati del flusso
API7Falsificazione delle richieste lato server (SSRF)API recupera gli URL controllati dagli aggressoriManipolazione dei parametri URL, sondaggio della rete interna
API8Configurazione errata della sicurezzaErrori dettagliati, configurazione errata CORS, metodi non necessariScansione della configurazione, analisi dell'intestazione
API9Gestione impropria dell'inventarioEndpoint API deprecati, non documentati o shadowAPI scoperta, confronto documentazione
API10Consumo non sicuro delle APIAffidarsi alle risposte API di terze parti senza convalidaManipolazione della risposta, spoofing API a monte

API Metodologia di test di sicurezza

Scoperta e revisione della documentazione

Inizia mappando tutti gli endpoint API. Confronta la documentazione API (specifiche OpenAPI/Swagger) con il comportamento reale. Utilizza strumenti come Burp Suite, Postman e script personalizzati per scoprire endpoint non documentati. Le API shadow, ovvero endpoint esistenti ma non documentati, sono comuni e spesso mancano di controlli di sicurezza perché sono state dimenticate.

Test di autenticazione

Testare i meccanismi di autenticazione API: convalida del token JWT (i token possono essere manipolati, contraffatti o riprodotti?), flussi OAuth (i parametri di stato vengono applicati? Gli URI di reindirizzamento possono essere manipolati?), gestione delle chiavi API (le chiavi hanno un ambito corretto? Possono essere estratte dal codice lato client?) e gestione della sessione (i token scadono? Possono essere revocati?).

Test di autorizzazione

Testa ogni endpoint con diversi livelli di privilegio. Sostituisci gli ID utente, gli ID tenant e gli ID oggetto nelle richieste per verificare i controlli di accesso. Testare l'autorizzazione orizzontale (l'utente A che accede ai dati dell'utente B) e l'autorizzazione verticale (l'utente normale che accede agli endpoint di amministrazione). Utilizza l'automazione per testare sistematicamente tutti gli endpoint: il solo test manuale non riesce a raggiungere gli endpoint nelle API di grandi dimensioni.

Convalida dell'input e test di iniezione

Testare tutti i parametri di input per le vulnerabilità di injection: SQL injection nei parametri di query, NoSQL injection nei corpi JSON, command injection negli endpoint di elaborazione e GraphQL injection specifica (query nidificate, abuso di introspezione). Testa sia con input non validi (fuzzing) che con payload accuratamente realizzati mirati a tipi di iniezione specifici.

API Strumenti di test di sicurezza

  • Suite Burp:Test di sicurezza completi API con funzionalità proxy, scanner e automazione.
  • Postino:Piattaforma di sviluppo API con raccolte di test di sicurezza e script di test automatizzati.
  • OWASP ZAP:Scanner di sicurezza API gratuito con importazione OpenAPI e scansione automatizzata.
  • Nuclei:Scanner basato su modelli con modelli specifici di API per vulnerabilità comuni.
  • Arjun:Strumento di rilevamento dei parametri HTTP per trovare parametri API nascosti.
  • GraphQL Viaggiatore:GraphQL API strumento di visualizzazione e introspezione.

Come Opsio testa la sicurezza API

  • OWASP API Top 10 di copertura:Ogni test API copre tutte le 10 categorie con tecniche di test specifiche della piattaforma.
  • Approccio automatizzato + manuale:Scansione automatizzata per vulnerabilità note, test manuali per logica aziendale e difetti di autorizzazione complessi.
  • GraphQL competenza:Test specializzati per le API GraphQL tra cui introspezione, attacchi con query nidificate e abuso di query batch.
  • CI/CD integrazione:Aiutiamo a integrare i test di sicurezza API automatizzati nella pipeline di distribuzione per una garanzia continua.

Domande frequenti

In che modo i test di sicurezza API differiscono dai test delle applicazioni web?

Il test delle applicazioni Web si concentra sull'interfaccia utente e sulle interazioni basate sul browser. Il test API prende di mira direttamente il livello API: testare endpoint, parametri, token di autenticazione e serializzazione dei dati che l'interfaccia utente potrebbe non esporre. Molte vulnerabilità esistono solo al livello API e non possono essere scoperte solo attraverso i test dell'interfaccia utente.

Dovrei testare le API interne o solo quelle rivolte al pubblico?

Entrambi. Le API pubbliche sono direttamente esposte agli aggressori e devono essere testate prima. Le API interne sono spesso meno sicure perché gli sviluppatori presuppongono la protezione a livello di rete. Se un utente malintenzionato ottiene l'accesso interno (tramite phishing, compromissione VPN o errata configurazione del cloud), le API interne diventano la superficie di attacco per lo spostamento laterale e il furto di dati.

Come posso proteggere specificatamente le API GraphQL?

GraphQL introduce rischi unici: profondità di query illimitata (negazione di servizio), divulgazione di introspezione (perdita di schemi) e abuso di query batch (aggiramento dei limiti di velocità). Proteggi GraphQL disabilitando l'introspezione nella produzione, implementando limiti di profondità e complessità delle query, applicando l'autorizzazione per campo e limitando la velocità in base al costo delle query anziché al conteggio delle richieste.

About the Author

Fredrik Karlsson
Fredrik Karlsson

Group COO & CISO at Opsio

Operational excellence, governance, and information security. Aligns technology, risk, and business outcomes in complex IT environments

Editorial standards: This article was written by a certified practitioner and peer-reviewed by our engineering team. We update content quarterly to ensure technical accuracy. Opsio maintains editorial independence — we recommend solutions based on technical merit, not commercial relationships.

Want to Implement What You Just Read?

Our architects can help you turn these insights into action for your environment.