8 мар. 2005 г.

Бесплатная защита

Опубликовано: журнал "Чип", сентябрь, 2004 г.

В борьбе со спамом общество применяет самые разные средства — технологические, юридические, этические. Пока готовятся законопроекты, приравнивающие спамерство к преступлению, провайдеры ограждают пользователя от спама с помощью фильтров.
Существуют десятки технологий фильтрации спама: ведутся черные, белые и серые списки, анализируются заголовки и содержимое письма, вычисляются контрольные суммы. Провайдеры и почтовые службы не ограничиваются одним методом защиты. Специалисты почтовой службы самостоятельно разрабатывают технологию фильтрации или оптимизируют под свои нужды готовый продукт. Бесплатные почтовые сервисы обрабатывают миллионы писем, и их фильтрам приходится ежесекундно справляться с бурным потоком спама.

Mail.ru: «Со спамом должны бороться люди»

Идеальным спам-фильтром является получатель. Он понятия не имеет ни о контрольной сумме, ни о том, пришло ли письмо с адреса, занесенного в черные списки. И между тем именно он безошибочно определяет спам среди прочей корреспонденции. Чтобы добиться таких же результатов, нужно посмотреть на письмо глазами пользователя. Попытку реализовать эту идею предприняла компания «Ашманов и партнеры» в сотрудничестве с Лабораторией Касперского. Их совместный программный продукт Kaspersky Anti-Spam используется на Mail.ru. В основе продукта лежит результат работы лингвистической лаборатории компании «Ашманов и партнеры». Задача лингвистов состоит в выявлении и формализации признаков спама.

Технологии и методы, которые использует Mail.ru:
- Лингвистические методы, основанные на анализе содержания и автоматической классификации темы документа. К лингвистическим методам также относятся лексические сигнатуры — устойчивые сочетания ключевых слов в пределах текста. Ключевые, характерные для производящейся в настоящий момент массовой рассылки слова и словосочетания вносятся в базу, после чего письма, содержащие в себе большое количество меченой лексики, отсеиваются. Когда спам устаревает, базы фильтра меняются. Реальное окно борьбы с рассылкой — примерно 3–5 часов. Обновление базы происходит каждые 20 минут. Логика работы с быстро устаревающими терминами такова: фильтровать вчерашний спам абсолютно неинтересно — он уже прошел.
- Работа с RBL — Realtime Black List, черными списками, ведущимися в режиме реального времени.
- Формальные признаки, основанные на анализе оформления технических заголовков писем. Сюда относятся такие характерные приметы, как отсутствие обратного адреса, большой список адресатов и т. д.
- Методы детектирования массовости рассылок.
- Распознавание типичных спам-трюков: невидимый текст, удвоение букв, подстановки символов других языков и т. п.
- Обработка графических вложений в письма, что необходимо для фильтрации писем, передающих текст в виде изображения. С помощью кнопки «Пожаловаться на спам» пользователь оповещает службу о новой рассылке. Это позволяет оперативно пресекать дальнейшее распространение несанкционированной корреспонденции. Круглосуточная поддержка специалистов из лингвистической лаборатории — самый важный фактор эффективности этой технологии.

— Уровень определения спама составляет более 85–95%, — говорит Анна Артамонова, директор по маркетингу и PR компании Mail.ru. — Крайне низкий уровень ложных срабатываний — в пределах 0,001%. Kaspersky Anti-Spam — единственный профессиональный продукт, существующий сейчас на нашем рынке. Продукт разработан в компании «Ашманов и партнеры», адаптирован под наши нужды, доработан нашими специалистами и имеет круглосуточную поддержку.

На сегодня не существует абсолютно объективной методики, которая бы позволяла однозначно определить эффективность того или иного спам-фильтра. Не пытаясь сравнивать технические достоинства описанных выше комплексных решений, мы решили оценить надежность спам-фильтров с помощью теста — спам-атаки, проведенной на скорую руку в домашних условиях. Так, как это бы сделал начинающий спамер.

«Яндекс» держит оборону

Публичная почта «Яндекса» обрабатывает за сутки до 25 млн входящих соединений и порядка 10 млн писем. Такая нагрузка определяет основные требования к фильтру: он должен быть эффективным, гибким и высокопроизводительным, иначе он будет замедлять передачу почты и создавать пробки в часы-пик.

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

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

Также в «Яндекс.Почте» реализован механизм обратной связи. Для того чтобы пожаловаться на несанкционированную рассылку, пользователю достаточно нажать на кнопку «Фу. Это спам!» или, наоборот, «Это не рассылка» — для почты, ошибочно попавшей под подозрения. Но обратная связь доступна только тем пользователям, кто читает почту через веб-интерфейс.

— С 22 января, когда была выпущена «Спамооборона» версии 2, программа развивалась в основном экстенсивно: расширялась база «правил» (описаний признаков спама), оптимизировалось программное обеспечение, — говорит менеджер проекта «Яндекс.Почта» Павел Завьялов. — Такое развитие позволило добиться высоких показателей: мы ожидали, что в папку «Рассылки + спам» будет откладываться не менее 60–65% входящих сообщений, реально же фильтруется 82–86%. Конечно, рост объема спама тут имеет огромное значение, но эффективность фильтров очень высока: с начала года количество получаемых писем увеличилось в 10 раз, а количество жалоб пользователей на спам в абсолютных числах существенно уменьшилось.
Язык описания правил позволяет построить практически любую эвристику, обратиться практически к любому параметру письма, а это дает возможность настраивать новые правила без модификации программного обеспечения. Поэтому обновление фильтров антиспама на «большой» почте, на «публичной Спамообороне» (so.yandex.ru), на нашей корпоративной почте и на инсталляциях «Спамообороны» у наших партнеров происходит автоматически.

