Bollettino sulla sicurezza

Microsoft Security Bulletin MS01-059 - Critico

Unchecked Buffer in Universal Plug and Play può causare la compromissione del sistema

Pubblicato: 20 dicembre 2001 | Aggiornamento: 9 maggio 2003

Versione: 1.3

Pubblicato originariamente: 20 dicembre 2001
Aggiornamento: 9 maggio 2003

Riepilogo

Chi deve leggere questo bollettino:
I clienti che usano Microsoft® Windows® ME o XP o che hanno installato il client Windows XP Internet Connection Sharing in Windows 98 o 98SE.

Impatto della vulnerabilità:
Eseguire il codice scelto dall'utente malintenzionato.

Valutazione massima gravità:
Critico

Raccomandazione:
Microsoft invita vivamente tutti i clienti di Windows XP a applicare immediatamente la patch. I clienti che usano Windows 98, 98SE o ME devono applicare la patch se è installato e in esecuzione il supporto di Plug and Play universale.

Software interessato:

  • Microsoft Windows 98
  • Microsoft Windows 98SE
  • Microsoft Windows ME
  • Microsoft Windows XP

Informazioni generali

Dettagli tecnici

Descrizione tecnica:

Plug and Play universale (UPnP) consente ai computer di individuare e usare dispositivi basati sulla rete. Windows ME e XP includono il supporto UPnP nativo; Windows 98 e 98SE non includono il supporto UPnP nativo, ma può essere installato tramite il client di condivisione connessione Internet fornito con Windows XP. Questo bollettino illustra due vulnerabilità che interessano queste implementazioni UPnP. Anche se le vulnerabilità non sono correlate, entrambe implicano la gestione dell'individuazione dei nuovi dispositivi in rete da parte dei computer che supportano UPnP.

La prima vulnerabilità è una vulnerabilità di sovraccarico del buffer. In uno dei componenti che gestiscono le direttive NOTIFY è presente un buffer non selezionato, ovvero messaggi che annunciano la disponibilità di dispositivi con supporto UPnP nella rete. Inviando una direttiva NOTIFY in formato speciale, sarebbe possibile che un utente malintenzionato causi l'esecuzione del codice nel contesto del sottosistema UPnP, che viene eseguito con privilegi di sistema in Windows XP. (In Windows 98 e Windows ME tutto il codice viene eseguito come parte del sistema operativo). Ciò consente all'utente malintenzionato di ottenere il controllo completo sul sistema.

Il secondo risultato della vulnerabilità è dovuto al fatto che le implementazioni UPnP non limitano sufficientemente i passaggi a cui verranno usati per ottenere informazioni sull'uso di un dispositivo appena individuato. All'interno della direttiva NOTIFY che un nuovo dispositivo UPnP invia è informazioni che comunicano ai computer interessati dove ottenere la descrizione del dispositivo, che elenca i servizi offerti dal dispositivo e le istruzioni per usarli. Per impostazione predefinita, la descrizione del dispositivo può risiedere in un server di terze parti anziché nel dispositivo stesso. Tuttavia, le implementazioni UPnP non regolano adeguatamente il modo in cui esegue questa operazione e ciò comporta due diversi scenari Denial of Service:

  • Un utente malintenzionato potrebbe inviare una direttiva NOTIFY a un computer con supporto UPnP, specificando che la descrizione del dispositivo deve essere scaricata da una determinata porta in un determinato server. Se il server è stato configurato per eseguire semplicemente l'eco delle richieste di download al servizio UPnP (ad esempio, avendo il servizio echo in esecuzione sulla porta a cui è stato indirizzato il computer), il computer potrebbe essere effettuato per immettere un ciclo di download infinito che potrebbe utilizzare parte o tutta la disponibilità del sistema. Un utente malintenzionato potrebbe creare e inviare questa direttiva direttamente al computer di una vittima, usando l'indirizzo IP del computer. In alternativa, potrebbe inviare questa stessa direttiva a un dominio broadcast e multicast e attaccare tutti i computer interessati all'interno dell'orecchio, consumando alcuni o tutti i sistemi di disponibilità.
  • Un utente malintenzionato potrebbe specificare un server di terze parti come host per la descrizione del dispositivo nella direttiva NOTIFY. Se un numero sufficiente di computer ha risposto alla direttiva, potrebbe avere l'effetto di inondare il server di terze parti con richieste fittizie, in un attacco Denial of Service distribuito. Come nel primo scenario, un utente malintenzionato potrebbe inviare direttamente le direttive alla vittima o a un dominio broadcast o multicast.

Gli amministratori di sistema devono tenere presente che la patch introduce nuove funzionalità che consentono di personalizzare la modalità di individuazione dei dispositivi da parte dei sistemi con patch. Come descritto nell'articolo della Microsoft Knowledge Base Q315056, la patch introduce la possibilità di configurare il servizio UPnP per scaricare le descrizioni dei dispositivi solo dalla subnet locale, dalla subnet o dalla rete privata, solo dalla rete privata o da qualsiasi indirizzo IP. Per impostazione predefinita, i sistemi con patch controllano solo la subnet o la rete privata per le descrizioni dei dispositivi.

