Как работают антиспам-фильтры. Антиспамовые методы на стороне провайдеров. Кто может это сделать

Хотите узнать как заработать в Интернете?
Скачайте бесплатную книгу Владислава Челпаченко
=>>

Всем привет! На связи Андрей Хвостов, основатель проекта «Доход системно », и автор блога « ».

Сегодня я хочу рассмотреть вопрос, который регулярно задают мне мои ученики и подписчики. Этот вопрос: «Как обойти СПАМ фильтры, при рассылки писем своим подписчикам».

А также такие вопросы:

  • «Как увеличить доставку писем своим подписчикам»;

До применения почтовиками спам-фильтров, всё было просто и ясно. Достаточно было писать хорошие, интересные письма, которые с удовольствием читают подписчики, и которые ждут.

Сейчас же, стало всё намного сложнее, и даже вполне безобидные письма, могут не доходить до подписчиков, или попадать в папку спам. При этом, откровенный спам, на который мы не подписывались, легко попадает в папку «входящие».

Почему? Да потому, что, те, кто рассылает спам, отлично знает, как обойти спам фильтры, и использует все средства защиты от них. Когда обычный блогер, делающий рассылку по базе, может допустить ошибку, и его письма улетят в спам, а его e-mail адрес попадает в «чёрный список».

Как обойти СПАМ фильтры при рассылке писем подписчикам

Для начала давайте уясним, что же это за зверь такой – спам фильтры. А затем узнаем методы обхода блокировок.

Во-первых, почти во всех почтовых сервисах существует система оценки входящих писем посредством баллов.

Все входящие письма подлежат такой оценке, в результате которой, количество баллов проставленное каждому вашему письму суммируется. При «низком» результате, указывающем на не качественность контента, все последующие письма автоматически уходят в спам.

Во-вторых – учитывается количество нажатий на спам, получателями писем. Это может произойти в том случае, когда вы приобрели базу подписчиков, и разослали по ней письма. Так как люди с вами не знакомы, то многие нажмут на кнопку СПАМ, и ваш адрес, и все впоследствии отправляемые с него письма, (даже вашим подписчикам), будут попадать в папку спам.

Никто не застрахован и от действий неадекватных подписчиков, которые подписались на вашу рассылку, или бесплатный продукт, а затем решили «отписаться» посредством нажатия на кнопку «спам». Такое тоже встречается довольно часто, и наносит большой вред автору белой рассылки.

Для того, чтобы легче было выйти из «чёрного» списка, вам необходимо вести свои рассылки не с обычных почтовых адресов, а с почтового адреса вашего домена. Который должен быть подтверждён, как минимум, тремя цифровыми подписями из далее представленных: DKIM, SPF, MX, DMARC.

Как обойти СПАМ фильтры — создание почты с доменным именем

Сейчас создать почту со своим доменным именем не проблема, так как Яндекс и Майл предоставляют все необходимые условия и инструменты.

Причём почта будет удобная, понятная, лёгкая и красивая, с отображением статистики, аналитики и так далее. Причём эта статистика будет намного точнее, чем вам предоставляют сервисы почтовых рассылок Смарт или Джаст.

Вам будет доступна вся уникальная информация по вашим подписчикам, кто они, уровень их дохода, кого больше мужчин или женщин и так далее.

Кому интересно, как создать почту на Яндексе, или Майле, с именем своего домена – пишите в комментариях, я тогда напишу продолжение, и полностью раскрою этот вопрос.

Вы спросите, зачем нам создавать почту с доменным именем? Дело в том, что провайдеры относятся к таким адресам, подтверждённым цифровыми подписями более лояльно, меньше отправляют писем в спам, а если ваш адрес угодил в чёрный список, то быстро удаляют его оттуда.

Даже если автор рассылки совершил непродуманные действия, приведшие его в попадание под фильтр, к такому автору отношение будет более лояльным, и можно будет быстро урегулировать все возникшие вопросы, связавшись со службой поддержки.

Как обойти СПАМ фильтры — обращение к провайдерам

После создания почтовых адресов с доменным именем, и подтверждением их цифровыми подписями, рекомендую отправить провайдерам запрос, в котором следует указать, что вы автор «белой» рассылки, и просите помочь вам не допустить ошибок в своих письмах.

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

Так как у различных провайдеров могут быть различно настроенные спам фильтры, по разному реагирующие на структуру писем, на их содержание и слова.

Даже если вам провайдеры ничего не ответят, (что случается крайне редко) сохраните данное обращение, так как у вас будет весомый аргумент в вашу пользу, при возникновении нежелательных ситуаций, что вы от всей души стремились создавать белую, законную рассылку без ошибок и нарушений.

Это поможет вам избежать наказаний в виде блокировок рассылок и занесение в чёрный список вашего адреса.

Как обойти СПАМ фильтры — заменяем спам слова, полностью убирая их из текста

При написании писем, смотрите на них глазами провайдера, в обязанности которого входит защита клиентов от спам рассылок.

То есть, наличие спам слов: работа, заработок, прибыль, доход, реклама и так далее.

То есть все слова, связанные с быстрым обогащением, доходом, деньгами – считаются спам словами.

Слишком длинный рекламный текст – также не приветствуется многими почтовыми сервисами, как и полное отсутствие текста, например, вы отсылаете картинку, на которой расположен рекламный текст, а к картине, вообще не добавляете текста, кроме ссылки.

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

Например, вам нужно написать, что есть возможность заработать, и получать деньги на автомате, вкладывая небольшие средства и пару часов времени.

Как обойти СПАМ фильтры — примеры замены спам слов

Как вы напишите это предложение, избегая спам слова? Я бы написал следующим образом:

«Есть возможность познакомиться лично. Максимальные результаты и минимальные усилия. Встречаемся через месяц на Бали.»

Или так: «Есть возможность путешествовать всей семьёй, не зависеть от обстоятельств, стать свободным и успешным, если интересно, переходи по ссылке»

Какое предложение заинтересует вас больше, первое, второе, или третье? Обойти спам слова не проблема – главное, чтобы ваши предложения действительно несли ценность, а не были «пустышками», иначе никакие защиты от спам фильтров вам не помогут, люди просто перестанут читать вашу рассылку.

P.S. Прикладываю скриншоты в партнёрских программах. И напоминаю, что может каждый, даже новичок! Главное — правильно это делать, а значит, научиться у тех, кто уже зарабатывает, то есть, у профессионалов .

Вы хотите узнать какие ошибки совершают новички?


99% новичков совершают эти ошибки и терпят фиаско в бизнесе и заработке в интернет! Посмотрите, чтобы не повторить этих ошибок — «3 + 1 ОШИБКИ НОВИЧКА, УБИВАЮЩИХ РЕЗУЛЬТАТ» .

Вам срочно нужны деньги?


Скачайте бесплатно: «ТОП — 5 способов заработка в Интернете ». 5 лучших способов заработка в интернете, которые гарантированно принесут вам результат от 1 000 рублей в сутки и более.

Здесь готовое решение для вашего бизнеса!


А для тех, кто привык брать готовые решения, есть «Проект готовых решений для старта заработка в Интернет» . Узнайте, как начать свой бизнес в Интернете, даже самому «зеленому» новичку, без технических знаний, и даже без экспертности.

Я мог все свои ящики собрать в кучу. Но столкнулся с проблемой, когда все сообщения приходит на одну почту, то ты спам начинаешь уже и замечать. И лень лазить и удалять спам руками, а тот фильтр, которые уже встроенный в почтовый сервис не всегда радует.

Почему не сделать бота, который чистит почту, тем более спам четко виден по некоторым признакам?
Вот что я выделил, что в моих глазах спам:
- всё написано в верхнем регистре
- сообщения, где главная мысль: порнуха, знакомства, казино, деньги и т.д.
- если кто-то регулярно высылает почту и я её не прочитываю

В самом начале нужно настроить imap php для близкой работы с почтой. Потом написать некоторые алгоритмы, которые в этой статье будут не оптимальные , т.к. каждому нужен свой фильтр (например, некоторые ждут спама от порнографических сайтов).

