PDA

View Full Version : Winamp inciampa in una nuova falla


Redazione di Hardware Upg
01-02-2006, 07:21
Link alla notizia: http://www.hwupgrade.it/news/sicurezza/16268.html

Nuova falla per il player MP3 più famoso al mondo. Il bug, che permette l'esecuzione di codice da remoto, è stato tuttavia prontamente sistemato dalla casa produttrice.

Click sul link per visualizzare la notizia.

Gerardo Emanuele Giorgio
01-02-2006, 07:26
Cribbio... io ho la 5.111 da mesi...

Leron
01-02-2006, 07:33
Cribbio... io ho la 5.111 da mesi...
fino a quando una falla non viene scoperta non c'è nulla da fare

molto veloce l'aggiornamento, è una buona cosa (basta che la mancanza di testing dell'aggiornamento non provochi altre falle :asd:

Gerardo Emanuele Giorgio
01-02-2006, 07:43
infatti... speriamo.
Winamp è l'unico programma (oltre windows ovviamente) che uso quotidianamente. Anche 5-6 ore al giorno.
Cmq non mi è mai sembrato che desse problemi a parte qualche sporadico "inceppamento all'apertura", cosa che mi capitava anche con versioni ben piu vecchie (2.x)

mjordan
01-02-2006, 08:05
Vista la complessità di Winamp diciamo che una falla del genere ogni tanto se la può pure permettere ... :p

-fidel-
01-02-2006, 08:12
Ma se questo è un bug di buffer overflow, è possibile controllarlo? Più precisamente, posso "pilotare" l'esecuzione di un qualche codice maligno quando scateno il buffer overflow? Mi risulta che in caso di buffer overflow, il codice eseguito è arbitrario.

mjordan
01-02-2006, 08:14
Ma se questo è un bug di buffer overflow, è possibile controllarlo? Più precisamente, posso "pilotare" l'esecuzione di un qualche codice maligno quando scateno il buffer overflow? Mi risulta che in caso di buffer overflow, il codice eseguito è arbitrario.

E' proprio quello il rischio infatti.

-fidel-
01-02-2006, 08:25
E' proprio quello il rischio infatti.

Mmmmh allora mi piacerebbe sapere come si puo' fare. Solo a scopo didattico eh :D

0rph3n
01-02-2006, 08:37
E' proprio quello il rischio infatti.

sicuro?
ma proprio sicuro sicuro sicuro?
che senso ha per un'attacker far eseguire codice arbitrario?! ;)

'iao

Narmo
01-02-2006, 08:49
Molto probabilmente con file M3U e PLS creati ad hoc è possibile eseguire codice arbitrario sfruttando il buffer overflow.
Credo sia difficile riuscire a sfruttare questo bug da remoto...

mjordan
01-02-2006, 08:52
sicuro?
ma proprio sicuro sicuro sicuro?
che senso ha per un'attacker far eseguire codice arbitrario?! ;)

'iao

A questo punto ti chiedo il significato della parola arbitrario ;)

DjLode
01-02-2006, 09:04
che senso ha per un'attacker far eseguire codice arbitrario?! ;)


Arbitrario non vuole dire a caso. Prenda più o meno il significato di ad hoc. Ovvero che con l'exploit puoi fare eseguire il codice che l'attacker decide.

May81
01-02-2006, 09:13
Se ho ben capito a meno che non si faccia partire una playlist infetta non si corre nessun pericolo... quindi la pericolosità c'è solo per chi scarica musica e fa partire delle playlist non sue.

0rph3n
01-02-2006, 09:15
...e si che mi son fatto la doccia stamattina, dovrei essere più svelio di quanto in realtà sono :muro: :stordita:

'iao

ka0s
01-02-2006, 09:16
Se ho ben capito a meno che non si faccia partire una playlist infetta non si corre nessun pericolo... quindi la pericolosità c'è solo per chi scarica musica e fa partire delle playlist non sue.
dovrebbe essere proprio così...

-fidel-
01-02-2006, 09:19
Arbitrario non vuole dire a caso. Prenda più o meno il significato di ad hoc. Ovvero che con l'exploit puoi fare eseguire il codice che l'attacker decide.

