La cancellazione non autorizzata è un problema di integrità o disponibilità?

26

Durante un test di un'applicazione web ho scoperto un problema di manomissione dei parametri che consente a un utente di eliminare i commenti lasciati da altri utenti. Non possono modificare il contenuto dei commenti degli altri utenti e possono solo visualizzarli laddove ciò è intenzionale.

Sto calcolando il punteggio CVSS utilizzando questo calcolatore . È abbastanza chiaro che l'impatto sulla riservatezza è nullo, ma non sono chiaro per gli altri.

Quindi la mia domanda è: ai fini di CVSSv3, la cancellazione non autorizzata è un problema di integrità o un problema di disponibilità (o entrambi)?

    
posta paj28 15.12.2016 - 14:18
fonte

5 risposte

32

Come sottolineato in questa domanda (senza risposta) , La disponibilità in CVSSv3 riguarda il rendimento del servizio web, non se i suoi dati è disponibile:

While the Confidentiality and Integrity impact metrics apply to the loss of confidentiality or integrity of data (e.g., information, files) used by the impacted component, this metric refers to the loss of availability of the impacted component itself, such as a networked service (e.g., web, database, email).

Per rispondere alla tua domanda: solo l'integrità è pertinente qui.

    
risposta data 15.12.2016 - 19:59
fonte
12

Direi che presenta un chiaro problema di disponibilità poiché l'autore dell'attacco è in grado di rimuovere completamente quella specifica risorsa e impedire l'accesso di altri utenti.

Direi anche che c'è un problema di integrità. La calcolatrice definisce un punteggio basso sull'integrità come "la modifica dei dati è possibile", che direi che è certamente il caso qui.

Per rispondere alla tua domanda: entrambi. Il tuo punteggio dipende dall'importanza di tali commenti per la tua applicazione.

    
risposta data 15.12.2016 - 14:27
fonte
4

INTEGRITY

Dopo l'eliminazione, il set di dati risultante asserirà che non è mai stato lasciato alcun commento. Questa affermazione è in errore.

    
risposta data 15.12.2016 - 22:25
fonte
1

Dipende se il tuo servizio ha procedure di backup estese. Se le tue procedure di backup tengono conto di bug e errori degli utenti che potrebbero comportare la perdita di dati e l'utente invia una richiesta per ripristinare questi dati, o scopri la vulnerabilità e sei in grado di affermare che tutti i commenti che sono stati cancellati erroneamente sono ancora disponibili nei backup, si potrebbe sostenere che si tratta di un problema di disponibilità in quanto i dati sono semplicemente temporaneamente non disponibili, finché un DBA non lo ripristina. Non molto diverso da, ad esempio, rendendo privati tutti i commenti per caso.

Solo quando i record vengono persi definitivamente diventa un problema di integrità semplice e semplice.

Inoltre, potrebbero esserci problemi di riservatezza se un utente malintenzionato può cancellare commenti che altrimenti non sono autorizzati a vedere, poiché alcuni metadati possono essere dedotti dall'esistenza (precedente) del commento, per esempio sul numero di sequenza di tale commento. Puoi ad esempio dedurre periodi di attività o inattività, la quantità di commenti ricevuti da un elemento ...

    
risposta data 15.12.2016 - 23:13
fonte
1

Non ho familiarità con CVSS, ma come amministratore di sistema, vorrei che il tuo problema fosse un problema di integrità - cioè, una parte del sistema può erroneamente influenzare un'altra parte di esso. Nel tuo caso, l'utente B è in grado di eliminare i commenti dell'utente A.

È improbabile che un amministratore di sistema sia in grado di risolvere questo problema senza alcune modifiche dell'app, ma si potrebbe immaginare un problema simile su (diciamo) un'unità di rete su un server di lavoro. L'utente A salva un documento importante, ma l'utente B lo elimina (e non lo fa mai ai backup notturni). Questo sarebbe trattato come un problema di integrità e troveremmo un modo per separare gli utenti in modo tale che l'utente A possa leggere / scrivere in un'area, ma B può solo leggere da quell'area. Non chiameremmo "disponibilità" perché l'unità di rete funzionava (come pubblicizzato) in tutto.

Questo porta anche alla domanda di "come pubblicizzato". Il mio esempio di condivisione di rete ha alcuni "termini di servizio" impliciti (dico implicito, perché non sono sicuro che qualcuno li scriva), così come la tua app web. Anche se è improbabile che molte applicazioni web che consentono a qualsiasi utente di eliminare qualsiasi contenuto di altri utenti sarebbe considerato terribilmente utile, si potrebbe sostenere che dovrebbe essere così, e che sarebbe necessario un ulteriore livello di software per separare il contenuto degli utenti. Questa è una semantica un po 'discutibile, ma può aiutare a capire (la mia percezione, almeno) di "disponibilità" rispetto a "integrità".

    
risposta data 16.12.2016 - 16:39
fonte

Leggi altre domande sui tag