I clienti che non possono installare la patch possono proteggere i sistemi disabilitando il supporto UPnP, come descritto nelle domande frequenti.

Fattori di mitigazione:

Generale:

  • Le reti aziendali possono essere protette da attacchi basati su Internet seguendo le procedure standard di firewalling (in particolare, bloccando le porte 1900 e 5000).
  • Le reti domestiche che usano la condivisione connessione Internet sarebbero protette da attacchi basati su Internet, perché il gateway Internet non inoltrava i pacchetti. Solo il computer gateway sarebbe a rischio.

Windows 98 e 98SE:

  • Non è disponibile alcun supporto UPnP nativo per questi sistemi. I sistemi Windows 98 e 98SE sarebbero interessati solo se il client di condivisione connessione Internet da Windows XP fosse stato installato nel sistema.
  • I computer Windows 98 e 98SE che hanno installato il client di condivisione connessione Internet da un sistema Windows XP che ha già applicato questa patch non sono vulnerabili.

Windows ME:

  • Windows ME offre supporto UPnP nativo, ma non è installato né eseguito per impostazione predefinita. Tuttavia, alcuni OEM configurano sistemi predefiniti con il servizio installato ed in esecuzione.

Windows XP:

  • Firewall connessione Internet, attivato per impostazione predefinita ogni volta che viene configurata una connessione di rete a Internet tramite una delle procedure guidate di sistema, proteggerebbe dagli attacchi usando messaggi unicast. Ciò renderebbe possibili attacchi solo tramite broadcast o multicast, che in genere richiederebbe che l'utente malintenzionato si trovi nello stesso segmento di rete del sistema vulnerabile.

Valutazione gravità:

Sovraccarico del buffer:

Server Internet Server Intranet Sistemi client
Windows 98, 98SE None None Moderato
Windows ME None None Moderato
Windows XP None None Critico

Vulnerabilità Denial of Service:

Server Internet Server Intranet Sistemi client
Windows 98, 98SE None None Moderato
Windows ME None None Moderato
Windows XP None None Moderato

Gravità aggregata di tutte le vulnerabilità eliminate dalla patch:

Server Internet Server Intranet Sistemi client
Windows 98, 98SE None None Moderato
Windows ME None None Moderato
Windows XP None None Critico

La valutazione precedente si basa sui tipi di sistemi interessati dalla vulnerabilità, sui modelli di distribuzione tipici e sull'effetto che l'exploit della vulnerabilità avrebbe su di essi. La criticità per Windows XP è valutata più alta rispetto a Windows 98, 98SE e ME, perché solo Windows XP è vulnerabile nella condizione predefinita.

Identificatore di vulnerabilità:

Versioni testate:

Microsoft ha testato Windows ME, Windows NT 4.0, Windows 2000 e Windows XP e il servizio UPnP che può essere installato in Windows 98 e 98SE, per valutare se sono interessati da queste vulnerabilità. Le versioni precedenti non sono più supportate e potrebbero non essere interessate da questa vulnerabilità

Domande frequenti

Quali vulnerabilità sono descritte in questo bollettino?
Questo bollettino illustra due vulnerabilità, che interessano entrambi il sottosistema Plug and Play universale in Windows 98, Windows 98SE, Windows ME e Windows XP.

Che cos'è Plug and Play universale?
Universal Plug and Play (UPnP) è una funzionalità che consente ai dispositivi in una rete di individuare altri dispositivi e determinare come usarli. UPnP è più facilmente comprensibile rispetto alla funzionalità plug-and-play (PnP) con cui la maggior parte degli utenti windows ha già familiarità. PnP consente al sistema operativo di rilevare un nuovo hardware quando viene installato in un sistema. Ad esempio, se si installa un nuovo mouse nel computer, PnP consente a Windows di rilevarlo, caricare i driver necessari e iniziare a usarlo. UPnP estende questo concetto ai dispositivi in una rete, anziché nel sistema locale stesso. UPnP consente ai computer di ottenere informazioni su altri dispositivi in rete e di determinare come usarli. Ad esempio, un computer potrebbe usare UPnP per rilevare se nella rete sono presenti stampanti che possono essere usate e imparare a usarle.

Quali sistemi operativi supportano UPnP?

  • Né Windows 98 né Windows 98SE includono una funzionalità UPnP nativa. Può essere aggiunto solo installando il software client per la condivisione connessione Internet (ICS) fornito in Windows XP.
  • Windows ME include una funzionalità UPnP nativa, ma non è installata né eseguita per impostazione predefinita.
  • Né Windows NT 4.0 né Windows 2000 supportano UPnP.
  • Windows XP include una funzionalità UPnP nativa. Viene installato ed eseguito per impostazione predefinita.

Le vulnerabilità hanno qualcosa in comune diverso dal fatto che coinvolgono UPnP?
Sì. Entrambi comportano problemi nel modo in cui il sottosistema UPnP esegue l'individuazione dei dispositivi.

