Спам-фильтры - принцип работы и их обход. Дайте подписчикам возможность просматривать сообщение в браузере. Предлагайте две версии письма: без форматирования и в формате HTML

Помощь 29.04.2019
Помощь

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

Подписаться

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


Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Как работают спам-фильтры почты

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

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

Сообщение действительно оказалось в указанной папке, потому что содержало призыв «Купить по низким ценам». А данное словосочетание было указано в перечне слов, который спам-фильтр почтового сервера не пропустил, и отправил в папку с нежелательной почтой.

Метод работы спам-фильтров

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

Различают два вида нежелательных писем:

  • Безобидный спам: реклама товаров и услуг, антиреклама, письма счастья, пропаганда.
  • Потенциально опасный спам: нигерийский спам (выманивание хитрыми способами денег), фишинг (выведывание секретных данных – паролей и логинов), вирусы.

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

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

Анализ отправленного письма

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

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

Изучение данных самого отправителя

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

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

Серые списки

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

Как обойти спам-фильтры при рассылке

  • Не используйте в тексте спам-слова: «дополнительный доход», «дешево», «купить», «деньги».
  • Избегайте слов, написанных большими буквами, особенно, в теме сообщения.
  • Не злоупотребляйте восклицательными знаками.
  • Не используйте явных призывов к действию.
  • Не используйте яркие цвета и пишите обычным чёрным шрифтом.
  • HTML письма должен соответствовать тексту.
  • Осуществляйте отправку в одно и то же время с одинаковой периодичностью.
  • Укажите в тексте свои данные, чтобы читатель мог вам ответить.
  • Отправляйте информационные письма только тем, кто на них подписался.
  • Убедитесь, что отправка осуществляется на существующие адреса, для этого запросите от подписчика подтверждение почтового адреса.
  • Ведите свою рассылку используя почту с именем своего домена..com
  • Напишите получателю инструкцию, чтобы он проверил вас в папке «Спам» и перенёс вас в папку «Входящие».
  • Работайте с проверенными почтовыми сервисами.
  • В некоторых сервисах есть возможность предварительной проверки вашего сообщения спам-фильтрами. Проверьте письмо и будьте уверены, что оно дойдет до вашего адресата.

Чем больше ваш e-mail будет иметь признаков простого сообщения, тем выше будет вероятность его получения вашим адресатом.

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

Что такое спам
Спам (spam) - это нежелательная реклама, рассылаемая против воли получателя. Началом бума спама в Рунете можно считать начало 2000-х годов, когда начал очень активно развиваться отечественный сегмент сети Интернет. У спама очень много разновидностей - почтовые спам-рассылки, флуд гостевых книг, форумов и досок объявлений, ICQ спам и пр. В каждом конкретном случае, применяют свои способы защиты от нежелательных сообщений.
В этой статье будут рассмотрены все основные аспекты почтового (e-mail) спама и защиты от него.

Спам-фильтр – это защита от рекламы ?
Действительно в настоящее время на любой почтовой службе применяются те, или иные спам-фильтры. Кроме того, существует множество антиспам-плагинов к популярным почтовым программам The Bat, Outlook Express и другим. Но в тоже время спам, все с новой и новой силой летит в наши ящики. Но самое плохое, на мой взгляд, в другом. Дело в том, что в результате беспощадной борьбы со спамерами иногда теряются многие нормальные письма, которые иногда могут быть очень важны. Именно проблема с доставкой важной почтовой корреспонденции побудила меня на написание данной статьи, и надеюсь, поможет уменьшить поток на ваш ящик всякого мусора, и соответственно уменьшит количество потерянных важных писем.

Как работает спам-фильтр .
Антиспам фильтры работают по различным алгоритмам, но главное у всех одно – это анализ письма при его получении по определенным признакам. Все рекламные письма от спамеров написаны по шаблону. Ведь не будет же спамер писать каждое письмо вручную, когда у него база e-mail на 1 млн., или более адресов. И стоит ему запустить рассылку (мгновенно такой объем писем не пошлешь), а первым получателям его писем пожаловаться на спам, то данная рассылка будет сразу занесена в блек-лист, и все последующие письма будут отсечены антиспам фильтрами, использующими эту систему. Это так называемые системы раннего оповещения, которые позволяют блокировать спамера на ранней стадии рассылки.
Другой способ основан на более детальном изучении письма, и выявлении в нем признаков спам-рассылки. Если письмо изобилует словами: Реклама, уникальное предложение, купить, скидки, распродажа... и т.д. То данное письмо будет однозначно помечено как подозрительное. Письмо может содержать несуществующий адрес отправителя, что легко проверить, или адрес может быть в черном списке. Вместо текста может быть картинка с размещенной рекламой. Нормальные письма, как правило, содержат не большой размер текста. А письма от создателей разного рода пирамид содержат большой размер информации, где указано что, где, как и для чего вам нужно купить часть от некой чудо-программы, и так далее в этом духе.

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

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

