Test di sicurezza delle API

Test di interfacce REST, GraphQL, gRPC e WebSocket alla ricerca di difetti di autorizzazione, esposizione di dati e abuso dei flussi di business.

Sicurezza delle applicazioni

Un’API espone direttamente la logica di business, senza l’interfaccia che prima la nascondeva. Gli identificativi sono in piena vista, i campi che il client non mostra mai vengono comunque accettati dal server, e ogni endpoint è a una richiesta di distanza da chiunque abbia un token.

Partiamo dalla specifica, se esiste, e la ricostruiamo dal traffico se non esiste. Ogni endpoint viene chiamato con ogni ruolo, con gli identificativi di altri utenti e tenant, con campi che non dovrebbe accettare e in un ordine che il flusso di lavoro non prevede.

01Perimetro

Che cosa testiamo

  • Autorizzazione a livello di oggetto: accesso ai record di altri utenti e tenant
  • Autorizzazione a livello di funzione: operazioni amministrative e interne
  • Autorizzazione a livello di proprietà: mass assignment ed esposizione eccessiva di dati
  • Autenticazione: chiavi API, flussi OAuth 2.0, validazione dei JWT, ciclo di vita dei token
  • Consumo di risorse: rate limit, paginazione, operazioni batch, costo delle query
  • GraphQL: introspezione, profondità e complessità, batching, autorizzazione dei campi
  • gRPC e WebSocket: autorizzazione dei metodi, validazione dei messaggi, dirottamento del canale
  • Server-side request forgery e uso non sicuro di API di terzi
  • Inventario: endpoint shadow, deprecati e di debug, disallineamento tra le versioni

02Approccio

Come si svolge il lavoro

  1. Inventario

    Confrontiamo la specifica con il traffico reale e con i client mobili e web, ed elenchiamo gli endpoint che esistono ma non sono documentati.

  2. Matrice di autorizzazione

    Ogni operazione viene chiamata con le credenziali di ogni ruolo su oggetti di altri utenti e tenant. Il risultato è una matrice di ciò che è consentito rispetto a ciò che dovrebbe esserlo.

  3. Abuso di input e schema

    Inviamo campi, tipi e strutture che lo schema non prevede: proprietà aggiuntive, query annidate, batch sovradimensionati, content type in conflitto.

  4. Abuso dei flussi di business

    Le operazioni vengono ripetute, riordinate ed eseguite in parallelo per trovare race condition e flussi che possono essere automatizzati a danno dell’azienda.

Metodologia

03

Che cosa ricevi

  • Matrice di autorizzazione: operazioni rispetto ai ruoli, comportamento atteso rispetto a quello osservato
  • Elenco degli endpoint non documentati con una raccomandazione per ciascuno
  • Una raccolta di richieste che riproduce ogni rilievo
  • Sintesi per la direzione
  • Report tecnico: ogni rilievo con prove, vettore CVSS 4.0, classe CWE e correzione
  • Chiamata di debriefing con il tuo team tecnico
  • Un retest di ogni rilievo entro 60 giorni dalla consegna del report
  • Lettera di attestazione dopo il retest

04

Che cosa ci serve da te

  • Definizioni OpenAPI, schema GraphQL o definizioni protobuf, se esistono
  • Credenziali per ogni ruolo e per almeno due tenant
  • Una descrizione dei rate limit e delle operazioni che non devono essere eseguite in massa
  • Un ambiente con dati che possono essere modificati

05Standard

Gli standard alla base del metodo

06Domande

Domande su questo servizio

Non abbiamo documentazione dell’API. È possibile testarla?

Sì. Ricostruiamo l’interfaccia dal traffico dei tuoi client e dal comportamento del server. La documentazione mancante è di per sé un rilievo, e l’inventario che costruiamo fa parte del report.

In che cosa si differenzia dal test di un’applicazione web?

L’obiettivo è l’interfaccia tra sistemi, non le pagine che una persona vede. Il lavoro si concentra sull’autorizzazione di ogni oggetto e operazione, sugli schemi e sull’abuso automatizzato: è da lì che nascono le violazioni delle API.

Testate le API interne tra microservizi?

Sì, dalla posizione di rete che definisci tu: da internet, dalla rete di un partner o dall’interno del cluster. Le API interne spesso si fidano dei chiamanti più di quanto dovrebbero.

08Richiesta

Dicci che cosa va testato

  • Verifica del sito gratuita
  • Risposta entro 1 giorno lavorativo
  • NDA prima di qualsiasi dettaglio tecnico
  • Prezzo fisso per gli incarichi a pagamento
  • Senza impegno

Richiedi una valutazione

Descrivi i sistemi e l’obiettivo. Un responsabile risponde entro 1 giorno lavorativo con domande di chiarimento e il passo successivo.

A chi rispondere

Rispondiamo a questo indirizzo, se non scegli un altro canale.

Un imprenditore individuale scrive il proprio nome.

Canale preferito
Che cosa valutare
Servizi di interesse

Scegli tutte le opzioni pertinenti.

Verifica gratuita

Verifichiamo gratuitamente il tuo sito

Se non troviamo problemi, ricevi gratuitamente anche il report. Paghi il report solo se troviamo problemi, e il suo prezzo dipende dal loro numero e dalla loro gravità.

Condizioni della verifica gratuita della sicurezza del sito

Sicurezza delle applicazioni

Infrastruttura e cloud

Simulazione di attacco

AI, Web3 e crittografia

Programmi e verifiche

Sicurezza delle applicazioni

Verifica gratuita della sicurezza del sito