Технологии, которые использует «Спамооборона»:
- База открытых почтовых серверов, которую специалисты «Яндекса» ведут сами, не доверяя публичным спискам.
- Статистика массовости. Находить спам по вычислению контрольных сумм научились давно. Со стороны спамеров последовали ответные действия: они стали вставлять в письма имя получателя, случайные символы, разбросанные по тексту, написанные белым шрифтом по белому, изощренно форматировать HTML и таким образом варьировать контрольную сумму писем. Поэтому более надежный способ — сравнение контрольных сумм, сделанных не по всему письму, а по его отдельным частям. Для вычисления таких контрольных сумм в«Яндекс.Почте» применяется метод шинглов (от англ. shingle — черепичка, чешуйка, подстрока текста, по которой происходит вычисление контрольной суммы). Этот метод, разработанный в 1997 году Андреем Бродером, сводится к тому, что текст разбивается на определенной длины шаги (символ, слово, предложение), затем из получившихся частей производится выборка, результаты которой уже сравниваются для окончательного принятия решения.
- Анализатор признаков спама, работающий с заголовком и текстом письма. Анализ собственно текстовой части письма производится на основе правил и весовых коэффициентов. Письмо, имеющее много слов, характеризующих его как рекламную рассылку, и недостаточное количество доказательств обратного будет отнесено в категорию спама. В настоящее время в «Спамообороне» содержится около двух тысяч правил, по которым содержание письма проверяется на принадлежность к спаму.
- Дополнительные компенсационные правила — так называемые пользовательские «белые списки», в том числе и автоматически генерируемые (такие списки строятся с использованием и на основе реальных писем пользователя).

Экспериментальная спам-атака
Методика проста: реальные пришедшие в рабочий почтовый ящик спамовые письма были очищены от технических заголовков и отправлены через открытый релей программой, предназначенной для массовой рассылки писем, на наши собственные «бесплатные» адреса. Конечно, эмуляция спам-атаки отличается от работы настоящего спамера, но применяемый метод был един для всех почтовых сервисов, поэтому некоторые основания для сравнений наша методика все же дает.

Мы выбрали для тестирования пять серверов: Mail.ru, «Яндекс.Почта», Rambler.ru, Newmail.ru и Hotbox.ru. За исключением Rambler эти серверы предоставляют несколько доменов на выбор, и мы зарегистрировали по паре адресов на каждом.

Признак массовости
Настоящий спам шлется сотням, тысячам и даже миллионам адресатов. Сомнения, с какого момента фильтры начинают считать рассылку массовой, устранило соглашение «Об оказании услуг бесплатной службы электронной почты Mail.Rambler.ru», где есть такое определение: «…массовые (свыше десяти адресатов) несанкционированные и/или не ожидаемые получателями почтовые рассылки рекламного характера — спам».

К десяти бесплатным ящикам был добавлен один личный, принадлежащий автору этой статьи, таким образом, принцип массовости (по крайней мере, в понимании «Рамблера») был соблюден.

Актуальность
Спам, просочившийся в почтовый ящик, становится морально устаревшим. Фильтры, настроенные на улавливание массовой рассылки, к моменту проведения спам-атаки давно поменялись, прежние были отправлены в архив. Но каждый из вас наверняка может вспомнить десяток «долгоиграющих» рассылок, которые повторяются на протяжении нескольких недель.

В качестве инструмента для рассылки была выбрана программа Bulk E-Mailer, позволяющая в незарегистрированном виде пересылать сто писем через указанный SMTP-сервер, представляясь невинным Outlook Express. В заголовках были указаны несуществующие обратные адреса. Найти открытый почтовый сервер оказалось совсем нетрудно. В рассылке были задействованы письма, в которых присутствовало все: «мусор» между словами, невидимый текст, добавочные слова и буквы в заголовке «Subject», графические изображения.

Разницу между сервисами одной и той же службы можно объяснить тем, что между отсылкой на первый и второй ящики прошло полтора часа. Фильтры успели отреагировать и настроиться на отлов похожих писем. «Яндекс» более чем в 90% случаев распознал спам и положил его в папку «Сомнительные». Ящик Mail.ru первым подвергся атаке спама и пропустил 20% от общего числа писем. Когда идентичный комплект спама пришел на адрес в домене bk.ru, базы фильтров успели обновиться и до получателя уже дошли только восемь писем. На сервере РБК (Hotbox, Front.ru) установлен продукт компании «Ашманов и партнеры».

Результаты фильтрации на этих сервисах довольно хорошие, но недостатком системы является отсутствие обратной связи. Rambler не пропустил ни одного письма. Для проверки работоспособности почты было отправлено тестовое письмо, и оно благополучно принялось.

Заключение
Технологические средства позволяют отсеять по пути к получателю львиную долю спама, но даже то, что успевает просочиться, оказывается достаточным, чтобы он был выгоден заказчикам. Ведь если бы рассылка никем не оплачивалась, значит и спама бы не было, а раз кто-то снова и снова дает спамерам возможность зарабатывать, значит находятся и те, кто увеличивает детородные органы, учит американский английский и освещает себе путь вечным фонариком. Спам умрет тогда, когда станет невыгодным. Профессор Сингапурского технологического университета Рави Шарма убежден, что конец спаму положат те же социологические законы, по которым меньшинство не может вечно терроризировать остальную часть общества. По его мнению, усилия государственных структур пропадают втуне: сетевое сообщество само разберется с сетевыми «бизнесменами». Спам, по словам профессора, будет устранен в течение ближайшей пары лет «просто потому, что он до такой степени достал».