← News DIFESA
2 min lettura 413 parole
Attacchi Informatici Difesa Glossario Vulnerabilità

IDOR

di Marco Dal Broi

Una vulnerabilità IDOR (Insecure Direct Object Reference) è una tipologia di vulnerabilità che rientra nella macrocategoria delle vulnerabilità relative al Controllo degli

IDOR

Una vulnerabilità IDOR (Insecure Direct Object Reference) è una tipologia di vulnerabilità che rientra nella macrocategoria delle vulnerabilità relative al Controllo degli Accessi. Consente ad un attaccante di aggirare alcuni controlli al fine di accedere in maniera non autorizzata a dati e/o sezioni riservate del servizio/applicazione.

IMPATTO

L’impatto di una vulnerabilità di tipo IDOR è ovviamente variabile poiché dipende da quale controllo è stato aggirato. Per fare qualche esempio:

  1. Se il controllo aggirato riguarda l’accesso e l’utilizzo di una funzione amministrativa, questo potrebbe comportare la compromissione pressoché completa di un servizio/applicazione
  2. Nel caso in cui, invece, il controllo riguardasse l’accesso ma non la possibilità di modifica di dati di altri utenti, questo comporterebbe un rischio minore per il servizio/applicazione ma un rischio elevato concernente per i singoli utenti.
TIPOLOGIE D’ATTACCO

Non esistono vere e proprie tipologie d’attacco in quanto dipende specificatamente, come già detto, dal controllo scalvacato.

ESEMPIO D’ATTACCO

Restando nell’ottica dei due scenari descritti nella sezione relativa agli impatti, si possono portare due esempi:

  1. Supponiamo che il controllo consista nella possibilità d’aggirare il controllo del permesso amministrativo necessario alla creazione di un nuovo utente mediante una richiesta POST al seguente url “https://sitowebvulnerabile.com/admin/adduser”. La vulnerabilità IDOR consiste nell’aver facilmente identificato il percorso “adduser” e aver rilevato la mancanza di controllo degli accessi: la gravità della vulnerabilità sarà influenzata, dunque, dai privilegi necessari per accedere a quel percorso URL ovverosia sarà più critica se qualunque utente, anche non autenticato, può raggiungere tale percorso e sarà meno grave (seppur comunque di gravità elevata) se accessibile esclusivamente da un utente autenticato
  2. Nel secondo caso descritto, invece, ovverosia quello relativo all’accesso ad informazioni di altri utenti, questo si verifica molto spesso quando vengono utilizzati numeri progressivi facilmente identificabili (1,2, 1000, 1001, 1345, …, 5623, etc). Supponiamo dunque che l’accesso alla pagina dei dati dell’utente sia la seguente: https://sitowebvulnerabile.com/user/123. Un attaccante proverà, senza alcun ombra di dubbio, a modificare l’identificativo dell’utente “123” con un altro valore (es. 1, 124, 111, etc).
TECNICHE DI DIFESA

Difendersi da questa tipologia d’attacco è piuttosto facile:

  1. Implementare correttamente il controllo degli accessi
  2. Provvedere ad una verifica di tutti i percorsi prima della messa in produzione del servizio/applicativo
  3. Preferire l’utilizzo di UUID randomici per l’identificazione degli utenti a numeri progressivi interi

Stai esplorando i nostri servizi?

Parla con un esperto: ti guidiamo verso la soluzione più adatta alla tua azienda.

Contattaci ora