Перейти к содержанию

Recommended Posts

pROCKrammer

Здравствуйте,

у меня тут глупый вопрос. есть ли какие то книги или статьи на тему как работают приложения для борьбы со спамом?

Ещё раз извените за глупый вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ego1st

их помойму всего парочку, на основе правил и эвристическим способом..

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Pavel Polyanskiy

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

Анти-спам engine'ы, имеющиеся в открытом доступе (наподобие Spam Assassin), как правило требуют длительного обучения и не пригодны для использования в production environment,

т.к. имеют крайне низкую точность обнаружения спама и плохой catch rate.

Помимо правил и эвристиков существуют также открытые DNSBL и RBL - "черные" и "белые" списки

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

В настоящее время приобретают популярность новейшие технологии блокировки спама на уровне

SMTP-соединения, т.е. еще до того, как MTA примет письмо (сообщения блокируются в соответствии с репутацией IP отправителя, накопленной на глобальном и локальном уровне).

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pROCKrammer

Спасибо за информацию ... просто ради интереса хотел написать маленький анти-спам для себя

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
то книги или статьи на тему как работают приложения для борьбы со спамом?
хотел написать маленький анти-спам для себя

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

Предлагаю одни из старейших:

SpamBully

Spamihilator

Поделиться сообщением


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

Предлагаю одни из старейших:

SpamBully

Spamihilator

эх жаль у меня не Windows ;) а так бы протестировал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
эх жаль у меня не Windows а так бы протестировал

Я знаю, но долго что ли поставить. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
spamolov
Анти-спам engine'ы, имеющиеся в открытом доступе (наподобие Spam Assassin), как правило требуют длительного обучения и не пригодны для использования в production environment,

т.к. имеют крайне низкую точность обнаружения спама и плохой catch rate.

Не хочется конечно превращать эту ветку в спор, но я считаю что здесь вы не правы. Старичек SpamAssassin, еще дасть многим фору. Насчет "требуют длительного обучения", насчет какого-такого обучения вы говорите, обучение встроенного Бейса? Так Бейс вообще не рекомендуется использовать, а так включил URI_BL, скачал скажем SARE_RULES(набор постоянно обновляющихся контент правил для SpamAssassin), включил так же DNS_BL и будет достаточно эффективно работать даже как вы выразились в production environment. :) Конечно может быть не так эффективно, как коммерческие продукты, но тут уж кто не платит довольствуется тем что есть. В России тысячи организаций используют SpamAssassin. Да и в мире могу назвать несколько вендоров, которые его используют в своих сервисах.

Спасибо за информацию ... просто ради интереса хотел написать маленький анти-спам для себя

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

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

На самом деле писать все это заново считаю очень трудоемким, если хотите понять как оно работает, возьмите просто SpamAssassin,он open source и написан на Perl. Поэтому просто возьмите его и посмотрите как у них это в коде реализовано.

Отредактировал spamolov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
skAmZ

Правильные вещи люди гляголят, spamolov все правильно написал... в SpamAssassin сомневаться не стоит)

На счет собственно темы, писать много мне лень поэтому вот ссылка, где много чего про СПАМ написано:

http://all-ib.ru/content/spam/spam_part_1.php

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sklady

Я согласен, что антиспам нужен, но прочесть по этому делу целую книгу - это слишком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Зайцев Олег
Здравствуйте,

у меня тут глупый вопрос. есть ли какие то книги или статьи на тему как работают приложения для борьбы со спамом?

Ещё раз извените за глупый вопрос.

В плюс к приведенным советам (писать свой антиспам конечно можно - но смысл ? ... академический смысл конечно есть - например, в качестве диплома):