La mia domanda di prima allora rimane valida: come ? Sempre a scopo didattico :D Quando nei miei programmi ho riscontrato dei buffer overflow, non sono mai riuscito a pilotarli, il programma iniziava proprio ad eseguire codice arbitrario inteso come "a caso": quindi poteva capitare di tutto.

mjordan
01-02-2006, 09:34
La mia domanda di prima allora rimane valida: come ? Sempre a scopo didattico :D Quando nei miei programmi ho riscontrato dei buffer overflow, non sono mai riuscito a pilotarli, il programma iniziava proprio ad eseguire codice arbitrario inteso come "a caso": quindi poteva capitare di tutto.

Appunto. Codice a caso. Arbitrario. Di libero arbitrio per l'attacker.
Conosci C? Qui' non credo si possano dare delucidazioni in merito, tempo fa se ne parlava sul forum di programmazione e alcuni mod ci hanno fatto smettere.
Magari in PVT. Comunque si usano tecniche di code injection di primo e second'ordine.
Il DLL Injection è molto usato dai virus per esempio. Devi almeno saperti creare un programma che faccia un buffer overflow, comunque... :stordita: E comunque devi conoscere bene il concetto di processo, descriptor, come funziona il copy-on-write... Non è una cosa che si spiega in 10 righe insomma. E non è una cosa che si fa sempre alla stessa maniera.

MaxArt
01-02-2006, 09:41
Mmm, sarà che io non ho capito come funziona... Ma in tutto questo non potrebbe avere ruolo l'NX bit per impedire l'esecuzione di codice arbitrario?

Cimmo
01-02-2006, 09:53
Cmq se uno cerca bene c'e' gia' un bell'esempietto che crea un file di playlist per winamp che sfrutta la falla e ti fa partire la calcolatrice di Windows.
Ovviamente avrebbe anche potuto cancellare tutto quello che si trovava sotto c:\documents and settings o c:\programmi ;)

mjordan
01-02-2006, 09:59
Mmm, sarà che io non ho capito come funziona... Ma in tutto questo non potrebbe avere ruolo l'NX bit per impedire l'esecuzione di codice arbitrario?

Esattamente. Ma tutti i processori attualmente installati dispongono di NX e XD?
Inoltre leggete qui': :read:
http://www.hwupgrade.it/news/sicurezza/15832.html

-fidel-
01-02-2006, 12:05
Appunto. Codice a caso. Arbitrario. Di libero arbitrio per l'attacker.
Conosci C? Qui' non credo si possano dare delucidazioni in merito, tempo fa se ne parlava sul forum di programmazione e alcuni mod ci hanno fatto smettere.
Magari in PVT. Comunque si usano tecniche di code injection di primo e second'ordine.
Il DLL Injection è molto usato dai virus per esempio. Devi almeno saperti creare un programma che faccia un buffer overflow, comunque... :stordita: E comunque devi conoscere bene il concetto di processo, descriptor, come funziona il copy-on-write... Non è una cosa che si spiega in 10 righe insomma. E non è una cosa che si fa sempre alla stessa maniera.

Conosco il C e i concetti da te elencati, mentre sono all'oscuro di code injection, o almeno di come utilizzarlo per uno scopo di questo tipo. Faccio un giro su google, senno' ti rompo in pvt :D

-fidel-
01-02-2006, 12:16
Cmq se uno cerca bene c'e' gia' un bell'esempietto che crea un file di playlist per winamp che sfrutta la falla e ti fa partire la calcolatrice di Windows.
Ovviamente avrebbe anche potuto cancellare tutto quello che si trovava sotto c:\documents and settings o c:\programmi ;)

Trovato, sto guardando il codice. Ora sto capendo il "trucco", interessante...

magilvia
01-02-2006, 12:34
Appunto. Codice a caso. Arbitrario. Di libero arbitrio per l'attacker.
??? Stai confondendo di brutto. Arbitrario non significa affatto a caso, vuole appunto dire "che è fatto, esercitato ad arbitrio" ovvero secondo la volonta del cracker.

