Часть 1. Что говорит статистика


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

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


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

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

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

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

1. Текст сообщения


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

В таблице приведены наиболее, с моей точки зрения, информативные статистические данные.

Параметры текста сообщения (средние значения) Не спам Спам
Количество ссылок, шт 1.47 4.27
Количество контактов (телефон, e-mail), шт 1.72 6.38
Время заполнения формы, c 177 8
Отношение длины сообщения ко времени заполнения, символы/с 23.81 308.54

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

2. Ник посетителя


Ник также может сказать о многом. Вероятная причина — качество алгоритмов генерации ников, которые используют спамеры.

Параметры ника (средние значения) Не спам Спам
Длина, символы 7.40 16.52
Количество символов-разделителей, шт 1.89 3.80
Количество цифр, шт 3.29 7.59
Длина непрерывной последовательности согласных букв (для латиницы), символы 3.61 5.90

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

3. Имя в электронной почте


Всё сказанное для ников справедливо и для имён в почте.

Параметры имени в e-mail (средние значения) Не спам Спам
Длина, символы 10.09 19.16
Количество символов-разделителей, шт 1.62 4.12
Количество цифр, шт 4.30 9.57

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

4. HTTP-заголовки


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

Процент HTTP-заголовков User-Agent Не спам Спам
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 0.01% 11.42%
Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17 0.01% 10.84%

Готовые спам-решения также могут оставлять свои заголовки, в частности, при использовании HTTP-прокси. И это также отражается в нашей статистике.

Процент HTTP-заголовков Via Не спам Спам
Mikrotik HttpProxy 0.86% 33.07%


5. JavaScript-тест


Дополнительной простой, но очень эффективной проверкой может оказаться JavaScript-тест. Например, изменение JS-кодом нужной куки, вариантов много.

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

Процент непрохождения JS-теста Не спам Спам
изменение куки через JS 0.41% 68.53%


6. Заключение


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

Комментарии (11)


  1. maxru
    27.04.2016 16:56
    +1

    Неплохой набор идей для раздумья, спасибо.


    1. savostin
      28.04.2016 21:31

      А Вы с какой стороны баррикад? ;)


  1. teecat
    28.04.2016 10:24

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

    Вот что чисто визуально видно по массиву спама — очень часто вместо текста тела письма — одна картинка (для обхода фильтров Байеса) и постоянные повторы. Письмо в разных вариациях имени отправителя приходит не менее 3х раз


    1. shagimuratov
      28.04.2016 17:31

      Статья о спаме в комментариях, контактных формах и регистрациях. Применительно к почтовому спаму статистикой не располагаем.


      1. teecat
        28.04.2016 17:40

        Мда. Профессиональная деформация. Увидел слова про адреса электронной почты…


  1. andkln
    29.04.2016 18:31

    Спасибо, интересно.

    Уточните, пожалуйста, по статистике «Отношение длины сообщения ко времени заполнения, символы/с». Для нормальных пользователей дан показатель 23.81. Это значит, что обычный пользователь печатает со скоростью в почти 24 символа в секунду? За счёт чего получается такое значение?


    1. Gvozdb8
      29.04.2016 22:06

      Полагаю, это средняя цифра, которая так велика, за счёт использования ctrl+c ctrl+v пользователями.


  1. znaeff
    02.05.2016 12:24

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


    1. andkln
      03.05.2016 00:30

      Неожиданно. А что именно пользователи могут копипастить в комментарий? Мне на ум приходят только ссылки.


      1. shagimuratov
        04.05.2016 05:02

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


        1. andkln
          04.05.2016 13:27

          Спасибо :)