При попустительстве robots.txt

Как поисковики нечаянно раскрыли персональные данные рунетчиков

Вторая половина июля оказалась богатой на поисково-розыскные мероприятия в Рунете. Одни пользователи активно и изобретательно терзали поисковые движки, придумывая способы нарыть персональные данные других пользователей, заботливо собранные и сохраненные поисковыми роботами. Третьи внимательно следили за освещением происходящего в СМИ, обучаясь использовать базовые операторы поиска. А пока компетентные органы разбираются с вопросом "Кто виноват?", представители поисковиков отвечают веб-мастерам на другой - "Что делать?".

Едва зародившись, Всемирная паутина оказалась одним из самых востребованных изобретений человечества. Число ресурсов в Сети стало расти в геометрической прогрессии. Для того, чтобы сориентироваться и не заблудиться во всем этом многообразии, были придуманы поисковые сервисы. До появления социальных сетей для большинства пользователей именно поисковики были "точкой входа" в сеть. Первые подобные сервисы представляли собой простую иерархию каталогов, классифицировавших ресурсы по тому или иному признаку. Им на смену пришли "полноценные" поисковики, которые использовали "естественный язык" запросов и генерировали поисковую выдачу, вычленяя ключевые слова и фразы из собственной базы данных, собранной поисковыми роботами, или пауками (уж коли речь идет о Сети). Эти роботы бороздили просторы веба, переходя, как и пользователи, от страницы к странице по гиперссылкам, заботливо расставленным авторами текстов. Только, в отличие от пользователей, пауки стремились пройти по каждой обнаруженной ссылке, чтобы воссоздать наиболее полную карту сети и проиндексировать максимально доступное количество страниц.