Как обойти спам-фильтр? Легко!
И тем не менее обойти антиспам системы не просто, а очень просто. В подтверждение тому тот факт, что проблема спама по-прежнему актуальна. Принять 100% верное решение о том нужно это письмо, или нет, может только один человек! И этот человек получатель письма. Действительно, а вдруг человек подписан на рекламную рассылку от какой-нибудь компании. Но это все полемика, а теперь факты. Раз письмо фильтруется антиспам системами по тому, или иному признаку, то спамеру достаточно составить «безобидное» письмо, т.е. письмо максимально похожее на обычное (нужное получателю). Выражение: «Краткость – сестра таланта» здесь очень уместно. Чем короче будет письмо, тем труднее в нем выделить детали, характерные для спама.
Надо максимально минимизировать содержание рекламных слов в письме, а оставшиеся видоизменить. Слово «Реклама» можно написать так:
Р е к л а м а (пробелы между буквами), Р-е-к-л-а-м-а (буквы через тире), Рeклaмa (здесь русские буквы «е» и «а» заменены на аналогичные латинские). Как видите вариантов много, для человека любое слово будет иметь смысл «Реклама», а вот многие антиспам системы этого не поймут.
Что касается обхода аниспам систем работающих по принципу раннего обнаружения спамерской рассылки, то сдесь достаточно заранее составить пару десятков разных шаблонов, и после каждой рассылки 100 тыс. писем менять шаблон письма, домен и e-mail отправителя. Этот подход широко используется в спам-бот сетях (сеть из зараженных пользовательских компьютеров).

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

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

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

И если со спамом в электронной почте все предельно ясно, нажал на кнопку «спам» и все остальное почтовый сервис сделает автоматически (не говоря уже о продвинутом обучении спам-алгоритмов ведущих сервисов на основе ваших интересов и предпочтений), то с SMS и телефонными номерами все немного сложнее.

Ниже рассмотрим процедуру настройки спам-обороны на смартфонах под управлением Windows и Android.

Как использовать спам-фильтр на смартфонах Windows phone 10 и Nokia

В настоящий момент под управлением операционной системы Windows phone смартфоны уже не выпускаются. С приходом универсальной платформы Windows 10, мобильная операционная система получила название Windows 10 Mobile.

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

Фильтр спама в телефоне на Windows phone

Для того, чтобы активировать доступ к возможности блокировки выделенных номеров в телефонной книге, в первую очередь необходимо пройти в меню настроек телефона и найти пункт «Спам-фильтр», активировать блокировку нежелательных номеров – флажок «Блокировать вызовы+SMS» (в смартфонах других производителей пункт настроек «Спам-фильтр» может иметь другое название, например, «Блокировка вызовов»).

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

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

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

При попадании номера в такой «черный список» будут блокироваться и звонки и SMS-сообщения.

Просмотреть и отредактировать список уже заблокированных номеров можно через меню настроек «Спам-фильтр» — кнопка «заблокированные номера».

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

Если пункт «Спам-фильтр» исчез из настроек или его там не было (функционал не предусмотрен производителем), можно воспользоваться оригинальным приложением «callSMSfilter», которое можно найти и установить из официального магазина приложений Microsoft (доступно в том числе и для скачивания с платформы Windows 10 Mobile).

Фильтр спама на Windows 10 Mobile

На современной операционной системе Windows Mobile от стороннего функционала разработчики отказались, и потому оригинальная спам-защита от Nokia была заменена на встроенное системное приложение — «Блокировка и фильтрация». Добавить в черный список абонента можно, как и раньше (в системе Windows phone), через контекстное меню при долгом тапе.

Спам фильтр на Андроид – обзор

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

Так, например, чтобы включить спам фильтр на Android смартфонах линейки Galaxy для SMS-сообщений необходимо открыть штатное приложение «Сообщения» и долгим тапом на выбранном номере (отправителе) активировать дополнительные элементы управления. Одна из появившихся иконок отвечает за пометку выбранного номера как спама.

Расширенные настройки блокировки можно найти в настройках приложения (пункт «Фильтр спама»):

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

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

Для блокировки нежелательных звонков придется установить стороннее приложение из магазина «Play Маркет».

Владельцам альтернативной прошивки CM (CyanogenMod) ничего устанавливать не нужно. В настройках смартфона имеется все необходимое. В меню «Конфиденциальность» можно наполнить свой «черный список». Будут фильтроваться и сообщения, и звонки. Есть возможность задать регулярные выражения, отфильтровать в спам скрытые, а также неизвестные номера.

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

2GIS Dialer Звонки и контакты

Заменяет стандартное приложение для совершения звонков. Умеет не только определять номера входящих на основе собственных данных, хранящихся на серверах компании 2ГИС (огромная база компаний с адресами и телефонами), но и блокировать звонки на основе «черного списка». Есть возможность обмениваться новыми спам-номерами среди пользователей программы (последние проставляют специальные пометки). Приложение не работает с SMS-сообщениями.

Тихий СМС СПАМ

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

SMSCop

Можно скачать спам фильтр на основе собственной базы программы, тонко настроить фильтры и составить свой список блокировок. Прямо из приложения можно пожаловаться на отправителя в ФАС (необходим ввод паспортных данных).

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

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

В самом начале нужно настроить 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. Будет очень рад услышать как вы боритесь с мусором. Если вы найдете ошибке в коде сильно не ругайтесь это только пример и фундамент для разработки чего-то большего.



Рекомендуем почитать

Наверх