Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
p('Привет') = 35 / (35 + 64) = 0,35
p('Купи') = 187 / (187 + 19) = 0,91
p('меня') = 9 / (9 + 11) = 0,45
S= 0,35 * 0,91 * 0,45 = 0,14
G= (1 – 0,35) * (1 – 0,91) * (1 – 0,45) = 0,03
P= 0,14 / (0,14 + 0,03) = 0,82
Таким образом, приведенный выше пример будет с вероятностью 82% нежелательным сообщением, в основном за счет высокой спамности слова «Купи».
В алгоритме, предложенном Полом Грэмом (Paul Graham), для расчета применяется приведенная выше методика с использованием следующих правил:
n Для анализа сообщений используются не все слова, а 15 наиболее «интересных», для которых p(w) наиболее сильно отклоняется от нейтрального значения 0,5.
n Если ранее слово встречалось менее чем в пяти письмах, оно игнорируется.
n Новое слово, не встречавшееся ранее, получает стартовую «спамность» 0,4 (своего рода презумпция невиновности).
Алгоритм Бартона (Brian Burton) работает аналогично, но использует для анализа не 15, а 27 наиболее ярких слов, а также допускает «удвоенное» использование слова, если оно встречается в сообщении несколько раз. Это несколько повышает эффективность при ограниченных данных. Кроме того, поддерживаются цепочки «токенов», когда два стоящих рядом слова рассматриваются вместе. Также некоторые отличия от подхода Грэма имеются в наборе символов, которые считаются составной частью слова (такие, как $, ! и т. д.).
Следующий популярный алгоритм, разработанный Гари Робинсоном (Gary Robinson), модернизирует формулу Грэма таким образом, чтобы решить проблему недостаточных исторических данных:
f(w) = (0,5 + n(w) * p(w)) / (1 + n(w)) (3)
где:
n p(w) – вероятность для слова, рассчитанная на основе исторических данных;
n n(w) – количество ранее обработанных сообщений со словом w.
Таким образом, если анализируемое слово ранее не встречалось, оно автоматически получит коэффициент 0,5, а по мере накопления статистики это значение будет выходить на свой естественный уровень.
В дальнейшем в формулах (2) вместо величин p(w) используется f(w).
Для анализа по алгоритму Робинсона используется выборка из 25 слов.
На базе алгоритма Робинсона был разработан улучшенный алгоритм Фишера-Робинсона, известный также как Chi-Square (переводить на русский язык не рискну). Помимо расчета «спамности» сообщения вычисляется также вероятность его «неспамности» по формуле Фишера, и в дальнейшем рассматривается интегральная вероятность.
В фильтре DSPAM реализована поддержка всех четырех описанных здесь алгоритмов. Причем анализу подвергается не только тело сообщения, но и заголовок. Разработчик не рекомендует совмещать фильтры Грэма и Бартона с фильтрами Робинсона во избежание ложных срабатываний.
Способы интеграции DSPAM с почтовой системой
Система DSPAM поддерживает два способа взаимодействия с почтовым сервером. В первом случае он может быть настроен как локальный агент доставки (LDA – local delivery agent). При этом сообщения анализируются по пути от MTA к почтовому ящику. После обработки фильтром почта отдается на обработку реальному LDA, который и завершает доставку.
Второй способ – работа DSPAM в сотрудничестве с POP3-proxy. При этом спам отсеивается в то время, когда пользователь выкачивает корреспонденцию из своего почтового ящика по протоколу POP3.