Принципы работы
Для классификации почтовых сообщений программный комплекс Kaspersky Anti-Spam использует подготавливаемую спам-аналитиками «Лаборатории Касперского» базу данных о спаме, в которую входят как сигнатуры известного спама, так и различные эвристики, имеющие предсказательную силу и позволяющие «ловить» не только уже известный спам, но и подобный ему, который может распространяться в будущем. Для эффективной работы KAS требуется, чтобы используемая база данных поддерживалась в актуальном состоянии, то есть качество работы антиспама зависит от того, как часто обновляется база. Рекомендуемая скорость обновлений базы KAS – раз в двадцать минут.
Однако, за те два года, которые прошли с момента выхода KAS 2.0, скорость рассылки спамерских сообщений выросла на несколько порядков. Использование сетей зомби-компьютеров (ботнетов) позволило спамерам распространять миллионы сообщений буквально за минуты. Это означает, что если спамер подготовит некое письмо, «пробивающее» KAS в данный момент времени, и если он успеет разослать его в пределах 20 минут, то он может надеяться, что KAS не отреагирует на это письмо, поскольку знания об этой рассылке, о ее характерных признаках, в это время еще не будут актуализированы в локальной базе данных KAS.
Для уменьшения времени реакции KAS на новые спамерские рассылки была разработана новая технология — Urgent Detection Service (UDS). Она позволяет программному комплексу KAS, установленному на почтовом сервере клиента, получить прямой доступ к данным антиспам-лаборатории, не ожидая следующего обновления локальной базы.
Во время обработки почтового сообщения UDS-клиент, интегрированный в KAS 3.0, подготавливает небольшой блок информации о почтовом сообщении, куда входит следующая информация:
- размер письма;
- путь, по которому письмо пришло к клиенту (IP-адреса трех последних почтовых релеев);
- md5-хеши, посчитанные от нескольких вариантов преобразования исходного текста письма (удаление стоп-слов, нормализация орфографии, сортировка слов по количеству вхождений и т.п.);
- сигнатуры GSG, то есть результат обработки графических аттачментов.
Размер такого блока обычно не превышает 150 байт. Эта информация не позволяет восстановить текст сообщения, однако она позволяет группировать одинаковые или похожие почтовые сообщения.
Затем UDS-клиент посылает подготовленный запрос выбранному UDS-серверу и ждет получения вердикта: является ли данное почтовое сообщение спамом, содержит ли вредоносную программу или UDS-серверу про него пока что ничего не известно. Таким образом, если образец некой спамерской рассылки уже попал в антиспам-лабораторию, то при помощи UDS спам-аналитики могут моментально заблокировать данную рассылку.
Рис. 1. UDS в инфраструктуре KAS 3.0.
Наполнение базы UDS
Наполнение базы данных UDS-сервера может производиться тремя способами:
- вручную;
- автоматически, при наличии образца блокируемого сообщения;
- автоматически, основываясь на статистических исследованиях запросов UDS-клиентов.
Первый вариант, ручной, подразумевает, что информация о рассылке добавится в базу UDS-серверов только после соответствующего действия спам-аналитика. Такой подход позволяет практически полностью избежать ложных срабатываний, но имеет временную задержку в блокировании рассылки, равную времени реакции спам-аналитика на новое сообщение.
При использовании второго, автоматического способа, информация о рассылках добавляется в базу без подтверждения спам-аналитиком, что повышает время реакции на новые спамерские рассылки. Поскольку имеется образец рассылки, который был добавлен в базу, то возможна последующая проверка этого образца и удаление его из базы в случае ошибки. То есть, в этой ситуации возможны ложные срабатывания, но только в течение того времени, которое нужно для доставки спам-аналитику почтового сообщения и последующей его оценки — является ли оно спамом или не-спамом.
Третий подход, статистический, подразумевает анализ журналов запросов UDS-сервера и блокирование каких-либо рассылок, на основании наличия признаков массовости их распространения, использования большого количества компьютеров, уже рассылавших спам, распространяемый из ADSL-сетей и т.п. Такой способ имеет еще большую скорость реакции, чем автоматический, так как не требует получения образца спамерского сообщения антиспам-лабораторией. Однако, количество ложных срабатываний на легигимные рассылки оценить достаточно сложно, а также сложно их контролировать.
Сейчас при наполнении базы UDS-серверов используются первые два подхода, потому что они обеспечивают достаточное время реакции на спамерские рассылки и гарантируют практическое отсутствие ложных срабатываний. Статистический подход требует большого количества исследований, проводимых сейчас специалистами антиспам-лаборатории «Лаборатории Касперского».
Технические детали
UDS-запросы и UDS-ответы передаются при помощи UDP (User Datagram Protocol). Это означает, прежде всего, отсутствие постоянного соединения между почтовыми серверами клиентов и UDS-серверами. Список доступных UDS-серверов обновляется вместе с апдейтами антиспам-баз KAS 3.0. Для обеспечения коммуникаций на UDS-серверах используется UDP-порт 7060.
UDS-клиент, интегрированный в KAS 3.0, собирает статистику доступности UDS-серверов, вычисляет среднее время ответа и на основании этой статистики использует наиболее быстро отвечающий сервер. Переключение на новый сервер происходит прозрачно и не требует никаких действий со стороны системного администратора.
При настройке KAS 3.0 системный администратор может выбрать максимальное время ожидания ответа от UDS-серверов (таймаут), по умолчанию равное 10 секундам. В течение этого времени UDS-клиент может пытаться перепослать датаграммы серверу, чтобы избежать их случайной потери по пути от клиента к серверу.
Заключение
Таким образом, технология UDS позволяет быстро и эффективно реагировать на новые спамерские рассылки, а иногда и на новые спамерские методы, так как UDS-сервера находятся под контролем «Лаборатории Касперского» и могут модифицироваться без изменений клиентской части UDS, интегрированной в KAS 3.0.
Технология UDS не является заменой старым методам, она их дополняет и дает возможность реагировать на новый спам в момент его появления. Тем самым, с одной стороны, она позволяет поднять уровень распознавания спама на еще несколько процентов, с другой стороны, позволяет нивелировать проблемы с доступностью серверов регулярных апдейтов в тех редких случаях, когда это потребуется. Результаты, получаемые с вердиктом, помогают принимать решения более точно: к примеру, UDS может вернуть вердикт «не спам», но при этом сообщить клиенту, что обрабатываемое письмо было послано с одного из серверов, подозреваемых антиспам-лабораторией в рассылке спама.
UDS: реагирование на спам в режиме реального времени