Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Сергей Супрунов
Фильтрация почты, особенно на сервере провайдера, затруднена тем, что администратор не может брать на себя вынесение вердикта, что доставить абоненту, а что нет. Система DSPAM позволяет переложить принятие такого решения на пользователя.
В одной из предыдущих статей [1] рассматривалась система защиты от нежелательной почты, – spamd, использующая блокировку входящих соединений на основе «черных» списков. Такие способы эффективны для снижения входящего почтового трафика, однако не в состоянии защитить от писем, идущих с новых, еще не «засвеченных», адресов. Кроме того, подобные фильтры, будучи запущенными на провайдерских серверах, могут стать источниками конфликтов с пользователями, адресат которых случайно попал в тот или иной список.
Сегодняшняя статья посвящена второму эшелону
спам-обороны, который будем строить на базе DSPAM (разработчик Jonathan
Zdziarski,
Как происходит классификация писем
В основе работы системы DSPAM лежит несколько наиболее популярных алгоритмов статистического анализа, которые, в свою очередь, опираются на теорему Байеса (Thomas Bayes). Формула Байеса позволяет рассчитать вероятность наступления некоторого события в зависимости от того, какова была вероятность данного события в прошлом. Применительно к спаму, упрощенно принцип работы байесового классификатора можно описать такой формулой:
P= S / (S + G) (1)
где:
n P – вероятность того, что сообщение окажется спамом,
n S – суммарный коэффициент «спамности» сообщения,
n G – суммарный коэффициент «неспамности» сообщения.
Sи G рассчитываются по следующим формулам:
S = p(w1)*p(w2)*…*p(wn) (2)
G = (1 – p(w1))*(1 – p(w2))*…*(1 – p(wn))
Здесь p(w1) и другие – коэффициенты «спамности» отдельных слов, входящих в анализируемое сообщение, полученные на основе ранее классифицированных писем. Так, если в прошлом 9 писем со словом «английский» было спамом и одно – не спамом, то p(‘английский’) = 9 / (9 + 1) = 0.9.
В качестве примера проанализируем такое короткое сообщение:
Привет! Купи меня!
Пусть ранее указанные слова встречались в следующих письмах:
Слово |
Спам |
Не спам |
Привет |
35 |
64 |
Купи |
187 |
19 |
меня |
9 |
11 |