Bollettino Microsoft sulla sicurezza MS03-026

Un sovraccarico del buffer nell'interfaccia RPC può consentire l'esecuzione di codice (823980)

Data di pubblicazione originale: 16 luglio 2003

Riepilogo

Destinatari: utenti di Microsoft Windows

Effetti della vulnerabilità: esecuzione di codice non autorizzato

Livello di gravità: critico

Raccomandazioni: si consiglia agli amministratori di sistema di applicare immediatamente la patch

Bollettino per gli utenti finali: una versione per gli utenti finali di questo bollettino è disponibile all'indirizzo:

http://www.microsoft.com/italy/security/security_bulletins/ms03-026.asp.

Software interessati:

Microsoft Windows NT® 4.0

Microsoft Windows NT 4.0 Terminal Services Edition

Microsoft Windows 2000

Microsoft Windows XP

Microsoft Windows Server™ 2003

Versioni del software non interessate:

Microsoft Windows Millennium Edition

Informazioni generali

Dettagli tecnici

Descrizione tecnica:

Microsoft ha rilasciato questo notiziario e la relativa patch il 16 luglio 2003 per correggere una vulnerabilità della sicurezza nell'interfaccia Remote Procedure Call (RPC) di Windows Distributed Component Object Model (DCOM). La patch era ed è efficace nell'eliminare le vulnerabilità tuttavia, le discussioni per identificare “fattori mitiganti” e “workaround” nel security bulletin originale non identificavano chiaramente tutte le porte attraverso le quali si potrebbe fare breccia sulla vulnerabilità. Abbiamo aggiornato questo notiziario per enumerare più chiaramente tutte le porte sulle quali è possibile utilizzare i servizi RPC, e per assicurarci che gli utenti che hanno scelto di implementare un workaround prima di installare la patch abbiano le informazioni di cui hanno bisogno per proteggere i loro sistemi. Gli utenti che hanno già installato la patch sono protetti dai tentativi di sfruttare questa vulnerabilità, e non devono intraprendere nessuna ulteriore azione.

Remote Procedure Call (RPC) è un protocollo utilizzato dal sistema operativo Windows, che offre un meccanismo di comunicazione tra processi che consente a un programma in esecuzione in un computer di eseguire codice su un sistema remoto. Il protocollo è derivato dal protocollo RPC OSF (Open Software Foundation), ma con l'aggiunta di alcune estensioni specifiche di Microsoft.

Nel componente di RPC responsabile dello scambio di messaggi tramite TCP/IP è presente una vulnerabilità. Il problema è dovuto a modalità errate di gestione dei messaggi in formato non valido. Questa particolare vulnerabilità interessa un'interfaccia DCOM (Distributed Component Object Model) con RPC, in ascolto sulla porta TCP/IP 135, che gestisce le richieste di attivazione degli oggetti DCOM inviate dai computer client, rappresentati ad esempio da percorsi UNC (Universal Naming Convention), al server. Per sfruttare questa vulnerabilità, un utente malintenzionato deve inviare una richiesta con formato appositamente predisposto alla porta 135 del computer remoto.

Fattori attenuanti:

Per sfruttare questa vulnerabilità, l'autore dell'attacco deve essere in grado di inviare una richiesta appositamente predisposta alla porta 135 del computer remoto. Negli ambienti Intranet questa porta è in genere accessibile, mentre nei computer connessi a Internet la porta 135 è solitamente bloccata da un firewall. Nel caso in cui tale porta non sia bloccata o in una configurazione Intranet, per l'autore dell'attacco non sono necessari ulteriori privilegi.

Le procedure ottimali prevedono il blocco di tutte le porte TCP/IP che non vengono effettivamente utilizzate. Per questo motivo, nella maggior parte dei computer connessi a Internet la porta 135 dovrebbe essere bloccata. RPC su TCP non è un protocollo progettato per l'utilizzo in ambienti scarsamente protetti come Internet. Per questo tipo di ambienti sono disponibili protocolli che offrono un livello di protezione superiore, come RPC su HTTP.

Per ulteriori informazioni sulla protezione di RPC per client e server, fate clic qui

Per ulteriori informazioni sulle porte utilizzate da RPC, fate clic qui

Livello di gravità:

Windows NT 4.0

Critico

Windows NT 4.0 Terminal Server Edition

Critico

Windows 2000

Critico

Windows XP

Critico

Windows Server 2003

Critico

La classificazione della gravità di cui alla tabella precedente si basa sui tipi di sistemi interessati dalla vulnerabilità, sui modelli di deployment più comuni e sui potenziali effetti del problema in tali ambienti.

Versioni verificate:: CAN-2003-0352 

Tested Versions:

