Опубликовано 20 июля 2011, 10:25

Не для печати. Как на самом деле от МегаФона утекли SMS

Самым ярким событием этого унылого для IT-мира июля без сомнения стал слив в поисковую выдачу Яндекса массива SMS-сообщений, отправленных через веб-сайт МегаФона. Интернет встрепенулся, а любители покопаться в грязном белье прильнули к буквам, сложенным влюблёнными пальцами в нежные послания о, простите, «писечках» и «кисках». 18 июля 2011 года доказало всем нам важность тайны переписки. Мы не хотели это увидеть. Мы хотим это развидеть.

МегаФон

МегаФон

День спустя МегаФон экстренно созвал на пресс-брифинг тех журналистов, о которых в столь неспокойный момент вспомнил и которых успел выцепить, и вяло сказал примерно следующее: «Нам очень жаль. Виноват Яндекс.» Поисковик вскоре отреагировал опровержением. А раз уж компании начали кивать друг на друга, значит, пора разобраться в том, что произошло на самом деле. Героя в истории два, так что посмотрим на действия каждого.

Начнём с МегаФона. После того, как пользователь отправил SMS-сообщение с сайта sendsms.megafon.ru, на последнем появляется новая страничка с отчётом. Причём адрес она получает случайный, например: sendsms.megafon.ru/send/status/FB421440423DC692. Он становится известен только отправителю, а подобрать его невозможно. Ещё один важный момент: нигде в открытом интернете нет страницы со ссылками на отчёты отправки SMS. Скоро вам станет ясно, почему я обратил на это внимание.

Теперь о том, как работают поисковые машины. Тут всё предельно просто: они берут набор исходных адресов – хоть собственный каталог, если такой есть – и пускаются в путь, заглядывая во все встреченные ссылки. Будут там ещё ссылки – проследуют и по ним. Так и бродят. Собственно, и название первого российского поисковика Rambler значит нечто вроде «бродяга». Между почти всеми страничками веба натянуты связующие нити — ссылки. Рёбра графа. Но если на какую-то страницу не ведет ни одна ссылка, то поисковые роботы до нее не доберутся. Тут мы подошли к тому, что понятие «открытая информация» в вебе несколько размывается. Страница может быть не запаролена, но если на неё нет ссылок, то поисковые роботы о ней не узнают. Если адрес содержит длинную случайную часть, то и венец природы не сможет за ограниченное время его подобрать.

Подводим подытог. Если страница выпадает из графа веба, то есть если на неё нет ссылок с индексируемых страниц, то она сама не будет проиндексирована. МегаФон для страниц с отчётами об SMS создаёт оторванные от графа страницы, адреса которых становятся известны только отправителям.

Итак, возникает вопрос: как вообще Яндекс добрался до этих страниц с отчетами, и почему только он смог это сделать? Доносчиков, которые могли сообщить поисковику новые, никому доселе не известные адреса страниц, целых два. Первый: продвинутый счетчик-аналитик Яндекс.Метрика, который, по некоторым сведениям, таки устанавливался на страницы отчетов. Второй: панель Яндекс.Бар, которая передаёт в Яндекс определённую (вопреки опасениям параноиков, отнюдь не обширную) информацию об активности пользователей, включая и адреса посещенных ими страниц. А Яндекс плотно интегрировал свои сервисы, так что не удивительно, что эти данные используются и поисковой машиной.

На самом деле и для такого случая предусмотрена защита. Каким бы образом ни добрался поисковый робот до страницы, ему всегда можно сказать: «Не трогай это, оно не для тебя, забудь!» - с помощью специального файла правил robots.txt. А роботы – они послушные, они запрограммированы подчиняться. МегаФон утверждает, что такой файл был, но болтливый веб-сервер выдаёт временной штамп создания/изменения файла –18 июля 2011 15:23. Тогда, когда о сливе затрубила пресса.

Очевидно, что единственная виновная сторона в скандале – МегаФон. Те, кто разворачивал сервис отправки SMS с сайта, просто недоглядели, забыли о необходимости настроить доступ поисковиков к страницам. Вряд ли это было сделано намеренно – не стоит искать злой умысел в том, что можно объяснить глупостью. Сейчас компания обвиняет Яндекс в том, что он не только индексировал страницы с конфиденциальной информацией, но и позволил ей попасть в выдачу. Виновен он, по мнению спикеров зелёно-фиолетового оператора, и в том, что собирал персональные данные физических лиц без соответствующего разрешения. Налицо перекладывание проблемы с больной головы на здоровую. Поисковая система не должна и не может проверять содержание открытых страниц, адреса которых попадают к ней тем или иным образом. Если сервер не даёт ответ «Access Denied», значит, он считает клиента достойным получить данные и использовать их как ему угодно. Неразглашение адресов – лишь трюк, который далеко не всегда срабатывает.