Спам-фильтры

advertisement
Спам-фильтры
Что такое спам?
• Нежелательная почта?
• Рекламная рассылка?
Не совсем так.
Что такое спам?
• Примеры нежелательной почты:
- Отказ пойти на свидание;
- Сообщение из банка о том, что вы
должны много денег;
- Отказ принять вас на работу;
• А что с массовой рассылкой?
Что такое спам?
Спам незапрошенная массовая анонимная
электронная корреспонденция.
• Почему именно такая?
Что такое спам?
• Из истории:
• продуктовая компания Hormel Foods,
производящаяя мясные консервы Spam
Виды спама
•
•
•
•
•
•
Рекламные рассылки
Коммерческие предложения
«Письма счастья»
«Благотворительные письма»
«Нигерийские письма»
Фишинг (fishing)
Фильтрация спама
• Задача: разделить входящий поток сообщений на
спам и нормальную почту, Spam и Ham в
английском жаргоне.
• Что можно использовать?
• Фильтрация на основе «черных» списков IPадресов
• Запрос подтверждения у отправителя
• «Серые списки»
• Фильтрация на основе анализа содержания
письма
Фильтрация на основе «черных» списков IPадресов отсекает ~30% спама
• отлично отработанная обратная связь.
• самое нестабильное и текучее пространство
признаков, для которого характерно
постоянное исчезновение и добавление
адресов.
• простейший способ понижения размерности
этого пространства – заменить
индивидуальный IP-адрес на список, в
котором он обнаружен
Запрос подтверждения у отправителя
• Незнакомым отправителям посылается письмо
типа «Извините, мы с Вами не переписывались,
подтвердите пожалуйста что Вы не спамер». По
приходу подтверждения программа добавляет
адрес отправителя в белый список.
«Серые списки»
• На некоторые письма сервер отвечает не «OK» или
«отклонено», а «временная ошибка». Это работает
(пока) очень хорошо, потому что «хорошие»
почтовые сервера через некоторое время повторяют
попытку доставить письмо (они обязаны это делать),
а рассыльщики спама (пока) этого не делают.
• Если спамеры будут пытаться повторять попытки
доставки, как нормальные сервера, то за это время
они успеют попасть в черные списки.
Фильтрация на основе анализа содержания
письма
Данные, которые можно использовать при
анализе:
• оформление и стиль писем, заголовки,
форматирование, характерные обороты
• статистика слов в письмах
• контрольные суммы («сигнатуры») текстов
писем
Оформление и стиль
Что такое сигнатура?
• Уникальное число, поставленное в соответствие
некоторому тексту. Свойства, плюсы:
- «невзламываемость» (минимизируется вероятность
того, что по значению контрольной суммы можно
подобрать исходный текст)
- «неповторяемость» (минимизируется вероятность
того, что два разных текста могут иметь одну
контрольную сумму).
Но есть проблема нечётких соответствий
Сигнатуры
• Признак массовости - необходимое,
хотя и не достаточное условие спама.
• Почему условие не достаточное?
• Сигнатуры спамерских писем сейчас не
полностью совпадают.
• За счёт чего это может происходить?
Борьба борьбы с борьбой
• Спамеры развиваются:
- Вставка в текст имён и фамилий
- Вставка символов и слов, цвет которых
совпадает с цветом фона
- Замена русских букв на латинские
Каких на какие?
- Отрывок какого-то текста в конце письма
(например, часто используются отрывки из
Гарри Поттера)
Статистика слов в письмах
С этими проблемами нельзя справиться
методом сигнатур, лучше сработает
способ обнаружения спама по
определённым словам.
Статистика слов в письмах
• Образцы спам-писем (их не так много)
анализируются с помощью специальной программы
• Все слова получают некоторый индекс. Обычно чем
меньше индекс, тем «невиннее» слово, а чем больше
– тем больше вероятность того, что это слово взято
из какого-то шаблона.
• Чем больше в письме слов с подозрительно
высокими индексами, тем вероятнее оно попадёт в
спам
Статистика слов в письмах
• Пример спам-письма:
ПРАКТИКА ПРИМЕНЕНИЯ ЗЕМЕЛЬНОГО И
ГРАДОСТРОИТЕЛЬНОГО
ЗАКОНОДАТЕЛЬСТВА ПРИ СТРОИТЕЛЬСТВЕ КОТТЕДЖНОГО
ПОСЕЛКА
В программе:
- Проблемы (риски) формирования, получения и изменения вида
разрешённого использования земельных участков с/х назначения
для строительства коттеджного посёлка.
- Критерии и порядок перевода земельных участков с/х
назначения и лесного фонда, занятых коттеджными посёлками,
в земли населённых пунктов.
...
Статистика слов в письмах
• Алгоритм спам-фильтра Mail.ru
предполагал, что письма отсекаются,
если в них есть десять слов из
«верхушки списка» (т.е. с самыми
большими значениями индекса), но в
результате ошибки считались не 10, а
только первые 3 слова. И даже так
спам-фильтр отлично работал в
течение 2 лет =)
Фильтрация спама
Можно использовать все данные и
возможности для анализа, можно только 1-2.
В любом случае необходимо:
- обратная связь (постоянное обновление, Kaspersky Anti
Spam должен обновляться раз в 20 минут )
- обучение
Ошибки первого и второго рода
• Ошибка первого рода: пропуск спама, то есть
пропуск спамового письма
(полнота)
• Ошибка второго рода – ложные
срабатывания, когда не-спам ошибочно
относят к спаму
(точность)
Что приоритетнее?
Ошибки первого и второго рода
•
Точность гораздо важнее
Если ошибка составляет 1-2% нормальных писем, этот недостаток
перевешивает все достоинства. Допустимый уровень ложных срабатываний
– не выше 0,001% (1 на 100 000)
•
Возможны следующие реакции фильтра на
обнаруженный спам:
•
письмо отвергается почтовым сервером; при этом, если оно
на самом деле было «законным» письмом, отправитель
получит сообщение об этом;
письмо помещается в специальную папку; пользователь
имеет шанс заглянуть в эту папку и увидеть там ошибочно
отфильтрованное письмо;
письмо «удаляется», как будто его и не было; никто ни о чем
не знает.
•
•
Обратная связь
Процесс обучения: полученные сообщения
должны делиться на 2 категории - спам или
не-спам. (Делит пользователь!)
Спам-фильтр классифицирует сообщения по
этим двум категориям, используя
статистический анализ заголовков и тел
сообщений.
Чем больше сообщений обработано, тем
эффективнее будет работать фильтр
Обучение
• Фильтру дают две «кучи» писем,
помеченных «спам» и «не спам».
Программа смотри, какие слова
наиболее часто встречаются в куче
«спам» и редко встречаются в обыных
письмах. Им он присваивает высокие
коэффициенты вероятности (50-90%)
Как нам самим бороться со
спамом?
• Методы, которые позволят вам защитить ваш
ящик:
• Не публиковать email где попало!
• Если нужно его написать, стараться
«закодировать» - ivanpetrov [ @ ]gmail.com.
• Использовать несколько почтовых адресов,
не указывать основной при регистрации на
форумах
Что такое спам и полуспам?
• «Полуспамовое» письмо – это письмо
от известного проверяющему реально
работающего магазина или онлайнсервиса, в котором пользователь
скорее всего регистрировался.
• Старайтесь не верить заявлениям создателей
неперсонализированных антиспамовых продуктов,
уверяющих, что качество их фильтрации 95 или 98
процентов. В неперсонализированной антиспамсистеме этот показатель теоретически недостижим.
Визуальный спам
• Вы его втрчали? Как, по-вашему, с ним
борются?
Примеры: Yandex.ru
• реализованы оба вида обратной связи:
кнопка «ФУ! ЭТО СПАМ», «Это не
рассылка»
Download