Microsoft ha eseguito test in Windows 98, Windows 98 Second Edition, Windows Me, Windows NT 4.0, Windows NT 4.0, Terminal Server Edition, Windows 2000, Windows XP e Windows Server 2003 per verificare se tali versioni sono interessate dalla vulnerabilità in questione. Le versioni precedenti non sono più supportate e potrebbero essere o meno interessate da questo problema.

Domande frequenti

Qual è la portata o l'impatto di questa vulnerabilità?
Si tratta di una vulnerabilità di sovraccarico del buffer che, se sfruttata, può consentire a un utente malintenzionato di assumere il controllo completo di un computer remoto. L'autore dell'attacco avrebbe così la possibilità di eseguire qualsiasi operazione sul server, incluse la modifica di pagine Web, la formattazione del disco rigido o l'aggiunta di nuovi utenti al gruppo di amministratori locali. Per effettuare un attacco di questo tipo, l'utente malintenzionato deve essere in grado di inviare un messaggio con formato appositamente predisposto al servizio RPC, in modo da provocare nel computer di destinazione un errore che consenta l'esecuzione di codice non autorizzato. La migliore difesa dagli attacchi RPC remoti via Internet è la configurazione del firewall per il blocco della porta 135. RPC su TCP non è un protocollo progettato per l'utilizzo in ambienti scarsamente protetti come Internet.

Quali sono le cause di questa vulnerabilità?
Questa vulnerabilità è dovuta al fatto che, in determinate circostanze, il servizio RPC di Windows non controlla correttamente l'input dei messaggi. Se un utente malintenzionato invia un messaggio RPC con formato appositamente predisposto dopo l'instaurazione di una connessione RPC, nel computer remoto l'interfaccia DCOM (Distributed Component Object Model) con RPC sottostante genera un errore tale da consentire l'esecuzione di codice non autorizzato.

Che cos'è DCOM?
DCOM (Distributed Component Object Model) è un protocollo che consente la comunicazione diretta fra componenti software attraverso una rete. Precedentemente noto come "OLE di rete", DCOM è progettato per l'utilizzo con vari tipi di trasporti di rete, inclusi i protocolli Internet come HTTP. Per ulteriori informazioni su DCOM, fate clic qui.

Che cos'è RPC (Remote Procedure Call)?
RPC (Remote Procedure Call) è un protocollo che può essere utilizzato da un'applicazione per richiedere un servizio a un programma residente in un altro computer della rete. RPC aumenta l'interoperabilità perché per i programmi che lo utilizzano non è necessario conoscere i protocolli di rete che supportano la comunicazione. In questo caso, il programma che invia la richiesta è il client, mentre quello che fornisce il servizio è il server.

Qual è il problema relativo all'implementazione Microsoft di RPC (Remote Procedure Call)?
È presente una vulnerabilità nel componente di RPC che gestisce lo scambio di messaggi tramite TCP/IP. Il problema è dovuto a modalità errate di gestione dei messaggi con formato non valido. Questo particolare difetto interessa un'interfaccia DCOM sottostante, in ascolto sulla porta TCP/IP 135. Inviando un messaggio RPC con formato non valido, un utente malintenzionato può generare nel servizio RPC di un determinato computer un errore tale da consentire l'esecuzione di codice non autorizzato.

Si tratta di un difetto del processo di mapping degli endpoint RPC?
No. Anche se il processo di mapping degli endpoint RPC è in ascolto sulla porta TCP 135, il difetto risiede nell'interfaccia DCOM di livello inferiore, all'interno del processo RPC. Il mapping degli endpoint RPC consente ai client RPC di determinare il numero di porta attualmente assegnato a un particolare servizio RPC. Un endpoint è una porta di protocollo o una named pipe su cui l'applicazione server è in ascolto per le richieste RPC dei client remoti. Le applicazioni client/server possono utilizzare sia porte note che dinamiche.

Il Security Bulletin MS03-010 riguardava anche RPC ma non permetteva di risolvere quella vulnerabilità su Windows NT 4.0. Come avete fatto per risolvere questa vulnerabilità su Windows NT 4.0?
In questo caso il problema di RPC risiedeva nella sottostante interfaccia DCOM, non nell'implementazione complessiva o nello stesso Endpoint Mapper di RPC. Di conseguenza, è stato possibile gestire questa vulnerabilità in Windows NT 4.0 senza dovere ridisegnare l'architettura di porzioni significative del sistema operativo Windows NT 4.0, come sarebbe stato richiesto da una patch per Windows NT 4.0 del Security Bulletin MS03-010.

A quali attacchi viene esposto il sistema a causa di questa vulnerabilità?
Un utente malintenzionato che riesca a sfruttare questa vulnerabilità può eseguire codice nel sistema interessato avvalendosi dei privilegi dell'account LocalSystem. L'autore dell'attacco potrebbe eseguire qualsiasi operazione sul sistema, incluse l'installazione di programmi, la visualizzazione, la modifica o l'eliminazione di dati oppure la creazione di nuovi account dotati di privilegi completi.

In quale modo un hacker può sfruttare questa vulnerabilità?
Un hacker potrebbe tentare di sfruttare questa vulnerabilità programmando un computer in grado di comunicare attraverso la porta TCP 135 con un server interessato dal problema, in modo da inviare un particolare tipo di messaggio RPC con formato errato. Alla ricezione di tale messaggio il servizio RPC del computer affetto dalla vulnerabilità genererebbe un errore tale da consentire l'esecuzione di codice non autorizzato.

Quali capacità sono necessarie per sfruttare questa vulnerabilità?
Qualsiasi utente in grado di inviare una richiesta TCP sulla porta 135 di un computer interessato da questa vulnerabilità può tentare di sfruttarla. Poiché le richieste RPC sono attive per impostazione predefinita in tutte le versioni di Windows, questo significa essenzialmente che qualsiasi utente in grado di stabilire una connessione con un computer affetto dalla vulnerabilità può tentare di sfruttarla. È possibile accedere al componente interessato anche con altre tecniche, utilizzando ad esempio un metodo che prevede l'accesso interattivo al sistema oppure un'altra applicazione analoga che passa parametri al componente affetto dalla vulnerabilità, in modalità locale o remota.

Quali sono gli scopi della patch?
La patch elimina la vulnerabilità modificando l'interfaccia DCOM in modo che controlli correttamente le informazioni che le vengono passate.

Soluzioni

Esistono soluzioni alternative che è possibile adottare per bloccare lo sfruttamento della vulnerabilità durante la valutazione o il testing della patch?
Sì. Benché per tutti gli utenti sia consigliabile installare la patch appena possibile, sono disponibili diverse soluzioni alternative che è possibile adottare per impedire temporaneamente lo sfruttamento della vulnerabilità.

Nota: tali soluzioni devono essere considerate contromisure temporanee, in quanto sono intese semplicemente a impedire gli attacchi piuttosto che a risolvere la vulnerabilità sottostante.

Di seguito sono riportate le informazioni necessarie per aumentare la protezione dei computer dagli attacchi. In ciascuna sezione sono descritte le soluzioni utilizzabili a seconda della configurazione del sistema e sono illustrate le soluzioni alternative disponibili, in base al livello di funzionalità richiesto.

Blocco della porta 135 a livello di firewall.

La porta 135 viene utilizzata per stabilire una connessione RPC con un computer remoto. Bloccando la porta 135 a livello di firewall è possibile evitare che i sistemi protetti dal firewall subiscano attacchi che tentano di sfruttare questa vulnerabilità.

Utilizzo di Firewall connessione Internet.

Se per proteggere la connessione Internet si utilizza Firewall connessione Internet in Windows XP o Windows Server 2003, il traffico RPC in arrivo da Internet viene bloccato per impostazione predefinita.

Disattivazione di DCOM in tutti i computer interessati.

In un computer connesso in rete, il protocollo wire DCOM consente agli oggetti COM presenti nel computer di comunicare con quelli situati negli altri computer. Per aumentare la protezione da questa vulnerabilità, è possibile disattivare DCOM per un computer specifico, ma in questo modo si disattivano tutte le comunicazioni fra gli oggetti di tale computer e quelli presenti negli altri computer. Se si disattiva DCOM in un computer remoto, in seguito non sarà più possibile accedere in modalità remota a tale computer per riattivare DCOM. Per riattivare DCOM sarà pertanto necessario accedere fisicamente a tale computer.

Per attivare (o disattivare) manualmente DCOM in un computer:

Eseguire Dcomcnfg.exe.

In Windows XP o Windows Server 2003, sono necessari i seguenti passaggi aggiuntivi:

Espandere la radice della console e fare clic sul nodo Servizi componenti.

Aprire la sottocartella Computer.

Per il computer locale, fare clic con il pulsante destro del mouse su Risorse del computer e scegliere Proprietà.

Per un computer remoto, fare clic con il pulsante destro del mouse sulla cartella Computer, scegliere Nuovo, quindi Computer. Immettere il nome del computer. Fare clic con il pulsante destro del mouse sul nome del computer e scegliere Proprietà.

2. Fare clic sulla scheda Proprietà predefinite.

3. Selezionare (o deselezionare) la casella di controllo Abilita DCOM in questo computer.


4. Se si desidera impostare altre proprietà per il computer, fare clic sul pulsante Applica per attivare (o disattivare) DCOM. In caso contrario, fare clic su OK per applicare le modifiche e uscire da Dcomcnfg.exe.

Disponibilità della patch

Posizioni per il download di questa patch

Windows NT 4.0 

Windows NT 4.0 Terminal Server Edition 

Windows 2000 

Windows XP 32 bit Edition 

