Facebook Twitter
Linkedin LJ
Git Instagram
IPv6
2 posts tagged

spam

Доклад по вопросам сравнения антиспамов и построения спам-фильтров

Ссылка на конференицию UNИX;

Презентации: ODPPDF;

Спам

Сколько вам приходит спама в день? Мне около 1000-1500 сообщений на abondarenko@gmail.comи корпоративный ящик. Это много, друзья, моя жена, спам-аналитик, не даст мне соврать, но эти адреса принадлежат живому человеку и им больше 5 лет.

Нормальные люди решают задачи минимизации потока мусора в свои ящики, а мне как-то довелось решать обратную задачу, мне нужно было сделать спам-ловушки, то есть адреса, на которые будет приходить 100% спам дабы можно было обучать фильтры и смотреть статистику их работы. Казалось бы, чего проще! Ну зарегистрируем мы немного ящиков на разных сервисах платных и не очень, заведем какой-нибудь неприметный домен с ничего не говорящим именем digitalhardcore.us, будем эти адреса оставлять в регистрационных карточках заказа рекламы Pfizer’a и еще какой-нибудь дряни (естественно, отписавшись сразу же от легитимной рекламы) и дело в шляпе. И так, что было сделано:

  • Несколько адресов на mail.com, yahoo.com и еще где-то с форвардом на приемник потока у нас.
  • digitalhardcore.us, вся почта с которого форвардится на тот же приемник.
  • Регистрируемся на множестве сайтов разной направленности от торрент-трекеров и обзоров железа до секс-шопов оставляя там эти адреса.
  • Постим на форумах разные нейтральные комментарии указывая в подписях адреса.

Результат выполнения пунктов 3 и 4 ночными дежурными за 1 год – около 100 писем в день на адрес (плюс-минус), хотя ожидался на порядок больше.

Второй интересный момент: на 1 адрес мы собирали “не спам”, то есть рекламу уважаемых контор вроде cocacola или hp чтобы тестировать себя на ложные срабатывания. Результат через год – 10-20 спамовых писем в день в потоке честной рекламы, хотя адрес живым людям кроме меня был не известен.

Третий интересный момент относится уже к наблюдению за личным потоком: стоит написать какому-нибудь недалекому человеку и характер спама меняется. Появляется реклама продуктов, которых раньше не было, его становится заметно больше. Происходит это потому, что у недалеких людей есть трояны, которые извлекают полезные сведения из их переписки.

Отсюда лично я делаю выводы:

  • крупные неуважаемые места торгуют базами пользователей (удав, фишки).
  • крупные уважаемые места ими не торгуют (LOR, Lepra), но некоторые все-таки торгуют. основной метод сбора адресов для набития баз – это не прочесывание стайтов и перебор имен, а потрошение записных книжек почтовиков троянами.

По этому можете смело писать свои адреса без дурацких _at_ или _здесь_была_собака_, форумы – капля в море.

Антиспам – отстой

Антиспамами принято меряться, давать им разные крутые награды и хвалить на форумах. Я хочу рассказать о том, как ими меряться правильно и что следует из измерений.

Сначала надо определиться, что есть спам. Вопрос не так прост, как кажется. Вот так определяет спам Лаборатория Касперского: “Массовая не запрошенная анонимная рассылка”. Массовая – потому, что единичный blackmail не есть результат работы спамера, а есть просто частный конфликт двух-трех людей. Незапрошенная – потому, что запрошенная реклама – не спам, ведь пользователь сам хотел ее у себя видеть и спамфильтр ее резать не должен. Анонимная (технически), потому, что с непрошенными письмами людей, которые себя никак не скрывают вопрос решают административно. Яркий пример таких писем – разные повестки или оповещения. Важность этого определения в том, что например, Яндекс спам определяет иначе, у него это “вся нежелательная почта и все рассылки”. Можно дискутировать на тему правы они или нет, но это однозначно надо учитывать при сравнении результатов их работы. Вообще на сколько мне известно, на сегодняшний момент консорциум по борьбе со спамом определение термина так и не утвердил, но рабочий вариант максимально приближен к определению ЛК.

Второе – в каких условиях сравнивать? Сравнивать надо только на живом потоке почты, а не на старой коллекции спама, потому, что то, что попало в “коллекцию” уже никогда не встретится в реальной жизни и ее фильтрация нам ни о чем реальном не скажет. Все тестируемые антиспамы должны быть поставлены в равные условия, то есть не последовательно, а параллельно. И тестировать надо неделю или две на хорошем потоке, а не на десятке сообщений и не один день.