Che cos'è l'individuazione dei dispositivi UPnP e come funziona?
L'individuazione dei dispositivi è il processo attraverso il quale i computer con supporto UPnP diventano consapevoli della disponibilità dei dispositivi che possono usare e imparano a richiedere servizi da essi. Quando un computer con supporto UPnP viene avviato, potrebbero essere già presenti dispositivi nella rete che può usare. Per determinare se questo è il caso, il computer invia una richiesta broadcast (denominata direttiva M-SEARCH), chiedendo che qualsiasi dispositivo con supporto UPnP all'interno dell'earshot risponda direttamente e fornisca informazioni sull'uso. Analogamente, quando un dispositivo che supporta UPnP (ad esempio, una stampante con supporto UPnP) viene avviato, potrebbe essere già presente un computer con supporto UPnP nella rete che desidera usarlo. Il dispositivo trasmette un messaggio (chiamato direttiva NOTIFY) a tutti i computer all'interno dell'earshot, annunciando la sua presenza in rete e invitando i computer a usare i suoi servizi.

Si supponga che un computer con supporto per UPnP impari che un particolare dispositivo è disponibile. Come viene illustrato come usarlo?
Il computer verifica se le applicazioni hanno registrato un interesse per il tipo di dispositivo di cui si è appreso. In caso affermativo, il computer consulta le informazioni inviate dal dispositivo, che conterrà un URL da cui la descrizione del dispositivo , l'elenco dei servizi offerti dal dispositivo e le istruzioni su come richiederli, possono essere scaricati. Il computer scarica quindi la descrizione del dispositivo e può iniziare a usare il dispositivo.

Quali sono le vulnerabilità che interessano il servizio UPnP?
Esistono due vulnerabilità:

  • La prima vulnerabilità potrebbe consentire a un utente malintenzionato di ottenere il controllo completo su un sistema interessato.
  • La seconda vulnerabilità potrebbe consentire a un utente malintenzionato di impedire a un sistema interessato di fornire un servizio utile o utilizzare più sistemi di utenti in un attacco Denial of Service distribuito contro un singolo bersaglio.

Qual è l'ambito della prima vulnerabilità?
Si tratta di una vulnerabilità di sovraccarico del buffer. Un utente malintenzionato che ha sfruttato correttamente questa vulnerabilità potrebbe ottenere il controllo completo su un sistema interessato. Chiaramente, si tratta di una grave vulnerabilità e si consiglia vivamente ai clienti di applicare immediatamente la patch.

Che cosa causa la vulnerabilità?
La vulnerabilità risulta perché uno dei componenti delle implementazioni UPnP di Windows XP, Windows ME, Windows 98 e Windows 98SE UPnP contiene un buffer non controllato che potrebbe essere sovraccaricato tramite una direttiva UPnP NOTIFY in formato speciale.

Qual è il problema di come il sottosistema UPnP gestisce le direttive NOTIFY?
Uno dei componenti di queste implementazioni coinvolte nell'elaborazione delle direttive NOTIFY contiene un buffer non controllato. Se il sottosistema UPnP ha ricevuto una direttiva NOTIFY in formato non valido in un determinato modo, l'effetto consiste nell'eseguire il sovraccarico del buffer con i dati della direttiva NOTIFY. Se questi dati siano stati scelti con attenzione, l'effetto sarebbe quello di modificare l'operazione del sottosistema UPnP durante l'esecuzione.

Cosa potrebbe consentire a un utente malintenzionato di eseguire?
Un utente malintenzionato che ha sfruttato correttamente questa vulnerabilità potrebbe modificare il sottosistema UPnP per eseguire qualsiasi attività desiderata. Poiché il sottosistema UPnP viene eseguito come parte del sistema operativo, l'utente malintenzionato avrebbe il controllo completo sul sistema.

In che modo un utente malintenzionato potrebbe sfruttare la vulnerabilità?
Un utente malintenzionato potrebbe sfruttare la vulnerabilità creando una direttiva NOTIFY con la forma necessaria e inviandola ad altri computer in rete.

In che modo l'utente malintenzionato invia la direttiva NOTIFY agli altri computer?
Una direttiva NOTIFY può essere inviata come messaggio unicast (ad esempio, uno inviato direttamente a un computer specifico) o come multicast o broadcast (ad esempio, uno trasmesso a un gruppo di computer). Il tipo specifico scelto dall'utente malintenzionato sarebbe importante. Il modulo unicast consentirà all'utente malintenzionato di raggiungere più in modo approfondito, ma a costo di dover conoscere altre informazioni sulla destinazione. Al contrario, il formato multicast consente all'utente malintenzionato di compromettere più computer senza conoscerne molto, ma a costo di limitare l'ambito dell'attacco ai computer nello stesso segmento di rete dell'utente malintenzionato.

