Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
23.05.2015
Размер:
116.37 Кб
Скачать

письме. В итоге контроль массовости не срабатывает.

Байесовская фильтрация спама

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

При обучении фильтра для каждого встреченного в письмах слова высчитывается и сохраняется его «вес» — оценка вероятности того, что письмо с этим словом — спам. В простейшем случае в качестве оценки используется частота: «появлений в спаме / появлений всего». В более сложных случаях возможна предварительная обработка текста: приведение слов в начальную форму, удаление служебных слов, вычисление «веса» для целых фраз, транслитерация и прочее.

При проверке вновь пришедшего письма вероятность «спамовости» вычисляется по указанной выше формуле для множества гипотез. В данном случае «гипотезы» — это слова,

и для каждого слова «достоверность гипотезы» — доля

этого слова в письме, а «зависимость события от гипотезы» — вычисленный ранее «вес» слова. То есть «вес» письма в данном случае — усредненный «вес» всех его слов. Отнесение письма к «спаму» или «не-спаму» производится по тому, превышает ли его «вес» некую планку, заданную пользователем (обычно берут 60-80 %). После принятия решения по письму в базе данных обновляются «веса» для вошедших в него слов.

Математические основы Почтовые байесовские фильтры основываются на теореме Байеса. Теорема Байеса

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

Проблема редких слов

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

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

Другие эвристические усовершенствования

«Нейтральные» слова такие, как, «the», «a», «some», или «is» (в английском языке), или их эквиваленты на других языках, могут быть проигнорированы. Вообще говоря, некоторые байесовские фильтры просто игнорируют все слова, у которых спамовость около 0.5, так как в этом случае получается качественно лучшее решение. Учитываются только те слова, спамовость которых около 0.0 (отличительный признак законных сообщений — «ham»), или рядом с 1.0 (отличительный признаки спама). Метод отсева может быть настроен например так, чтобы держать только те десять слов в исследованном сообщении, у которых есть самое большое absolute value |0.5 − Pr|.

Некоторые программные продукты принимают во внимание тот факт, что определённое слово появляется несколько раз в проверяемом сообщении[9], другие не делают. Некоторые программные продукты используют словосочетания — patterns (последовательности слов) вместо изолированных слов естественных языков. Например, с

«контекстным окном» из четырех слов, они вычисляют спамовость словосочетания «Виагра,

хорошо для», вместо того, чтобы вычислить спамовости отдельных слов «Виагры», «хорошо», и «для». Этот метод более чувствителен к контексту и устраняет байесовский шум лучше, за счет большей базы данных.

Характеристика

Данный метод прост (алгоритмы элементарны), удобен (позволяет обходиться без «черных списков» и подобных искусственных приемов), эффективен (после обучения на достаточно большой выборке отсекает до 95—97 % спама, и в случае любых ошибок его можно дообучать). В общем, есть все показания для его повсеместного использования, что и имеет место на практике — на его основе построены практически все современные спам-фильтры. Впрочем, у метода есть и принципиальный недостаток: он базируется на предположении, что одни слова чаще встречаются в спаме, а другие — в обычных письмах, и неэффективен, если данное предположение неверно. Впрочем, как показывает практика, такой спам даже человек не в состоянии определить «на глаз» — только прочтя письмо и поняв его смысл. Существует метод Байесова отравления (англ.), позволяющий добавить много лишнего текста, иногда тщательно подобранного, чтобы «обмануть» фильтр.

Еще один не принципиальный недостаток, связанный с реализацией — метод работает только с текстом. Зная об этом ограничении, спамеры стали вкладывать рекламную информацию в картинку. Текст же в письме либо отсутствует, либо не несёт смысла. Против этого приходится пользоваться либо средствами распознавания текста («дорогая» процедура, применяется только при крайней необходимости), либо старыми методами фильтрации — «черные списки» и регулярные выражения (так как такие письма часто имеют стереотипную форму).

Грейлистинг

Серые списки (англ. Greylisting) — способ автоматической блокировки спама, основанный на том, что «поведение» программного обеспечения, предназначенного для рассылки спама, отличается от поведения обычных серверов электронной почты. Если почтовый сервер получателя отказывается принять письмо и сообщает о «временной ошибке», сервер отправителя обязан позже повторить попытку. Спамерское программное обеспечение в таких случаях, обычно, не пытается этого делать.

Бо́льшая часть электронной почты в Интернете пересылается с помощью протокола SMTP. Этот протокол предусматривает, что сервер, который должен принять письмо, может сообщить о возникновении вре́менной ошибки. Это означает, что в данный момент сервер не может принять письмо, например, из-за слишком большой нагрузки, недостатка места на диске и тому подобного, но в будущем ситуация может измениться, и письмо будет принято. Сервер, который использует технологию серых списков, первоначально отклоняет любое письмо от неизвестного отправителя, сообщая о временной ошибке. В базу данных записывается информация об этой попытке, которая, обычно, включает в себя следующие данные (или некоторые из них):

IP-адрес сервера, который пытается послать письмо;

адрес отправителя;

адрес получателя.

Если это была попытка послать спам, то этим, скорее всего, всё и закончится. Если же в дальнейшем будет сделана ещё одна попытка послать то же самое письмо (как и должно быть по протоколу SMTP), сервер, использующий серые списки, обнаружит в своей базе данных соответствующую запись и примет письмо. Для увеличения надёжности метода накладывается дополнительное ограничение: после первой попытки должно пройти не менее определённого промежутка времени. Все последующие письма от того же отправителя тому же получателю, посланные через тот же сервер, будут приняты без задержки, потому что в базе данных уже есть нужная запись.

Преимущества

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

Реализация серых списков почти не использует ресурсов сервера.

Низкая вероятность ложных срабатываний, когда отклоняется письмо, не являющееся

спамом.

Недостатки

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

В стандарте SMTP рекомендуется, чтобы интервалы между повторными попытками послать письмо были не меньше 30 минут. Это означает, что письмо, отосланное с большинства почтовых серверов, дойдёт до адресата не раньше чем через полчаса (а то и позже), что может быть неприемлемо в случае срочной корреспонденции. Этот недостаток компенсируется тем, что задержка вносится только при посылке первого письма с ранее неизвестного адреса. Однако база данных известных адресов, как правило, время от времени очищается от устаревших записей. Если какой-либо корреспондент пишет письма редко, то письма от него всегда будут приходить с задержкой.

Крупные почтовые службы используют несколько серверов, с разными IP-адресами, и возможна ситуация, когда несколько серверов по очереди пытаются отправить одно и то же письмо (с интервалами в 30 минут). Это может привести к очень большим задержкам при доставке писем.

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

Соседние файлы в папке Презентация