Guardiamo il tuo sito dall’esterno, come fa un attaccante, e verifichiamo se può essere violato: impostazioni deboli, software non aggiornato, file esposti, moduli non sicuri. La verifica è gratuita.

Sicurezza delle applicazioni

Penetration test di applicazioni web

Proviamo a violare la tua applicazione web come farebbe un vero attaccante: accedere agli account di altre persone, leggere i dati di altri clienti, modificare prezzi o ordini. Scopri che cosa è possibile prima dei criminali.

Sicurezza delle applicazioni

Test di sicurezza delle API

Un’API è il canale attraverso cui la tua app, il tuo sito e i tuoi partner scambiano dati con i tuoi server. Verifichiamo che nessuno possa usarla per leggere o modificare dati non suoi.

Sicurezza delle applicazioni

Penetration test di applicazioni mobili

Esaminiamo la tua app iOS o Android e i server che la supportano: che cosa l’app conserva sul telefono, che cosa se ne può estrarre e se le sue richieste possono essere manomesse.

Sicurezza delle applicazioni

Revisione di sicurezza del codice

I nostri specialisti leggono il codice sorgente del tuo prodotto e trovano gli errori che portano a una violazione, compresi quelli che non si vedono dall’esterno.

Infrastruttura e cloud

Valutazione della sicurezza di cloud e Kubernetes

Verifichiamo come è configurato il tuo cloud (AWS, Azure, Google Cloud, Kubernetes): chi ha accesso a che cosa, quali dati sono aperti a internet e fin dove arriva un attaccante dopo il primo errore.

Infrastruttura e cloud

Penetration test dell’infrastruttura

Testiamo i tuoi server e la rete del tuo ufficio dall’esterno e dall’interno: se un attaccante può entrare e, una volta dentro, raggiungere il sistema di contabilità, la posta o i backup.

Infrastruttura e cloud

Valutazione della superficie di attacco esterna

Troviamo tutto ciò che la tua azienda espone su internet, compreso ciò che è stato dimenticato: vecchi siti, server di test, password trapelate. Poi mostriamo che cosa di tutto questo può essere attaccato.

Infrastruttura e cloud

Sicurezza di CI/CD e supply chain

Verifichiamo il percorso che il tuo codice compie dallo sviluppatore al cliente: server di build, librerie di terzi, chiavi di accesso. Chi controlla questo percorso controlla il tuo prodotto.

Simulazione di attacco

Operazioni di Red Team

Un’esercitazione su scala reale. Il nostro team interpreta un vero attaccante con un obiettivo, ad esempio arrivare ai dati dei clienti, e tu vedi se la tua difesa se ne accorge e lo ferma.

Simulazione di attacco

Esercitazioni di Purple Team

I nostri attaccanti e i tuoi difensori lavorano fianco a fianco: noi mostriamo una tecnica di attacco, il tuo team controlla se la vede, e le lacune nel monitoraggio vengono chiuse sul momento.

Simulazione di attacco

Test di ingegneria sociale

Testiamo le persone, non le macchine: le email di phishing, le telefonate e i messaggi che gli attaccanti usano per ottenere le password. Scopri quanti dipendenti verrebbero ingannati e su che cosa formarli.

AI, Web3 e crittografia

Test di sicurezza di AI e LLM

Se il tuo prodotto ha un chatbot o un altro modello di AI, verifichiamo se lo si può convincere a rivelare dati riservati, a infrangere le proprie regole o ad agire per conto di qualcun altro.

AI, Web3 e crittografia

Audit di smart contract

Prima che uno smart contract custodisca denaro, cerchiamo nel suo codice gli errori che permetterebbero a qualcuno di prelevare o bloccare i fondi. Una volta pubblicato il contratto, questi errori non si possono più correggere.

AI, Web3 e crittografia

Revisione della crittografia

Verifichiamo come il tuo prodotto cifra i dati e protegge le chiavi: se sono stati scelti gli algoritmi giusti e se vengono applicati correttamente. Un errore qui rende inutile la cifratura.

Programmi e verifiche

Gestione di programmi di bug bounty

Un bug bounty è un programma in cui ricercatori indipendenti cercano vulnerabilità nel tuo prodotto e vengono pagati per ognuna che trovano. Avviamo e gestiamo un programma di questo tipo per te.

Programmi e verifiche

Programma di divulgazione delle vulnerabilità (VDP)

Una pagina pubblica e una procedura che spiegano ai ricercatori come segnalarti una vulnerabilità in modo sicuro. Senza di esse le segnalazioni vanno perse o arrivano sotto forma di minacce. Impostiamo il processo e gestiamo le segnalazioni in arrivo.

Programmi e verifiche

Penetration test continuo

Invece di un test all’anno, testiamo ogni modifica significativa del tuo prodotto durante tutto l’anno, così una nuova vulnerabilità non aspetta mesi per essere trovata.

Programmi e verifiche

Penetration test per la conformità

Un penetration test organizzato in modo che un auditor, un’autorità di vigilanza o un grande cliente ne accetti il report: PCI DSS, DORA, NIS2, ISO/IEC 27001, SOC 2.

Servizi di interesse

Non so ancora

Scegli questa opzione se non sai quale servizio ti serve. Descrivi l’esigenza con parole tue e uno specialista suggerirà il servizio nella risposta.

Dominio o URL del sito o del sistema principale da testare, ad esempio app.example.com.

Che cosa va testato, perché ora, eventuali scadenze o requisiti di conformità. Niente password, chiavi o dettagli di vulnerabilità.

Conferme

Non inviare credenziali, chiavi o dettagli di una vulnerabilità tramite questo modulo. Un canale sicuro viene concordato dopo la prima risposta.

Controllo antiabuso automatico