Come funziona un attacco tramite un messaggio NOTIFY unicast?
Nello scenario unicast, l'autore dell'attacco invia un messaggio NOTIFY direttamente a un altro computer, come se fosse in risposta a una direttiva M-SEARCH dal computer. Il vantaggio dell'uso di un messaggio unicast è che l'utente malintenzionato potrebbe attaccare qualsiasi computer a cui potrebbe recapitare il messaggio NOTIFY. Un utente malintenzionato potrebbe compromettere i computer su grandi distanze usando messaggi unicast. Lo svantaggio è che l'utente malintenzionato deve conoscere l'indirizzo IP della destinazione. La maggior parte delle reti usa DHCP (Dynamic Host Configuration Protocol) per gestire il pool di indirizzi IP e, di conseguenza, l'indirizzo IP di un determinato computer può cambiare abbastanza frequentemente. Sebbene sia certamente possibile apprendere l'indirizzo IP di un computer, potrebbe richiedere un lavoro sostanziale a seconda delle circostanze.

Come funziona un attacco tramite un multicast o una trasmissione di messaggi NOTIFY?
Negli scenari multicast o broadcast, l'utente malintenzionato invia un messaggio NOTIFY a un indirizzo multicast o broadcast, come se fosse da un nuovo dispositivo che supporta UPnP. Il vantaggio dell'uso di questi messaggi è che l'utente malintenzionato non deve conoscere l'indirizzo IP di qualsiasi altro computer e potrebbe potenzialmente compromettere un numero elevato di computer con un singolo attacco. Lo svantaggio per l'utente malintenzionato è che la maggior parte dei router e firewall non inoltra messaggi multicast e broadcast. (Per capire perché, considerare cosa accadrebbe se li avessero inoltrati - ogni multicast o trasmissione da qualsiasi computer del mondo sarebbe stato consegnato a ogni altro computer del mondo, e Internet sarebbe rapidamente diventato paludiato con i dati). Di conseguenza, gli attacchi tramite multicast o trasmissione sarebbero in genere efficaci solo all'interno del segmento di rete o della subnet dell'utente malintenzionato.

Ciò significa che la vulnerabilità non è grave?
Al contrario, è molto grave. Esistono centinaia di computer in una subnet e questa vulnerabilità consente a un utente malintenzionato di ottenere il controllo completo su tutti con una singola direttiva NOTIFY. Invitiamo vivamente i clienti a applicare immediatamente la patch.

Un firewall aziendale protegge da attacchi da Internet?
Sì. La maggior parte dei firewall aziendali blocca sia i messaggi multicast che i messaggi unicast non richiesti. Inoltre, il blocco delle porte 1900 e 5000 consente di proteggersi da attacchi basati su Internet.

Internet Connection Firewall proteggerà i computer Windows XP da questa vulnerabilità?
Internet Connection Firewall (ICF) blocca i messaggi unicast non richiesti, quindi proteggerebbe un sistema Windows XP da un attacco montato usando unicast. Questo non fornisce protezione totale, ovvero ICF non blocca il multicast o la trasmissione, ma riduce in modo significativo il rischio per gli utenti di Windows XP. Come illustrato in precedenza, i messaggi unicast possono essere inviati su grandi distanze, in cui in genere non è possibile eseguire il multicast e la trasmissione. Ciò significa che, per gli utenti di Windows XP, è probabile che l'utente malintenzionato debba trovarsi nello stesso segmento di rete per sfruttare la vulnerabilità.

ICF è abilitato per impostazione predefinita in Windows XP?
In generale, ICF viene abilitato automaticamente ogni volta che viene usata una procedura guidata per creare una connessione di rete a Internet. Ad esempio, ICF è attivato in tutti gli scenari seguenti:

  • Quando un sistema Windows XP viene utilizzato un host di condivisione connessione Internet.
  • Quando viene creata una connessione a Internet tramite la Creazione guidata nuova connessione.
  • Quando viene identificata una connessione a Internet nell'Installazione guidata rete.
  • Quando viene creata o identificata una connessione Internet nella procedura guidata Benvenuto in Windows.

ICF non è abilitato per impostazione predefinita nei casi come il seguente:

  • Se l'utente sceglie di creare manualmente una connessione di rete. In tal caso, tutte le opzioni di rete, incluso ICF, devono essere abilitate o disabilitate manualmente.
  • Se la connessione non si connette direttamente a Internet, ad esempio se si tratta di una connessione a una LAN. In questi casi, in genere esiste già un firewall che protegge l'intera rete.
  • Se il sistema è stato aggiornato da una versione precedente di Windows e aveva già una connessione a Internet esistente. In questo caso, ICF può essere abilitato manualmente.

Per altre informazioni sul funzionamento di ICF e sulle condizioni in base alle quali è abilitata per impostazione predefinita, vedere "Internet Connection Firewall Feature Overview" (Panoramica delle funzionalità firewall di connessione Internet).

