Newsgroup: it.comp.sicurezza.windows
Titolo: Attenzione ai files .bmp

Ve la riporto così come l'ho appena ricevuta:
----
Kaspersky Labs, a leading information security software developer warns
users about a new vulnerability in Internet Explorer (5.0, 5.5 and 6.0)
and Outlook Express 5.0. The new vulnerability allows cyber-criminals
launch malicious programs on breached computers using files in BMP
format.
The vulnerability was discovered by an unknown individual nicknamed
'GTA' and published on several security web sites. The author provided
an example of a possible attack and went on to comment that the proposed
scenario was based on a detailed analysis of the Windows source code
(details (
http://www.kaspersky.com/news.html?id=4016180)
).
"This report confirms our worst fears; the computer underground is
pouncing on the Windows source code in search of new attack methods. The
speed at which the first discovery appeared forces us to seriously
re-evaluate the immediate future of the Internet", comments Eugene
Kaspersky, Head of Anti-Virus Research at Kaspersky Labs, "From now on,
we can expect similar surprise any minute."
The lack of patches for Internet Explorer and Outlook Express make this
new vulnerability particularly dangerous. Only users who have Windows XP
with Service Pack 1 can relax for now: tests have demonstrated that this
configuration is immune.
At the same time, the new vulnerability poses a serious threat to all
Internet users. It turns out that virus
writers can create BMP files which load malicious programs onto victim
machines while users are looking at images. In fact, infection can occur
both while reading mail in Outlook and while surfing the web. 'At this
point in time, we have not detected any viruses that use this exotic new
method to attack computers. However, the chances of one appearing in the
near future are very real indeed', added Eugene Kaspersky.
Kaspersky Labs has already released a special anti-virus database update
protecting against malicious programs utilizing this vulnerability. The
contents of BMP files are scanned and potentially dangerous objects are
detected when they attempts to breach computers via either the Internet
or emails.
-- 
Andy
~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~
 
http://www.romanelmondo.it
 [.com]
~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~ : ~
Yahoo ID andrea26272
§ MM §

 configuration is immune.
Perche' tutte le volte che leggo frasi come questa, mi viene da pensare
che se fossi in Bill, ringrazierei chi ha apubblicato i sorgenti, cosi'
il mondo intero terrorizzato passera' ad XP?
Che non lo regala mica, da quel che ne so.
Chi crede ancora nella Security by Obscurity?
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

machines while users are looking at images.
Eeeeeehhhhh????????
Un po' come dire: non farti le pippe se no diventi cieco :-PPP
-- 
ciao,
hal

 Un po' come dire: non farti le pippe se no diventi cieco :-PPP
E ti crescono i peli sul palmo delle mani.
Bye, G.

Ve la riporto così come l'ho appena ricevuta:
[CUT]
Si è vero; la vulnerabilità riguarda solo le vecchie versioni di IE
come queste:
IE5.01 SP1 5.00.2614.3500 on Windows 2000 Pro SP2
IE5.01 SP1 5.00.2920.0000 on Windows 2000 Pro SP2
IE5.01 SP2 5.00.3315.1000 on Windows 2000 Pro SP2 
Ne parla anche zeusnews
(
http://www.zeusnews.it/index.php3?ar=stampa&cod=2874
); sembrerebbe
quindi che la vulnerabilità sia stata trovata grazie ai sorgenti di
windows diffusi illegalmente nei giorni scorsi. Qualcuno non ci
credeva..bisogna cmq vedere se la notizia è reale o è stata esagerata,
ma zeusnews è un sito abbastanza serio (e inoltre la stessa notizia è
stata riportata anche dalla newsletter di paolo attivissimo).
--
Ciao
Mitch

 stata riportata anche dalla newsletter di paolo attivissimo).
su security tracker c'č il sorgente incriminato con la relativa
spiegazione.....andate a darci un'occhiata.


http://www.securitytracker.com/alerts/2004/Feb/1009067.html
--
Black holes suck.


http://www.securitytracker.com/alerts/2004/Feb/1009067.html
Grazie per il link.
Leggendo il messaggio pero' non mi quadra il ragionamento che fa, anzi
mi pare proprio sbagliato.
L'autore del messaggio riporta questo codice:
while (_bmfh.bfOffBits > (unsigned)cbRead)
    {
        BYTE abDummy[1024];
        int cbSkip;
        cbSkip = _bmfh.bfOffBits - cbRead;
 
        if (cbSkip > 1024)
            cbSkip = 1024;
        if (!Read(abDummy, cbSkip))
            goto Cleanup;
 
        cbRead += cbSkip;
    }
e scrive:
"
.. Rrrrriiiiggghhhttt.  Way to go, using a signed integer for an
offset.  Now all we have to do is create a BMP with bfOffBits > 2^31,
and we're in. cbSkip goes negative and the Read call clobbers the
stack with our data.
"
Ecco cosa non mi torna.
_bmfh e' una struttura BITMAPFILEHEADER che e' dichiarata cosi' in
winbase.h:
typedef struct tagBITMAPFILEHEADER {
        WORD    bfType;
        DWORD   bfSize;
        WORD    bfReserved1;
        WORD    bfReserved2;
        DWORD   bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
Il campo bfOffBits segnalato da 
g...@hush.com
 e' di tipo DWORD, che sul
Platform SDK e' descritto come un unsigned int a 32 bit.
Quindi, il ragionamento fatto da 
g...@hush.com
, e riportato sul sito,
mi pare errato perche' lui dice che hanno usato un signed int, ma non
e' vero.
Altra cosa. Se anche fosse vero che il campo bfOffBits fosse un signed
int, mandandolo in overflow diventerebbe negativo, quindi la
condizione
	while (_bmfh.bfOffBits > (unsigned)cbRead)
sarebbe sempre falsa ed il codice non entrerebbe nel ciclo.
O io non ho capito qualcosa, oppure il tipo ha preso una grossa
cantonata.
-- 
ciao,
hal

 cantonata.
L'errore e' su cbSkip, non sulla struttura.
-- 
*    HappyCactus - Linux User #209744 - BOFH Certified Engineer    *
*           27/11/2003 Rilaciata la prima relase di qixl!          *
*    
http://sourceforge.net/projects/qixl
 : una gui per iSiloXC    *
*  
www.google.com
 / 
groups.google.com
 : cercare prima di chiedere  *

Andrebbe corretto definendo cbSkip come unsigned int.
Ah, ecco cosa non avevo capito!
Grazie mille :-)
-- 
ciao,
hal