Третье – что сравнивать кроме скорости. Сравнивать надо 2 величины – уровень детектирования (Detection Rate) и уровень ложных срабатываний (False Positive Rate). Первое число – это число верно распознанных как спам писем поделенное на общее число спама. Это число НИКАК нельзя посчитать при помощи робота потому, что робот не видит собственных ошибок. Уровень ложных срабатываний – это число распознанных как спам нормальных писем поделенное на общее число нормальных писем. Если первый параметр указывают, то второй либо замалчивают либо пишут откровенные небылицы. Нужно помнить, что FPR резко растет с увеличением агрессивности фильтра и, например, при замене антиспама на тупой скрипт “помечать как спам вообще все” и DR и FPR будут равны 100%: 100% спама мы распознаем уверенно, но и все чистые письма тоже зарубим.. Пример реальных цифр – Spam SLA Message Labs гарантирует деньгами 95%DR, 0.0004%FPR.

А теперь, почему антиспам – отстой. Потому, что хороший антиспам при низком FPR (одно на 10000) имеет в реальности DR около 93-96%. То есть например я при хорошем эгрегоре и чистой карме получу 40-70 спамовых писем в день (что собственно и происходит). По опыту, спам начинает бесить пользователя где-то на 14-16 письмах в день, так что меня ярость должна разорвать на куски :-).

Персональный спам

Для того, чтобы понять как нам сделать жизнь удобнее, надо разобраться, как вообще работают антиспамы. Есть 3 больших класса методов борьбы со спамом (классификация моя, можете поправить):
Разграничение прав доступа. То есть блокировка письма по признаку отправителя, не важно как мы его ограничиваем: авторизацией или урезанием пулов IP по DNSBL, greylist’у или как-то еще.

Анализ контента. Когда какой-то нормализованый кусочек письма рассматривается как образец спама, характеристический термин, URI из блек-листа чего угодно (IP, телефоны, URL, whatever).
Статистика. Ведение персональной базы по отдельно взятому потоку спама-неспама любым удобным алгоритмом, например байесом.

Недостаток первого метода в том, что слишком грубая резка порождает ложные срабатывания и RBLы часто обслуживаются полностью невменяемыми людьми. Второго в том, что база сигнатур-признаков-терминов всегда в большей или меньшей степени не поспевает за спамерами и отражают некий усредненный поток, а рассылки нынче уникальные с очень коротким временем жизни. Третьего (кроме традиционной убогости реализации) в вечном мусоре в базе, опасностью перекормить спамом и необходимостью вести статистическую базу для каждого пользователя (если мы хотим хорошего результата), а по сему по моему глубокому убеждению подкрепленному опытом Байесу на серверах делать совершенно нечего. Первый метод используют все, второй – практически все коммерческие вендоры (Message Labs, Yandex, Kasperksy, Symantec), третий – spamassasin и производные, а так же все персональные.

Так как спамассасин все-таки ставят на сервера, а ведением персональных баз никто себя не утруждает, то можно смело заявлять, что ваш серверный антиспам использует анализ некоего усредненного потока, и то, что все-таки проходит к вам в ящик – это либо очень хороший спам, либо “выбросы” из этого среднего потока. Так как хороший спам – это наверняка инновации и его поимку через некоторое время лечит вендор серверного антиспама, то нам следует сосредоточится на “выбросах” – вот тут-то нам и поможет Байес. Он встроен во все персональные антиспамы в том или ином виде с разной степенью убогости (самая убогая реализация – у Microsoft при совершенном отсутствии причин делать плохо очевидные вещи по известным алгоритмам имея в общем полноценный почтовый клиент и не полхой сервер) и так как он наш, то настроить и обучить его мы вполне способны так, чтобы снизить вредное влияние его традиционно большого false positive rate. Мой рецепт счастья: скидывать спам, отфильтрованный им в отдельный ящичек не смешивая со спамом отфильтрованным сервером, чтобы просматривать его перед удалением. Первое время там окажется довольно много нужной почты и потребуется явные корректировки настройки, но месяца через 3 он перестанет фалсить.

2016   IT   linux   spam

Спам – Зло

Как правило, про сотрудников компаний-производителей говорят, что они склонны преувеличивать реальные опасности, с тем, что бы улучшить собственные продажи. Конечно, это бывает, хотя, в общем, среди профессионалов такое поведение считается, по меньшей мере, неэтичным. Скажем, в (ISC)² Code Of Ethics, которому обязательно должны следовать специалисты CISSP, сказано: “давайте разумные, обоснованные советы; не создавайте (у ваших собеседников -- прим. переводчика) беспричинного беспокойства или необснованной уверенности”. Как уже казано, специалисты по информационной безопасности иногда нарушают канон о беспричинном беспокойстве. Но и необоснованная уверенность является не меньшим злом.