Ho una rete domestica che usa la condivisione connessione Internet per connettersi a Internet. Qualcuno su Internet potrebbe attaccare le macchine all'interno della mia rete?
No. Il gateway di condivisione connessione Internet non inoltra i messaggi NOTIFY, indipendentemente dal fatto che vengano inviati da unicast, multicast o broadcast. Ciò significa che un utente malintenzionato basato su Internet non è riuscito a sfruttare la vulnerabilità contro i sistemi all'interno della rete. Tuttavia, potrebbe sfruttare la vulnerabilità contro il sistema gateway.

Come è possibile stabilire se è necessaria la patch?
Per Windows XP, 98 e 98SE, è abbastanza facile indicare se è necessaria la patch:

  • Se si esegue Windows XP, è necessaria la patch. Tutti i sistemi Windows XP sono vulnerabili nelle configurazioni predefinite.
  • Se si usa Windows 98 o Windows 98SE, è necessaria solo la patch se è stato installato il software client per la condivisione connessione Internet.

Per Windows ME, è un po' più difficile. Windows ME contiene un sottosistema UPnP, ma per impostazione predefinita non è in esecuzione. Tuttavia, alcuni produttori di hardware lo attivano nei sistemi preconfigurato. Per determinare se il sottosistema UPnP è in esecuzione, seguire questa procedura:

  1. Fare clic su Start, Impostazioni e quindi selezionare Pannello di controllo.
  2. Selezionare Installazione applicazioni.
  3. Selezionare la scheda intitolata Configurazione di Windows.
  4. Nel campo Componenti selezionare Comunicazioni e quindi Dettagli.
  5. Scorrere verso il basso e verificare se la casella a sinistra di Universal Plug and Play è selezionata. In caso affermativo, è necessaria la patch; se non lo è, non lo fai.

Che cosa fa la patch?
La patch elimina la vulnerabilità implementando una corretta gestione del buffer nelle implementazioni di Windows XP, Windows ME, Windows 98 e Windows 98SE UPnP.

Se non è possibile installare la patch, esiste un altro modo per proteggere il sistema?
Sì. È possibile proteggere il sistema disabilitando la funzionalità UPnP. Tuttavia, prima di farlo, è necessario comprendere che questo avrà effetto sul funzionamento di determinate funzioni di sistema. In particolare, la disabilitazione di UPnP in Windows XP influirà sul funzionamento della funzionalità ICS (Internet Connection Sharing), che consente a più computer Windows di condividere una singola connessione tramite un sistema Windows XP a Internet. Se la funzionalità UPnP è disabilitata, i client ICS non potranno rilevare automaticamente il gateway Internet e sarà necessario configurare manualmente le informazioni sul gateway in ogni sistema client. Ecco come disabilitare la funzionalità UPnP: Windows XP:

  1. Accedere usando un account con privilegi amministrativi.
  2. Fare clic su Start, quindi fare clic con il pulsante destro del mouse su My Computer e scegliere Gestisci.
  3. Nel riquadro a sinistra fare clic su "+" accanto a Servizi e applicazioni, quindi fare clic su Servizi.
  4. Nel riquadro di destra fare clic con il pulsante destro del mouse su SSDP Discovery Service e scegliere Proprietà.
  5. Nell'elenco a discesa intitolato Tipo di avvio selezionare Disabilitato.
  6. Nella sezione Stato servizio della finestra di dialogo fare clic su Arresta.
  7. Fare clic su OK per chiudere la finestra di dialogo, quindi chiudere la finestra Gestione computer.

Windows ME:

  1. Fare clic su Start, Impostazioni e quindi selezionare Pannello di controllo.
  2. Selezionare Installazione applicazioni.
  3. Selezionare la scheda intitolata Configurazione di Windows.
  4. Nel campo Componenti selezionare Comunicazioni e quindi Dettagli.
  5. Deselezionare la casella Per Plug and Play universale.
  6. Fare clic su OK per chiudere la finestra di dialogo, quindi chiudere la finestra di dialogo Di configurazione di Windows.
  7. Riavviare il computer.

Windows 98 o 98SE:

  1. Fare clic su Start, Impostazioni e quindi selezionare Pannello di controllo.
  2. Selezionare Installazione applicazioni.
  3. Selezionare la scheda intitolata Configurazione di Windows.
  4. Nel campo Componenti selezionare Comunicazioni e quindi Dettagli.
  5. Deselezionare la casella Per Plug and Play universale.
  6. Fare clic su OK per chiudere la finestra di dialogo, quindi chiudere la finestra di dialogo Di configurazione di Windows.
  7. Riavviare il computer.

Nelle istruzioni di Windows XP precedenti si è detto di disabilitare il servizio di individuazione SSDP, ma viene visualizzato un servizio denominato "Host dispositivo UPnP". È consigliabile disabilitare anche questo servizio?
No. Nonostante il nome, il servizio Host dispositivo UPnP non è correlato in alcun modo a questa vulnerabilità e non è necessario disabilitarlo. Il servizio Host dispositivo UPnP consente ad altri servizi in Windows XP di pubblicizzare se stessi come se fossero dispositivi UPnP e non è coinvolto in alcun modo con il modo in cui un sistema gestisce i dispositivi UPnP effettivi.

