Право на privacy, уже и без того изрядно потрепанное в боях, подверглось очередной атаке. На этот раз — со стороны гиганта Google, шпионящего за нами с помощью закладок, встроенных в популярные браузеры (Горящий Лис, Опера), а также панель Google Toolbar, установленную у миллионов пользователей. Но как обнаружить факт шпионажа (я, например, обнаружил это чисто случайно), какая именно информация передается, чем это нам грозит в практическом плане и можно ли предотвратить разгул безобразия своими собственными силами? Сейчас посмотрим, мой друг, сейчас посмотрим...
Интернет представляет собой отличный инструмент для контроля над деятельностью его обитателей, в котором заинтересованы и правительственные учреждения, и крупные/мелкие корпорации, и не в последнюю очередь хакеры. Да и стандартный браузер предоставляет слишком много информации о клиенте, передавая ее узлу, с которым осуществляется соединение: тип и версию операционной системы и самого браузера, а также адрес предыдущей посещенной страницы. Невероятно богатая информация для статистического анализа, но, к сожалению аналитиков (и к счастью простых пользователей ), полностью децентрализованная и разобщенная: не существует никакого единого центра по сбору данных, и хотя некоторые фирмы предоставляют бесплатные счетчики (типа liveinternet.ru). они контролируют лишь те сетевые ресурсы, на которых они установлены.
Панель управления Google Toolbar, выпущенная для Горящего Лиса и IE, не только упрощаетweb-серфинг, но и передает Google информацию о посещаемых узлах, типе и версии браузера/операционной системы, честно предупреждая об этом в пользовательском соглашении, по этому тут ни каких претензий у час нет. По официальной версии, полученные данные не разглашаются, не передаются ни каким третьим лицам (типа ФБР), а используются исключительно для улучшения качества поиска. Наиболее часто посещаемые ссылки получают более высокий приоритет и выводятся первыми, отчего выигрывает как сама поисковая машина, так и конечные пользователи (независимо от того, установлена у них Google Toolbar или нет).
Естественно, далеко не каждый готов делиться с Google какой бы то ни было личной информацией. Поэтому компания вступила в сговор с разработчиками некоторых популярных браузеров (Горящий Лис, Опера), убедив их встроить специальные закладки, скрыто передающие информацию обо всех действиях пользователя в специальных аналитический центр. Последний, естественно, принадлежит Google. Быть может, в этом и кроется секрет бесплатности Оперы? Как знать.
Ладно, не будем гадать на кофейной гуще, а лучше пронаблюдаем за процессом передачи данных своими собственными глазами и подумаем, как предотвратить утечку персональной информации, раскрытие которой может иметь определенные последствия. В частности, хакеры давно и небезуспешно используют Google для атак на сайты о чем можно прочесть в статье «Google Hacking for Penetrat on Testers», на писанной хакером по прозвищу Johnny Long: http://www.blackhat.com/presentatio..._EU_05-Long.pdf
Больше всего, конечно, от этого страдают владельцы web-серверов, но и обычным пользователям временами приходится несладко. Так что займемся экспериментами.
Готовим операционную
Итак, что нам понадобится? Горящий Лис (версия 1.5), Internet Explorer (версия 6.0.2800.1106), Опера (версия 8.511, Остальные версии я не проверял, поэтому их поведение может отличаться от описанного. Еще нам потребуется снифер (грабитель сетевого трафика) и брандмауэр (для защиты от утечек информации), Я использую SyGate Personal Firewall от компании SyGate (ныне купленной корпорацией Symantec), включающий в себя неплохой пакетный фильтр. Если до версии 4.2 для некоммерческого использования он был бесплатен, то теперь за полную версию просят денежку, а из демонстрационной пакетный фильтр исключен.
Поэтому приходится либо раскошеливаться, либо искать антиквариат, либо использовать какой-нибудь другой брандмауэр плюс бесплатный tcpdump (tcpdump.org), портированный под множество операционных систем, среди которых значится и Windows.
Также для чистоты эксперимента рекомендуется установить свой собственный web-сервер, чтобы исключить все побочные воздействия. Лично я юзаю Small Http Server (smallsrv.com). который советую и остальным, тем более что для граждан бывшего СНГ он бесплатен.
Взятие Горящего Лиса с поличным
Берем свежее установленного Горящего Лиса за хвост и идем по адресу nezumi.org.ru (адрес моего web-сервера) или на Ваш сайт. Открываем SyGate Personal Firewall, лезем в «Logs-> Packet Log» (при этом галочка «Capture Full Packet» в «Options -> Log»должна быть заблаговременно установлена) и видим, что в пакетном логе появились какие-то странные и совершенно левые IP-адреса, с которыми сношался процесс firefox.exe через 80-й порт. Локальный адрес моего сервера в логе отсутствует, поскольку пакетный фильтр Sygate Personal Firewall игнорирует трафик, идущий через loopback-петлю 127.0.0.1
Попробуем выяснить, кому принадлежат эти IP, определив их доменные имена посредством штатной утилиты tracert.exe. Ее стараниями мы быстро узнаем, что адресу 72.14.217.93 соответствует доменное имя bu-in-f93.google.com, а 209,85.137.99 – mg-inf-99.google.com.
Aгa! В воздухе уже запахло паленым. Оба адреса принадлежат корпорации Google и, что самое интересное, находятся в различных подсетях. Короче, факт скрытой передачи персональных данных можно считать надежно установленным. Остается только выяснять, какая именно информация передается. Это легко! Достаточно взглянуть на окно дампа, содержимое которого приведено ниже:
ИНФОРМАЦИЯ, ПЕРЕДАВАЕМАЯ ЛИСОМ УЗЛУ BU-IN-F93.GOOGLE.COM
Код:
0000: 00 30 80 3F DE 00 00 А0 : С5 C1 D8 89 08 00 45 00 | .0.?..Е...
0010: 03 FF F8 41 40 00 80 06 : 68 30 53 EF 21 2Е 48 0Е | ...А@...hOS.!.Н.
0020: D9 5В 08 95 00 50 AC 7C : 5В 7В 32 F6 FD E4 50 18 | .[...Р.I [{2...Р.
0030: 41 6А 05 С4 00 00 47 45 : 54 20 2F 73 61 66 65 62 | Aj....GET/safeb
0040: 72 6F 77 73 69 6E 67 2F : 6C 6F 6F 63 75 70 3F 73 | rowsing/lookup?s
0050: 6F 75 72 63 65 69 64 3D : 66 69 72 65 66 6F 78 2D | ourceid=firefox-
0060: 61 6E 74 69 70 68 69 73 : 68 26 66 65 61 74 75 72 | antlphish&featur
0070: 65 73 3D 54 72 75 73 74 : 52 61 6E 6B 26 63 6C 69 | es=TruscRank&cli
0080: 65 6Е 74 3D 6Е 61 76 63 : 6С 69 65 6Е 74 2D 61 75 | ent=r,avclient-au
0090: 74 6F 2D 74 62 66 66 26 : 65 6E 63 76 65 72 3D 31 | to-tbff&encver=l
00A0: 26 6E 6F 6E 63 65 3D 2D : 31 34 37 30 36 37 37 35 | &nonce=-14706775
Даже неспециалисту понятно, что bu-in-f93.google.com представляет собой web-сервер, которому Лис посылает запрос «GЕТ /safebrowsing/lookup2sourceid=firefox-antiphish&features=TrustRanK&client=navclient-auto-tbff&encver=1». Запрос вызывает скрипт /safebrowsing/lookup и передает строку параметров, включающую в себя среди прочей интересной информации зашифрованный URL посещаемой страницы вместе с типом/версией браузера/операционной системы, передаваемых открытым текстом.
А вот что передается узлу mg-in-f99.googte.com:
ИНФОРМАЦИЯ, ПЕРЕДАВАЕМАЯ ЛИСОМ УЗЛУ MG-IN-F99.GOOGLE.COM
Код:
0000: 00 30 80 3F DE 00 0С А0 : С5 CI D8 89 03 00 45 00 | .0.?....
0010: 03 А9 01 77 40 G0 80 06 : 26 02 53 EF 21 2Е 31 55 | ..w@...&.S.!..U
0020: 89 63 09 49 00 50 F7 Е4 : 17 E3 89 73 35 75 50 18 | .C.I.P s.uP...
0030: 44 70 ЗЕ 02 00 00 47 45 : 54 20 2F 73 65 61 72 63 | Dp>. . .GET/searс
0040: 68 3F 73 6F 75 72 63 65 : 69 64 3D 6Е 61 76 63 6С | h?sourceid=navcl
0050: 69 65 6E 74 2D 66 66 26 : 66 65 61 74 75 72 65 73 | ,ient-ff&features
0060: 3D 52 61 6Е 6В 26 63 6С : 69 65 6Е 74 3D 6Е 61 76 | =Rank&client=nav
0070: 63 вс 69 65 6Е 74 2D 61 : 75 74 6F 2D 66 66 26 67 | client-auto-ff&g
0080: 6F 6F 67 6С 65 69 70 3D : 4F ЗB 32 30 39 2Е 38 35 | oogleip=0;209.85
0090: 2Е 31 33 37 2Е 39 39 ЗВ : 32 33 30 26 63 68 3D 38 | .137.99;23 0&ch=8
00А0: 35 31 37 38 31 32 64 37 : 26 71 3D 69 6Е 66 6F ЗА | 517812d7&q=info:
00B0: 68 74 74 70 25 33 41 25 : 32 46 25 32 46 6E 65 7A | http%3A%2F%2Fnez
00C0: 75 6D 69 2E 6F 72 67 2E : 72 75 25 32 46 20 48 54 | umi.org.ru%2F HT
00D0: 54 50 2F 31 2E 31 0D 0A : 48 6F 73 74 ЗА 20 74 6F | TP/1.1..Host: to
Отчетливо виден ничем не прикрытый запрос «GET/search?client=navclient-auto&googleip=0;1532&iqrn=TPVB&orig=0n2ln&ie=UTF8&oe=UTF-8&querytime=Q0B&features=Rank:&q=info:http%3a%2f%2fnezumi%2eorg%2eru&ch=702785874955 HTTP/1.1»c незашифрованным адресом http%3a%2f%2fnezumi%2eorg%2eru, который при переводе на нормальный язык выглядит так: http://nezumi.org.ru. Факт утечки информации налицо!
А теперь (разнообразия ради) попробуем установить панель Google Toolbar и посмотреть.
как она повлияет на конечный результат. Идем на google.com/intl/en/options. находим «Toolbar-Add а search box to your browser» и устанавливаем версию, разработанную специально для ГорящегоЛиса (google.com/tools/firefox/index.html). При этом галочки напротив пунктов «Page Ran k Display» и «Safe Browsing» должны находиться во взведенном состоянии («Tools -> Extensions -> GoogleToolbarfor Firefox -> Options»), в противном случае персональная информация никуда передаваться не будет (активность Google Toolbar никак не зависит оттого, отображается она на панели инструментов или нет).
Повторяем попытку захода на nezumi.org.ru и смотрим в пакетный лог. В нем теперь вместо бессловесных IP-адресов поя вились доменные имена sb.google.com и google-analytics.com, первое из которых соответствует bu-in-З.google.com, а второе - mg-in-f99.google.com Это легко определить, изучив протокол обмена и сравнив его с предыдущим результатом.
Другими словами, в Горящего Лиса изначально встроено ядро панели Google Toolbar, причем без возможности его отключения штатными средствами (варианте правкой исходных текстов не предлагать).
А теперь смертельный номер! Заходим в настройки Google Toolbar и отключаем «PageRank Display» и «Safe Browsing» — передача персональной информации тут же прекращается.
И это хорошо! Таким образом, чтобы предотвратить утечку персональной информации, необходимо установить Googie Toolbar, залезть в настройки и отключить«PageRank Display» и «Safe Browsing».
Аналогичная закладка имеется и в Опере. Однако в силу отсутствия для нее специальной версии Google Toolbar, утечку персональной информации предотвратить не так-то просто. Я это сделал путем бит-хака, то есть хирургического вмешательства в двоичный код, но существуют и другие методы, которые мы обсудим чуть позже,
В Internet Explorer за кладки от Google отсутствуют (еще бы, ведь Google и Microsoft - заклятые враги-конкуренты). Однако поскольку Internet Explorer - это сплошная дыра (типа «дуршлаг»), то по соображениям безопасности пользоваться им категорически не рекомендуется
Кто стучит на тебя?
Берем пропатченную Оперу, Internet Explorer или любой другой браузер, заведомо не содержащий закладок, и совершаем марш-бросок на subscene.com, где нажимаем ссылку «Search» и смотрим в пакетный лог. Что за черт?! Лог брандмауэра буквально кишит обращениями к узлу google-analytics.com, отсылая ему запросы «GET/urchin.js HTTP/1.1»,
Какая су... сумчатая кенгуру стучит на нас? И откуда взялся urchin.js? Это что-то новенькое!
Раньше такого не встречалось! Просмотр исходного кода HTML-страницы быстро выявляет следующий JavaScript, код которого и является стукачом:
PHP код:
<scripc src="http://www.google-analytics.com/urchin.js"
type="text/javascript ">
</scripc>
Выходит, что subscene.com (как и многие другие web-узлы) активно сотрудничает c Google, добровольно передавая ему статистику нажатий на те или иные ссылки, а вместе с ней — персональную информацию о типе/версии браузера/операционной системе, языковых настройках и даже о локальном времени, что позволяет вычислить географическое местонахождение посетителя.
Чем это чревато?
Какой ущерб может нанести утечка персональной информации, стекающейся в аналитический центр корпорации Google, при условии что она не попадает к третьим лицам? Начнем с простых пользователей. Ну какое кому дело, кто куда ходит и на какие ссылки нажимает? Теоретически Google может отслеживать посетителей «неправильных» сетевых ресурсов, пропагандирующих терроризм или распространяющих педофилию, но ни одного подобного прецедента до сих пор зафиксировано не было! Однако это еще не означает, что можно и дальше бродить по Сети и ничего не опасаться. Рассмотрим типичную ситуацию — рядовую контору, сотрудники которой в «свободное от работы время» смотрят порнографию через https-proxy, шифрующие трафик так, что администратор даже и не догадывается, какой гадостью занимаются его подопечные. Но поскольку передача персональной информации в аналитический центр Google осуществляется в незашифрованном виде, то администратору достаточно всего лишь натравить grep на лог, чтобы все та иное немедленно стало явным.
Владельцам web-серверов приходится намного хуже, и утечка персональной информации приводит к реальной угрозе нарушения безопасности.
Создает, допустим, владелец web-pecypca виртуальную директорию, кладет в нее «информацию не для всех» и дает ссылку заинтересованному лицу. Виртуальные директории не отображаются в списке содержимого каталога, и чтобы добраться до них, нужно знать полный путь (фактически играющий роль пароля). Создавать виртуальные
директории гораздо проще, чем заморачиваться с заведением новых пользователей и раздачей логинов/паролей (тем более что далеко не всякий бесплатный хостер предоставляет подобную услугу, да и платный тоже). Кстати, аналогичного результата можно добиться, поместив файл в одну из «нормальных» директорий с запрещенным просмотром ее содержимого.
Но вся защита рухнет, как только лицо, которому мы передали секретную ссылку, щелкнет по ней браузером, который содержит закладку или установленную панель Google Toolbar, передающую URL в аналитический центр, направляющий содержимое виртуальной директории прямиком на индексацию, после чего любой желающий может получить к ней доступ через поисковую машину Google!
Случай из жизни. Была у меня как-то на сервере виртуальная папка/mpЗ, доступная
только пользователям с именем mpЗ и таким же точно паролем, где лежала куча всякого добра, предназначенного сугубо для доступа в пределах домашней локальной сети (в самом деле, гонять файлы по витой паре намного удобнее, чем носиться с CD/DVD-RW дисками).
И вот в один прекрасный день я заметил, что в приватную папку кто-то забрался и качает, причем не просто качает(как качал бы нормальный пользователь), а гребет все подряд, порядком напрягая канал. Глянул на адрес и обалдел — 82.208.10.16, в поле User-Agent которого без всякого стеснения и зазрения совести прямым текстом значил ось: «Mozilа/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)»,
Каким же образом Google смог узнать логин/пароль к моей приватной папке7 Мысль о переборе я откинул сразу, а вот утечка информации через закладку, встроенную в Лиса, которым я пользовался, очень даже могла настучать. Таким образом, передавая ссылку на приватный ресурс лицу, пользующемуся Google Toolbar (или браузером с закладкой внутри], надо быть готовым к тому, что назавтра об этом ресурсе узнает весь мир
Сессии Google
Щелкая по ссылкам, выданным Google в ответ на наш запрос, мы передаем web-серверу информацию о текущей сессии, содержащую в поле referrer критерии запроса и соответствующий им результат. Вроде бы мелочь, а неприятно. Сижу как-то я за монитором, жую бутерброд и в ожидании, пока IDA Pro дизассемблирует очередную программу, лениво поглядываю на консоль Small HttpServer'a. Вдруг вижу, как кто-то пытается утянуть phc3.full.pdf (электронную версию «Записок мыщъх'а» целиком). Причем, судя по строке referrer человек забрел явное c Google, что весьма странно, поскольку я активно борюсь с Google, запрещая ему индексировать содержимое своего web-сервера по причинам о которых мы говорили выше.
Нуладно, зашел человек, так зашел. Ведь не прогонять же! А вот вставить содержимое поля referrer в адресную строку Горящего Лиса — сам Бог велел. Вставляем. И видим, что на самом деле искал человек. А искал он «структура audio CD pregap gap index», причем из трех выданных результатов его удовлетворил только один мой. Довольно любопытная информация, не правда ли? Впрочем, остальные поисковые машины страдают той же болезнью, так что Google в своих проблемах не одинок, Да что там поисковые машины! С почтовыми клиентами, основанными на web-интерфейсе, сплошь и рядом наблюдается та же проблема, Устанавливаем у себя web-сервер, отмыливаем жертве ссылку на какой-нибудь интересный файл. Если она поведется и кликнет, мы за получим referrer и, скопировав его в адресную строку своего браузера, сможем войти в текущую сессию, просматривая содержимое почтового ящика жертвы (входящие/исходящие письма), листая адресную книгу и рассылая письма от ее имени. Правда, сменить пароль, скорее всего, не получится, также как и удалить аккаунт, но все-таки говорить о безопасности в таких условиях можно только в саркастическом смысле.
Методы борьбы, или записки из подполья
Для предотвращения утечки персональной информации на клиентской стороне достаточно использовать Горящего Лиса с установленной панелью Google Toolbar и отключенными опциями «PageRank Display» и «Safe Browsing». Однако это не защитит от сайтов, сотрудничающих с Google, и для блокирования трафика разумно прибегнуть к персональному брандмауэру, пополнив блэк-лист еще одной записью: «google-analytics.com». С Оперой ситуация значительно сложнее, и для обеспечения надлежащего уровня приватности необходимо заблокировать множество IP-адресов, входящих в распределенную сеть Google, постоянно пополняющуюся новыми узлами. Регулярное изучение логов брандмауэра, похоже, единственный способ их вычислить. Администраторам web-серверов рекомендуется блокировать всех посетителей, чье поле User-Agent содержит какое-либо упоминание о Google, или создать файл robots.txt, предназначенный специально для поисковых машин и указывающий им, какие файлы можно индексировать, а какие нельзя (структура файла описана нa wwwrobotstxt.org). Впрочем, это достаточно ненадежная защита, и поисковые машины могут игнорировать все предписания.
Заключение
Доступность исходных кодов еще не гарантирует отсутствие закладок и других компонентов, о существовании которых рядовой пользователь не догадывается. Но, увы, слежка и шпионаж проникают в нашу жизнь и разрушают право на охрану персональной информации, как термиты, подтачивая ее изнутри. Залогом выживания в этом суровом мире становится знание сетевых протоколов владение дизассемблером, отладчиками и прочими хакерскими навыками