1. стоит всеже для начала почитать про теорему Байеса и фильтр Байеса (начиная отсюда - http://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D0%B5%D1%81, ну и далее http://ru.wikipedia.org/wiki/%D0%91%D0%B0%...B0%D0%BC%D0%B0). Эта теория описывает одину из самых простых методик фильтрации на основе анализа контента, с возможностью дообучения и без привлечения внешних баз... ну и далее в том-же духе, можно прикрутить какой-нибудь "нейролингвистический анализ", эволюционные алгоритмы и т.п. Однако стоит понимать, что современный спам учитывает возможность контент-фильтрацию (и вместо контента в письме может быть ссылка без текста, ссылка + бредовый постоянно меняющийся текст-приманка, картинка, картинка с защитой от OCR и т.п.).

2. Есть методики, полезные в случае реализации на сервере:

2.1 если почтовый сервер при получении письма из сомнительного источника сообщит передаюшему серверу, что занят ... и пошлет его вон, то нормальный SMTP сервер попробует повторить передачу через N часов. Спамбот - не будет пробовать, и тем самым мы отсекаем спамботов на корню

2.2 изучив заголовки письма можно понять, откуда и от кого оно идет оно идет - и накрутить массу простых проверок. Например, проверить, есть ли такой почтарь-отправитель в природе (MX запись в DNS), или например в ходе анализа выяснится, что письмо с обратным адресом pupkin@smolen.ru идет с почтаря mail.ru, то мягко говоря это странно. Сделать такие проверки несложно, эффективность их высокая.

2.3 на момент приема письма мы знает IP сервера, от которого мы его получаем - можем проверить его репутацию пор разным базам

2.4 мониторинг почтовой активности на сервере позволяет автоматически создавать правила. Например, pupkin@smolen.ru написал письмо на адрес avz@z-oleg.com. Следовательно, если с avz@z-oleg.com ему придет ответное письмо, то его можно немедленно пропустить, так как мы точно знаем, что pupkin@smolen.ru туда писал. Равно как наоборот, если скажем извне на @smolen.ru впервые придет письмо с avz@z-oleg.com и мы его пропустим, и затем на него последует ответ и завяжется переписка - то это показатель того, что пропущенное письмо не было спамом. Или например можно запомнить, с какого почтаря идут почта от avz@z-oleg.com, и если она например всегда шла от почтаря @z-oleg.com и вдруг пошла от @mail.ru - это будет опять-же странно.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
    • demkd
      а внутри локалки и не получится, белые ip нужны только при подключении через интернет.
    • santy
      Проверил на двух домашних ПК в локальной сети с роутером. Схема с серым IP работает отлично. Передача файлов гениальна! Вот просто как будто дополнительное зрение появилось :). Через белый IP  пока не удалось подключиться. Пришлось еще фаерволлы включить в интерактивный режим. (На автомате еще не проверял, возможно надо сохранить некоторые правила.)
    • demkd
      ---------------------------------------------------------
       4.99.4
      ---------------------------------------------------------
       o Исправлена функция автоматического переключения удаленных рабочих столов.
         Проблема проявлялась при работе с удаленной системой через локальную сеть, при запуске приложения
         от имени администратора не происходило автоматическое переключение на защищенный рабочий стол.
         (не касается полной версии разового доступа к рабочему столу, в этом режиме проблемы не было).

       o Проведено сравнительное тестирование системного удаленного рабочего стола и uVS.
         Передача файлов через системный удаленный рабочий стол идет почти в 20 раз медленней чем через через uVS.
         Максимальный fps в 32-х битном цвете почти в 3 раза ниже чем у uVS в FHD.
         (!) Выявлена проблема совместного использования uVS и системного рабочего стола.
         (!) Если системный рабочий стол был закрыт БЕЗ выхода из пользователя, то uVS не сможет
         (!) отбразить рабочий стол логона пользователя (Winlogon).
         (!) Единственное решение проблемы: подключиться заново через системный рабочий стол и выйти из пользователя.
       
    • demkd
      ---------------------------------------------------------
       4.99.3
      ---------------------------------------------------------
       o Это обновление повышает качество работы с удаленной системой и добавляет новый режим работы.
         (!) Новая функция не совместима со старыми версиями uVS, если у вас в настройках установлен флаг bReUseRemote = 1,
         (!) то перед обновлением необходимо закрыть все серверные части uVS на удаленных компьютерах с помощью
         (!) старой версии uVS.

       o Добавлен новый режим работы: Разовый доступ к удаленному компьютеру.
         (!) Доступно начиная с Vista, подключение к рабочему столу устаревших систем возможно лишь прежним способом.
         Ранее просмотр и управление рабочим столом удаленного компьютера было вспомогательной функцией при работе с удаленной системой.
         Для подключения требовались полномочия администратора или знание логина и пароля администратора удаленного компьютера и
         физическая возможность подключения к удаленному компьютеру.
         Новый режим работы похож на то, что предлагают всевозможные поделки для удаленного администрирования.
         o В этом режиме доступно: управление и просмотр рабочего стола, а также быстрый и надежный обмен файлами на пределе пропускной
           способности канала. (для сравнения RAdmin в гигабитной сети передает файлы более чем в 15 раз медленней чем uVS).
         o Передаваемые кадры теперь не только сжимаются, но и шифруются,  целостность передаваемых файлов защищена
           проверочным хэшем и шифрованием.
         o Подключение осуществляется без использования промежуточного сервера, т.е. это чистый P2P.
         o Подключение возможно к компьютеру за NAT при включенной у роутера опции uPNP.
         o Подключение возможно к компьютеру, где активирован VPN.
           (!) Подключение производится к реальному адресу роутера или адаптера компьютера с VPN, VPN канал полностью игнорируется.
         o Подключение возможно в обе стороны, т.е. из пары компьютеров требуется лишь 1 белый IP, направление подключения выбирается
           при начальной настройке.

         При запуске start.exe теперь вам доступны три новые кнопки:
         o Управление удаленным компьютером и обмен файлами.
           Эту кнопку нажимает тот кто хочет получить доступ к удаленному компьютеру, в открывшемся окне можно выбрать
           вариант подключения (см. ниже) и ввести код доступа полученный от того кто предоставляет доступ к компьютеру.
           Варианты подключения:
             o Соединение примет мой компьютер - в этом случае необходимо выбрать IP к которому будет подключаться другая
               сторона. При подключении через интернет следует выбирать белый IP адрес, если ваш компьютер за роутером
               и на нем активен NAT, то выбрать нужно именно его IP адрес. (адрес с пометкой [router]).
               Если роутер поддерживает uPNP, то этот адрес будет выбран по умолчанию.
               Если же в списке нет белых IP то вам следует выбрать другую опцию подключения.
               После выбора IP просто нажмите кнопку Старт и передайте одноразовый код доступа другой стороне.
               При подключении по локальной сети вы можете нажать кнопку "Все IP" и выбрать любой серый адрес для подключения.
               Поддерживается и IPv4 и IPv6.
               (!) Код доступа автоматически копируется в буфер обмена при нажатии кнопки "Старт".

             o Соединение установит мой компьютер - просто скопируйте код доступа в поле ввода или код там появится автоматически
               если вы его скопировали из мессенджера. После чего нажмите кнопку Старт и ожидайте подключения.

         o Разовый удаленный доступ к моему компьютеру [админ]
           (!)Пользователь должен обладать правами администратора или правами по запуску и установке служб.
           Эту кнопку нажимает тот кто хочет предоставить доступ к своему компьютеру, в открывшемся окне можно выбрать
           разрешения для другой стороны.
           Доступны 3 варианта:
             o  Управление     - доступно: мышь, клавиатура, просмотр экрана и обмен файлами.
             o  Просмотр       - доступно: просмотр экрана и обмен файлами.
             o  Обмен файлами  - доступно: обмен файлами.
           Это полнофункциональная версия удаленного рабочего стола uVS, с возможностью удаленного подтверждения
           запуска приложений от имени администратора и эмуляции нажатия Ctrl+Alt+Del.

         o Разовый удаленный доступ к моему компьютеру [не админ]
           Все тоже самое что и во 2-м случае, кроме удаленного подтверждения запуска приложений от имени администратора
           и эмуляции нажатия Ctrl+Alt+Del, дополнительно есть ограничение по использованию защищенных рабочих столов.

       o При работе с удаленным рабочим столом теперь доступна передача файлов и каталогов из буфера обмена в обе стороны.
         Что бы передать файлы или целые каталоги на удаленный компьютер, просто скопируйте их в буфер обмена и в окне
         удаленного рабочего стола нажмите кнопку со стрелкой вверх.
         Передача изображения автоматически отключится и откроется окно с логом передачи файлов.
         В заголовке окна лога вы увидите объем переданных данных и среднюю скорость передачи (с учетом чтения их с диска).
         По окончании передачи  файлов в лог будет выведена информации о времени передачи, количестве успешно переданных файлов и
         средней скорости передачи.
         Переданные файлы будут помещены в буфер обмена удаленной системы и вы сможете  вставить их из буфера
         в любой каталог или прямо на рабочий стол. При этом файлы переносятся из временного каталога.
         Если же вы не вставили файлы из буфера обмена то они останутся во временном каталоге C:\uVS_copyfiles\*
         точный путь до которого выводится в лог на удаленном компьютере.
         Что бы получить файлы проделайте обратную операцию: скопируйте файлы в буфер обмена на удаленном компьютере
         и нажмите кнопку со стрелкой вниз, по завершению передачи файлы будут помещены в буфер обмена вашего компьютера
         и вы можете перенести их в любую нужную папку.
         Таким образом обе стороны видят какие файлы и куда копируются и при этом максимально упрощается процесс копирования.
         (!) При закрытии окна лога передача файлов будет остановлена.
         (!) При разрыве соединения передача файлов будет автоматически продолжена после восстановления соединения,
         (!) при этом работает функция докачки, т.е. если ошибка произошла при передаче большого файла, то передача его
         (!) продолжится с последнего успешно полученного блока, т.е. блок будет заново.
         (!) Каждая передача файлов является независимой, т.е. нельзя прервать передачу и воспользоваться функцией докачки.
         (!) Проверка целостности файлов производится на лету вместе с его расшифровкой, таким образом достигается
         (!) максимально возможная скорость передачи примерно равная скорости копирования файлов по локальной сети системой.
         (!) При необходимости передачи большого количества мелких файлов рекомендуется поместить их в архив, это серьезно
         (!) сократит время передачи.
         (!) Состоянии кнопки CS никак не влияет на данный функционал.

       o Изменен приоритет протоколов: IPv4 теперь является приоритетным, как показали замеры в гигабитной локальной сети
         IPv4 позволяет достичь более высокой скорости передачи данных.

       o Добавлено шифрование сжатых кадров удаленного рабочего стола для повышения защиты передаваемой по сети информации.

       o В случае разрыва соединения повторное подключение происходит автоматически без запроса.

       o Снижен инпут лаг при работе с удаленным рабочим столом.

       o Обновлена функция синхронизации буфера обмена с удаленной системой: теперь поддерживается передача скриншотов
         в обе стороны.

       o Обновлена функция передачи движений мыши в удаленную систему.
         Теперь доступно управление с помощью движений мыши, которое используется в некоторых приложениях и играх. (если нажата кнопка MM)
         Если указатель мыши видим в удаленной системе то управление производится позиционированием указателя по расчетным координатам (как и раньше),
         в противном случае указатель скрывается в клиентской системе и передаются лишь движения мыши.
         При возникновении проблем с восстановлением видимости указателя вы всегда можете переключиться из окна удаленной рабочего стола по горячей
         клавише RWin.

       o uVS теперь при старте добавляется в исключения Ф и брандмауэра до выхода из uVS.

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

       o Добавлен выбор метода захвата экрана, доступно 3 варианта:
         o GDI -  медленный метод захвата экрана, но работает в любой удаленной системе, постоянный fps.
                  (единственный доступный метод для Win2k-Win7)

         o DDA1 - быстрый, работает начиная с Windows 8, максимальный коэффициент сжатия,
                  переменный fps в зависимости от экранной активности.
                  (!) рекомендуется использовать при ширине канала ниже 100Mbit, вместо DDA2.

         o DDA2 - очень быстрый метод сравнимый с захватом экрана с помощью mirror драйвера, но без использования драйвера,
                  работает начиная с Windows 8, низкий коэффициент сжатия, переменный fps в зависимости от экранной активности.
                  Способен захватывать видео с высоким fps (до 60) за счет упрощенного метода сжатия и обработки потока кадров.
                  (метод по умолчанию для Win8+, рекомендуется при значительной экранной активности).
                  (!) рекомендуется использовать при ширине канала не менее 100Mbit, при высоких разрешениях 1Gbit и выше
                  (!) из-за низкого коэффициента сжатия.
                  (!) При низкой экранной активности трафик до 10 раз больше чем у DDA1, при высокой - в 2 раза больше.
          
       o В окно удаленной рабочего стола добавлена кнопка "SYN" она замещает собой ручной выбора задержки захвата кадров.
         (отжатая кнопка соответствует нулевой задержке)
         Если кнопка нажата то задержка, а значит и максимальный fps ограничивается автоматически в соответствии
         с пропускной способностью канала, к сожалению это понижает максимальный fps и увеличивает инпут лаг,
         однако это полностью решает проблему, которой страдают даже лучшие программы удаленного управления
         при недостаточной ширине канала. Если канал слишком узок (10Mbit и менее) то при значительной
         экранной активности (оконное видео или анимация) происходит потеря управления удаленным рабочим столом
         из-за того что новые кадры отправляются в буфер значительно быстрее, чем клиентская машина успевает их получить и отобразить,
         в результате чего даже нажатия кнопок отображаются с задержкой в несколько секунд.
         Тоже самое будет наблюдаться в uVS в сходных условиях если кнопка SYN не нажата.
         Поэтому SYN не рекомендуется отключать при значительной активности в кадре и узком канале.
         Если канал 100Mbit и выше (локальная сеть), используется DDA2 то можно выключить SYN и это сильно поднимет fps и значительно уменьшит инпут лаг.
         Кнопка SYN по умолчанию нажата, состояние кнопки сохраняется при выходе из uVS.
         Выбранная цветовая битность теперь тоже сохраняется.

       o В окно удаленной рабочего стола добавлена кнопка "MR" она позволяет управлять указателем мыши из удаленной системы,
         Функция работает ЕСЛИ кнопка нажата И курсор находится в пределах окна удаленного рабочего стола И это окно активно.
         Функция предназначена для тех случаев когда человеку на том конце проще показать проблему чем описать ее словами.

       o Теперь клиентская часть uVS автоматически завершается если удаленная система перезагружается, выключается или завершается сеанс пользователя.
         (только если открыто окно удаленного рабочего стола)

       o Значительно увеличена скорость переключения мониторов, рабочих столов и смены разрешения монитора в DDA режиме.
         (!) Однако есть побочный эффект: если новый монитор будет подключен к удаленной системе пока открыто окно рабочего стола,
         (!) то для отображения картинки с этого монитора необходимо будет закрыть/открыть окно или повторно выбрать метод захвата экрана.

       o Добавлена поддержка браузера Microsoft Edge.

       o Обновлена функция чтения и удаления расширений браузеров: Chrome, Yandex, Edge.
         Добавлены сайты с включенными уведомлениями с указанием времени активации уведомлений.
         Из окна информации о расширении удалено поле Extension_homepageURL за бесполезностью.
         Мусор оставшийся от старых расширений помечается как "файл не найден" и будет удален при вызове функции удаления ссылок на
         отсутствующие файлы.

       o Контекстное меню в окне редактирования критериев теперь тоже использует выбранный размер шрифта.

       o Улучшена совместимость с системами с малым количеством оперативной памяти.

       o Исправлена функция захвата экрана в GDI режиме.

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

       o Исправлена ошибка в функции смены рабочего стола

       o Исправлены ошибки инициализации COM.

       o Исправлена ошибка из-за которой из списка проверки выпало 2 ключа автозапуска.

       o Исправлена ошибка в функции отката изменений (Ctrl+Z) при работе с образом.

       o Исправлена ошибка повторной инициализации захвата экрана в случае если рабочий стол был переключен пользователем или системой
         до повторного открытия окна удаленного рабочего стола.

       o Исправлена ошибка при открытии окна информации о компьютере.
         Добавлена дата релиза биоса, исправлено отображение объема физической памяти, добавлена расшифровка типа памяти и условное обозначение
         ее производительности.

       o Добавлена возможность открывать ключ реестра в regedit-е двойным щелчком по строке в логе или
         через контекстное меню.
         (!) Недоступно при работе с образом автозапуска.
       
×