Se si installa la patch in un sistema Windows XP e successivamente si usa tale sistema per installare il software client per la condivisione connessione Internet in un sistema Windows 98, 98SE o ME, è necessario applicarla?
Esistono due modi per installare il client ICS (Internet Connection Sharing) e la risposta dipende dal metodo scelto. Un modo consiste nel creare un disco floppy della Configurazione guidata rete in un sistema Windows XP, quindi usare il floppy per installare il client ICS in un sistema cosiddetto di livello inferiore (ad esempio, uno che esegue Windows 98, 98SE o ME). Se si usa questo metodo e il sistema Windows XP in cui si crea il disco floppy ha già la patch, non è necessario applicare patch al sistema di livello inferiore- l'Installazione guidata rete installerà una versione di ICS che ha già la correzione. D'altra parte, se crei il floppy in un sistema Windows XP non ha la patch, dovrai applicare patch al sistema di livello inferiore dopo l'installazione di ICS. (Naturalmente, dovresti anche applicare patch al sistema Windows XP). L'altro modo per installare il client ICS in un sistema di livello inferiore consiste nell'installarlo direttamente dal CD di Windows XP. Se si usa questo metodo, sarà necessario installare la patch nel sistema di livello inferiore.

Ho provato a installare la patch nel sistema Windows 98, ma la patch ha visualizzato un messaggio che informa che non era destinato alla mia versione di Windows. Che cosa è successo? Ho verificato di aver installato la versione di Windows 98 della patch. La patch per Windows 98 e 98SE verrà installata solo se il client ICS è presente nel sistema, poiché questo è l'unico mezzo per cui è possibile aggiungere una funzionalità UPnP a nel sistema. Il messaggio visualizzato indica che il client ICS non è presente nel sistema e la patch non è quindi necessaria.

Qual è l'ambito della seconda vulnerabilità?
La seconda vulnerabilità è una vulnerabilità denial of service attacks . Può essere usato in uno dei due modi seguenti: può essere usato in un attacco che coinvolgerebbe solo un singolo computer e potrebbe rallentarne o arrestarne le prestazioni oppure potrebbe essere usato in un attacco Denial of Service distribuito, in cui l'utente malintenzionato avrebbe diretto più computer a unire le forze contro un computer diverso e paluderlo con i dati. Questa vulnerabilità non può essere usata per ottenere alcun controllo amministrativo sul sistema. L'unico uso sarebbe quello di interferire con gli sforzi dell'utente legittimo per usarla.

Che cosa causa la vulnerabilità?
La vulnerabilità risulta perché le implementazioni UPnP in Windows 98, Windows 98SE, Windows ME e Windows XP non applicano vincoli sufficienti al processo che seguono durante il download di una descrizione del dispositivo per un dispositivo che supporta UPnP.

Qual è il processo con cui i computer individuano e scaricano le descrizioni dei dispositivi?
Quando un computer con supporto UPnP riceve una direttiva NOTIFY, verifica se un'applicazione ha registrato un interesse nel tipo di dispositivo che ha inviato la notifica. In caso affermativo, il computer consulta la direttiva NOTIFY, che contiene l'indirizzo del computer e il numero di porta da cui è possibile scaricare la descrizione del dispositivo. Il computer contatta quindi il computer specificato e richiede la descrizione del dispositivo.

Qual è il modo in cui il sottosistema UPnP gestisce le descrizioni dei dispositivi?
Ci sono due problemi. In primo luogo, il sottosistema non limita le dimensioni delle descrizioni dei dispositivi scaricati, né controlla se i dati che sono presumibilmente una descrizione del dispositivo è effettivamente valida. In secondo luogo, il sottosistema non esegue i passaggi appropriati per assicurarsi che il computer a cui è stato indirizzato sia effettivamente un sito di download per le descrizioni dei dispositivi.

Qual è il primo problema che consente a un utente malintenzionato di eseguire?
Il primo problema potrebbe consentire a un utente malintenzionato di inviare il sistema di un utente a un sito di download fittizio esclusivamente allo scopo di rallentare o arrestare il sistema dell'utente.

In che modo un utente malintenzionato eseguirà un attacco di questo tipo?
Esistono molte varianti che possono essere usate, ma ecco uno scenario piuttosto semplice che illustra un possibile attacco. Si supponga che l'utente malintenzionato sapesse di un server che aveva il servizio Chargen in esecuzione. Chargen è un servizio TCP/IP standard che genera semplicemente un flusso di dati ogni volta che un sistema si connette a esso e non è insolito trovare server con Chargen in esecuzione. Naturalmente, se non c'era un server così utile, l'utente malintenzionato potrebbe configurare uno. L'utente malintenzionato potrebbe inviare una direttiva NOTIFY al sistema di un utente, annunciando un nuovo dispositivo con supporto UPnP e indirizzando il sistema a connettersi al server Chargen. Il sistema dell'utente invierà una richiesta di download al server, che genererebbe dati casuali in risposta alla richiesta. Il servizio UPnP interpreta questo aspetto come parte della descrizione del dispositivo e consente al download di continuare senza fine, utilizzando risorse di elaborazione e spazio su disco nel sistema dell'utente.

