Анти-спам в социальных сетях

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

1. "Бесконечные" кукисы.

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

Решение:
Выдавать кукисы с ограниченным сроком жизни и не давать доступа в аккаунт по просроченным.

2. Хранение критической информации в кукисах.

Проблема:
До недавнего времени в известной социальной сети ВКонтакте в кукисах хранился id, e-mail и md5 пароля пользователя. Таким образом, риску подвергался почтовый ящик пользователя и была возможность "сбрутить" пароль от аккаунта, который зачастую подходил и к почтовому ящику.

Решение:
Хранить в кукисах только идентификатор сессии.

3. Возможность бесконечной регистрации с одного IP.

Проблема:
Социальную сеть заваливают "мертвыми" аккаунтами (как произошло с odnoklassniki.km.ru, как периодически происходит с мамбой), с которых проводится рассылка спама, в которых размещаются ссылки на вредоносные сайты, которые используются для накрутки голосов/скликивания рекламы и многого другого.

Решение:
Лимитировать регистрацию с одного IP, как, например, в Твиттере.

4. Отсутствие лимитов на отправку сообщений.

Проблема:
Примерно год назад в ВКонтакте, Одноклассниках, МирТесен, да и практически во всех русских социальных сетях не существовало каких-либо значительных ограничений при отправке сообщений другим пользователям. Это приводило к рассылке немыслимых объемов спам-сообщений и повышенной нагрузке на сервера.

Решение:
Ограничить количество сообщений не друзьям в сутки.

5. Плохая фильтрация сообщений.

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

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

6. Недостаточное использование капчи.

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

Решение:
Всегда требовать ввода капчи при авторизации (повысим затраты спамеров :) ), требовать ввода капчи при малейших признаках автоматической рассылки, временно блокировать IP после нескольких неудачных попыток авторизации.

7. Прочее.

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

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

Анти-спам в социальных сетях: 8 комментариев

  1. Тоже намедни рассуждал на эту тему в своём блоге..

    Про капчу: мне кажется использование ее при отправке сообщений - лишнее, лучше сразу акк в перманент бан.

  2. 1,3 - не вариант, борьба с спамом не должна сильно мешать пользователям и не должна быть самоцелью. Цель всё таки - удобный портал, а не параноидальная борьба :)

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

  4. А чем занимаетесь? Рассылкой? Это не вы писали \При тестировании было разослано ~10000 сообщений, в течении суток на сайт пришло ~1000 уникальных посетителей (микс из сша и европы).
    Насчет конверта ничего сказать не могу, ибо не знаю куда такое сливать.\?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *