Система анализа протоколов передачи данных с целью нейтрализации программ, рассылающих спам



 

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

Область техники

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

Уровень техники

На данный момент в мире каждый день рассылаются миллионы электронных сообщений, однако большая их часть является так называемым спамом. Спамом называют сообщения, содержащие коммерческую, политическую и другие виды рекламы, а также и вредоносные программы и ссылки на фишинговые сайты. Самое неприятное заключается в том, что спам отправляют лицам, которые не выражали желание получать такие сообщения. А так как каждый активный пользователь получает десятки, а то и сотни подобных сообщений в день, то статистические данные говорят о том, что спам составляет до 90% всех рассылаемых сообщений, и становится нетрудно представить, что проблема борьбы со спамом является крайне актуальной.

Один из вариантов борьбы со спамом заключается в использовании различных фильтров, которые позволяют находить спам-сообщения по ключевым словам или по вхождению адреса отправителя в черном списке. Более продвинутые методы, вроде использования гистограмм или рубрикаторов, также позволяют поднять уровень обнаружения спама до значений, иногда приближающихся к 100%. Все эти техники реализованы в таких продуктах, как Anti Spam Filter, Antispam Post, GFI MailEssentials, Kaspersky Internet Security или Kaspersky Anti-Spam - предназначенные как для отдельных пользователей, так и для корпоративного сектора.

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

Основная рассылка спама в настоящий момент производится отдельными программами - спам-ботами, которые скрыто установлены на компьютерах пользователей для совершения рутинных операций, таких как рассылка спама. Спам с различных серверов, которые спамеры арендуют на короткое время, не является основным его источником, а скорее служит в рекламных целях. Таким образом, задача борьбы со спамом сводится к обнаружению спам-ботов на компьютерах пользователей. Объем рассылаемого спама для домашних пользователей с шириной канала в 10-20 мбит может достигать до 50-100 Гб спама в день, что из-за большого количества спам-ботов приводит к серьезным нагрузкам на почтовые серверы. При удалении спам-ботов с компьютеров пользователей можно решить задачу приостановки рассылки спама и существенно снизить нагрузку на почтовые серверы и каналы связи.

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

Помимо того, что спам-бота можно обнаружить, зная его модель поведения, еще один способ обнаружения связан с недостатками их реализации. Как правило, все спам-боты имеют плохо оптимизированный и некачественный алгоритм отправки самих писем, т.е. в спам-ботах плохо реализован почтовый клиент (обычно говорят об SMTP-клиенте). Это бывает связано с недостаточной компетентностью авторов спам-ботов или из-за отсутствия необходимости совершенствовать данную часть спам-бота, так как главной задачей спам-бота является рассылка как можно большего количества писем за небольшой промежуток времени.

Существуют системы, которые позволяют определять ошибки реализации почтовых клиентов, но такие системы направлены, как правило, на минимизацию потерь данных и уменьшение количества ошибок при их передаче. Например, в заявке US20070204341 анализируется SMTP-протокол, при наличии ошибок реализуются различные политики в отношении клиента, который отсылает сообщение. В заявках JP 2004214942 и JP 2000215113 говорится про обнаружение аномалий и ошибок при передаче данных при использовании протокола передачи данных.

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

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

Сущность полезной модели

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

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

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

Краткое описание чертежей

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

На фиг.1 приведен вариант схемы реализации обработчика SMTP-сессии.

На фиг.2 изображен примерный алгоритм взаимодействия обработчика SMTP-сессии с клиентом.

На фиг.3 приведена схема работы настоящей полезной модели.

Фиг.4 иллюстрирует вариант реализации настоящей полезной модели.

Описание вариантов осуществления полезной модели

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

Каждая программа-бот (или просто, спам-бот), которая занимается передачей данных, использует для этого определенный протокол. Спам-боты используют почтовый протокол SMTP для отправки спама. Ниже приведен пример простейшей сессии при использовании данного протокола, что позволит лучшим образом понять варианты определения работы спам-бота.

Пример простейшей SMTP-сессии (в данном случае S означает сервер, а С - клиент, т.е. вероятный спам-бот в рамках настоящей полезной модели):

S: (ожидает соединения)

С: (Подключается к порту 25 сервера)

S: 220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you!

С: HELO

S: 250 OK

С: MAIL FROM: <someusername@somecompany.ru>

S: 250 someusername@somecompany.ru sender accepted

