Спам-фильтры Что такое спам? • Нежелательная почта? • Рекламная рассылка? Не совсем так. Что такое спам? • Примеры нежелательной почты: - Отказ пойти на свидание; - Сообщение из банка о том, что вы должны много денег; - Отказ принять вас на работу; • А что с массовой рассылкой? Что такое спам? Спам незапрошенная массовая анонимная электронная корреспонденция. • Почему именно такая? Что такое спам? • Из истории: • продуктовая компания 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 • реализованы оба вида обратной связи: кнопка «ФУ! ЭТО СПАМ», «Это не рассылка»