?

Log in

No account? Create an account

Maxnet Systems

Интернет Провайдер

Previous Entry Поделиться Next Entry
Вы ведь тоже заметили – спама стало меньше?!
maxnet_systems


Инженеры нашей комании разработали собственную систему борьбы со спамом и делятся с нами фактами о том, как она устроена! Простым и понятным языком :)
Рассказывает Лев Николаев, в «Макснете» он занимается «(ненормальным) системным администрированием» :)


Привет!

Сегодня я хочу поделиться тем, как мы шли к фильтрации почты. За последний год мы сильно продвинулись в этом плане; и хотя идеал еще пока далеко, наш пройденный путь уже интересен.

Электронная почта? Она кому-то еще нужна?

Ответ (краткий): да, еще как. Дело в том, что в отличие от легковесного сообщения в мессенджере, электронная почта имеет более удобную структуру для многих людей. Письмо в почте можно пометить "к исполнению" и вернуться к нему потом. Письмо можно переслать. На него можно предметно ответить. Его можно потом найти в архиве.

Поэтому электронная почта ни в коем случае не умерла. Вспомните "Москва слезам не верит", пророчества о телевидении не сбылись. Так же и не сбываются сказы о смерти электронной почты.

Спам? Да в чем проблема, просто уберите его!

Действительно, Яндекс и Google умеют хорошо фильтровать почту, просто сделайте по их подобию, в чем сложность?

Крупные компании обладают принципиально другим потенциалом в разработке крупных проектов. Так, например, всем известно, что фильтрация Google русскоязычного спама на порядок слабее аналогичной от Яндекса. Но в любом случае, фильтрация спама -- предмет сложный.

В чем сложность? В первую очередь, в понятии false positive, или "ложный позитивный результат". Это ситуация, когда вполне себе нормальное письмо было удалено, потому что фильтр посчитал его спамом.

Это очень, очень плохая ситуация. Именно из-за нее большинство интернет-провайдеров вообще не хочет заниматься вопросом электронной почты для своих пользователей. А те, кто занимается этим вопросом, делают все, чтобы такую ситуацию не допустить.

Во-вторых, фильтрация спама бывает сложной, потому что даже крупные и крутые отправители множества почтовых сообщений порой плохо соблюдают правила отправки. И их сложно отличить от тех, кто рассылает спам.

Поэтому Google и Яндекс используют свои закрытые алгоритмы фильтрации почты.

А в чем сложность? Ну напишите свой алгоритм!

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

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

Хорошо, так как конкретно вы боретесь со спамом?

Объяснение всех методов было бы чересчур сложным, но некоторые можно легко объяснить.

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

Как узнать, что незнакомец шлет нежелательную почту? А может в конвертах что-то важное?

Задачка, казалось бы, не имеет простого решения. Но тут начинают работать методы, которыми пользуются специалисты по выявлению террористов в толпе пассажиров аэропорта.

Для начала, о спамерах нужно знать то, что они шлют МНОГО почты. Почему? Потому что отклик на спам очень маленький. Еще в 2008 году, когда интернет был более наивным местом, спамеры могли получать один отклик на 12,5 миллионов сообщений! Почему это выгодно? Потому что отправка 12,5 миллионов сообщений не стоит так дорого.

Однако вычислительные мощности стоят денег. Поэтому спамеры стараются отправить как можно больше почты с одного компьютера, т.е. наш незнакомец пытается выдать в почтовом отделении как можно больше писем.

В итоге, поскольку незнакомец очень торопится, он начинает вести себя грубо (совсем как в реальной жизни, да?), перебивать сотрудника почтового отделения и торопиться. На этом мы его и ловим.

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

А если незнакомец начал пытаться впихнуть нам письмо во время этого ожидания, письмо мы от него не принимаем. Это не значит, что незнакомец не может попробовать снова, но спамеры не будут тратить столько времени на одну отправку.

Помогает ли этот метод? Порядка 10% незнакомцев так и не могут преодолеть это ограничение. Из 100 тысяч незнакомцев каждый день -- это неплохо.

Слушайте, это же прямо какая-то компьютерная социальная инженерия получается! А что дальше?

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

Здравствуйте, я почтальон Петр из Калужской области. Как Вас зовут?

Меня зовут Сергей из Бирюлево, у меня есть парочка писем. Будьте добры, заберите их.

С радостью.


А может быть такой:

Здравствуйте, я почтальон Петр из Калужской области. Как Вас зовут?

Меня никак не зовут. Бери письма.

Простите, мы не работаем с анонимами.

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

Помогает ли этот метод? Порядка 35% сообщений (а это, на минуточку, около 43 тысяч сообщений в день) не проходят по этому критерию и не принимаются.

А я знаю, что в интернете где-то ведется список спамеров, ведь можно просто его взять?

Увы, не так все просто.

Да, действительно, в интернете есть целый ряд сайтов, которые ведут борьбу со спамерами. Это так называемые "черные списки". С ними, правда, есть целый ряд проблем туда могут попадать и вполне себе легитимные отправители. Например, один из абонентов поймал вирус и отправил много-много писем через почтовые сервера провайдера. Провайдер, конечно, с абонентом разберется, но может и в список плохих парней попасть.

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

Гораздо больше обнадеживает ведение "белого списка", т.е. благонамеренных и адекватных отправителей. Увы, такой список во всем интернете ведет только один сайт.