Недавно, Алексей Лукацкий начал публиковать серию статей под общим названием «Мифы и заблуждения информационной безопасности». Некоторые из «мифов» относятся к проблеме спама. Господин Лукацкий решил развеять миф №5 “Спам вреден” и миф №6 “Спам наносит ущерб”. Безусловно, имя Алексея Лукацкого, как человека, много пишущего и выступающего на темы, касающиеся информационной безопасности, известно, а некоторые к его мнению относятся с полным доверием, надо заметить, что, как минимум, указанные статьи требуют комментариев. Другие высказывания Алексея и другие его статьи, возможно, тоже требуют более пристального рассмотрения, но о них – в другой раз.

Итак, спам. Вот что пишет господин Лукацкий: «Спам, как угроза стабильности почтовых серверов, – это из области научной фантастики. Почтовый сервер изначально рассчитан на прием электронной корреспонденции и лишних пару десятков сообщений на одного пользователя ситуацию врядли изменит. Ухудшится ли стабильность вашего обычного почтового ящика в доме, где вы живете, от того, что вам регулярно туда бросают рекламу оконных фирм, распродаж, ближайших салонов красоты и фитнес-центров?»

Только вчера я (А.Б.) засиделся на работе, помогая сконфигурировать Postfix одного небольшого предприятия. Вот факты: на почтовом сервере предприятия есть около 500 почтовых ящиков, около 5 ГБ (гигабайт!) полученных писем распознано, как спам, около 300 МБ (всего 6%!) писем пропущено, как легитимная почта. Сервер постоянно имеет более 300 конкурирующих входящих соединений, принимая почту. Предположим, на сервере не была бы установлена система фильтрации спама, тогда объем почтового трафика, доходившего до ящиков пользователей, возрос бы в 17 раз. Значит, если средний пользователь получает 10 легитимных сообщений в день, ему пришлось бы удалить примерно 160 писем! На деле, возможно, и больше, поскольку размер спаммерского письма часто сильнее меньше, чем легитимного, ведь к последним часто присоединяют довольно объемные офисные документы.

Совершенно понятно, что при таком объеме мусорного трафика неизбежны случайные удаления легитимных писем. Хотя, Алексей Лукацкий по этому поводу склонен иронизировать: «Назвать случайное уничтожение почты одной из причин вредности спама у меня бы язык никогда не повернулся бы. С тем же успехом я могу случайно удалить электронное письмо просто их просматривая или перенося между папками. К тому же для борьбы со случайным удалением писем легко бороться, восстановив их из папки «Удаленные» («Deleted Items»)». Очень хочется уточнить у него, каким образом он узнает, что удалил случайно легитимное электронное письмо? Через две недели, когда ему напомнят об этом? А если и напоминание он удалит случайно?

Вернемся к фактам. Вот еще несколько: я получаю по 2000 спамовых сообщений в день. А вот support@ может получать несколько десятков тысяч. Коллега подсказывает статистику одного хостинга: 5-6 миллионов писем в день, в пике 14 миллионов, около 700 конкурирующих соединений, спама 95%. Мелочи?
Далее, Алексей пишет: «Следующая проблема (повышенные требования к системным ресурсам) тоже во многом надумана. Спам долго не хранится –
пользователи его удаляют также быстро, как и получают.»

Факты (не кажется ли читателю, что мы стали похожи на «Get the facts» Microsoft? :) надеемся, что нет): для почтовых серверов вроде Exchange’a, где письма хранятся на стороне сервера их объем, помноженный на число пользователей, которые в реальности уничтожают письма не так часто, такие мелочи уже не так незаметны. В нашем примере с небольшим предприятием, каждый пользователь получает около 10 МБ почты в день. Ушел сотрудник в отпуск на 2 недели – 100 МБ диска на почтовом сервере занято. 500 пользователей – это примерно 2000 отпускных недель в год или 38 отсутсвующих сотрудников в любую неделю, или 2 ГБ потраченного на спам места на почтовом сервере.
Если взглянуть на архитектуру подсистемы хранения сообщений в Exchange, становится понятно, что удаление почтового сообщения пользователем не сразу приводит к освобождению места на диске почтового сервера. Большое количество короткоживущих сообщений, таких, как спам, удаляемый вручную, негативно сказываются как на требованиях к дисковому пространству, так и на производительности сервера.

