Le porte che un estraneo prova per prime, in ordine

Al primo posto dei difetti più sfruttati non c'è un virus né una tecnica sofisticata: c'è un utente che arriva dove non dovrebbe. E si previene sapendo dove guardare.

8 minTitolari, direzione, chi possiede un'applicazione

Cosa portare a casa

Risposta breve

Chi studia le applicazioni compromesse tiene una classifica pubblica dei difetti più frequenti e più sfruttati: si chiama OWASP Top 10, è aggiornata da una fondazione indipendente e nell'edizione 2021 mette al primo posto il «controllo degli accessi rotto» — cioè utenti che raggiungono dati o funzioni che non gli spettano. Sapere quali sono le prime porte che vengono provate permette di controllarle nell'ordine giusto.

Esiste una classifica pubblica e indipendente dei difetti più sfruttati: la OWASP Top 10. Non è un'opinione, è basata sui dati.

Il difetto numero uno non è tecnico e non richiede strumenti: è un utente che arriva a dati o funzioni non suoi.

La maggior parte delle porte si controlla senza attrezzatura speciale: serve sapere quali sono e provarle una per una.

Chi vi attacca legge la stessa classifica: la conosce già. L'unico modo di essere in vantaggio è controllarla prima voi.

Data Hub

CONSOO

Torna alle guide

Perché esiste una classifica, e perché conviene fidarsene

La sicurezza applicativa sembra un campo infinito, in cui ogni sistema ha i suoi problemi. In realtà i difetti si ripetono: gli stessi errori compaiono in applicazioni diverse, scritte da persone diverse, perché nascono dagli stessi modi di ragionare. Una fondazione indipendente, OWASP, raccoglie i dati da migliaia di applicazioni reali e pubblica ogni pochi anni una classifica dei dieci difetti più diffusi e più sfruttati. È il punto di partenza di chiunque faccia questo lavoro seriamente — e anche di chi lo fa per rubare.

Le porte, in ordine di quanto vengono provate

Le voci più rilevanti della OWASP Top 10 (ed. 2021), tradotte
Il difettoCosa significa in pratica
Controllo degli accessi rottoUn utente arriva a dati o funzioni non suoi: vede l'ordine di un altro, apre una schermata da amministratore. Il numero uno.
Errori di configurazioneUn pannello lasciato aperto, un messaggio d'errore che rivela troppo, una password di default mai cambiata.
Componenti con falle noteUna libreria vecchia con una vulnerabilità già pubblicata, che chi attacca conosce prima di voi.
Errori di autenticazioneLogin senza limite ai tentativi, password deboli accettate, sessioni che non scadono.
IniezioneDati inseriti dall'utente che l'applicazione esegue come fossero comandi, invece di trattarli come testo.

Le prime quattro righe non sono attacchi sofisticati: sono cose che l'applicazione avrebbe dovuto controllare e non controlla. Si trovano provando, non con strumenti costosi.

Il numero uno merita una frase a parte

Che al primo posto ci sia il controllo degli accessi rotto dice una cosa importante: il difetto più diffuso e più dannoso non è un buco tecnico, è una dimenticanza di significato. L'applicazione sa chi siete — avete fatto il login — ma quando chiedete un dato non verifica che quel dato sia vostro. È il difetto del cliente che, cambiando un numero nell'indirizzo, apre i documenti di un altro cliente. Lo trattiamo a parte in una guida dedicata, perché è quello che troviamo più spesso nei portali e nei gestionali, ed è anche quello che potete verificare da soli in dieci minuti.

Cosa potete controllare senza chiamare nessuno

Le porte che si provano da soli

  • Un cliente riesce a vedere i dati di un altro cambiando un numero? (La guida sull'IDOR spiega come verificarlo.)
  • C'è un limite ai tentativi di login, o si può provare la password all'infinito?
  • I componenti e le librerie sono aggiornati, o fermi alla versione del rilascio?
  • Esistono pannelli di amministrazione raggiungibili senza essere loggati come amministratore?
  • I messaggi d'errore mostrano dettagli tecnici (versioni, percorsi, righe di codice) a chi non dovrebbe vederli?

Risorse collegate utili

Domande frequenti

La OWASP Top 10 vale anche per la mia app, che è piccola?

Sì, e vale soprattutto per le app piccole, perché nascono dagli stessi errori di ragionamento a prescindere dalle dimensioni. Un'app piccola ha meno funzioni, quindi meno porte, ma le porte che ha sono spesso le stesse della classifica. La dimensione riduce il numero, non il tipo.

Se aggiorno tutto, sono a posto sui componenti con falle note?

Aggiornare chiude quella specifica voce, ed è tra le cose più efficaci che potete fare. Ma è un lavoro continuo, non una tantum: le falle note a inizio anno non sono quelle di fine anno. E non tocca le altre voci della classifica, che dipendono da come l'applicazione è scritta, non da quanto è aggiornata.

Serve uno strumento a pagamento per controllare queste cose?

Per le prime voci no: si provano con un browser e due account di prova. Gli strumenti servono a controllare in modo sistematico e ripetibile molte porte insieme, e a trovare i componenti con falle note più in fretta. Per una prima fotografia, però, il fai-da-te dice già molto.

Perché l'iniezione, di cui si parla sempre, non è più al primo posto?

Perché gli strumenti di sviluppo moderni la prevengono meglio di un tempo, quindi è diventata meno frequente — pur restando grave dove c'è. Il controllo degli accessi, invece, dipende da una decisione che va presa a mano in ogni punto dell'app, e per questo continua a essere dimenticato. La classifica segue i dati, e i dati sono cambiati.

Volete controllare tutte le porte, non solo le prime che si provano da soli? Un test di sicurezza segue la classifica per intero, sulla vostra applicazione. Parliamone in una consulenza gratuita.

CONSOO trasforma idee su software, AI e integrazioni in un percorso tecnico chiaro per PMI.

  • 30 minuti, online
  • Nessun impegno
  • Analisi del tuo caso reale
  • Risposta entro 24 ore