Условно говоря, Всемирную паутину можно разделить на две части - "видимую" (surface Web) и "скрытую" (deep Web). К первой относятся все веб-страницы, доступные через тот или иной поисковый сервис. К их числу, в частности, относятся публичные посты в Живом Журнале, информация о заказах на сайте госзакупок и прочее-прочее-прочее. Подобно распределению массы во Вселенной, "темная" или "скрытая" часть паутины, то есть не индексируемая поисковыми роботами, по мнению исследователей, на несколько порядков больше "видимой". Из чего же она состоит? К ней, в частности, относятся:

  • закрытые корпоративные и государственные сети, вроде американской SIPRNet, сайты которой располагаются в доменных зонах smil.mil и sgov.gov (она оказалась чуть "приоткрытой" благодаря усилиям WikiLeaks)
  • сайты, попасть на которые можно, только введя логин и пароль (например, практически все почтовые службы, предоставляющие доступ к переписке через веб-интерфейс)
  • псевдо-домены верхнего уровня, чьи ресурсы не доступны без установки пользователем специального программного обеспечения (например, .onion для сети Tor и .i2p - для I2P)
  • файлы, на которые нет ни одной ссылки в "видимом" сегменте сети
  • большинство страниц с динамически генерируемым контентом, время жизни которого ограничено определенным промежутком времени
  • страницы, индексация которых явно запрещена специальными метатегами в их html-коде или в специальном файле robots.txt
  • Остановимся подробнее на последнем пункте. Так называемый Robots Exclusion Standard был создан как раз для управления активностью поисковых роботов на вашем сайте. Разработчик получил возможность выбрать одну из двух глобальных стратегий: "роботам разрешено индексировать все, что не запрещено" или "запрещено все, что не разрешено". Отсутствие такого файла или его "пустота" (нулевая длина) автоматически приравнивалось к выбору первого варианта. Эти правила можно задавать как для всех поисковых роботов скопом (User-agent: *), так и выбирая конкретных пауков (Yandex для "Яндекса", Googlebot для Google, bingbot для Bing и так далее). Этой возможностью, в частности воспользовался Facebook, запретив индексацию социальной сети для всех поисковых систем, кроме нескольких, особо приближенных.

    Другим, еще более гибким способом работы с веб-пауками стали метатеги, прописываемые в шапке html-кода каждой сетевой страницы. Для запрета индексации страницы для атрибута robots используется значение noindex, для индексации только конкретной страницы с одновременным запретом следовать по ссылкам - nofollow. Если разработчик хочет избежать занесения веб-страниц своего сайта в интернет-архивы (например, web.archive.org) или выступает против кэширования страниц поисковиками, он прибегает к помощи noarchive, а чтобы избавиться от отображения найденных фрагментов в поисковой выдаче - использует nosnippet.

    По словам представителей поисковых систем, именно отсутствие явного запрета на индексацию страниц в метатегах и файле robots.txt послужило причиной целого ряда "утечек" за последние десять дней. Первой из них оказалась история с публикацией в поисковой выдаче "Яндекса" SMS, отправленных интернет-пользователями абонентам "Мегафона" через официальный сайт sendsms.megafon.ru, который в итоге закрыли "на реконструкцию". Затем с помощью поисковиков были обнаружены конфиденциальные данные покупателей интернет-магазинов. Следом пользователи Google, "Яндекса" и Bing с помощью нехитрых комбинаций смогли отыскать на публично доступных ресурсах российских ведомств документы, которые, судя по поисковой выдаче, предназначались для служебного пользования.

    Несмотря на однозначные заявления представителей поисковых компаний о том, что в утечках виноваты исключительно владельцы ресурсов, общественность ждала детального "разбора полетов". В ночь на 24 июля в эфире ток-шоу "Радио-Т" выступил Владимир Иванов (@ivladdalvi), отвечающий в "Яндексе" за информационную безопасность. Он подтвердил данные своей компании об отсутствии на злополучном сайте "Мегафона" файла robots.txt. Следует отметить, что этот файл, возможно, действительно существовал, как заявлял представитель "Мегафона", но мог быть пустым, как и в случае с родственным sendsms.megafon.ru сервисом отправки MMS-сообщений sendmms.megafon.ru (по словам некоторых блогеров, файл robots.txt не изменялся там с 2007 года). Последний также оказался закрыт на реконструкцию, хотя при этом не публиковалась информация, что через него "утекали" данные пользователей.

    Владимир Иванов в своем выступлении подчеркнул, что разработчики сервиса "Мегафона" использовали порочную практику, известную среди специалистов по безопасности как security by obscurity (безопасность через неизвестность). Они решили, что для сохранения приватности достаточно, чтобы страница с текстом сообщения существовала в течение ограниченного времени (нескольких часов) и при этом генерировался URL-адрес вида sendsms.megafon.ru/status/send/0123456789ABCDEF, где переменной величиной был последний блок из шестнадцати символов (то есть 264 различных вариантов). Два этих фактора исключали возможность простого перебора в поисках нужного сообщения. "Порочность" заключалась в том, что разработчики не предусмотрели варианта, при котором о существовании ссылки станет известно веб-пауку.

    Поисковый робот не может сам наткнуться на ссылку, существенная часть которой генерируется динамически случайным (или скорее псевдослучайным) способом, так как он не перебирает все возможные варианты URL'ов в поисках добычи - это слишком затратно и неэффективно. Зато если ему вовремя подбросить наводку, он вполне может успеть проиндексировать страницу до того момента, как она физически исчезнет. Представитель "Яндекса" опроверг распространенное предположение о том, что в роли целеуказателя выступил "Яндекс.Бар" - плагин для ряда популярных браузеров. Но версию о причастности установленного на злополучном сайте "Мегафона" счетчика "Яндекс.Метрики", собирающей информацию и по переходам посетителей страниц, отрицать не стал.

    В записи в своем блоге от 26 июля Владимир Иванов подробно поведал нерадивым веб-мастерам, что такое robots.txt и как его правильно готовить, а уже на следующий день сообщил об изменениях в "Яндекс.Метрике". Пользовательское соглашение последней предусматривает передачу "Яндексу" анонимных данных о переходах пользователей, причем если переданная счетчиком ссылка тем или иным способом не запрещена к индексации, она может попасть в базу данных поисковика, а потом и в поисковую выдачу. Но учитывая последние события, представители компании решили добавить к "Яндекс.Метрике" новую опцию, запрещающую индексацию страниц, о которых поисковику стало известно лишь благодаря счетчику.

    Проведенный "Яндексом" ликбез не сможет, как по мановению волшебной палочки, моментально изменить ситуацию с "утечками" персональных данных пользователей и служебных документов. Такого рода происшествия случались и до обнародования SMS, отправленных абонентам "Мегафона", будут происходить и после. К примеру, за полгода до обнародования Алексеем Навальным документальных свидетельств о якобы имевших место махинациях в "Транснефти", в публикации издания "Век" утверждалось, что в руки журналистов попал связанный со строительством трубопровода "Восточная Сибирь - Тихий Океан" (ВСТО) "акт проверки - многостраничный документ, выложенный в открытом доступе на сайте Счетной палаты". Данное свидетельство получает больше доверия с учетом того, что сайт именно этого ведомства недавно стал лидером по числу проиндексированных документов, представленных в поисковой выдаче как документы для служебного пользования. С другой стороны, достоянием общественности еще не стал тот факт, что Федеральная миграционная служба "сливает" персональные данные потенциальных высококвалифицированных специалистов (ФИО, серия и номер паспорта, а в некоторых случаях и номера телефонов с адресами электронной почты), заполнивших специальную форму на сайте ведомства. Напомним, высококвалифицированным специалистом считается иностранный гражданин, который зарабатывает по контракту не менее двух миллионов рублей в год - их, к примеру, планируется активно привлекать к работе в Сколково (в данном случае, правда, не действует зарплатный барьер).

    Если с веб-разработчиками все более-менее понятно, то как быть рядовым интернетчикам? Параноикам можно рекомендовать максимально отказаться от услуг сторонних сервисов, не раскрывать без крайней необходимости свои персональные данные и по возможности использовать расширение NoScript, позволяющее блокировать исполнение кода счетчиков и, соответственно, защититься от ситуаций, подобных "утечке" SMS "Мегафона". Обычным же пользователям приходится уповать на сознательность веб-мастеров, профилактические мероприятия компетентных органов, собственное везение, а также милость поисковых роботов и алгоритмов выдачи. Вбив в адресной строке вашего Firefox'а фразу about:robots, вы узнаете, что "роботы видели то, во что вы, люди, никогда не поверите".

    Интернет и СМИ00:04Сегодня

    «Ты кусок дерьма. И каждый думает так же»

    Главный комик-самодур настроил против себя половину Америки и вышел победителем