С: RCPT TO: <user1@company.tld>

S: 250 user1@company.tld ok

С: RCPT TO:<user2@company.tld>

S: 550 user2@company.tld unknown user account

С: DATA

S: 354 Enter mail, end with "." on a line by itself

С: from: someusername@somecompany.ru

С: to: user1@company.tld

С: subject: Theme

С:

С: Hi!

С:.

S: 250 769947 message accepted for delivery

С: QUIT

S: 221 mail.company.tld CommuniGate Pro SMTP closing connection

S: (закрывает соединение)

Можно заметить, что работа протокола представляет некоторый диалог, который является в общем односторонним: клиент отсылает команду, а сервер на нее отвечает. Но существует возможность сделать сервер активным (насколько это возможно в рамках протокола). Активность заключается в использовании нестандартных ответов, на которые клиент должен отреагировать должным образом (что и будет при грамотной реализации SMTP-клиента).

На фиг.1 приведена схема реализации обработчика SMTP-сессии. Вариант А описывает стандартный алгоритм работы клиента 110 с SMTP-сервером 120. В рамках этого варианта клиент 110 (также называемый MUA, Mail User Agent, т.е. программа, позволяющая пользователю отправлять и получать письма у себя на компьютере) передает данные на SMTP-сервер 120 (также это МТА, Mail Transfer Agent, т.е. программа на сервере, отвечающая за отправку почты), как это показано на примере работы SMTP-сессии и как уже говорилось, выглядит в виде одностороннего диалога клиента с сервером, где последний лишь оповещает клиента о статусе выполненных операций.

Вариант Б на фиг.1 предусматривает использование обработчика SMTP-сессии, т.е. модуля для отслеживания порядка взаимодействия в рамках протокола SMTP. Обработчик SMTP-сессии 130 находится между клиентом 110 и SMTP-сервером 120. Помимо обработки запросов клиента 110 к SMTP-серверу 120, обработчик SMTP-сессии 130 также связан с политиками 140 работы с клиентом. Политики по работе с клиентом могут включать использование "черных списков" (blacklist) по IP-адресам, различные запреты на передачу писем и т.д. В качестве политики можно рассматривать блокировку отправления в течение некоторого времени (это связано с тем, что спам-боты могут работать в определенное время), только затем разрешая отправку письма.

Многие спам-боты начинают загружать свои данные целиком, т.е. не в виде обмена сообщениями с сервером, а сразу весь поток данных. Многие серверы поддерживают расширение протокола SMTP "PIPELINING", либо не проверяют порядок посылки команд клиентом. Это позволяет передавать сообщение на сервер, не выполняя ни единого чтения ответа сервера, что упрощает написание неправомерных клиентов (тех же спам-ботов). Многие спам-боты поступают именно так. Следовательно, в одном из вариантов реализации обработчик SMTP-сессии 130 обнаруживает спам-бота по проверке порядка посылки команд клиентом.

На фиг.2 изображен примерный алгоритм взаимодействия обработчика SMTP-сессии 130 с клиентом 110. После начала SMTP-сессии на этапе 210 происходит чтение из сокета соединения до выдачи баннера (баннером называют ответ сервера о готовности принимать команду клиента после начала сессии). Если на сокет уже в это время поступают данные, то это означает ошибку. Если после выдачи баннера клиент не отослал данные в течение заданного времени - то это может означать, что клиент медленный, либо происходит DOS-атака.

Также на этапе 220 проверяется адрес клиента (hostname) на наличие этого адреса, например, в DUL (Dial Up User List) базах, наличие в которых обычно говорит о том, что SMTP-сессия используется для рассылки спама. При ответе клиента важным также является таймаут, т.е. время ответа клиента после заданного ответа сервера. Например, это важно при проверке обработке многострочного ответа и комбинации, завершающих строку ответа символов <CR><LF> (т.е. переход на новую строку). Если после выдачи строки 250-OK<CR><LF> и чтения из сокета с таймаутом в 5 сек происходит получение данных, это расценивается как критическая ошибка. Подобная оценка проводится наряду с другими подобными действиями на этапе 230. По мере накопления данных о дефектах обработки ответов сервера, у клиента будет расти уровень репутации, которая характеризует его как потенциальный спам-бот.

Остановимся на репутации более подробно. Репутация вычисляется при срабатывании определенного набора правил, каждое из которых характеризует различные ошибки реализации протокола передачи данных. Ниже приведена таблица с примерными вариантами реализации для SMTP-протокола.

