• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Мануал Pidgin SpamGuard: новый анти-спам плагин

admin

#root
Администратор
Регистрация
20.01.2011
Сообщения
7,665
Розыгрыши
0
Реакции
135
Спешу поделиться с вами анти-спам плагином для Pidgin, при должной настройке которого, проблема спама в jabber решается радикально.
Вы попросту забудете об этом явлении раз и навсегда, сможете открыто публиковать свои контакты, без риска получения спама.

В этом посте я попытаюсь детально объяснить как работает плагин, приведу аргументы в подтверждение написанному выше,
а в конце вы сможете найти ссылки на исполняемые файлы (как для Linux, так и для Windows), а также на исходные коды.

Все анти-спам решения для Pidgin, которые мне довелось испытать, обладали недостатками, сводящими на нет применение этих решений.
К таким недостаткам я отношу:
  1. Отсутствие защиты от спама, отправляемого в зашифрованном с помощью OTR виде.
  2. Отсутствие подавления сообщений об ошибках уровня протокола, приходящих от неизвестных отправителей.
  3. Наличие только одного контрольного вопроса и ответа к нему.
Мой плагин лишен всех описанных недостатков. Его работа построена вокруг использования файла со списком вопросов и ответов.
Каждый раз, когда неизвестный пользователь пытается отправить сообщение, он получает в ответ приглашение пройти некий челендж,
а также один из вопросов, перечисленных в файле:

Для просмотра ссылки Войди или Зарегистрируйся

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

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

Для просмотра ссылки Войди или Зарегистрируйся

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

Для просмотра ссылки Войди или Зарегистрируйся

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

Для просмотра ссылки Войди или Зарегистрируйся

А так выглядит меню конфигурации модуля:

Для просмотра ссылки Войди или Зарегистрируйся

The challenge explanation - первое сообщение, которое получает неизвестный отправитель.
Оно дополняется вопросом из файла. Назначение остальных сообщений аналогичное:
  • success - при успешном прохождении челенджа
  • mistake - при ошибочном ответе на вопрос
  • failure - в случае исчерпания попыток

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

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

Далее я поделюсь своими рассуждениями о методах использования плагина и почему он неприступен для потенциального спамера.

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

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

Для просмотра ссылки Войди или Зарегистрируйся

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

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

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

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

Как установить плагин?
  • Для Linux: поместите файл spamguard.so (Для просмотра ссылки Войди или Зарегистрируйся) в папку "~/.purpe/plugins"
  • Для Windows: поместите файл spamguard.dll (Для просмотра ссылки Войди или Зарегистрируйся) в папку "C:\\Program Files (x86)\Pidgin\plugins"
    Либо в иную, если стандартный установочный путь Pidgin был изменен во время установки.
Пример файла с вопросами и ответами можно найти здесь (Для просмотра ссылки Войди или Зарегистрируйся).
С исходным кодом можно ознакомиться здесь (Для просмотра ссылки Войди или Зарегистрируйся).

Надеюсь, что информации получилось не слишком много и она легка для восприятия.



 
Activity
So far there's no one here