ot Vesselin Markov(18-04-2005)

reiting (54)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane



Preduprezhdenie: Potrebitelite na Internet Explorer niama da mogat da vidiat grafikite kum tozi dokument poradi nesuvmestimost na brauzura s RFC 2397 (inlain obektni danni). Izpolzvanata potrebitelska informatsiia e fiktivna i se stremi da demonstrira problema.


Tazi statiia razglezhda nivoto na sigurnost na prenos na informatsiia pri niakoi populiarni dostavchitsi na ueb bazirana poshta, vuzmozhnostite za zloupotreba i podhodi koito mogat da se predpriemat za predovratianvne ili namaliavane riska na subitiia ot takuv harakter.

Diskutiranite uiazvimosti vklyuchvat, no ne sa limitirani do razgledanite sluchai -- te imat mnogo po-shiroko prilozhenie.

Kakto e dobre izvestno, tseliiat trafik mezhdu klient i survur mozhe da bude zapisan i v posledstvie analiziran. Toi mozhe da bude kakto kriptiran, taka i obiknoven tekst.

V sluchai pri koito zlonamereno litse e dobilo dostup do takova ustroistvo (napr. ruter, keshirasht survur) prez koeto minava brauzing trafika na klientite, vsichkiiat vhodiasht i izhodiasht trafik mozhe lesno da bude prihvanat s obiknoven paketen snifur kato tcpdump, koito osven da vizhda hedurite na paketite, mozhe i da zapisva tsialata informatsiia sudurzhashta se v tiah.

[snapshot 1]



Pravi vpechatlenie che tuk lipsva vuzmozhnost za polzvane na SSL, t.e. dannite se podavat v chist tekst. Dori potrebiteliat da ne e naiasno che predotstaviashtite uslugata ne razpolagat sus SSL sertifikat, brauzurut mu (ako e po-nov) shte go uvedomi che izprashta danni v nekodiran vid.

Vupreki tova, nai-chesto takiva suobshteniia bivat ignorirani.

Taka naprimer, ako tselta e da se nablyudava trafika mezhdu survurite na Net Info BG AD i po-konkretno tezi koito sluzhat za bezplatno hostvane na poshta (abv.bg/gyuvetch.bg/gbg.bg), i brauzurite na klientite, mozhe da se podhodi po sledniia nachin:

tcpdump
linux# resolveip abv.bg
 IP address of abv.bg is 194.153.145.67
 IP address of abv.bg is 194.153.145.68
 IP address of abv.bg is 194.153.145.77
 IP address of abv.bg is 194.153.145.80
 IP address of abv.bg is 194.153.145.86
 
 linux# tcpdump -i any src or dst net 194.153.145.0/24 and port 80 -w abv.log -s 0
 tcpdump: WARNING: Promiscuous mode not supported on the "any" device
 tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
 366 packets captured
 375 packets received by filter
 0 packets dropped by kernel
 
 linux# file abv.log
 abv.log: tcpdump capture file (little-endian) - version 2. (Linux "cooked", capture length 65535)

Komandniiat red sudurzhasht tcpdump ukazva da se zapisva trafika ot vsichki interfeisi, otgovariasht na zhelaniiat kriteri (po-gore). CHrez posledniiat parametur (-s 0) se prihvashta pulnata golemina na paketa.

Sledvashtata stupka e poluchenata informatsiia da se analizira. Tova otnovo mozhe da se izvurshi ot tcpdump (s optsiia -r file), kakto i s pomoshtta na strings (otpechatva vsichki simvoli koito podlezhat na prochit). V sluchaia e izpolzvana alternativna programa za analiz na mrezhi v grafichen rezhim - ethereal.

[snapshot 2]



Izobrazhenie 2 onaglediava zapisanite danni. Ot tuk mozhe da se prosledi komunikatsiiata / TCP potok.

[snapshot 3]



Ot izobrazhenie 3 e stava iasno che informatsiiata e bila podadena v prochitaem vid kato obiknovena HTTP/1.1 POST zaiavka kum skript /app/servlet/bg.abv.mail.Login. Suotvetno, potrebitelskoto ime i parola sa veche dostoianie na poveche ot edin chovek.

String
username=testuser&hostname=abv.bg&password=testpass&LOGIN_LOGIN=+%C2%EB...

Lichno moe mnenie e che takuv podhod e nepravilen i e greshka ot strana na sobstvenitsite na saita. Potrebitelite na uslugata ne sa predupredeni za vuzmozhnite implikatsii ot lipsata na adekvatna osigurenost na lichnite im danni. Absolyutno sushtiiat displei se sreshta i pri red drugi dostavchitsi na takuv vid uslugi, vklyuchitelno Mail.BG, Mail.ru, Mail.com, nared s vsichkite im domeini.

Malko izklyuchenie pravi DirBG, kudeto ima vuzmozhnost za polzvane na kriptirana vruzka, no tova ne stava po podrazbirane, nito potrebitelite sa izvesteni za problemite koito mogat da ochakvat ako vseki put ne ia izbirat.

HTTP zaiavka
 POST / HTTP/1.0
 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
 application/vnd.ms-excel, application/vnd.ms-powerpoint, 
 application/msword, application/x-shockwave-flash, */*
 Referer: http://mail.dir.bg/
 Accept-Language: en-ie
 Content-Type: multipart/form-data;
 boundary=---------------------------7d51ee4c039e
 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
 Host: mail.dir.bg
 Content-Length: 534
 Pragma: no-cache
 Cache-Control: max-age=259200
 Connection: keep-alive
 
 -----------------------------7d51ee4c039e
 Content-Disposition: form-data; name="Username"
 lsbg_
 -----------------------------7d51ee4c039e
 Content-Disposition: form-data; name="Password"
 parolka
 -----------------------------7d51ee4c039e
 


Kakvo mozhe da se napravi ot suotvetniia dostavchik ako niama namerenie da se sdobie sus sertifikat?

Kato za nachalo, zadulzhitelno triabva da predupredi potrebitelite za vuzmozhnite riskove na koito podlezhat. Bi mogul da se upotrebi podhod realiziran ot pioneri v bransha kato Yahoo! Mail. Pri poslednite, dori klientut da ne izbere sigurna vruzka, informatsiata koiato brauzurut izprashta kum survurite e veche chastichno kodirana s MD5. Vupreki koliziite naskoro namereni v tozi hesh, MD5 produlzhava da bude sravnitelno nadezhdno sredstvo za predpazvane na relativni tip danni.

Primer:

MD5 string
/*
 * Take a string and return the hex representation of its MD5.
 */
 
 function MD5(str)
 {
         x = str2blks_MD5(str);
         var a =  1732584193;
         var b = -271733879;
         var c = -1732584194;
         var d =  271733878;
         
         for(i = 0; i < x.length; i += 16)
         {
                 var olda = a;
                 var oldb = b;
                 var oldc = c;
                 var oldd = d;
                 
                 a = ff(a, b, c, d, x[i+ 0], 7 , -680876936);
                 d = ff(d, a, b, c, x[i+ 1], 12, -389564586);
                 c = ff(c, d, a, b, x[i+ 2], 17,  606105819);
                 b = ff(b, c, d, a, x[i+ 3], 22, -1044525330);
                 a = ff(a, b, c, d, x[i+ 4], 7 , -176418897);
                 d = ff(d, a, b, c, x[i+ 5], 12,  1200080426);
                 c = ff(c, d, a, b, x[i+ 6], 17, -1473231341);
                 b = ff(b, c, d, a, x[i+ 7], 22, -45705983);
                 a = ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
                 d = ff(d, a, b, c, x[i+ 9], 12, -1958414417);
                 c = ff(c, d, a, b, x[i+10], 17, -42063);
                 b = ff(b, c, d, a, x[i+11], 22, -1990404162);
                 a = ff(a, b, c, d, x[i+12], 7 ,  1804603682);
                 d = ff(d, a, b, c, x[i+13], 12, -40341101);
                 c = ff(c, d, a, b, x[i+14], 17, -1502002290);
                 b = ff(b, c, d, a, x[i+15], 22,  1236535329); 
                 
                 [...]

[snapshot 4]



V mnogo ot svobodno razrabotvaniia softuer (kato SquirrelMail) sushto ne sa polozheni minimalni usiliia za zashtita na informatsiiata suborazno posocheniia veche stsenarii, s prezumtsiia che udostoveriavaneto shte se izvurshva vinagi po zashtiten nachin.

Resursi

[1] Tcpdump - http://www.tcpdump.org
[2] Ethereal - http://www.ethereal.com
[3] Netinfo - http://www.abv.bg
[4] Yahoo! Mail - http://mail.yahoo.com


17 April 2005




<< Ogranichavane na upload-trafik | Linux + FreeBSD mini rukovodstvo >>