mjordan
01-02-2006, 12:54
??? Stai confondendo di brutto. Arbitrario non significa affatto a caso, vuole appunto dire "che è fatto, esercitato ad arbitrio" ovvero secondo la volonta del cracker.

Infatti da quello che ho scritto si evince "a caso per il programma", "meditato per il cracker".
Cerchiamo di capire la semantica delle frasi, non ci soffermiamo sul significato del singolo vocabolo.

Boss87
01-02-2006, 13:17
Beh, vista la diffusione di Winamp è un bel problema..

-fidel-
01-02-2006, 13:20
Mmm, sarà che io non ho capito come funziona... Ma in tutto questo non potrebbe avere ruolo l'NX bit per impedire l'esecuzione di codice arbitrario?

Windows supporta l'NX bit, però è sempre il programmatore che, nell'allocazione di un buffer ad esempio con VirtualAllocEX, specifica se quella memoria potrà contenere anche codice eseguibile. Molti però dimenticano questo ed usano semplici 'malloc' che non sfruttano questa potenzialità di Windows.

magilvia
01-02-2006, 13:41
Cerchiamo di capire la semantica delle frasi, non ci soffermiamo sul significato del singolo vocabolo.
MMh se speri che riusciamo a capire quello che vuoi dire quando lo scrivi nel modo opposto temo che che rimmarrai deluso.
Dici "a caso per il programma" ecc, ma quando si dice "esecuzione di codice arbitrario" si intende "esecuzione di qualunque codice si voglia", in nessun modo c'entra il concetto di casualità.

-fidel-
01-02-2006, 13:57
MMh se speri che riusciamo a capire quello che vuoi dire quando lo scrivi nel modo opposto temo che che rimmarrai deluso.
Dici "a caso per il programma" ecc, ma quando si dice "esecuzione di codice arbitrario" si intende "esecuzione di qualunque codice si voglia", in nessun modo c'entra il concetto di casualità.

Veramente io avevo capito il senso di quello che aveva detto mjordan.
"libero arbitrio per l'attacker" mi sembra eloquente scusa... Cmq che strana polemica...

-fidel-
01-02-2006, 13:59
mi quoto da solo...

Windows supporta l'NX bit, però è sempre il programmatore che, nell'allocazione di un buffer ad esempio con VirtualAllocEX, specifica se quella memoria potrà contenere anche codice eseguibile. Molti però dimenticano questo ed usano semplici 'malloc' che non sfruttano questa potenzialità di Windows.

per aggiungere una cosa: che per questo exploit si parla di buffer allocato nello stack, non di allocazione dinamica della memoria, quindi niente NX bit.

mjordan
01-02-2006, 14:03
MMh se speri che riusciamo a capire quello che vuoi dire quando lo scrivi nel modo opposto temo che che rimmarrai deluso.
Dici "a caso per il programma" ecc, ma quando si dice "esecuzione di codice arbitrario" si intende "esecuzione di qualunque codice si voglia", in nessun modo c'entra il concetto di casualità.

Se il cracker può far eseguire del codice di arbitrio, significa che il programma esegue codice in modo casuale, cioè tutto ciò che gi passa il cracker in modo ormai non piu' dipendente dal programma. Cio' che è arbitrario per il cracker (e quindi ben definito per il suo fine), è d'occasione per il programma (casuale nel senso che esegue tutto il codice del caso che gli si vuole dare). Mi domando perchè -fidel- ha capito mentre tu ti devi fossilizzare su un vocabolo :muro:

magilvia
01-02-2006, 18:31
Mmmh polemica sterile come dice fidel. Cmq mi fossilizzo perchè se si diffonde il luogo comune che il codice eseguito è casuale allora molti crederanno che che un codice eseguito a caso ha poche probabilità di fare danni e non si preoccuperanno. Invece deve essere chiaro che il codice eseguito è studiato nei dettagli dal cracker e quindi altamente pericoloso. Capisci perchè ho polemizzato. Comunque da parte mia ora basta.

cekvim
02-02-2006, 20:14
ma winamp che cosa ha in più rispetto a media player? scusate ma la mia ignoranza