Каждому крупному интернетовскому сервису приходится сталкиваться с тем, что его ресурсами нередко пытаются воспользоваться в неблаговидных целях. Спамеры забрасывают пользователей почтовых серверов потоками непрошеной рекламы и пытаются использовать мощности почтового сервиса для рассылки спама. Некоторые вебмастеры стараются обмануть поисковые системы, подменив ключевые слова, или искусственным образом повышают индекс цитирования своего сайта, что может приводить к недостоверной информации при сортировке сайтов по данному индексу. Разумеется, создатели сервиса с подобными явлениями активно борются. В нашем сегодняшнем интервью мы беседуем с менеджерами различных проектов «Яндекса» — Павлом Завьяловым («Яндекс.Почта»), Галиной Тихончук («Яндекс.Каталог») и Александром Садовским («Яндекс.Поиск») — о некоторых способах решения проблем защиты и безопасности, применяемых на сервисах «Яндекса» — одного из самых крупных порталов Рунета.
Как известно, на «Яндекс.почте» действует специальный автомат под названием «Спамоборона». Это собственная разработка «Яндекса»?
Да, это полностью собственный продукт. Первый шаг в этом направлении — отделение массовых рассылок от частной переписки — был сделан еще в августе 2002 года, тогда на Яндекс.Почте появилась папка «Рассылки». Но спам начал расти лавинообразно, мы поняли, что пора им тщательно заняться, и начали разработку серьезно. Весной 2003 мы заявили чистоту почты своим приоритетом и в конце осени анонсировали «Спамооборону» версии 1.0.
Почему вы не стали пользоваться уже имеющимися разработками — например, антиспамерским фильтром фирмы «Ашманов и партнеры», который установлен на Mail.ru?
На этот момент готового продукта не было. Да и сейчас разработка технологий у нас и у Ашманова идет параллельно. При большой общности идей у нас с Игорем разные подходы — он ставит на круглосуточную лингвистическую лабораторию, а мы — а на автоматическую обработку. Кроме того, для нас критична работа под очень большой нагрузкой. И еще — собственный продукт более управляемый, что важно для службы такого масштаба, как "Яндекс.Почта".
Чем «Спамооборона» отличается от своих аналогов?
Если под «аналогами» имеется в виду любая сложная система фильтрации, которая не базируется на одном алгоритме, а использует множество факторов, то серьезным отличием является алгоритм учета массовости писем (мы позаимствовали его у поиска «Яндекса») и база знаний, накопленная "Яндекс.Почтой". В принципе, в такой новой и динамически изменяющейся области, как «антиспамовые системы», не существует двух одинаковых программ. Достаточно сказать, что мы добавляем новые классы признаков (даже не признаки как таковые, а именно классы) в среднем каждые три месяца.
Как работает механизм «Спамообороны»?
«Спамооборона» состоит из:
— парсера, который разбирает письмо на элементы и собирает статистику;
— анализирующего модуля, применяющего правила и вычисляющего «спамовый вес» каждого сообщения;
— базы знаний, на основе которой работают правила.
«Спамооборона» работает со всей информацией о письме: внешними данными сервера (IP-адрес, SPF, служебная информация), заголовками письма, «грязным» (с разметкой и оформлением) и «чистым» (человекочитаемым, из которого убраны шум и маскирующий мусор) текстом письма, вложениями и так далее. Статистика включает в себя такие параметры, как, например, доля несловарных слов в письме, количество скрытой от пользователя информации, массовость письма и вложений и прочее. Анализирующий модуль отслеживает в письме признаки, которые описаны в правилах. Правила пишутся на некотором внутреннем языке, который позволяет учесть любое свойство и признак письма. Правила описывают известные признаки и спама, и, наоборот, «хороших» писем, при этом каждому правилу приписан определенный вес. Если суммарный вес сработавших правил выше некоторого порога, письмо считается спамом. Правила можно модифицировать и добавлять без изменения самой программы, что позволяет их оперативно корректировать, а база знаний (статистики массовости писем и вложений, «черные списки») обновляется постоянно.
Является ли «Спамооборона» самообучаемой, и есть ли обратная связь с пользователями?
«Спамооборона» является обучаемой. Она учится посредством постоянного автоматического обновления базы знаний. Кроме того, ее обучают и пользователи. Обратная связь присутствует в интерфейсе почты в виде кнопок: "Это спам!" и «Это не спам». Помимо обучения всей системы, «Спамооборона» умеет подстраиваться для конкретного пользователя "Яндекс.Почты" — она корректирует белые списки по данным обратной связи и по списку корреспондентов, которым пользователь отправляет письма. На сервисе So.yandex.ru пока персонализации нет.
Насколько велик процент ложных срабатываний?
Если считать отношение писем, неправильно помеченных как спам, к общему количеству «хороших» писем, то для «массовой» почты получаются десятые доли процента. Для корпоративной почты, где можно точнее «прицелиться» (мы и еще некоторые организации используем «Спамооборону» для своей корпоративной сети) это составляет сотые доли процента. А вообще-то тут очень трудно делать точные измерения — понятие «спам» очень индивидуально, именно поэтому массовое антиспамовое решение должно иметь возможность персонализации.
Какова сейчас доля спама в потоке обычной почты (по вашей статистике)?
80-90%. Свежие данные и график за месяц доступны на странице mail.yandex.ru/monitoring
Опережает ли, на ваш взгляд, совершенствование механизма «Спамообороны» совершенствование механизмов спамеров? И будет ли что-то меняться в этом соотношении?
В какой-то степени опережает. По крайней мере, админы «Спамообороны» спокойно уходят в отпуск. Ловля спама базируется на принципиальном отличии письма человека от письма робота. Никакое совершенствование спамерских механизмов эти различия обойти не сможет — разве что создание полностью искусственного интеллекта. Трюки же с картинками, шумом, оформлением только увеличивают разрыв между спамом и человеческим письмом. Честно говоря, хуже всего ловится очень короткий спам, без наворотов, похожий на письмо малолетнего «чайника», типа: «сходи на этот сайт и посмотри виласипед». Но и как реклама такое сообщение будет работать слишком плохо. Кроме того, спамерские и человеческие письма все больше и больше отличаются по внешним данным — крупные почтовые системы используют spf, серьезные провайдеры все тщательнее отслеживают и закрывают открытые релеи, все больше информации об авторизации и ответственном пользователе содержится в письмах.
Как, на ваш взгляд, должна глобально решаться проблема спама?
Техническими и организационными средствами. Технические — это антивирусы и антиспамовые фильтры. Организационные — аккуратность провайдеров. Многие российские провайдеры, например, придерживаются норм OFISP-8, за что им честь и хвала. По духу и многим содержательным пунктам это соответствует декларации Anti-Spam Technical Alliance. Рекомендации ASTA более свежие и, в определенном смысле, более жесткие. Направления работы, указанные в этом документе, должны существенно уменьшить количество рассылаемого спама.
Выделю важнейшие новые рекомендации из довольно большого списка:
1. Провайдеры должны проверять на спам и вирусы поток сообщений, исходящий с их smtp-серверов, требовать авторизации на своих smtp-серверах (достаточной для того, чтобы идентифицировать и отключить пользователя, разославшего спам), разумно ограничивать количество отправляемых одним пользователей сообщений.
2. Ограничивать доступ конечных пользователей по 25 порту, в идеале полностью блокировать его. Это крайне разумная рекомендация, так как разделение потока почты от клиента к его серверу (submission) от потока сервер-сервер (trasport) было описано в RFC 2476 еще пять лет тому назад. Именно прямая отправка почты с зараженных вирусом компьютеров конечных пользователей на сервера получателя и является сейчас основным способом рассылки спама.
3. Использовать протоколы авторизации писем — например, SPF — для публикации информации об используемых почтовых серверах, не допускать рассылку из своей сети почты с поддельными реквизитами.
Выполнение этих довольно простых требований провайдерами, разумеется, не решит проблемы спама и вирусов, но существенно упростит борьбу с ним (и затруднит жизнь спамерам, что означает удорожание рассылок).
С помощью каких механизмов почтовый сервис «Яндекса» защищается от использования его спамерами? Возможно ли использование "Яндекс.почты" спамерами?
Защищаемся традиционными методами. Мы запрещаем автоматические регистрации, при регистрации новый пользователь проходит тест с картинками. Отправка писем — как через веб-интерфейс, так и по smtp — требует обязательной авторизации, информация о пользователе указывается в заголовках письма, использование чужих адресов в письмах не допускается. Количество адресатов в одном письме и количество писем, отправляемых в единицу времени, ограничено. Служба Abuse на наших сервисах работает достаточно оперативно. Конечно, было бы нечестно сказать, что с «Яндекса» абсолютно невозможно рассылать спам, но заметное количество (больше сотни писем) разослать нельзя.
Как работает антивирусная защита "Яндекс.почты"?
Мы используем антивирус DrWeb, проверяем весь поток — как входящий, так и исходящий. Письма, которые не содержат ничего кроме вируса, удаляются. Содержательные письма, зараженные вирусом, помечаются как опасные.
Некоторым пользователям приходилось при заходе на «Яндекс» сталкиваться с сообщением "Доступ к нашему сервису запрещен!", где далее следовал текст о том, что на «Яндексе» заблокирован данный IP, потому что он является открытым и анонимным прокси-сервером. Что это за блокировка, зачем она введена и как работает? И что делать пользователям, которые неожиданно сталкиваются с подобных сообщением, хотя не пользуются анонимными прокси-серверами?
Открытый (доступный кому угодно) анонимный (не требующий регистрации и авторизации) прокси-сервер — это, скорее, свойство, чем конкретная программа. Вирус, сидящий на пользовательском компьютере — это открытый прокси. Некорректно настроенный или «сломанный» маршрутизатор (или DSL-модем, или WiFi-AP) — тоже. Как правило, пользователь даже и не знает, что он им «пользуется». Особенность таких хостов в том, что с их помощью можно проделать любое злонамеренное действие: разослать спам, устроить DOS-атаку и тому подобное, и сохранить полную анонимность.
Блокировка введена несколько лет назад для того, чтобы защитить поиск и другие сервисы от мусорной нагрузки. Сейчас список «плохих» хостов используется "Яндекс.Паспортом" (мы запрещаем создание из «плохих» сетей новых аккаунтов и требуем прохождения дополнительного теста при авторизации) и "Яндекс.Почтой" (мы не принимаем сообщения из таких сетей). Список создается автоматически — когда детектируется подозрительная активность, хост проверяется, и, если в нем есть «дыра», он вносится черный список.
Ответ на вопрос «Что делать пользователям» довольно прост: озаботиться безопасностью собственного компьютера (вообще-то хорошо делать это сразу при подключении к Интернету). Если причина блокировки неясна, надо написать по указанному на странице адресу — мы ответим и поясним, что делать. Самые популярные причины попадания в список — это именно вирусы и «троянские» программы, а также ошибки настройки ПО (например, неверно сконфигурированный WinGate). Как правило, проблема решается очень быстро. И очень часто нас благодарят за то, что мы ее детектировали...
Каким образом составляется каталог сайтов «Яндекса», и кто следит за тем, чтобы данные в каталоге соответствовали действительности?
Каталог составляется вручную — в «Яндексе» существует служба редакторов каталога, которые просматривают ресурсы Интернета, отбирают качественные сайты и заносят их в базу. При этом для ресурса пишется аннотация, а также ему присваивается ряд признаков — тематический, географический, по типам представленной информации и так далее. Редакторы разделов следят за актуальностью содержимого рубрик и занимаются поиском интересных и полезных сайтов по каждой теме. Для поддержания каталога в актуальном виде имеются автоматические инструменты: регулярно осуществляется проверка сайтов на живость (существует ли ресурс или он умер/переехал), склеиваются зеркала, а также формируется очередь заявок на внесение сайтов в каталог в порядке убывания ожидаемой полезности сайта. Ну и, конечно, работает обратная связь — мы оперативно реагируем на письма пользователей о замеченных неточностях.
Способ сортировки сайтов в каталоге по индексу цитируемости «Яндекса» для пользователей — наиболее интересный. Потому что индекс цитируемости, по идее, отражает объективную картину интересности сайта для посетителей. Однако существуют некоторые искусственные способы повышения индекса цитируемости, которые портят картину. Каким образом в «Яндексе» борются с подобными явлениями и борются ли вообще?
«Яндекс» использует тИЦ — тематический индекс цитирования — что позволяет учитывать авторитетность сайта именно в данной области. Есть специальные механизмы подавления накрутки тИЦ, но, увы, мы не можем детально изложить алгоритмы — чтобы эти знания не использовались с целью их обойти.
Каким образом осуществляется защита от подмены ключевых слов для поиска? Ведь, как известно, многие вебмастера пытаются ввести в заблуждение поисковые системы относительно своего содержимого, чтобы привлечь побольше посетителей.
В Лицензии на использование поисковой системы «Яндекс» наше отношение к поисковому спаму описано в пунктах 3.4. и 3.5. Основное подавление спама происходит автоматически — мы постоянно работаем над улучшением ранжирования результатов поиска. В понятие улучшения входит и подавление спама. В частности, весной был внедрен новый алгоритм, который лучше отличает мнение людей от технической, вспомогательной и рекламной информации. В этом смысле борьба со спамом в вебе и на почте идет параллельно. Мы также можем (см. п. 3.5. Лицензии) вручную исключить спамерский сайт из индекса. Это сильная мера, которая применяется только после тщательного исследования ситуации.
Большое спасибо за подробные и обстоятельные ответы.
Ссылки по теме
Статья получена: hostinfo.ru