Таблица 1
Уровень репутации ПараметрЗначение срабатыванияВремя жизни параметра
КритическийПередача данных от клиента До баннера1 месяц
НекритическийНе получение команды от клиента5 сек после выдачи баннера 1 неделя
КритическийПередача данных от клиента Отсутствие передаваемых данных 1 месяц

Как можно видеть, каждое правило характеризуется собственной оценкой или уровнем репутации. В данном примере уровень репутации может быть указан в виде обозначений вроде "критический", "некритический" и т.д. Оценки могут также быть выражены и в виде чисел (например, аналогично подсчету рейтинга безопасности в патенте US 7530106). В качестве примера и значения срабатывания могут выступать различные варианты передачи данных от клиента 110 SMTP-серверу 120. Наконец, время жизни характеризует длительность влияния сработавшего правила на репутацию. Таким образом, каждый клиент имеет свой уровень репутации, который характеризует клиента как потенциальный спам-бот и который меняется со временем, что позволяет избежать возможных ложных срабатываний.

На фиг.3 приведена схема работы настоящей полезной модели. После получения запроса от клиента, на этапе 310 происходит определение используемого протокола и особенностей передачи данных. Примером такого этапа может служить фиг.2 с описанием деталей передачи данных с использованием SMTP-протокола и последующим выставлением репутации для клиента 110. Затем, на этапе 320 проверяют, используют ли спам-боты выявленный протокол и при отрицательном ответе на этапе 330 делается вывод о том, что запрос не является работой спам-бота. В противном случае, на этапе 340 происходит оценка количества похожих запросов к серверу. После этого, на этапе 350 проверяется количество запросов и если оно превышает заданный порог, то на этапе 360 делается вывод о том, что запрос не является работой спам-бота. В ином случае, на этапе 370 система располагает информацией о том, что запрос характеризуется определенной репутацией, которая характерна для спам-бота (этап 310), протокол используется спам-ботами (этап 320) и количество запросов к серверу достаточно велико (этап 340). Все это говорит о том, что запрос(-ы) к серверу является работой спам-бота. По имеющимся данным, на этапе 370 определяются известные уязвимости спам-бота или, как вариант, - определяется известный сценарий (средство) лечения для данного спам-бота. После этого, на этапе 380 полученное средство лечения рассылается на все адреса, которые отправляли запросы, аналогичные проанализированному.

Фиг.4 иллюстрирует вариант реализации настоящей полезной модели. Средство 410 определения протокола передачи данных определяет тип используемого протокола и особенности передачи данных, оценивая уровень репутации с помощью базы данных 420 репутационных правил. Помимо этого, средство 430 оценивает количество похожих запросов от других клиентов. Комбинируя полученную от обоих средств информацию, средство 440 определения типа спам-бота сравнивает эту информацию с данными, хранящимися в базе данных 450 характеристик спам-бота. После того, как спам-бот был успешно определен, средство 460 распространения противодействия спам-боту рассылает средство лечения по адресам, которые отправляли запросы, аналогичные проанализированному.

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

1. Система удаления рассылающих спам программ, содержащая узлы и средства:

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

б) упомянутая база данных репутационных правил предназначена для хранения репутационных правил, которые определяют уровень вероятности того, что клиент является программой, рассылающей спам;

в) средство оценки количества запросов, связанное со средством определения типа программы, рассылающей спам, и средством распространения противодействия программе, рассылающей спам, при этом упомянутое средство оценки количества запросов определяет количество похожих запросов, поступающих на сервер от других клиентов, и составляет список их адресов;

г) упомянутое средство определения типа программы, рассылающей спам, связано с базой данных характеристик программы, при этом упомянутое средство определения типа программы, рассылающей спам, предназначено для сравнения полученных данных от средства определения протокола передачи данных и средства оценки количества запросов, для сопоставления с данными из базы данных характеристик программы, рассылающей спам, с целью выявления программы, рассылающей спам;

д) упомянутая база данных характеристик программы, рассылающей спам, предназначена для хранения данных, идентифицирующих программу, рассылающей спам;

е) упомянутое средство распространения противодействия программе, рассылающей спам, предназначено для удаления программы, рассылающей спам, с помощью отправки средства лечения программы, рассылающей спам, на адреса клиентов, полученные от средства оценки количества запросов.

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



 

Наверх