Тут будут только идеи и информация для ума. И для тех кто хочет поставить свой фильтр, уже будет фундамент.

Начинаем...
Про то как настроить imap php есть куча статей, их можно поискать. У меня Ubuntu, я этот вопрос решил за пару минут и немного изменение в настройках.

Когда вы уже настроили imap можно его подключать.
//настройки для подключениея к почте
$imapaddress = "{imap.gmail.com:993/imap/ssl}";
$imapmainbox = "INBOX";
$maxmessagecount = 10;
$user="имя почты на gmail без @gmail.com";
$password="длинный и сложный пароль";

//наша функция, которая удаляет спам
spam_delete($imapaddress, $imapmainbox, $user, $password, $maxmessagecount);

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

Вероятность=количество слов всего в письме / слова, которые не прошли фильтр

Вот как это всё в коде:
function spam_delete($imapaddress, $imapmainbox, $imapuser, $imappassword, $maxmessagecount)
{
$imapaddressandbox = $imapaddress . $imapmainbox;

//открываем соединение с почтой
$connection = imap_open ($imapaddressandbox, $imapuser, $imappassword)
or die("Can"t connect to "" . $imapaddress .
"" as user "" . $imapuser .
"" with password "" . $imappassword .
"": " . imap_last_error());

Echo "Gmail information for " . $imapuser ."";

Echo "Inbox headers\n";
$headers = imap_headers($connection)
or die("can"t get headers: " . imap_last_error());

//считаем кол-во почты на сайте, максимум мы 10 можем вывести
$totalmessagecount = sizeof($headers);

Echo $totalmessagecount . " messages";

If ($totalmessagecount<$maxmessagecount)
$displaycount = $totalmessagecount;
else
$displaycount = $maxmessagecount;

Echo "Message bodies\n";
//заходим в письмо берем содержание и проверяем на спам
for ($count=1; $count<=$displaycount; $count+=1)
{
$body=imap_fetchbody($connection,$count,"2");
//разбиваем всё письмо на слова
$text=explode(" ",$body);
$spam=0;
//подсчитываем кол-во слов
$n=count($text);
for ($i=0;$i<$n;$i++) {
$spam+=test_spam($text[$i])==1:1?0;
}
//смотрим какая вероятность, что это спам
// мы кол-во слов делим, на возможные слова,
//которые подтверждают, что это спам
$result=$n/$spam;
//если 50% что это спам, то удаляем
if ($result>0.5) {
imap_delete($connection,$count);
imap_expunge($connection);
}
}
//закрываем imap
imap_close($connection);
}

Алгоритм проверки на спам очень простой, он написан для примера. Если вы хотите написать более сильный и умный алгоритм советую почитать некоторые главы про спам в книге «Программируем коллективный разум», .

Алгоритм выполняет два действия:
1. Определяет слова, которые чаще всего встречаются в спаме
2. Проверяет на регистр, если всё в в верхнем, то это скорее всего спам.

Сам код:
//функция проверки на спам
function test_spam ($string) {
//этапы фильтра
//проверяем по ключевым словам
$array=array("порно" => 1, "знакомства" => 1, "казино" => 1, "купить" => 1);
if ($array[$string]==1) {return 1;}
//не находится ли он в верхнем регистре
if (strtolower($string)!==$string) {
return 1;
}
return 0;
}
?>

Протестировал на двух примерах, то вроде работает...

P.S. Будет очень рад услышать как вы боритесь с мусором. Если вы найдете ошибке в коде сильно не ругайтесь это только пример и фундамент для разработки чего-то большего.

Маркетологи тратят массу времени на написание текста емейл-сообщений, создание красивых шаблонов и конверсионных тем — всё ради высоких показателей открытий и кликов. Однако перед отправкой стоит задуматься, какова вероятность, что подписчики получат письмо. В последние годы во многих странах ужесточаются законы о борьбе со спамом, а спам‑фильтры становятся всё более изощрёнными. Сегодня мы поделимся секретами попадания в Inbox.

Не покупайте базы емейл-адресов

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

Не собирайте открытые емейл-адреса с сайтов

Сбор открытых емейлов с сайтов — это быстрый способ нарастить базу, но он не позволяет сделать эффективную рассылку. В некоторых странах (например, США) такая практика незаконна.

Удалите емейл-адреса, с которых регулярно приходят сообщения об ошибке доставки

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

Не пишите заглавными буквами

Писать целые слова заглавными буками — всё равно что кричать на людей. Конечно, заглавный шрифт привлекает внимание. Но он многих раздражает и не внушает доверия, потому что часто используется при рассылке спама.
Согласно исследованию Radicati Group, более 85 % пользователей предпочитают, чтобы тема письма была набрана строчными буквами. Эффективные альтернативы Caps Lock — персонализация, релевантный контент и интересный текст.

Не злоупотребляйте восклицательными знаками

Из-за чрезмерного количества восклицательных знаков емейл-сообщения выглядят непрофессионально и напоминают спам. 69 % получателей помечают письмо как спам, прочитав только его тему. Сообщения с несколькими восклицательными знаками подряд оказываются в папке «Спам» в первую очередь.

Не размещайте в письме видео, флеш-ролики или JavaScript

По умолчанию большинство почтовых клиентов не позволяют просматривать мультимедийные файлы, например, флеш-ролики или видео. Используйте изображение видеоплеера и ссылку на сайт. С JavaScript и другими динамическими скриптами дело обстоит сложнее. Даже если спам-фильтр пропустит сообщение, почтовый клиент заблокирует работу скриптов, поэтому лучше совсем отказаться от них.

Не размещайте в письме форму

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

Не прикрепляйте вложения

Если вы хотите отправить клиентам файл (например, в формате PDF или Word), не прикрепляйте его к письму. В противном случае на сообщение могут отреагировать спам-фильтры. Загрузите документ на сайт и разместите в сообщении ссылку с эффективным призывом к действию. Так вы обезопасите емейл от попадания в спам и уменьшите время загрузки сообщения.

Не используйте слова, на которые реагируют спам-фильтры

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

Не используйте красный шрифт

Красный шрифт или невидимый текст (белый шрифт на белом фоне) часто используют спамеры. Спам‑фильтры немедленно реагируют на такие уловки. Необычные шрифты и цвета не нравятся подписчикам. Согласно исследованию Radicati Group, более 60 % пользователей не одобряют использование необычных шрифтов и разных цветов в рассылках. Почти 70 % пользователей предпочитают, чтобы символы были одинакового размера.

Не делайте орфографических ошибок

Исследование Radicati Group study также показало, что 80 % подписчиков считают орфографические ошибки неприемлемыми. К тому же ошибки — сигнал для спам-фильтров. Будьте внимательны и не забывайте делать проверку правописания с помощью специальных инструментов.

Не злоупотребляйте ключевыми словами

Не старайтесь вставить в текст как можно больше ключевых слов. Никому не хочется читать сообщения, оптимизированные для роботов. Такие письма имеют все шансы оказаться в папке «Спам». Текст должен быть персонализированным, информативным и дружелюбным. Не стесняйтесь писать простым и живым языком.
Хороший пример — емейл-сообщение от американской сети фитнес-центров Turnstyle Cycle. «Хотим напомнить, что скоро истекает срок действия Вашего абонемента. Мы знаем, что Вы заняты, и не хотим расставаться с Вами. Позвоните нам, если мы можем быть чем-то полезны». Искреннее и дружелюбное сообщение даёт всю необходимую информацию: дату, когда истекает срок действия абонемента, и номер телефона для связи.

Изображения не должны быть слишком крупными и их не должно быть много

Письма, перегруженные изображениями, часто попадают в папку «Спам» и медленно открываются. Кроме того, Microsoft Outlook не распознаёт фоновые изображения. Вместо картинки используйте фоновый цвет.

Обновляйте и очищайте список рассылки

Даже если все ваши подписчики дали согласие на рассылку, не забывайте о гигиене листа. В противном случае интернет-провайдер может посчитать, что вы рассылаете спам. Провайдеры учитывают жалобы активных подписчиков и не обращают внимания на размер базы.

Электронные адреса, которыми давно никто не пользуется, часто становятся спам-ловушками. Попадание даже в одну такую ловушку плохо повлияет на доставляемость.

Регулярная гигиена базы снижает вероятность, что рассылку пометят как спам. Неактивных подписчиков и неиспользуемые адреса можно вычислить, если проанализировать показатели открытий, CTR и активность на сайте.

Постарайтесь повторно заинтересовать подписчиков, которые неактивны или проявляют нерегулярную активность

Отправка сообщений неактивным подписчикам отрицательно сказывается на доставляемости. Сообщения от отправителей с низкой доставляемостью часто попадают в папку «Спам», и получатели их просто не видят.
Проводите реактивационные кампании. Отслеживайте поведение пользователей (посещение сайта, переход по ссылкам и т. д.) и создайте триггерное емейл-сообщение, которое будет отправляться, если в течение определённого времени подписчик не проявляет активности. Например, клиентов может заинтересовать эксклюзивное предложение или купон на скидку. Ещё один вариант — включить в сообщение ссылку на опрос, чтобы подписчики могли рассказать, чего ожидают от рассылки.

Используйте double opt-in подписки

Double opt-in означает, что после оформления подписки пользователь получает «confirm» емейл со специальной ссылкой. Перейдя по ней, подписчик подтверждает согласие на рассылку. Как правило, пользователи, подтвердившие подписку, более активны и вовлечены.

Просите подписчиков добавить ваш from email в адресную книгу

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

Добавляйте в письмо ссылку отписки

Возможность без труда отменить подписку — важная составляющая емейл-маркетинга. Она позволит людям, которые не хотят получать рассылку, отказаться от неё. В некоторых странах (например, США) закон обязывает маркетологов включать в емейлы ссылку отписки. По американскому закону, подписчик должен иметь возможность отказаться от рассылки, отправив письмо или перейдя по одной ссылке. Пользователи привыкли, что информация об отписке располагается в нижней части письма.


Не игнорируйте отмену подписки

ь его адрес из базы. Автоматизация такого процесса сэкономит много времени. При этом необходимо обеспечить полную интеграцию CRM и программного обеспечения, которое используется для создания рассылок.

Указывайте знакомое имя в поле «Отправитель»

Многие люди не открывают письма от незнакомых отправителей. Используйте название бренда, чтобы подписчики понимали, от кого получают сообщения. Ещё лучше — делать рассылку с электронного адреса реального человека. Пользователи больше доверяют личной почте, чем корпоративной.

Указывайте имя подписчика в поле «Кому»

Так вы покажете, что знаете имя получателя, и сможете избежать спам-фильтра. К тому же персонализация повышает вовлечённость клиентов.

Предлагайте две версии письма: без форматирования и в формате HTML

HTML даёт возможность создавать емейлы с привлекательными визуальными элементами. Если вы одновременно предлагаете текстовую версию емейл-сообщения без форматирования, то облегчаете жизнь как интернет-провайдерам, так и подписчикам. Большинство современных инструментов дают возможность сделать текстовую версию письма за несколько минут.

Работая с HTML, не забывайте проверять правильность кодировки. Из-за ошибок в тегах емейл-провайдер может посчитать письмо спамом.

Дайте подписчикам возможность просматривать сообщение в браузере

Почтовые клиенты иногда плохо отображают письма, даже если их дизайн безупречен. Обязательно добавляйте в сообщение ссылку, которая позволит открыть его как веб-страницу.


Добавляйте текст для изображений

Многие почтовые клиенты по умолчанию блокируют изображения. Получатель не увидит их, пока не нажмёт на кнопку или не изменит настройки почтового ящика. Альтернативный текст поможет пользователю понять сообщение, даже если изображение не открывается.

Особенно плохо, если вы используете изображение как призыв к действию. Без альтернативного текста он выглядит вот так:

Если добавить текст, подписчик поймёт, по какой ссылке нужно перейти, чтобы завершить действие.

Можно изменить текст в редакторе форматированного текста (достаточно щелчка правой кнопкой мыши) или ввести текст вручную в редакторе HTML.

Емейлы должны быть краткими

Длинный текст активирует спам-фильтры и отталкивает подписчиков. Старайтесь писать лаконичные и живые емейл-сообщения. Если без длинного письма нельзя обойтись, делите текст на абзацы и добивайтесь чёткой структуры (введение, основная часть и вывод).

Тестируйте емейлы перед отправкой

При создании рассылки нужно учитывать особенности разных почтовых клиентов и мобильных устройств. Сегодня 53 % пользователей читают письма на мобильных устройствах. Тестирование рассылки для каждого почтового клиента заняло бы слишком много времени, но самые популярные почтовые клиенты точно заслуживают внимания. Специалисты Litmus исследовали 1,06 млрд емейлов и определили самые распространённые почтовые клиенты:

  • почтовое приложение для iPhone (28 % пользователей);
  • Gmail (16 % пользователей);
  • почтовое приложение для iPad (11 % пользователей);
  • почтовое приложение для Google Android (9 % пользователей);
  • Outlook (9 % пользователей).

По возможности посмотрите, как письмо выглядит в разных почтовых клиентах и на устройствах, популярных у вашей целевой аудитории.
Перед отправкой сообщения подписчикам нужно обязательно провести тестирование, чтобы убедиться, что рассылка работает хорошо.

Пройдите сертификацию отправителя

Сертификация отправителя — это процесс, при котором третья сторона проверяет отправителей емейл‑рассылки и подтверждает, что они соблюдают определённые правила. В результате отправитель попадает в «белый список интернет-провайдера».

Следите за своей репутацией

Доставляемость рассылки во многом зависит от репутации IP-адреса. Если у IP-адреса, с которого вы отправляете сообщения, плохая репутация, есть риск, что они не попадут в Inbox. Следите, не оказался ли ваш адрес в чёрном списке.

Старайтесь быть в курсе новых законов о борьбе со спамом, правилах интернет-провайдеров и принципах работы спам-фильтров

Емейл-маркетинг постоянно меняется, и специалисты должны держать руку на пульсе: соблюдать новые законы, приспосабливаться к новым правилам и использовать продвинутые технологии.

Для мясных консервов компании Hormel Foods Corporation (англ.) русск. - острого колбасного фарша из свинины.

Смысл скетча сводится к тому, что в одном кафе все блюда в меню содержат «SPAM», некоторые даже по несколько раз. Когда главный герой скетча, пришедший в это кафе вместе с женой, просит принести ему блюдо без «SPAMа», официантка предлагает ему блюдо с «небольшим количеством SPAMа».

Посетитель возмущается, а хор викингов, сидящих за соседними столиками, начинает петь хвалебную песню «SPAMу»: «Spam, Spam, Spam, Spam… Lovely Spam! Wonderful Spam!» («Spam, Spam, Spam, Spam… Любимый Spam! Замечательный Spam!») , делая невозможным диалог официантки и посетителей (то есть «spamming» диалог - «заспамить» диалог ), после чего скетч погружается в хаос. В конце скетча жена героя восклицает: «Я не люблю „SPAM“»! (англ. «I don’t like spam!» ) . В титрах к именам действующих лиц также было добавлено слово «SPAM» (Spam Terry Jones, Michael Spam Palin, John Spam John Spam John Spam Cleese и др.). В общей сложности это слово упоминается в скетче 108 раз. .

Антиреклама [ | ]

«Нигерийские письма» [ | ]

Иногда спам используется мошенниками, чтобы выманить деньги у получателя письма. Распространенный способ получил название «нигерийские письма», потому что большое количество таких писем, якобы, приходило из Нигерии и послано жителями Нигерии [ ] .

Такое письмо содержит сообщение, якобы получатель письма может получить каким-либо образом большую сумму денег (напр. наследство однофамильца получателя), а отправитель может ему в этом помочь. Затем отправитель письма просит перевести ему относительно «немного » денег под предлогом, якобы они нужны, например, для оформления документов, открытия счета, оплаты проезда или пересылочных расходов; про обещанную же крупную сумму при этом обычно говорится, что она пока недоступна, и выманиваемые деньги нужны для овладения ею. Выманивание этих денег и является целью мошенников.

Более узкое название этого вида мошенничества - скам или скам 419 (по номеру статьи в УК Нигерии).

Фишинг [ | ]

Блоги, вики, форумы, доски объявлений [ | ]

В последнее время стали популярны веб-сайты, на которых можно оставлять комментарии (например, форумы и блоги) или те, которые можно свободно редактировать - вики . Поскольку эти страницы открыты для свободного редактирования, на них может быть размещён спам - сплоги . Подобный спам тем более раздражает, что его труднее удалить (как правило, сообщения в форумах и блогах могут редактировать только привилегированные пользователи - соответственно, рядовой участник должен связаться с кем-нибудь из них).

Спам в комментариях преследует две цели: увеличение количества входящих ссылок на продвигаемый сайт (в частности, для повышения Google PR или ТИц Яндекса), а также для увеличения посещаемости продвигаемого сайта (если комментарий оставлен на более популярном ресурсе).

Другой разновидностью спама в блогах является поголовное, часто - автоматическое, внесение пользователей в список «друзей» без знакомства с их персональными страницами, как правило, с целью искусственного повышения собственного рейтинга путём получения «взаимной» дружбы, либо привлечения внимания к сетевой рекламе, размещенной в журнале спамера. Такой вид спама иногда называют «Френдоспамом» (от англ. friend - друг).

Особое внимание стоит обратить на размещение спама на досках объявлений. Обычно на таких досках размещают информацию коммерческого и полукоммерческого содержания. Зачастую спамеры размещают своё объявление во всех доступных разделах, чтобы увеличить релевантность сообщения в индексируемых страницах поисковыми механизмами. Сами объявления маскируются под коммерческое объявление, иногда каждое слово выглядит как гиперссылка. Иногда в одном объявлении можно увидеть более десятка ссылок, ведущих на разные страницы. Модерировать доски объявлений с большим количеством объявлений очень трудно, часто срабатывает человеческий фактор - невнимательность.

Поисковый спам [ | ]

Поисковый спам - страницы и web-сайты, созданные с целью манипулирования результатами в выдаче поисковых систем , например, дорвеи - страницы с ключевыми словами и автоматическим перенаправлением на «нужный» сайт.

За последние годы алгоритмы поисковых систем стали намного сложнее и лучше в плане борьбы с поисковым спамом.

Сетевые сообщения [ | ]

Когда-то давно спам рассылали по локальной сети через встроенную в Microsoft Windows SMB -службу Messenger . Такие сообщения появляются в виде всплывающих окон (если не установлено стороннего ПО, обрабатывающего их по-другому). В этом случае для отключения их приёма можно, например, остановить службу Messenger командой net stop messenger . В версиях Windows NT , начиная с Windows XP SP2 , эта служба уже остановлена по умолчанию, поэтому данный способ рассылки встречается всё реже. Соединения извне на порты SMB закрыты с начала 2000-х после массового распространения SMB-червей.

SMS-сообщения [ | ]

Спам может распространяться не только через Интернет. Рекламные сообщения, присылаемые на мобильные телефоны с помощью SMS -сообщений, особенно неприятны тем, что от них труднее защититься.

Во многих странах введены законодательные ограничения на рассылки рекламных SMS сообщений людям, не давшим своё явное согласие на это.

Телефонные номера для рассылок спама могут получать как полузаконными путями (из сервисов, сайтов, магазинов и прочих, где человек оставил свой телефонный номер), так и незаконным путём.

Сбор адресов электронной почты [ | ]

Спамеры выясняют почтовые адреса пользователей разными способами. Вот некоторые из них:

Причиняемый вред [ | ]

Массовая рассылка спама имеет низкую себестоимость для отправителя в расчёте на сообщение. Однако огромное количество бесполезных сообщений наносит очевидный вред получателям. В первую очередь речь идёт о времени, потраченном впустую на отсеивание ненужной почты и выискивание среди неё отдельных нужных писем. Очень часто интернет-трафик стоит дорого, и пользователю приходится платить за очевидно ненужные письма. Самый большой вред исходит из-за неосведомлённости получателей спама, которые открывают спамные письма, переходят по ссылкам, якобы присланным их знакомыми, скачивают вирусы и не подозревая того, распространяют их в обществе (чаще первые в списке зараженных оказываются рабочие компьютеры). Считается, что спам может быть выгоден провайдерам , так как приводит к повышенному трафику. На самом деле, провайдеры также несут дополнительные затраты из-за повышения бесполезной нагрузки на каналы и оборудование. Именно провайдерам приходится тратить ресурсы на избыточное оборудование и системы защиты от спама. Согласно общедоступной статистике , не менее 80 % пересылаемых писем в настоящее время составляет спам (по данным некоторых исследований на одного интернет-пользователя сегодня приходится по 70 спамовых сообщений в сутки ). Большая часть его отсекается почтовыми серверами во время получения. Но даже оставшейся меньшей части достаточно для осложнения жизни пользователей. Провайдеры несут дополнительные издержки из-за постоянной необходимости борьбы со спамерами (избыточное оборудование, избыточная ёмкость каналов, специальное программное обеспечение для распознавания спама).

Спам также наносит вред репутации приверженцам данного способа вирусного маркетинга . А имитация спам-рассылки может применяться для дискредитации товара (который в ней рекламируется) и/или оператора связи, с адресов которого она (якобы или действительно) проводится, то есть спам может использоваться в недобросовестной конкуренции и «чёрном» пиаре .

По данным специалистов Российской ассоциации электронных коммуникаций (РАЭК), в 2009 году ущерб экономики России от спама составил 14,1 млрд рублей. Тем временем аналитики ФБК утверждают, что каждый год спамеры наносят экономике России потери на сумму от 31,3 до 47,2 млрд рублей .

Россия оказалась на четвёртом месте в рейтинге самых активных распространителей спама. Перечень составила британская компания Sophos , которая занимается защитой данных и разработкой антивирусного программного обеспечения .

Оценки эффективности [ | ]

Тестирование и анализ результатов рассылки спама неизменно показывает его исключительно низкую эффективность, а часто и почти полную безрезультатность. Например, во время рекламной кампании в Калифорнии с 75 869 компьютеров за 26 дней были разосланы 350 млн извещений о продаже нового лекарства на натуральной основе. В итоге фирма получила 28 заказов .

Спамеры [ | ]

Американец Сэнфорд Уоллес по прозвищу «Король спама» был оштрафован на 4, 234 и 711 млн долларов (2006, 2008 и 2009 года соответственно).

Известный российский спамер Леонид Куваев , занимающий второе место в списке самых злостных спамеров Интернета, начинал свой бизнес в Америке, однако в 2005 году попал под суд - генеральный прокурор штата Массачусетс определил, что спамерская сеть Куваева, в том числе партнёрская программа BadCow, генерируют ему 30 млн долларов США ежегодно - и выходцу из РФ присудили штраф в размере 37 млн долларов США. Однако, тот уехал обратно в Россию, откуда его не удалось достать даже с помощью ФБР. Его сайты продолжали продавать «Виагру» без лицензии и рассылать спам через ботнеты. В декабре 2009 года Куваев был арестован в Москве за педофилию, в суд передано дело по шестидесяти эпизодам домогательств к несовершеннолетним.

  • Центр Американского Английского - один из наиболее известных российских спамеров.
  • Центр Плюс , Экстра М - наиболее известные представители «бумажного спама».

Борьба со спамом [ | ]

Идеология [ | ]

Очевидно, что спам приносит экономическую выгоду его заказчикам. Это означает, что пользователи, несмотря на неприязнь к спаму, всё-таки пользуются рекламируемыми посредством спама услугами. До тех пор, пока отдача от спама превышает затраты на преодоление защиты, спам не исчезнет. Таким образом, самым надёжным способом борьбы является отказ от услуг, рекламируемых посредством спама. Встречаются предложения о применении общественного осуждения, вплоть до прекращения общения, против лиц, покупающих рекламируемые спамом товары и услуги .

Другие способы направлены на затруднение спамерам доступа к пользователям.

Превентивные меры защиты [ | ]

Самый надёжный способ борьбы со спамом - не позволить спамерам узнать электронный адрес. Это трудная задача, но некоторые меры предосторожности можно предпринять.

  • Не следует публиковать свой адрес на общедоступных сайтах.
    • Если по каким-то причинам адрес электронной почты приходится публиковать, его можно заировать наподобие «u_s_e_r_(a)_d_o_m_a_i_n_._n_e_t». Спамеры используют специальные программы для сканирования сайтов и сбора почтовых адресов, поэтому даже такая маскировка адреса может помочь. Следует помнить, однако, что в самых простых случаях «заированный» адрес сможет распознать и программа. К тому же, это создает неудобства не только для спамеров, но и для обычных пользователей.
    • Большинство публичных сайтов не публикует адреса электронной почты зарегистрированных пользователей, но даёт возможность от сообщение по нику . Реальный адрес подставляется сервером из профиля пользователя, и другим пользователям невидим.
    • Адрес можно представить в виде картинки. Существуют онлайн-службы, делающие это автоматически (однако, не следует забывать, что некоторые из этих служб могут сами собирать и продавать введенные пользователями почтовые адреса). Кроме того, это можно сделать в любом графическом редакторе или просто написать электронный адрес от руки и сфотографировать.
    • На web-страницах адреса электронной почты можно ировать при помощи JavaScript .
  • Можно завести специальный ящик для регистрации в службах, не вызывающих особого доверия, и не использовать его для обычной работы. Существуют даже службы, выдающие одноразовые адреса электронной почты специально для того, чтобы указывать их в сомнительных случаях.
  • Никогда не следует отвечать на спам или переходить по содержащимся в нём ссылкам, в том числе и по ссылкам, предназначенным якобы для отписки от рассылки. Такое действие подтвердит, что электронный адрес реально существует, активно используется, а его получатель читает спам, и приведёт к увеличению количества спама.
  • Факт загрузки картинок, включенных в письмо, при прочтении, может использоваться для проверки активности почтового адреса. Поэтому рекомендуется при запросе почтового клиента о разрешении загрузки картинки запрещать действие, если вы не уверены в отправителе.
  • Выбирая адрес электронной почты, следует, по возможности, остановиться на длинном и неудобном для угадывания имени. Так, имеется менее 12 миллионов имён, состоящих из не более 5 латинских букв. Даже если добавить цифры и символ подчерка, количество ников менее 70 миллионов. Спамер может от почту на все такие имена и отсеять те, с которых ему пришёл ответ «адресата не существует». Таким образом, желательно, чтобы имя было не короче 6 символов, а если в нём нет цифр - не короче 7 символов. Желательно также, чтобы имя не было словом в любом языке, включая распространённые имена собственные, а также записанные латиницей русские слова. В этом случае адрес может быть угадан путём перебора слов и комбинаций по словарю.
  • Можно время от времени менять свой адрес, но это связано с очевидными трудностями: нужно сообщить новый адрес людям, от которых хотелось бы получать почту.
  • Компании часто не публикуют свой адрес, вместо этого используя CGI для связи с пользователями.

У всех методик сокрытия адреса есть принципиальный недостаток: они создают неудобства не только предполагаемым спамерам, но и реальным адресатам. К тому же, зачастую адрес опубликовать просто необходимо - например, если это контактный адрес фирмы.

Фильтрация [ | ]

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

Автоматическая фильтрация [ | ]

Авторизация почтовых серверов [ | ]

Были предложены различные способы для подтверждения того, что компьютер, отправляющий письмо, действительно имеет на это право (

Принципы и технические методы работы с незапрашиваемой корреспонденцией

Илья Сегалович ([email protected]), Дмитрий Тейблюм ([email protected]), Александр Дилевский ([email protected])

Введение

Опуская этическую и социальную проблематику, связанную со спамом, мы в данной статье сосредоточимся на способах его доставки, методах обнаружения и подавления. Затем мы обсудим ошибки, часто возникающие при описании этих методов и их возможностей. В заключительной части статьи будет рассказано о «супершингле Яндекса» – несложном техническом методе детектирования массовых рассылок, используемом в Яндекс.Почте.

Часть 1. Доставка спама. Эволюция

Чтобы спам попал в ваш ящик, его необходимо вам доставить. Поскольку мы не встречали внятной классификации спама по способу доставки (а остальные классификации сводятся к простой дихотомии: спам, модифицирующий, и спам, не модифицирующий текст заказчика) постараемся вкратце описать их здесь. Возможно этот текст покажется излишне подробным, однако, нам кажется интересным проследить, как разработчики спамерского ПО откликались на вызов, брошенный им антиспамом, и vice versa.

Спам молод. Как средство активного маркетинга он возник примерно в 1997 году. О дате его возникновения можно судить по моменту, когда Paul Vixie создал RBL. RBL – исторически первая серьезная попытка борьбы со спамом. См. http://www.wikipedia.org/wiki/DNSBL.

Эволюция технических видов спама на 100 процентов обусловлена эволюцией антиспамовых средств. Причем история тут развивается стремительно, по нарастающей. За последние два года в ней, по-видимому, произошло больше событий, чем за все предшествующие.

Первые виды спама были просто прямыми рассылками. Такой спам блокируется достаточно просто, и спамеры начали использовать открытые почтовые релеи, то есть обычные почтовые сервера, позволяющие произвольному пользователю воспользоваться сервисом отправки письма на другой сервер. Заметим, что иных релеев в ту пору просто не было, а само понятие «открытые релеи» возникло лишь после того, как появился спам и их вообще начали закрывать.

Такие открытые релеи достаточно легко детектировать, их стали активно искать и блокировать. После этого у прямых рассылок наступил ренессанс – спам стал рассылаться с «диалапов» и для его блокирования системным администраторам пришлось разузнавать и блокировать IP модемных пулов основных провайдеров.

Прокси-сервера. Socks и HTTP

Чуть более 2 лет назад появились как заметное явление более изощренные способы использования чужих, неаккуратно сконфигурированных серверов.

Socks-прокси серверы предназначены для сведения всего интернет-трафика небольших компаний к одной единственной машине, имеющей доступ в Интернет. Для работы они обычно используют порт 1080. Если машина допускает неавторизованное соединение с произвольного IP-адреса (типичная ситуация в эру до спама), ее могут использовать спамеры и для направления своего SMTP-трафика. Интересно отметить, что логи использования socks-серверов обычно не ведутся, поэтому отслеживание истинных источников рассылки даже самими администраторами socks-серверов чаще всего невозможно.

Почти сразу же обнаружилось, что и стандартные открытые HTTP-прокси (типичные порты 3128, 8080 и т.д.), поддерживающие метод CONNECT, легко использовать для того же самого, достаточно в команде CONNECT указать не только имя сервера, но и задать 25-й почтовый порт. Даже любимый всеми «народный» вебсервер Apache, собранный с модулем mod_proxy и неправильно настроенный, нередко используют как средство рассылки почтового спама.

Взломанные машины. Стандартное ПО. Модифицированое ПО. Смена портов и времени прослушивания. Троянские кони.

Исчерпав возможности по поиску нерадивых администраторов, спамеры примерно год назад или чуть больше начали взламывать любые доступные компьютеры и устанавливать на них одну из вышеперечисленных сервисных служб: SMTP-релей или прокси. Добавьте к этому взрывной рост кабельных подключений в США и какой-нибудь Бразилии, (Россия по сравнению с США и той же Бразилией – мелочь), при том что Windows не имеет включенного по умолчанию брандмауэра, администраторы местных кабельных и DSL-сетей никак не защищают своих пользователей в силу низкой квалификации, а сто «сравнительно честных» и хорошо документированных способов взлома незащищенных Windows-машин печатает журнал Хакер в каждом втором номере, и вы получите практически безграничное поле деятельности для взломщика. Последняя и самая мощная волна взломов исходит от P2P сетей типа Kazaa и e-mail-вирусов, таких как Sobig, несущих в своем коде «рабочий набор спамера».

Надо сказать, что плохая защищенность таких сетей далеко не всегда происходит от низкой квалификации администраторов. Иногда это происходит в силу «политических» причин: вполне квалифицированные администраторы провайдера считают, что они отвечают только за подключение, а все остальное – проблема клиента. Даже в России редко встретишь домашнюю сеть, защищенную брандмауэром и тем более практически невозможно увидеть в памятке клиенту такой сети напоминание о том, что в Windows надо установить брандмауэр.

Однако, установив открытый релей или прокси, спамер рискует тем, что его очень легко обнаружить. Любому администратору достаточно обратиться к подозрительной машине по одному из известных портов и убедиться, что его пускают без авторизации (эта процедура называется «прозвоном»), чтобы внести данную машину в черный список. Поэтому спамеры, особенно в последние полгода-год, начали менять поведение взломанных машин.

Если рассылочный демон принимает обращения только от IP своего хозяина и/или засыпает и просыпается по хитрому алгоритму, и/или постоянно меняет порт, по которому принимаются команды и письма, то прямое обнаружение таких машин методом прозвона обычному администратору сильно затрудняется. Ведь чтобы прозвонить все 65536 TCP-портов потенциально взломанной машины, требуется время – примерно около получаса, за это время она может сменить порт, заснуть и т.д. и т.п.

Однако то, что недоступно постороннему администратору или внешней антиспамерской команде, все еще могут сделать администраторы провайдера. Они могут следить за странным поведением клиентсикх машин, которые, прослушав входящее соединение по необычному порту, начинают активно рассылать почту по разным адресам. Такой мониторинг не очень трудно организовать.

Спамерский софт развивается. Относительно невинный софт для прямых рассылок (например Advanced Mail Sender), в котором спамер в обход сервера провайдера обращается к целевому MTA прямиком с домашнего модема, сменился продвинутыми сложными системами, вершиной которых являются троянские кони широкого спектра действия. Среди их возможностей есть даже апгрейд самих себя, автоматическое распространение, переезд на другие взломанные машины и т.д.

Например, функция такого троянского коня: сходить по HTTP на записанный в нем адрес в заданное время, взять оттуда списки адресов и писем, разослать почту, узнать время и место следующего захода. Иногда троянские программы прослушивают каналы IRC и получают команды оттуда. Это позволяет скрыть источник команд. В отличие от HTTP, где создание сайта или закачка новых файлов отслеживается довольно легко, сообщения на канал IRC могут передаваться через любой из серверов IRC-сети, и для отслеживания источника необходим оперативный доступ к логам всех серверов сразу. В общем, есть много способов скрыть троянскую программу: использовать нестандартные порты, управление, протоколы и т.д. и т.п.

Возможности по активному обнаружению взломанных машин

Теоретически (и практически) способ рассылки, при котором сама взломанная машина обращается по HTTP или IRC за письмами и никогда не находится в режиме прослушивания, труднее всего обнаружить. Практически нельзя понять, что они делают, каков их интерфейс со спамерами, так сказать. Например известно, что некий троян ставит стандартные прокси и SMTP на нестандартных портах. Обычно информация об этом трояне этим и исчерпывается. Зараженных пользователей и их провайдеров интересует только как убрать троян – а антивирусные программы делать это научаются быстро. Для более или менее серьезной борьбы со спамом интереснее знать, кто этот троян распространяет и как он это делает. Для подобных выяснений и полезны администраторы сетей, в которых есть зараженные машины. Например если троян ходит куда-то зачем-то по HTTP, то во-первых, надо засечь это обращение и его содержание, а также ответ той стороны, а во-вторых, отследить входящие соединения с ним, их источники и суть.

К счастью, у спамеров тоже существует разделение труда – категория «взломщиков» выделилась в отдельную профессию, а товаром и предметом купли-продажи служат списки IP-адресов. Покупателями являются «рассылочники». При этом стандартность установленного ПО играет большую роль. «Рассылочникам» намного удобней работать с использованием обычного списка, не заботясь об особенностях поведения того или иного хитрого трояна. Поэтому сложные и продвинутые троянские кони пока не получили слишком широкого распространения. Впрочем количество спама пока растет по экспоненте – так что может статься, что уже и получили, только мы этого еще не осознали.

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

Организационные усилия по борьбе со спамом

Часто можно услышать о некоем будущем протоколе электронной почты, после внедрения которого спама не станет. Хотелось бы добавить в эту идею немного здорового скепсиса.

Сетевое сообщество не смогло до сих пор внедрить простейшие антиспамерские приемы, которые само же установило в качестве стандарта. Например, разделение портов SMTP-сервера на порт для MTA (25: прием почты от чужого сервера для сохранения своему пользователю; «общение между серверами») и MSA (587: прием письма от своего пользователя для отправки на чужой сервер; «общение между пользователем и сервером»). Эта идея, также как и SMTP-авторизация, появилась именно как реакция на появление спама.

Прошло уже немало времени, однако 587 порт так и не появился в популярных почтовых программах типа Outlook Express или The Bat! А ведь эта простейшая мера позволила бы провайдерам просто закрыть все исходящие соединения по 25 порту и полностью ликвидировала бы прямой спам «по карточкам» – спам с dialup-соединения. Как известно, Интернет-Карточка стоит 5 долларов, ее хватает на 10 ночных часов, за это время можно разослать десять тысяч писем и спокойно пойти покупать новую карточку, а старую (уже ненужную) заблокирует выведенный из себя провайдер.

Нет никаких технических препятствий так настроить почтовый сервер, чтобы он не принимал почту от «опасных незнакомцев» и блокировал как «спам по карточке», так и черные дыры. Достаточно, например, включить и настроить встроенный в любой SMTP-сервер протокол SSL, так чтобы он отклонял несертифицированные соединения. Сертификаты, идентифицирующие сервер, тоже давно существуют. За 50-100 долларов в год на почтовый сервер можно приобрести их в Thawte или Verisign. К сожалению, при такой настройке вы вообще перестанете получать почту, так как ни у кого, конечно, сертификатов нет.

Новый протокол придумать наверное можно. Но работать он будет только в том случае, если на него одновременно перейдут все почтовые системы. Иначе те, кто на него перейдет, окажутся изолированными от тех, кто не перешел. Иными словами, чтобы вы научились плавать в бассейне, кто-то должен сначала налить туда воду. Однако современный Интернет напоминает тот самый сумасшедший дом, в котором воду наливают, только после того как вы научитесь плавать.

Вывод : очевидно спам нельзя победить «хорошим» протоколом. Но спам можно побеждать совместными усилиями антиспамерского ПО, систем обратной связи, согласованных действий провайдеров и т.д. И об этом пойдет речь ниже.

Часть 2. Методы борьбы со спамом

Можно встретить разные описания (по сути классификации) средств борьбы со спамом. Поскольку программа это всегда «Алгоритм + Структура Данных», то и классификацию программ правильно основывать на видах используемых данных и используемых алгоритмах. Что мы и попытаемся проделать ниже.

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

Задача спам-фильтрации

Задача, которую решает детектор спама по содержанию: разделить входящий поток сообщений на спам и нормальную почту, Spam и Ham в английском жаргоне.

Исходные данные

Данные, которые используются для анализа – это все признаки пришедшего письма. Их можно разделить на четыре пространства, вычисление решений в которых можно производить независимо:

  • IP-адрес сервера отправителя
  • оформление и стиль писем, заголовки, форматирование, характерные обороты
  • статистика слов в письмах
  • контрольные суммы («сигнатуры») текстов писем

Естественно, что пространство признаков по каждому набору данных ограничивают только «интересными» признаками.

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

Заметим, что в отличие от пространств слов или элементов оформления, при опознании спама по IP-адресу решение принимается по одному-единственному « признаку. Взвешивания по адресу обычно не производится, следовательно, настройка взвешивающего механизма на обучающей выборке не нужна. Однако без обратной связи (в случае с IP – без постоянно пополняемого списка черных дыр) удовлетворительно работающий механизм нельзя построить ни по одному из вышеперечисленных пространств.

Ошибки первого и второго рода

Чтобы любое машинное обучение работало, ему необходимо сообщать об ошибках. Ошибки бывают двух видов. Ошибка первого рода: пропуск спама, то есть пропуск спамового письма. Иными словами – недостаточная полнота метода. Ошибка второго рода – ложные срабатывания, когда не-спам ошибочно относят к спаму. Иными словами – точность метода.

Естественно, приоритет при настройке алгоритма отдается минимизации числа ложных срабатываний. Обычное требование для спам-детектора – уложиться в несколько промилле. Считается, что лучше дать пользователю прочитать несколько спамовых писем, чем скрыть от него настоящее письмо.

Интегральный показатель качества

Процент детектированного спама есть мера полноты, процент ложных срабатываний – мера неточности. Несложно предложить интегральную оценку качества, назовем ее качеством фильтрации. Очевидно, что при точности, близкой к 100%, качество будет примерно равно полноте. Именно полноту фильтрации часто и называют, когда озвучивают те или иные цифры, подразумевая, что точность практически абсолютна.

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

Ложные срабатывания. Разные подходы

Довольно большое значение имеет то, что происходит при ошибках второго рода – от этого зависит величина ущерба, наносимого этими ошибками, и, следовательно, требования к их количеству.

Возможны следующие реакции фильтра на обнаруженный спам:

  • письмо отвергается почтовым сервером; при этом, если оно на самом деле было «законным» письмом, отправитель получит сообщение об этом;
  • письмо помещается в специальную папку; пользователь имеет шанс заглянуть в эту папку и увидеть там ошибочно отфильтрованное письмо;
  • письмо «удаляется», как будто его и не было; никто ни о чем не знает.
  • Сценарий (3) – самый опасный; к счастью, администраторы почтовых серверов его почти никогда не используют. Однако из популярных текстов, о которых мы будем говорить ниже, зачастую создается впечатление, что используется именно он.

    Сценарий (2) с одной стороны имеет тенденцию вырождаться в (3), если качество фильтра хорошее. С другой стороны, регулярный просмотр пользователем папки со спамом снижает пользу фильтрации, хотя это и делается существенно реже, поверхностным просмотром и т.д. В таком сценарии, однако, ущерб от ошибок второго рода минимален, а обратная связь максимальна.

    Сценарий (1) – традиционный вариант для «классической» фильтрации по IP адресам. В отличие от (2), он не вырождается в (3), однако при этом нагрузка на сервер существенно возрастает, если в фильтре используется содержимое письма.

    Промежуточная зона – «полуспам»

    Очень важная, часто недопонимаемая проблема состоит в том, что спам и не-спам пересекаются в очень большой степени.

    Рассылки, от которых трудно отписаться, но на которые вы тем не менее (кажется?) подписывались. Подписки, возникающие при регистрации, без вашего ведома. Многочисленные квитанции глупых антиспамерских и антивирусных программ. Автоответчики. Рассылки, совершаемые спамерами при помощи веб-форм из публичных, совершенно неспамерских веб-сервисов, тем не менее слабо защищенных от вторжения. Например, открытки или приглашения вступить в то или иное веб-сообщество – по тексту такого письма даже автор не может понять, спам это или нет. Вся такая корреспонденция может быть смело отнесена к «полуспаму».

    Объем этой зоны очень и очень значительный.

    Перед началом очередного этапа работ по антиспамовой фильтрации Яндекс провел исследование. Был проведен ручной анализ достаточно репрезентативной выборки из 5151 писем, пришедших на 300 адресов. Так вот, ситуации, когда проверяющий посторонний человек, используя для принятия решения всю мощь своего естественного интеллекта, отнес письмо к такой «промежуточной зоне» составляли до 40 процентов! При этом правило для такого отнесения было достаточно осторожным:

    … «Полуспамовое» письмо – это письмо от известного проверяющему реально работающего магазина или онлайн-сервиса, в котором пользователь скорее всего регистрировался. …

    Какой из этого можно сделать вывод? Даже с учетом статистических смещений, характерных для публичной веб-почты, можно попытаться предсказать максимальный теоретический предел качества неперсонализированной спамовой фильтрации. Ведь задача неперсонализированной программы – моделировать поведение максимально объективного незнакомого наблюдателя, не знающего ни про ваши пристрастия, ни про ваши подписки!

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

    Обратная связь

    В любом случае ключевой вопрос любой полноценной антиспам-системы состоит в решении, откуда брать сведения об ошибках первого и второго рода. Очевидно, что жалоба на спам или просьба о блокировке адреса – это обратная связь по ошибкам первого рода. Возможна и крайне желательна обратная связь и по ошибкам второго рода.

    Реализация обратной связи

    В интерфейсе большинства современных публичных веб-почт (Hotmail, Yandex, Yahoo, Oddpost) есть специальная папка, служащая для накопления «полуспама» и не очень достоверно определяемого спама, а также кнопка для «реабилитации», сообщающая системе о ложном срабатывании.

    В настольных почтовых клиентах, созданных в последнее время, тоже обязательно присутствует обратная связь как первого, так и второго рода. Обычно в виде кнопки «это спам» / «это не спам».

    К сожалению, несколько популярных клиентских почтовых программ все еще не поддерживают полноценную обратную связь. Например, все почтовые программы Микрософт, чей интерфейс и набор возможностей не менялся последние 5 лет, (впрочем для них написаны многочисленные плагины, способные, пусть и неудобным способом, но восполнить этот недостаток), или некоторые публичные почтовые службы, в которых не реализована обратная связь с пользователем.

    Технические приемы на уровне протокола

    Особняком от методов, анализирующих только данные пришедшего письма, стоят некоторые довольно популярные в последнее время приемы, задающие особый способ взаимодействия почтовых программ.

  • Незнакомым отправителям посылается письмо типа «Извините, мы с Вами не переписывались, подтвердите пожалуйста что Вы не спамер». По приходу подтверждения программа добавляет адрес отправителя в белый список. Есть и известные реализации этой довольно старой идеи: TMDA и WinAntiSPAM.
  • Довольно свежая идея – graylisting («серые» списки). Суть ее состоит в том, что на некоторые письма сервер отвечает не «OK» или «rejected», как обычно, а «временная ошибка». Это само по себе работает (пока) очень хорошо, потому что «хорошие» почтовые сервера через некоторое время повторяют попытку доставить письмо (они обязаны это делать), а рассыльщики спама (пока) этого не делают. Причем можно надеяться, что если спамеры будут пытаться повторять попытки доставки, как нормальные сервера, то за это время они успеют попасть в черные списки. Время повторного соединения обычно полчаса, и это, в общем, некритично, тем более что оно относится только к первой корреспонденции между двумя незнакомыми сторонами, так как ранее проверенные адреса не проверяются, а запросы на проверку кэшируются и вновь не посылаются.
  • Проверка корректности адреса отправителя (envelope-from). Проверку существования домена в большинство серверов вставили очень давно, и до сих пор она изредка срабатывает, хотя эффективность ее ныне невелика. Сейчас многие стали вставлять проверку адреса целиком. Хотя это довольно накладно по ресурсам – для этого надо связываться с сервером, на котором расположен адрес, и осмысленный ответ при этом не гарантирован, однако, по крайней мере пока, это неплохо работает.
  • Алгоритмы

    Как видно из приведенной таблицы, потоки данных сильно отличаются для разных типа признаков. Рассмотрим их по отдельности

    Проверка IP. DNS-зона. Имя черного списка как интегральный признак

    Простейшая в реализации, и безусловно именно поэтому самая популярная – фильтрация по пространству IP адресов. Для каждого письма проверить надо 1 (редко больше) IP адрес, делается это сейчас при помощи специальной DNS-зоны для каждого из черных списков. Поиск в DNS, в сущности – простая хеш-функция. Часть из списков разрешено скачивать, и для эффективности такие зоны разумно создать на локальном DNS-сервере.

    Что еще характерно для данного пространства признаков? Во-первых, отлично отработанная обратная связь.

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

    Отсюда и простейший способ понижения размерности этого пространства – заменить индивидуальный IP-адрес на список, в котором он обнаружен. Принципы формирования, надежность и применимость списков в первом приближении можно считать униформным для всех «его» IP-адресов.

    Низкая стоимость вычислений, простота и налаженность процедуры обмена данными и их небольшой объем, однозначность данных (IP практически невозможно подделать). Все эти факторы играют решающую роль в доминировании данного признака в антиспамовом ПО.

    Байесовская фильтрация по словам

    Очень простым, интуитивно понятным методом «машинного обучения с учителем» (то есть при наличии Spam&Ham выборки) является наивная байесовская классификация. «Наивной» она называется, потому что исходит из предположения о взаимной независимости признаков, и как ни странно, этого часто оказывается вполне достаточно. Использование формулы Байеса для фильтрации спама предложено совсем недавно, примерно год назад.

    Автор, Paul Graham, предназначал его для персональной фильтрации. Для работы требуется, чтобы у классифицируемого объекта было достаточно признаков. Этому требованию идеально удовлетворяют все слова (или токены) писем данного пользователя, исключая разве что очень редко встречающихся и совсем короткие. Вторым требованием является постоянное переобучение и пополнение коллекции Spam+Ham. Все такие условия идеально работают в локальных почтовых клиентах, поддерживающих этот алгоритм.

    К сожалению, использовать метод Байеса прямо, непосредственно в условиях массовой почтовой службы затруднительно, в основном по причине большого разнообразия словарного состава клиентских ящиков. Так, из-за того, что в обучающей выборке наверняка будет очень много туристического спама, все письма, например, из турагентства могут быть отнесены к спаму. Не смогут здесь помочь и другие методы классификации текстов по словам, более традиционные для науки информационного поиска (например метод Роккио или метод опорных векторов). Однако как-то использовать вероятность отнесения письма к среднестатистическому спаму (или иную меру текстуальной схожести), полученную анализом словарного состава, по-видимому, можно и в массовых сервисах.

    Генетические алгоритмы и ручное выставление весов

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

  • слишком мало число признаков, типично встречающихся в одном письме
  • отсутствует балансировка, то есть нет достаточного количества признаков не-спама.
  • В этих условиях применяют другие алгоритмы. Например, SpamAssassin применяет генетический алгоритм. В нем подбор начинают со случайной простановки весов для каждого признака (создание «хромосом»), а затем «скрещивают» и «мутируют» хромосомы в поисках оптимальных значений весов для данной тестовой выборки. Оптимум (в теории) может оказаться не глобальным, а локальным, но этого обычно более чем достаточно.

    Часто практикуется и ручное выставление весов для каждого признака, ведь количество их обозримо, и опытные администраторы в состоянии контролировать и постоянно корректировать спам-фильтрацию для почты своей компании.

    Обнаружение повторов и признак массовости

    Если антиспамовая система имеет дело с большим потоком писем, она может и должна пытаться находить повторы писем. Во-первых, так можно вылавливать письма, уже известные (помеченные ранее) как спам. Во-вторых, массовость письма сама по себе является неотъемлемым признаком спама. Из утверждения, что письмо есть спам, неизбежно следует, что оно массовое. Таким образом, признак массовости есть необходимое, хотя и не достаточное условие спама.

    Строго говоря, одиночные нежелательные письма тоже можно считать спамом, но бороться с ними имеет смысл одиночными же методами, поэтому для данной статьи можно смело принять такое допущение.

    Интересной темой является практическая реализация выявления массовой корреспонденции. Попытки наладить распределенные системы обмена контрольными суммами писем, предпринимаемые в рамках таких проектов, как DCC (несколько контрольных сумм по тексту и заголовкам письма) или Бритва Вайпула (одна «нечеткая» контрольная сумма) в настоящий момент упираются в общие ограничения P2P-технологий по производительности. Дело в том, что для того, чтобы обеспечить статистику повторов в реальном времени, участники системы вынуждены поддерживать режим постоянного обмена этой информацией. В момент спамовой атаки скорость реакции таких систем становится неприемлемо низкой. Видимо, об эффективном применении систему детектирования повторов можно пока говорить только в системах с очень большим потоком писем, у крупных провайдеров или на публичных почтовых серверах, например веб-почты.

    Различным методам выявления повторов будет посвящена последняя часть этого сообщения. Пока можно лишь заметить, что признак массовости служит неплохим фактором и сам по себе, и в различных интегрирующих системах.

    Интегрирующие системы

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

    Пионером здесь является SpamAssassin, который позволяет применить как генетический алгоритм, так и ручное взвешивание поверх не только собственного или «настроенного» набора флагов, но и с учетом байесовского текстового подобия, и с учетом взаимодействия с DCC-модулем детектирования рассылок.

    Отдельным вопросом является то, какой алгоритм должен работать в точке окончательного принятия решения.

    Точки применения фильтра

    Кроме различия в исходных данных, алгоритмах и видах обратной связи, антиспамовые средства надо различать по месту их применения. Таких мест можно выделить два: почтовый сервер и клиентский компьютер.

    Фильтрация на сервере: царство IP-метода

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

    Однако наиболее стандартным, легко реализуемым и относительно эффективным методом является фильтрация по IP, и с учетом этих обстоятельств этот метод в настоящий момент доминирует. Можно ожидать появление средств фильтрации и по другим признакам.

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

    Фильтрация на клиенте: царство Байеса

    У клиента совершенно другая картина. Здесь малый поток данных, неизвестная производительность компьютера, отсутствие постоянной связи с Интернетом – то есть невозможно или слишком дорого постоянно «закачивать» массивы контрольных суммы писем или IP черных дыр. Зато очень точно можно отличить чужие письма, они всегда не похожи на ваши просто по тексту; «вкусы» одного пользователя выяснить легко. По всем этим причинам клиентские антиспамовые программы представляют из себя царство Байеса.

    Часть 3. Осторожно, маркетинг

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

    Антиспамовые методы на стороне провайдеров

    Из рекламных статей прежде всего нельзя понять, что происходит при отфильтровывании письма по IP-адресу. Читателям по сути внушается апокалиптическая картина, что письма проваливаются в никуда; многомиллионные контракты срываются и т.д. и т.п.

    Однако провайдеров, которые ведут себя по таком сценарию (сценарий (3) – см. выше), на практике не существует (мы не знаем НИ ОДНОГО такого провайдера). Все известные нам почтовые сервера отвечают внятной диагностикой (возвращаемой отсылающим сервером автору письма) на попытку соединиться с IP-адреса из черного списка. Например (в худшем случае):

    Your message to cmail.yandex.ru was rejected.
    I said:
    RCPT To: [email protected]
    And cmail.yandex.ru responded with
    550 5.7.1 [email protected] Spam source.

    Если же список черных дыр официально публикуется и поддерживается, то в диагностическом сообщении SMTP-сервера принято указывать еще и URL страницы, на которой можно получить подробное объяснение, почему данный IP-адрес попал в черный список. Более того, все известные нам скандалы в Рунете, связанные с блокированием, возникали именно тогда, когда «официальные спамеры» получали такую квитанцию и начинали чувствовать себя ущемленными.

    В продолжение этой же идеи провайдерам приписывается использование неких тайных, нигде не публикуемых, секретных черных списков.

    На самом деле никаких «тайных» списков конечно же нет.

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

    Кое-что делалось в этом направлении – была такая инициатива DRBL. Однако то, что получалось, видимо, было слишком сырым, чтобы это использовать массово. Тем не менее, любому пользователю, отправившему письмо с заблокированного адреса, придет серверная квитанция в случае недоставки, с четким указанием причины отказа в сервисе – «ошибка 550, отказ в соединении, источник спама» – см. выше. Правда, это сообщение обязано быть на английском языке.

    Таким образом, эти данные никоим образом не скрываются. Такое поведение требуется по стандарту протокола SMTP.

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

    Это не совсем так или даже далеко не так.

    Действительно, некоторые списки составляются не только для фильтрации как таковой. Иногда в этой деятельности присутствуют элементы «борьбы со спамом». Представим себе дворника, в задачу которого входит содержать определенную