Barra dei bug di sicurezza SDL (esempio)

Nota: questo documento di esempio è solo a scopo illustrativo. Il contenuto presentato di seguito illustra i criteri di base da considerare durante la creazione di processi di sicurezza. Non è un elenco completo di attività o criteri e non deve essere considerato come tale.

Fare riferimento alle definizioni dei termini in questa sezione.

Server

Fare riferimento alla matrice Denial of Service per una matrice completa di scenari DoS del server.

La barra del server in genere non è appropriata quando l'interazione dell'utente fa parte del processo di sfruttamento. Se esiste una vulnerabilità critica solo nei prodotti server e viene sfruttata in modo da richiedere l'interazione dell'utente e comporta la compromissione del server, la gravità può essere ridotta da Critico a Importante in base alla definizione DI DATI/PULIZIA dell'interazione utente estesa presentata all'inizio del pivot di gravità del client.

Server

Critico

Riepilogo del server: worm di rete o casi inevitabili in cui il server è "di proprietà".

  • Elevazione dei privilegi: possibilità di eseguire codice arbitrario o ottenere più privilegi rispetto a quelli autorizzati

    • Utente anonimo remoto

      • Esempi:

        • Accesso non autorizzato al file system: scrittura arbitraria nel file system

        • Esecuzione di codice arbitrario

        • SQL injection (che consente l'esecuzione del codice)

    • Tutte le violazioni di accesso in scrittura (AV), gli AV in lettura sfruttabili o gli overflow integer in codice chiamabile in remoto

Importante

Riepilogo del server: scenari critici non predefiniti o casi in cui esistono mitigazioni che consentono di evitare scenari critici.

  • Denial of Service: deve essere "facile da sfruttare" inviando una piccola quantità di dati o essere altrimenti indotti rapidamente

    • Anonimo

      • Operazioni persistenti

        • Esempi:

          • L'invio di un singolo pacchetto TCP dannoso genera un BSoD (Blue Screen of Death)

          • Invio di un numero ridotto di pacchetti che causano un errore del servizio

      • DoS temporanei con amplificazione

        • Esempi:

          • Invio di un numero ridotto di pacchetti che causa l'inutilizzabilità del sistema per un periodo di tempo

          • Un server Web (ad esempio IIS) inattivo per un minuto o più

          • Un singolo client remoto che utilizza tutte le risorse disponibili (sessioni, memoria) in un server stabilendo le sessioni e mantenendole aperte

    • Autenticato

      • DoS persistente rispetto a un asset di valore elevato

        • Esempio:

          • Invio di un numero ridotto di pacchetti che causano un errore del servizio per un asset di valore elevato nei ruoli del server (server di certificati, server Kerberos, controller di dominio), ad esempio quando un utente autenticato dal dominio può eseguire un DoS in un controller di dominio

  • Elevazione dei privilegi: possibilità di eseguire codice arbitrario o di ottenere più privilegi di quanto previsto

    • Utente autenticato remoto

    • Utente autenticato locale (Terminal Server)

      • Esempi:

        • Accesso non autorizzato al file system: scrittura arbitraria nel file system

        • Esecuzione di codice arbitrario

    • Tutti gli AV di scrittura, gli AV in lettura sfruttabili o gli overflow integer nel codice a cui è possibile accedere da utenti autenticati remoti o locali che non sono amministratori (gli scenari Amministrazione istrator non presentano problemi di sicurezza per definizione, ma sono ancora problemi di affidabilità.

  • Divulgazione di informazioni (mirato)

    • Casi in cui l'autore dell'attacco può individuare e leggere informazioni da qualsiasi posizione del sistema, incluse le informazioni di sistema che non sono state progettate o progettate per essere esposte

      • Esempi:

        • Divulgazione di informazioni personali

          • Divulgazione di informazioni personali (indirizzi di posta elettronica, numeri di telefono, informazioni sulla carta di credito)

          • L'utente malintenzionato può raccogliere informazioni personali senza il consenso dell'utente o in modo non protetto

  • Spoofing

    • Un'entità (computer, server, utente, processo) è in grado di mascherare comeentità specifica (utente o computer) di propria scelta.

      • Esempi:

        • Il server Web usa l'autenticazione del certificato client (SSL) in modo non corretto per consentire a un utente malintenzionato di essere identificato come qualsiasi utente di propria scelta

        • Il nuovo protocollo è progettato per fornire l'autenticazione client remota, ma esiste un difetto nel protocollo che consente a un utente remoto malintenzionato di essere visto come un utente diverso della propria scelta

  • Manomissione

    • Modifica di tutti i dati "asset di valore elevato" in uno scenario comune o predefinito in cui la modifica persiste dopo il riavvio del software interessato

    • Modifica permanente o permanente di qualsiasi utente o dati di sistema usati in uno scenario comune o predefinito

      • Esempi:

        • Modifica dei file di dati o dei database dell'applicazione in uno scenario comune o predefinito, ad esempio l'inserimento SQL autenticato

        • Avvelenamento da cache proxy in uno scenario comune o predefinito

        • Modifica delle impostazioni del sistema operativo o dell'applicazione senza il consenso dell'utente in uno scenario comune o predefinito

  • Funzionalità di sicurezza: interruzione o esclusione di qualsiasi funzionalità di sicurezza fornita.
    Si noti che una vulnerabilità in una funzionalità di sicurezza è valutata "Importante" per impostazione predefinita, ma la classificazione può essere modificata in base ad altre considerazioni, come documentato nella barra dei bug SDL.

    • Esempi:

      • Disabilitazione o bypass di un firewall senza informare gli utenti o ottenere il consenso

      • Riconfigurare un firewall e consentire le connessioni ad altri processi

Moderato
  • Denial of Service

    • Anonimo

      • DoS temporaneo senza amplificazione in un'installazione predefinita/comune.

        • Esempio:

          • Più client remoti che usano tutte le risorse disponibili (sessioni, memoria) in un server stabilendo sessioni e mantenendole aperte

    • Autenticato

      • Operazioni persistenti

        • Esempio:

          • L'utente connesso a Exchange può inviare un messaggio di posta elettronica specifico e arrestare l'arresto anomalo di Exchange Server e l'arresto anomalo non è dovuto a un av di scrittura, av di lettura sfruttabile o overflow intero

      • DoS temporanei con amplificazione in un'installazione predefinita/comune

        • Esempio:

          • L'utente ordinario di SQL Server esegue una stored procedure installata da alcuni prodotti e utilizza il 100% della CPU per alcuni minuti

  • Divulgazione di informazioni (mirato)

    • Casi in cui l'utente malintenzionato può leggere facilmente informazioni sul sistema da posizioni specifiche, incluse le informazioni di sistema, che non sono state progettate/progettate per essere esposte.

      • Esempio:

        • Divulgazione mirata di dati anonimi

        • Divulgazione mirata dell'esistenza di un file

        • Divulgazione mirata di un numero di versione del file

  • Spoofing

    • Un'entità (computer, server, utente, processo) è in grado di mascherare come un'entità casuale diversa che non può essere selezionata in modo specifico.

      • Esempio:

        • Il client esegue correttamente l'autenticazione al server, ma il server esegue una sessione da un altro utente casuale che si connette contemporaneamente al server

  • Manomissione

    • Modifica permanente o permanente di qualsiasi utente o dati di sistema in uno scenario specifico

      • Esempi:

        • Modifica di file di dati o database dell'applicazione in uno scenario specifico

        • Avvelenamento da cache proxy in uno scenario specifico

        • Modifica delle impostazioni del sistema operativo o dell'applicazione senza il consenso dell'utente in uno scenario specifico

    • Modifica temporanea dei dati in uno scenario comune o predefinito che non persiste dopo il riavvio del sistema operativo/applicazione/sessione

  • Garanzie di sicurezza:

    • Una garanzia di sicurezza è una funzionalità di sicurezza o un'altra funzionalità/funzione del prodotto che i clienti si aspettano di offrire protezione della sicurezza. Le comunicazioni hanno inviato messaggi (in modo esplicito o implicito) che i clienti possono affidarsi all'integrità della funzionalità ed è ciò che lo rende una garanzia di sicurezza. I bollettini sulla sicurezza verranno rilasciati per un breve periodo di garanzia di sicurezza che compromette la dipendenza o la fiducia del cliente.

      • Esempi:

        • I processi in esecuzione con privilegi "utente" normali non possono ottenere privilegi di "amministratore", a meno che non siano state fornite password/credenziali di amministratore tramite metodi intenzionalmente autorizzati.

        • JavaScript basato su Internet in esecuzione in Internet Explorer non può controllare nulla del sistema operativo host, a meno che l'utente non abbia modificato in modo esplicito le impostazioni di sicurezza predefinite.

Ridotto
  • Divulgazione di informazioni (non destinazione)

    • Informazioni sul runtime

      • Esempio:

        • Perdita di memoria heap casuale

  • Manomissione

    • Modifica temporanea dei dati in uno scenario specifico che non persiste dopo il riavvio del sistema operativo/applicazione

Client

Un'azione utente estesa è definita come:

  • L'"interazione dell'utente" può verificarsi solo in uno scenario basato su client.

  • Le azioni utente normali e semplici, ad esempio l'anteprima della posta, la visualizzazione di cartelle locali o condivisioni file, non sono un'interazione utente estesa.

  • "Esteso" include gli utenti che passano manualmente a un sito Web specifico (ad esempio, digitando un URL) o facendo clic su una decisione sì/no.

  • "Non esteso" include gli utenti che fanno clic sui collegamenti di posta elettronica.

  • Qualificatore NEAT (si applica solo agli avvisi). In modo demone, l'esperienza utente è:

    • Necessary (l'utente deve davvero essere presentato con la decisione?)

    • Explained (l'esperienza utente presenta tutte le informazioni necessarie all'utente per prendere questa decisione?)

    • Unelemento utilizzabile (è disponibile un set di passaggi che gli utenti possono prendere per prendere decisioni valide sia in scenari benigni che dannosi?)

    • Tested (L'avviso è stato esaminato da più persone per assicurarsi che le persone comprendano come rispondere all'avviso?)

  • Chiarimento: si noti che l'effetto di un'interazione utente estesa non è una riduzione del livello di gravità, ma è stato ed è stato una riduzione della gravità in determinate circostanze in cui la frase estesa interazione utente viene visualizzata nella barra dei bug. Lo scopo è quello di aiutare i clienti a distinguere gli attacchi a diffusione rapida e wormable da quelli, in cui l'utente interagisce, l'attacco viene rallentato. Questa barra di bug non consente di ridurre l'elevazione dei privilegi riportata di seguito Importante a causa dell'interazione dell'utente.

Client

Critico

Riepilogo client:

  • Worm di rete o scenari di esplorazione/utilizzo comuni inevitabili in cui il client è "di proprietà" senza avvisi o richieste.

  • Elevazione dei privilegi (remoto): possibilità di eseguire codice arbitrario o di ottenere più privilegi di quanto previsto

    • Esempi:

      • Accesso non autorizzato al file system: scrittura nel file system

      • Esecuzione di codice arbitrario senza un'azione estesa dell'utente

      • Tutti gli AV di scrittura, gli AV di lettura sfruttabili, gli overflow dello stack o gli overflow integer in codice chiamabile in remoto (senza un'azione utente estesa)

Importante

Riepilogo client:

  • Scenari comuni di esplorazione/uso in cui il client è "di proprietà" con avvisi o prompt o tramite azioni estese senza richieste. Si noti che questo non discrimina la qualità/usabilità di una richiesta e la probabilità che un utente possa fare clic tramite la richiesta, ma solo che esiste una richiesta di un modulo.

  • Elevazione dei privilegi (remoto)

    • Esecuzione di codice arbitrario con un'azione utente estesa

      • Tutti gli AV di scrittura, gli AV in lettura sfruttabili o gli overflow integer nel codice chiamabile remoto (con un'azione utente estesa)

  • Elevazione dei privilegi (locale)

    • L'utente con privilegi limitati locali può elevarsi a un altro utente, amministratore o sistema locale.

      • Tutti gli AV di scrittura, gli AV in lettura sfruttabili o gli overflow integer nel codice chiamabile locale

  • Divulgazione di informazioni (mirato)

    • Casi in cui l'utente malintenzionato può individuare e leggere informazioni sul sistema, incluse le informazioni di sistema che non sono state progettate o progettate per essere esposte.

    • Esempio:

      • Accesso non autorizzato al file system: lettura dal file system

      • Divulgazione di informazioni personali

        • Divulgazione di informazioni personali (indirizzi di posta elettronica, numeri di telefono)

      • Telefono scenari home

  • Denial of Service

    • Il danneggiamento del sistema DoS richiede la riinstallazione di componenti e/o di sistema.

      • Esempio:

        • La visita di una pagina Web causa il danneggiamento del Registro di sistema che rende il computer non avviabile

    • Unità per DoS

      • Criteri:

        • DoS di sistema non autenticato

        • Esposizione predefinita

        • Nessuna funzionalità di sicurezza predefinita o mitigazioni dei limiti (firewall)

        • Nessuna interazione dell'utente

        • Nessun controllo e sentiero punire

        • Esempio:

          • Unità tramite sistema Bluetooth DoS o SMS in un telefono cellulare

  • Spoofing

    • Possibilità per l'utente malintenzionato di presentare un'interfaccia utente diversa da ma visivamente identica all'interfaccia utente su cui gli utenti devono affidarsi per prendere decisioni di attendibilità valide in uno scenario predefinito/comune. Una decisione di trust viene definita come ogni volta che l'utente esegue un'azione credendo che alcune informazioni vengano presentate da una particolare entità, ovvero il sistema o un'origine locale o remota specifica.

      • Esempi:

        • Visualizzazione di un URL diverso nella barra degli indirizzi del browser dall'URL del sito effettivamente visualizzato dal browser in uno scenario predefinito/comune

        • Visualizzazione di una finestra sulla barra degli indirizzi del browser identica a una barra degli indirizzi, ma visualizza i dati falsi in uno scenario predefinito/comune

        • Visualizzazione di un nome di file diverso in un "Eseguire il programma?" finestra di dialogo rispetto a quella del file che verrà effettivamente caricato in uno scenario predefinito/comune

        • Visualizzare un prompt di accesso "falso" per raccogliere le credenziali dell'utente o dell'account

  • Manomissione

    • Modifica permanente dei dati o dei dati utente usati per prendere decisioni di attendibilità in uno scenario comune o predefinito che persiste dopo il riavvio del sistema operativo/applicazione.

      • Esempi:

        • Avvelenamento da cache del Web browser

        • Modifica delle impostazioni significative del sistema operativo o dell'applicazione senza il consenso dell'utente

        • Modifica dei dati utente

  • Funzionalità di sicurezza: interruzione o esclusione di qualsiasi funzionalità di sicurezza fornita

    • Esempi:

      • Disabilitazione o bypass di un firewall per informare l'utente o ottenere il consenso

      • Riconfigurare un firewall e consentire la connessione ad altri processi

      • Uso della crittografia debole o mantenimento delle chiavi archiviate in testo normale

      • Bypass di AccessCheck

      • Bypass bitlocker; ad esempio non crittografando parte dell'unità

      • Bypass syskey, un modo per decodificare la chiave di sistema senza la password

Moderato
  • Denial of Service

    • Il DoS permanente richiede il riavvio a freddo o causa il controllo dello schermo blu/bug.

      • Esempio:

        • L'apertura di un documento di Word causa la visualizzazione della schermata blu o del controllo dei bug.

  • Divulgazione di informazioni (mirato)

    • Casi in cui l'utente malintenzionato può leggere informazioni sul sistema da posizioni note, incluse le informazioni di sistema che non sono state progettate o progettate per essere esposte.

      • Esempi:

        • Esistenza mirata del file

        • Numero di versione del file di destinazione

  • Spoofing

    • Possibilità per l'utente malintenzionato di presentare un'interfaccia utente diversa da ma visivamente identica all'interfaccia utente di cui gli utenti sono abituati a considerare attendibili in uno scenario specifico. "Abituato a considerare attendibile" è definito come qualsiasi cosa che un utente ha comunemente familiarità con la normale interazione con il sistema operativo o l'applicazione, ma in genere non considera come una "decisione di trust".

      • Esempi:

        • Avvelenamento da cache del Web browser

        • Modifica delle impostazioni significative del sistema operativo o dell'applicazione senza il consenso dell'utente

        • Modifica dei dati utente

Ridotto
  • Denial of Service

    • Il DoS temporaneo richiede il riavvio dell'applicazione.

      • Esempio:

        • L'apertura di un documento HTML causa l'arresto anomalo di Internet Explorer

  • Spoofing

    • Possibilità per l'utente malintenzionato di presentare un'interfaccia utente diversa da ma visivamente identica all'interfaccia utente che è una singola parte di uno scenario di attacco più grande.

      • Esempio:

        • L'utente deve passare a un sito Web "dannoso", fare clic su un pulsante nella finestra di dialogo con spoofing ed è quindi soggetto a una vulnerabilità basata su un altro bug del browser

  • Manomissione

    • Modifica temporanea di tutti i dati che non vengono mantenuti dopo il riavvio del sistema operativo o dell'applicazione.

    • Divulgazione di informazioni (non destinazione)

      • Esempio:

        • Perdita di memoria heap casuale

Definizione dei termini

Autenticato
Qualsiasi attacco che deve includere l'autenticazione da parte della rete. Ciò implica che la registrazione di un tipo deve essere in grado di verificarsi in modo che l'utente malintenzionato possa essere identificato.

Anonimo
Qualsiasi attacco che non deve eseguire l'autenticazione per completare.

client
Software eseguito localmente in un singolo computer o software che accede alle risorse condivise fornite da un server in rete.

default/common
Tutte le funzionalità attive predefinite o che raggiungono più del 10% degli utenti.

scenario
Tutte le funzionalità che richiedono una personalizzazione o casi d'uso speciali per abilitare, raggiungendo meno del 10% degli utenti.

server
Computer configurato per eseguire il software che attende e soddisfa le richieste dei processi client eseguiti in altri computer.

Critico
Una vulnerabilità di sicurezza che verrebbe valutata come con il più alto potenziale di danno.

Importante
Una vulnerabilità di sicurezza che verrebbe valutata come un potenziale significativo di danni, ma inferiore a critical.

Moderato
Una vulnerabilità di sicurezza che verrebbe valutata come un potenziale moderato per danni, ma minore di Importante.

Basso
Una vulnerabilità di sicurezza che verrebbe valutata come con un basso potenziale di danni.

divulgazione di informazioni mirate
Possibilità di selezionare intenzionalmente (destinazione) le informazioni desiderate.

DoS temporaneo
Un DoS temporaneo è una situazione in cui vengono soddisfatti i criteri seguenti:

  • La destinazione non può eseguire operazioni normali a causa di un attacco.

  • La risposta a un attacco è approssimativamente la stessa grandezza della dimensione dell'attacco.

  • La destinazione torna al livello normale di funzionalità poco dopo il termine dell'attacco. La definizione esatta di "a breve" deve essere valutata per ogni prodotto.

Ad esempio, un server non risponde mentre un utente malintenzionato invia costantemente un flusso di pacchetti in una rete e il server torna normale pochi secondi dopo l'arresto del flusso di pacchetti.

DoS temporaneo con amplificazione

Un DoS temporaneo con amplificazione è una situazione in cui vengono soddisfatti i criteri seguenti:

  • La destinazione non può eseguire operazioni normali a causa di un attacco.

  • La risposta a un attacco è di dimensioni superiori alle dimensioni dell'attacco.

  • La destinazione torna al livello normale di funzionalità al termine dell'attacco, ma richiede tempo (forse alcuni minuti).

Ad esempio, se è possibile inviare un pacchetto di 10 byte dannoso e causare una risposta di 2048k sulla rete, si sta eseguendo il doSing della larghezza di banda amplificando lo sforzo di attacco.

DoS permanente

Un DoS permanente è uno che richiede a un amministratore di avviare, riavviare o reinstallare tutte o parti del sistema. Qualsiasi vulnerabilità che riavvia automaticamente il sistema è anche un DoS permanente.

Matrice Denial of Service (Server)

Attacco autenticato e anonimo Confronto tra impostazioni predefinite/comuni e scenario DoS temporaneo e Permanente Rating
Autenticato Impostazione predefinita/comune Permanente Moderato
Autenticato Impostazione predefinita/comune DoS temporanei con amplificazione Moderato
Autenticato Impostazione predefinita/comune Attività temporanee Ridotto
Autenticato Scenario Permanente Moderato
Autenticato Scenario DoS temporanei con amplificazione Ridotto
Autenticato Scenario Attività temporanee Ridotto
Anonimo Impostazione predefinita/comune Permanente Importante
Anonimo Impostazione predefinita/comune DoS temporanei con amplificazione Importante
Anonimo Impostazione predefinita/comune Attività temporanee Moderato
Anonimo Scenario Permanente Importante
Anonimo Scenario DoS temporanei con amplificazione Importante
Anonimo Scenario Attività temporanee Ridotto

Dichiarazione di non responsabilità sul contenuto

Questa documentazione non è un riferimento completo sulle procedure SDL in Microsoft. Il lavoro aggiuntivo di garanzia può essere eseguito dai team del prodotto (ma non necessariamente documentati) a propria discrezione. Di conseguenza, questo esempio non deve essere considerato come il processo esatto seguito da Microsoft per proteggere tutti i prodotti.

Questa documentazione viene fornita "così come è". Le informazioni e le indicazioni riportate nel presente documento, inclusi URL e altri riferimenti a siti Web Internet, sono soggette a modifica senza preavviso. L'utente si assume tutti i rischi derivanti dal suo utilizzo.

Questa documentazione non fornisce diritti legali a alcuna proprietà intellettuale in alcun prodotto Microsoft. È consentito copiare e utilizzare il presente documento solo a scopo di riferimento interno.

© 2018 Microsoft Corporation. Tutti i diritti sono riservati.

Concesso in licenza inCreative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported