[MontelLUG] Backdoor in windows?
cesco
webmonster a apf.it
Sab 14 Gen 2006 10:07:58 CET
Postridie Idus Ianuarias MMVI Paolo Subiaco="PS" haec scripsit:
PS> All'indirizzo http://grc.com/securitynow.htm sono presentate le
PS> motivazioni che lasciano supporre che non si tratti di un errore
PS> di programmazione quanto di una feature utilizzata per poter
PS> controllare i computer con sistema operativo Windows, a dispetto di
PS> firewall, antivirus, antispyware, anti....
Ieri sera ho ascoltato il podcast, ecco un riassunto tecnico dei motivi
che fanno credere si tratti di una backdoor.
Steve Gibson, l'esperto di sicurezza della trasmissione (utente Mac e
Windows principalmente, non un malizioso linuxaro), visto che la
Microsoft non aveva intenzione di fornire patch per i windows vecchi né
di dire se soffrissero della vulnerabilità, ha deciso di scriversi
un'immagine di test per verificare il baco e poi di scrivere una patch
di suo pugno, scartabellando le specifiche dei wmf.
In soldoni: un wmf è formato da diversi record che contengono le
primitive grafiche (traccia un rettangolo, fa una linea...). Questi file
vengono creati dalle applicazioni in fase di stampa e passati al driver
della stampante. Se la stampa viene interrotta dall'utente la cosa deve
essere notificata al programma che ha lanciato la stampa per bloccare la
creazione di altre pagine. Per farlo la MS ha pensato di passare nel wmf
creato un puntatore ad una funzione da far chiamare dal s.o. in caso di
annullamento della stampa, in parole povere io programma passo al
windows la roba da stampare e gli dico: se qualcuno annulla la stampa tu
chiamami e dimmi di eseguire una funzione (che ti indico nel wmf) in cui
blocco la creazione di altre pagine da stampare e faccio apparire una
finestralla pop-up con la scritta stampa annullata. Sistema forse un po'
brutto e primitivo, ma su windows, per di piú 15 anni fa ha senso...
Si credeva che il problema fosse che queste chiamate potessero essere
attivate non solo su wmf "da stampa", ma anche su wmf "da lettura", con
l'aggiunta di passargli un puntatore che facesse eseguire codice
contenuto nel wmf opportunamente alterato.
La cosa inquietante che ha scoperto Steve Gibson è che invece le
chiamate ai puntatori sono disabilitate nei wmf "da lettura", ma si
possono attivare con un trigger particolare: una backdoor quindi.
Piú in dettaglio: i record che descrivono chiamate a puntatori sono
formati da 2 word (4 byte) che contengono la lunghezza del record in
word ed una word che contiene il puntatore. Quindi un record di questo
tipo contiene il valore 3 nelle prime due word + il puntatore nella
terza word. Questi record vengono eseguiti però solo nei wmf "da
stampa", in quelli "da lettura" vengono giustamente ignorati. A meno
che... non si impostino le due word della dimensione record col valore
impossibile 1 (con 0 e 2 invece non funziona) nel qual caso il trigger
scatta e la funzione viene eseguita abbandonando del tutto il resto del
wmf... Qualcuno riesce a pensare ad un errore di programmazione che
causi tutto ciò? Sembra _molto_ improbabile...
PS> La cosa buffa è che Microsoft considera questa vulnerabilità non
PS> critica, in quanto sebbene la si possa sfruttare per avere pieno
PS> controllo sul PC attaccato, non costituisce un worm in grado di
PS> replicarsi in modo autonomo fra i vari PC, aggiungendo che non
PS> essendo considerata una vulnerabilità critica, non saranno messe a
PS> disposizioni le patch per i sistemi operativi "vecchi" quali 95, 98,
PS> ME, NT!
A dirla tutta pare che alla fine i windows vecchi non fossero affetti da
questo "baco" e che sia stato introdotto in windows 2000, cosa che fa
pensare ancora di piú che si tratti di una backdoor, anche perché MS
dovrebbe aver da poco riesaminato tutto il codice di windows con un
occhio alla sicurezza...
Per ora sono solo supposizioni molto fondate, non si sa quanto in alto
sia partito l'idea di questa backdoor (un paio di programmatori, Bill,
la CIA, gli alieni :) Venerdí prossimo esce la prossima puntata di
Security Now! con aggiornamenti e forse qualcuno della MS tenterà di
spiegare il comportamento del tutto. Aspetto con curiosità :)
--
______________
/\ \
\_| ciao ciao, |
| cesco |
| _________|_
\_/___________/
More information about the montellug
mailing list