L'attacco causerà un arresto completo del sistema dell'utente?
L'effetto dell'attacco dipenderebbe fortemente dai particolari dello scenario, tra cui la potenza di elaborazione relativa e la disponibilità dei due sistemi, la larghezza di banda di rete tra di essi e altri fattori. Nel migliore dei casi, l'attacco potrebbe rallentare solo le prestazioni del sistema; nel peggiore dei casi, potrebbe consumare praticamente tutte le risorse nel sistema, impedendo l'applicazione di qualsiasi lavoro utile.

In che modo l'utente potrebbe riprendere il normale servizio?
L'utente potrebbe ripristinare il normale servizio arrestando e riavviando il servizio che controlla la gestione delle descrizioni dei dispositivi, il servizio di individuazione SSDP

Qual è il secondo problema che consente all'utente malintenzionato di eseguire?
Il secondo problema abiliterebbe un attacco essenzialmente il contrario dell'attacco descritto in precedenza. Invece di indirizzare il sistema di un utente allo scopo di rallentarlo, il secondo problema potrebbe consentire all'autore dell'attacco di unire più sistemi con supporto UPnP a unire le forze in un attacco Denial of Service distribuito che utilizzerebbe tutte le risorse in un unico sistema di terze parti.

Come funziona questo attacco?
Come nel caso precedente, esistono molti modi per influire su un attacco, ma un attacco semplice comporta l'invio di comandi NOTIFY a molti computer con supporto UPnP, indirizzandoli tutti a contattare un server di terze parti per la descrizione del dispositivo. Se sono state coinvolte macchine sufficienti, il volume di richieste di download potrebbe potenzialmente rallentare le prestazioni del server di terze parti o potenzialmente paluderlo completamente.

Un attacco potrebbe consentire all'utente malintenzionato di eseguire qualcosa di più che rifiutare il servizio a qualcuno?
No. Nessuno di questi attacchi consente all'utente malintenzionato di ottenere qualsiasi forma di controllo amministrativo sui computer o di compromettere i dati su di essi. Entrambi possono essere usati solo per attacchi Denial of Service.

Questi attacchi, come quelli nella prima vulnerabilità, possono essere avviati tramite unicast, multicast e broadcast?
Sì. Come nella vulnerabilità descritta in precedenza, gli attacchi qui potrebbero essere avviati tramite direttive UNICAst, multicast o broadcast NOTIFY. Tutti gli stessi vantaggi e svantaggi si applicano in questo caso: un utente malintenzionato potrebbe usare messaggi unicast per ottenere una maggiore copertura, ma al costo di dover conoscere l'indirizzo IP del computer di destinazione; o possono usare messaggi multicast o broadcast per attaccare più computer senza dover conoscere gli indirizzi IP, a costo di limitare l'attacco ai computer nello stesso segmento di rete dell'utente malintenzionato.

In che modo la patch impedisce il primo problema?
La patch impedisce il primo problema limitando i dati che verranno accettati come descrizione del dispositivo. La patch stabilisce una dimensione massima delle descrizioni dei dispositivi; se una descrizione del dispositivo supera tale dimensione, il sottosistema UPnP arresta il download. Fa anche in modo che il sottosistema controlli i dati durante l'arrivo e arresti il download se i dati non sono validi per una descrizione del dispositivo.

In che modo la patch impedisce il secondo problema?
La patch elimina il secondo problema limitando la posizione in cui il sottosistema UPnP cercherà le descrizioni dei dispositivi. La patch lo fa controllare il percorso fornito all'interno di un messaggio NOTIFY per una descrizione del dispositivo e procedere con il download solo se tale percorso supera diversi test. Il sottosistema UPnP controlla il percorso di download prima di provare a scaricare una descrizione del dispositivo. Per impostazione predefinita, un sistema con patch scaricherà solo una descrizione del dispositivo che si trova in un computer nella stessa subnet o nello stesso intervallo di indirizzi privati. Il sottosistema controlla anche il numero di hop router necessari per raggiungere la posizione e procede solo se questo numero è sufficientemente piccolo. Per impostazione predefinita, un sistema con patch scaricherà solo una descrizione del dispositivo se il computer che lo ospita si trova a quattro o meno hop. Entrambe queste impostazioni sono configurabili, come illustrato nell'articolo della Microsoft Knowledge Base Q315056. Inoltre, la patch introduce un meccanismo di ritardo per semplificare l'utilizzo della rete. I sistemi con patch scaricheranno le descrizioni dei dispositivi a tariffe diverse, a seconda della distanza del percorso di download. I percorsi di download nella rete pubblica, ad esempio Internet, vengono scaricati più lentamente, per limitare le richieste richieste. Analogamente, ogni volta che un sistema rileva errori durante il download di una descrizione del dispositivo, aumenta il tempo di attesa prima di riprovare.

