Quanto è pericoloso divulgare la conoscenza sull'esistenza di oggetti a cui l'utente non è autorizzato ad accedere?

3

Sono a conoscenza del fatto che una buona progettazione della sicurezza non rivela informazioni sui dati a cui l'utente non è autorizzato ad accedere. Ciò include informazioni sull'esistenza di tali dati, ossia se a un utente non è consentito accedere a entità di un certo tipo, non dovrebbero nemmeno essere in grado di capire se esiste un'entità di quel tipo con un determinato ID.

Un progetto al momento in cui sto lavorando non lo supporta in modo coerente. Ad esempio, una richiesta a /edit/record/52 restituirà un errore HTTP 404 se il record con ID 52 non esiste e un errore HTTP 403 se esiste.

Non sono sicuro di quanto sia un problema in termini di sicurezza. Con queste informazioni da sole, gli attaccanti probabilmente non possono fare nulla. La mia preoccupazione è che questo consenta agli aggressori di aggregare informazioni sui dati nel sistema (dato che abbiamo diversi endpoint per entità diverse che manifestano questo stesso comportamento) che potrebbero quindi essere utilizzati per attaccare il sistema. Devo ammettere che non ho uno scenario di attacco che usi queste informazioni nella mia testa, ma temo che questa perdita possa almeno facilitare gli attacchi. Sfortunatamente, cambiarlo richiederebbe un po 'di refactoring della nostra architettura di sicurezza, motivo per cui non lo abbiamo fatto subito.

È un vettore di attacco comune? Dovrei essere preoccupato e sistemarlo ovunque sia possibile? Oppure la perdita di informazioni sull'esistenza di oggetti è accettabile? Potresti fornire esempi di attacchi noti o di alto profilo in cui la fuoriuscita di dati apparentemente insignificanti ha portato al compromesso di un sistema?

    
posta Chris 27.06.2016 - 10:30
fonte

1 risposta

3

La tua valutazione del rischio è corretta: la perdita di questi dati potrebbe facilitare un attacco aiutando l'utente malintenzionato a raccogliere informazioni. Quindi, anche se non esiste un rischio diretto, potrebbe accelerare la fase di raccolta delle informazioni di un attacco.

Se hai qualche preoccupazione, la solita soluzione è sanificare le tue risposte secondo necessità - potresti sostituire quelle 403 con 404 ad esempio. Ma se, come hai detto, questo è un grande sforzo: vale la pena di valutare se il leggero rischio di perdite debba essere riparato.

    
risposta data 27.06.2016 - 11:02
fonte

Leggi altre domande sui tag