Windows XP 64 bit Edition 

Windows Server 2003 32 bit Edition 

Windows Server 2003 64 bit Edition

Ulteriori informazioni sulla patch

Piattaforme per l'installazione:

La patch per Windows NT 4.0 può essere installata nei sistemi con Service Pack 6a.

La patch per Windows NT 4.0, Terminal Server Edition può essere installata nei sistemi con Windows NT 4.0, Terminal Server Edition Service Pack 6.

La patch per Windows 2000 può essere installata nei sistemi con Windows 2000 Service Pack 3o Service Pack 4.

La patch per Windows XP può essere installata nei sistemi con Windows XP Gold o Service Pack 1.

La patch per Windows Server 2003 può essere installata nei sistemi con Windows Server 2003 Gold.

Disponibilità nei service pack futuri:

La correzione di questo problema sarà inclusa in Windows 2000 Service Pack 5, Windows XP Service Pack 2 e Windows Server 2003 Service Pack 1.

Necessario riavvio: si

Possibilità di disinstallare la patch: si

Patch preesistenti: nessuna

Verifica dell'installazione della patch:

Windows NT 4.0:
Per verificare l'installazione della patch nel computer, controllare che siano presenti nel sistema tutti i file elencati nel manifest riportato nell'articolo della Knowledge Base 823980.

Windows NT 4.0, Terminal Server Edition:
Per verificare l'installazione della patch nel computer, controllare che siano presenti nel sistema tutti i file elencati nel manifest riportato nell'articolo della Knowledge Base 823980.

Windows 2000:
Per verificare l'installazione della patch nel computer, controllare che nel Registro di sistema del computer sia stata creata la seguente chiave:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823980 Per verificare i singoli file, controllare le informazioni su data/ora e versione dei file riportate nel manifest pubblicato nell'articolo della Knowledge Base 823980.

Windows XP:
Per verificare l'installazione della patch nel computer, controllare che nel Registro di sistema del computer sia stata creata la seguente chiave:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB823980 Per verificare i singoli file, controllare le informazioni su data/ora e versione dei file riportate nel manifest pubblicato nell'articolo della Knowledge Base 823980.

Windows Server 2003:
Per verificare l'installazione della patch nel computer, controllare che nel Registro di sistema del computer sia stata creata la seguente chiave:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Window Server 2003\SP1\KB823980 Per verificare i singoli file, controllare le informazioni su data/ora e versione dei file riportate nel manifest pubblicato nell'articolo della Knowledge Base 823980.

Avvertenze

Nessuna

Localizzazione:

Le versioni localizzate di questa patch sono disponibili nelle posizioni indicate nella sezione "Disponibilità della patch".

Download di altre patch di protezione:

Sono disponibili patch per altri problemi di protezione nei seguenti siti:

Le patch di protezione sono disponibili nel Microsoft Download Center ed è possibile individuarle in modo semplice eseguendo una ricerca con la parola chiave "security_patch".

Le patch per i sistemi consumer sono disponibili nel sito Web Windows Update.

Ulteriori informazioni:

Ringraziamenti

Microsoft ringraziaThe Last Stage of Delirium Research Group per averci segnalato il problema e aver collaborato con noi al fine di proteggere i clienti.

Supporto tecnico:

Il problema è descritto in dettaglio nell'articolo 823980 della Microsoft Knowledge Base. Gli articoli della Microsoft Knowledge Base sono disponibili nel sito Web Microsoft Online Support.

Per usufruire dei servizi di supporto tecnico, visitare il sito Microsoft Product Support Services. Le chiamate al supporto tecnico relative alle patch di protezione sono gratuite.

Fonti di informazioni sulla sicurezza: nella sezione dedicata alla sicurezza del sito Web Microsoft TechNet sono disponibili ulteriori informazioni sulla protezione e la sicurezza dei prodotti Microsoft.

Dichiarazione di non responsabilità:

Le informazioni disponibili nella Microsoft Knowledge Base sono fornite "come sono" senza garanzie di alcun tipo. Conseguentemente, Microsoft non rilascia alcuna garanzia, esplicita o implicita, inclusa la garanzia di commerciabilità e di idoneità per uno scopo specifico. Microsoft o i suoi fornitori non saranno, in alcun caso, responsabili per danni di qualsiasi tipo, inclusi i danni diretti, indiretti, incidentali, consequenziali, la perdita di profitti, e i danni punitivi o speciali, anche se Microsoft o i suoi fornitori siano stati informati della possibilità del verificarsi di tali danni. Alcuni stati non consentono l'esclusione o la limitazione di responsabilità per danni diretti o indiretti e, dunque, la sopracitata limitazione potrebbe non essere applicabile.

Versioni:

V1.0 (16 luglio 2003): creazione del bollettino.


Inizio paginaInizio pagina