Мы встретились с Кириллом Зорким, руководителем антиспам-направления «Лаборатории Касперского», чтобы поговорить о разработке ПО, антиспамерском ремесле и об экспансии российских технологий защиты от спама на Запад.
Кирилл, продукт, над которым ваша команда работала последние 2 года — Kaspersky Anti-Spam 3.0 — появился на рынке. Довольны тем, что получилось в итоге?
— Да, продукт в итоге вышел таким, каким его ждали наши партнеры и клиенты — более «умным» в плане определения спама, более производительным, причем кардинально, более гибким и удобным в настройке. За плечами команды уже был опыт выпуска нескольких версий продукта, очень крупных внедрений — к тому времени наш продукт уже защищал миллионы почтовых ящиков.
Первая версия собственно продукта «Лаборатории», Kaspersky Anti-Spam 1.0 вышла весной 2003. Было это время настоящего пика, когда спам посыпался в невероятных количествах. Спам наш серийный продукт фильтровал успешно, но, признаться честно, был крайне сложен в установке и настройке, так же как и последовавший продукт версии 1.5, к которому были «прикручены» дополнительные методы распознавания спама. Мы стали писать новый конфигуратор, параллельно шлифовали лингвистический движок. Вылилось это в Kaspersky Anti-Spam 2.0, который до августа сего года и стал флагманским продуктом «Лаборатории Касперского» для борьбы со спамом. Теперь его сменила новая версия 3.0. По сути — апогей многолетних трудов и изысканий.
Было множество идей — что можно улучшить, что нужно переписать заново, как сделать работу администратора с продуктом более удобной… Поэтому, стараясь не отказываться от качества в угоду срокам, мы и реализовали большинство этих задумок. На очереди новые.
Можно ли в нескольких словах описать суть работы продукта? Как он встраивается в почтовую систему? Как выявляет спам в потоке почты?
— Kaspersky Anti-Spam устанавливается на почтовом сервере или на шлюзе на входе в сеть. Это продукт для платформ Linux и FreeBSD, работает он как плагин почтового сервера (одного из 5 совместимых — Sendmail, Postfix, Exim, Qmail или Communigate Pro). При поступлении нового сообщения почтовый сервер как «черному ящику» передает его нашему спам-фильтру. Пройдя ряд проверок, сообщение возвращается обратно почтовому серверу с итоговым статусом — «чистое», спам, возможно спам и т.д. В зависимости от конкретных настроек дальше помеченные как спам сообщения удаляются, сохраняются в отдельной папке или доставляются получателю.
Для проверки писем мы используем комплекс методов, каждый из которых «смотрит» на отдельную часть или аспект сообщения. В комплексе, вердикты всех методов и формируют итоговый статус письма.
Вначале продукт, грубо говоря, «задается вопросом» — кто прислал? Осуществляется проверка IP-адреса отправителя по внешним подключаемым спискам запрещенных, DNSBL — либо рекомендованных в продукте по умолчанию, либо тех, которые подключил системный администратор по своему усмотрению. Использовать DNSBL в чистом виде для защиты от спама уже давно дурной тон, это приводит к слишком большому количеству ложных срабатываний, потерям легальных писем. А вот как один из методов, подтверждающий или опровергающий вердикты остальных проверок, он годится.
Также по поводу вопроса «кто прислал?» продукт «консультируется» с системой меток авторизации отправителя — SPF, Sender Police Framework. Вопрос, действителен ли адрес отправителя в пришедшем письме, очень актуален при фильтрации почты — большая часть спамерских посланий содержит «подставной» обратный адрес, и, к сожалению, протокол SMTP это позволяет. А еще продукт анализирует типичные спамерские уловки с техническими заголовками письма — пустые поля From: и To: и т.д.
В содержание письма заглядывает еще одна внешняя служба — SURBL, некий список запрещенных другого типа, который сравнивает не IP-адрес отправителя («кто прислал?») со своими данными, а ссылки в теле сообщения с уже известными линками на спамерские сайты («кого в письме рекламируют?»).
После этих первичных проверок в действие вступает «тяжелая артиллерия» — лингвистический разбор письма на основе обновляемых правил анализа и словарей спам-лексикона, сигнатуры текстов обнаруженных антиспам-лабораторией рассылок, сигнатуры графического спама и наша новая технология Urgent Detection System.
Лингвистический блок проводит анализ того, как часто, в каком сочетании, в каких частях текста встречаются типичные для спама слова, фразы, предложения. Используются специализированные лингвистические данные (база контентной фильтрации), которые каждые 20 минут автоматически обновляются через Интернет. База составляется антиспам-лабораторией и содержит данные трех типов:
- рубрикатор (иерархический список категорий спама);
- семантические образы категорий;
- сигнатуры сообщений-образцов.
Рубрикатор спама включает около 500 рубрик, соответствующих различным категориям спама, в том числе «Зайди на сайт», «Для взрослых», «Купи виагру», «Купи софт», «Увеличь то или это», «Горящие путевки», «Посетите семинар», «Обучение английскому», «Заработок в Интернете», «Обеспечь себе финансовую независимость», «Снизь налоги» и т.п.
Каждая рубрика содержит свой семантический образ — набор терминов (словосочетаний) с заданным определенным весом. Есть там точные термины, имеющие вероятность 100% («это не спам», «ваш адрес получен из открытых источников», «чтобы больше не получать этого письма»), есть вероятностные — словосочетания, которые с определенной вероятностью указывают на то, что письмо является спамом, например, «посетите наш сайт», «Nigeria», «unsubscribe». Наша база фильтрации содержит более 50000 терминов, которые постоянно обновляются и ротируются.
Сигнатуры же текстов позволяют сравнить, не встречалось ли такое (или «почти такое») письмо уже в ранее рассылавшемся спаме. Причем, если сопоставить идентичные тексты достаточно тривиально, то мы идем дальше — формат сигнатур позволяет «ловить» и модифицированные тексты, которые несут то же содержание, но перефразированы, «зашумлены» бессмысленными текстовыми вставками для обхода спам-фильтров и т.д.
В последнее время рассылается все больше графического спама, и самого разного — со ссылкой в виде картинки, с текстом на картинке, который в каждом письме повернут на определенный угол и т.д. С такими письмами борются наши технологии детектирования графического спама.
А технология Urgent Detection System, о которой вы упомянули?
— Это одно из главных нововведений в новом Kaspersky Anti-Spam 3.0 и большой шаг вперед в вечной гонке «спамеры против антиспамеров».
Здесь нужно сделать небольшой экскурс в область того, как рассылается спам сегодня. Раньше основная масса рассылок шла через открытые релеи — неверно настроенные почтовые сервера в Интернете, через которые каждый мог анонимно послать что угодно и кому угодно. Спам через открытые релеи рассылался массово, но достаточно медленно. Большие рассылки могли длиться даже сутками — ведь производительность одного сервера ограничена.
Все спохватились и начали в срочном порядке с этими релями бороться, в итоге доля спама, рассылаемого с открытых релеев, упала почти до нуля. Благо выявлять открытые релеи научились быстро и эффективно.
Спамеры перешли к более технологичной (и гораздо более опасной для рядовых пользователей) тактике. Появились так называемые зомби-сети, когда вредоносной программой заражается очень большое число ПК в Интернете, вплоть до сотен тысяч хостов, и контроль над ними переходит злоумышленнику. Тот в свою очередь начинает эти сети сдавать в аренду — другим хакерам для проведение DDoS атак или спамерам. Владельцы же ПК могут ни о чем не подозревать, в то время как с их компьютера рассылаются тысячи сообщений в день.
Сегодня зомби-сети — самая большая беда, более 95% спама рассылается именно с них. При этом спамеры научились координировать тысячи «захваченных» ПК таким образом, чтобы каждое письмо несло в себе некую модификацию, «шум», который бы не позволял его идентифицировать с другими письмами из той же рассылки, посланными с других зомби-компьютеров. Такие рассылки тоже проходят медленно, по нескольку часов.
Другие же типы зомби-сетей рассылают действительно идентичные письма, но максимально быстро. Например, несколько миллионов сообщений за 1 час. Цель — «протолкнуть» рассылку, пока на нее еще не отреагировали антиспамерские организации. И вот здесь нам есть что сказать.
Мы реагируем на такой спам уже через секунду после его обнаружения спам-аналитиком (даже если спамеру удалось «обмануть» все остальные методы, что весьма нетривиально). Технология Urgent Detection System работает следующим образом. Если письмо не было отнесено к спаму всем комплексом методов (и, возможно, это просто «чистое» письмо), продукт запрашивает специальный отдельный сервер — «а не рассылается ли прямо сейчас в Интернете точно такое же сообщение?». Данные на этом UDS-сервере пополняются спам-аналитиками. Если несколько секунд назад рассылка была замечена, продукт получит от сервера ответ — «это спам» — и заблокирует сообщение. Таким образом, по сути, мы используем 2 типа обновлений, один из которых функционирует в режиме реального времени.
Еще раз подчеркну, что основа нашего продукта — это отлаженная работа круглосуточной службы, спам-лаборатории, обеспечивающей нашу скорость и качество реакции, а также скорость доставки продукту обновленной информации о новых рассылках и методах борьбы с ними, комплексность методов оценки сообщений.
Расскажите, как работает антиспам-лаборатория «изнутри», как готовятся обновления.
— Группа спам-анлитиков занимается мониторингом спамерской активности, выявлением новых признаков спама и правил анализа сообщений, подготовкой баз обновлений. Работа ребят в лаборатории крайне важна и неотделима от самого продукта. По сути, если установленный у клиента Kaspersky Anti-Spam — это мотор, то обновления баз от антиспам-лаборатории — его бензин.
Сейчас группа спам-аналитиков включает 17 человек, постоянно появляются новые люди, специалисты по новым языкам. Это специалисты с высшим лингвистическим образованием, с опытом работы в области прикладной лингвистики и искусственного интеллекта. Их работа — это непрерывный анализ спама, рассылаемого «прямо сейчас».
Анализируется спам, поступивший из расставленных в Интернете ловушек для спама, а также присланный клиентами как нераспознанный. Лингвисты проверяют всю эту массу модулем фильтрации и отделяют новые письма, то есть те, которые не распознаются по текущей базе. Затем они классифицируют письма, пропущенные фильтром: отделяют «чистые» письма (такие в потоке присланного спама иногда попадаются), затем раскладывают спам по рубрикам.
Во-первых, в базу сразу же добавляются сигнатуры (образцы) всех нераспознанных писем. Это помогает распознаванию «повторных» писем или писем, присланных второй раз, но несколько модифицированных. Во-вторых, информация о письме сразу же попадает в базу UDS-сервера.
Затем спам-аналитики начинают тонкий анализ: выделяют в письмах новые термины, назначают им веса и добавляют их в семантические образы. Это подготовка данных для следующего этапа — работы эвристического анализатора.
ПО лингвиста позволяет делать все это очень быстро и эффективно: выделил мышкой, перетащил в рубрику, кликнул по стрелочке — назначил вес. Встроенные средства контроля позволяют сразу проверить качество распознавания: улучшилось ли, не ухудшилось ли для других писем, не появляются ли ложные срабатывания.
Помимо этого, спам-аналитики параллельно занимаются анализом «конверта» письма, то есть его формальных признаков (отправитель, получатель, путь следования и т.п.) и созданием новых правил для распознавания по этим признакам.
Группа работает круглосуточно (24х7х365), обновления антиспам-баз выкладываются строго каждые 20 минут, а данные для системы UDS выкладываются в режиме реального времени.
Бытует мнение, что российский спам хорошо ловится только российскими программами, а, скажем, англоязычный –западными. Что Вы думаете по этому поводу?
— Какие бы методы для отсева спама не использовались, ясно, что спамеры не сидят на месте, и эти методы требуют постоянной подстройки, модификации. Чтобы понять, как их модифицировать для поддержания должного уровня детектирования, нужно те или иные аспекты спама анализировать — вручную ли, автоматически ли. А вот какого спама? Того, который приходит на адреса в США? В Европе? Или в России?
Какие-то рассылки адресуются исключительно американским аккаунтам, какие-то — исключительно российским. И рассылки эти отличаются значительно — содержательно и технически. Поэтому, чтобы бороться со спамом приходится анализировать как глобальные рассылки, так и точечные, географически локальные. Естественно, что у российских вендоров для российского спама это получается лучше, чем у западных. Просто больше внимания этому уделяется. Но сказать, что при этом русские продукты не фильтруют западный спам — неверно. Тот же самый англоязычный спам интернационален, его можно найти в любой стране. Мы также поддерживаем лингвистику для немецкого, французского, испанского. И не забывайте о методах распознавания, которые вообще к языку не привязаны!
Наш Kaspersky Anti-Spam трудится и у крупных восточноевропейских провайдеров, в Германии, Франции, Италии, Австралии, Японии. Трудится на совесть. Во всех этих странах еще есть, куда шагать, пока мы там еще маленькие и незаметные. Но это уже задача для наших продавцов и маркетологов. А мы пока продолжим совершенствовать продукт. И круглосуточно следить за спамом.
Интервью провел Виктор Дронов
Интервью с Кириллом Зорким