Невизуальные методы защиты сайта от спама. Часть 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. Заключение
Я показал статистические данные, накопленные нашей системой на настоящий момент. Повторю, для наиболее точного решения спам/не спам нужно анализировать приведённые показатели комплексно, а также в сочетании с другими способами проверок на спам.