Отдельная история – публичные сервисы с тысячами пользователей, в том числе малоактивными, вроде Mail.ru. Конечно, у всех есть квоты, но все мы знаем, что без спама эти квоты могли быть больше. В 10-20 раз.
«Поэтому упомянутые 3/4 жесткого диска, которые якобы тратятся на обслуживание спамеров, не совсем соответствуют действительности. Процессор, конечно, загружается при росте числа почтовых сообщений, но называть это одной из причин для установки антиспама будет лукавством. Если брать именно эту причину, то гораздо эффективнее проапгрейдить процессор цена которого измеряется тремя-четырьмя сотнями долларов (например, цена процессора Intel Core 2 Quad Q9300 составляет около 8200 рублей согласно price.ru), чем ставить антиспам-решение, не говоря уже о том, что инсталляция программной системы антиспама будет загружать процессор еще больше, т.к. помимо того же спама придется еще и заниматься его интеллектуальной обработкой.»

Алексею будет полезно знать, что серверы электронной почты почти всегда ограничены ресурсами по вводу-выводу (как дисковому, так и сетевому), а не вычислительной мощностью. Кроме того, процесс получения почты всегда многопоточен и легко распараллеливается, так что мощность отдельного процессора не играет существенной роли. Наконец, как видно из приведенного примера, кончается канал, по этому покупают не новый процессор, а второй сервер. Это даже не дорого само по себе, это исчерпывает место в стойке, мощность питания и мощность охлаждения. Покажите как-нибудь Алексею хорошую серверную, хотя бы того же Билайна, чтобы он больше никогда не говорил “купите новый процессор”.
Далее у Алексея следуют угрозы написать еще статей про спам и длинный абзац про поддержку. Да, он прав, abuse@ читают мало, но только это не значит, что у mail.ru не работает поддержка. Наоборот, это значит, что пользователь имеет большой шанс не достучаться до нее, так как info@, abuse@, support@ и прочие общепринятые контакты компании погребены под потоками мусора.

Алексей говорит, что ему приходит около 100 писем в день и на основании этого делает выводы о том, что антиспам не нужен. При этом он приводит опубликованные цифры по Билайну, где размер спама в год оценивается в $393750. Да, это немного и Билайн без антиспама выживет, но почему он должен без него выживать? Упоминаемый в статье “небольшой банк” тоже, конечно, выживет без антиспама, с этим не спорят даже менеджеры по продажам. Но именно выживет, так как факты говорят нам о том, что получать они будут на порядок больше, чем лично получает Алексей на свой ящик.
Алексей пишет: «Интересные данные приводит корейское агентство по информационной безопасности (Korean Information Security Agency, KISA). Если в 2002 году число мобильных спамовых рассылок было в 5 раз меньше, чем у традиционного e-mail спама, то в 2003 году разница была практически незаметна (42123 против 36013 в пользу привычного спама). А за первые 9 месяцев 2004 года мобильный спам превысил в 3 раза число почтовой рекламы (244151 против 78063).»
Елена Бондаренко, ведущий спам-аналитик компании Лаборатория Касперского так прокомментировала эту информацию: “данные 2003 года устарели и не имеют права быть использованы для агументации”. Компания Ironport опубликовала результаты своих наблюдений за объемами спама: объем спама в 2008 году оказался в два раза больше уровня 2007 года и достиг уровня 200 миллиардов сообщений в месяц. Хотя 11 ноября 2008 года уровень спама снизился после отключения спаммерской компании McColo, эксперты полагают, он вернется на прежний уровень в ближайшее время.

«А теперь взглянем на другую сторону медали. Согласно исследованию компаний Mirapoint и Radicati Group, проведенного в 2005 году, и в ходе которого были опрошены почти 800 пользователей, в том числе 34% бизнес-пользователей и 66% потребителей, 11% пользователей, несмотря на свою нелюбовь к спаму, практикуют покупку изделий и услуг по спам-рекламе.»
А теперь взглянем все-таки на актуальные данные, а не на данные трёхлетней давности: «на ссылку, рекламируемую в спаме, перешло 0.00303%, 0.00457% и 0.00680% пользователей, а товар купило 0.0000081%,
0.000378% и 0.000561%. Для большей наглядности – отправлено 347 миллионов писем, доставлено 82 миллиона, на сайт зашли 10 тысяч пользователей, а купили товар 28 человек.»
Все люди, которые принимали участие в написании этого текста готовы рассказать о своем опыте, должностях, если кому-то этого захочется.

Андрей Бондаренко

Владимир Иванов

2015   IT   spam