Se non è possibile installare la patch, è possibile proteggersi da questa vulnerabilità disabilitando il supporto UPnP?
Sì. Le istruzioni per disabilitare il supporto UPnP sono disponibili in precedenza.

Disponibilità delle patch

Percorsi di download per questa patch

Informazioni aggiuntive su questa patch

Piattaforme di installazione:

  • La patch per Windows 98 e 98SE può essere installata in qualsiasi sistema Windows 98 o 98SE in cui è stato installato il client windows XP Internet Connection Sharing.
  • La patch per Windows ME può essere installata nei sistemi che eseguono Windows ME Gold.
  • La patch per Windows XP può essere installata nei sistemi che eseguono Windows XP Gold.

Inclusione nei Service Pack futuri:

  • Non sono previsti service pack futuri per Windows 98, 98SE o ME.
  • La correzione per questo problema verrà inclusa in Windows XP Service Pack 1.

Riavvio necessario:

Patch sostituite: MS01-054

Verifica dell'installazione delle patch:

Windows 98 e 98SE:

  • Per verificare che la patch sia stata installata nel computer, selezionare Avvia, quindi Esegui, quindi eseguire l'utilità QFECheck. Se la patch è installata, "Windows 98 Q314941 Update" verrà elencata tra le patch installate.
  • Per verificare i singoli file, usare il manifesto del file fornito nell'articolo della Knowledge Base Q314941.

Windows ME:

  • Per verificare che la patch sia stata installata nel computer, selezionare Avvia, quindi Esegui, quindi eseguire l'utilità QFECheck. Se la patch è installata, "Windows Millennium Edition Q314757 Update" verrà elencata tra le patch installate.
  • Per verificare i singoli file, usare il manifesto del file fornito nell'articolo della Knowledge Base Q314757.

Windows XP:

  • Per verificare che la patch sia stata installata nel computer, verificare che nel computer sia stata creata la chiave del Registro di sistema seguente:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000.
  • Per verificare i singoli file, usare le informazioni sulla data/ora e sulla versione fornite nella chiave del Registro di sistema seguente:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000\Filelist.

Avvertenze:

None

Localizzazione:

Le versioni localizzate di questa patch sono in fase di sviluppo. Al termine, saranno disponibili nelle posizioni descritte in "Recupero di altre patch di sicurezza".

Recupero di altre patch di sicurezza:

Le patch per altri problemi di sicurezza sono disponibili nelle posizioni seguenti:

  • Le patch di sicurezza sono disponibili nell'Area download Microsoft e possono essere trovate più facilmente eseguendo una ricerca di parole chiave "security_patch".
  • Le patch per le piattaforme consumer sono disponibili nel sito Web WindowsUpdate .

Altre informazioni:

Riconoscimenti

Microsoft ringrazia eEye Digital Security (https://www.eeye.com) per segnalare questo problema e collaborare con Microsoft per proteggere i clienti.

Supporto:

  • Gli articoli della Microsoft Knowledge Base Q314757, Q314941, Q315000 e Q315056 discutere di questo problema e saranno disponibili circa 24 ore dopo il rilascio di questo bollettino. Gli articoli della Knowledge Base sono disponibili nel sito Web del supporto online Microsoft.
  • Il supporto tecnico è disponibile in Servizi supporto tecnico Microsoft. Non sono previsti addebiti per le chiamate di supporto associate alle patch di sicurezza.

Risorse di sicurezza: il sito Web Microsoft TechNet Security fornisce informazioni aggiuntive sulla sicurezza nei prodotti Microsoft.

Declinazione di responsabilità:

Le informazioni fornite nella Microsoft Knowledge Base vengono fornite "così com'è" senza garanzia di alcun tipo. Microsoft dichiara tutte le garanzie, espresse o implicite, incluse le garanzie di commerciabilità e idoneità per uno scopo specifico. In nessun caso, Microsoft Corporation o i suoi fornitori saranno responsabili di qualsiasi danno, incluso diretto, indiretto, accidentale, consequenziale, perdita di profitti aziendali o danni speciali, anche se Microsoft Corporation o i suoi fornitori sono stati informati della possibilità di tali danni. Alcuni stati non consentono l'esclusione o la limitazione della responsabilità per danni consequenziali o accidentali, pertanto la limitazione precedente potrebbe non essere applicata.

Revisioni:

  • V1.0 (20 dicembre 2001): Bollettino creato.
  • V1.1 (26 dicembre 2001): sono stati aggiunti dettagli aggiuntivi sul modo in cui la patch elimina gli scenari Denial of Service.
  • V1.2 (31 dicembre 2001): Bollettino aggiornato per fornire fattori di mitigazione aggiuntivi (ICF è efficace contro gli attacchi unicast e ICS protegge i computer all'interno delle reti domestiche) e per fornire informazioni sulla disabilitazione del supporto UPnP.
  • V1.3 (09 maggio 2003): collegamenti di download aggiornati a Windows Update.

Costruito al 2014-04-18T13:49:36Z-07:00