Код документа: RU2355018C2
Область техники
Настоящее изобретение относится, в основном, к электронному обмену сообщениями и, в частности, относится к фильтрации нежелательной электронной почты.
Предшествующий уровень техники
Электронный обмен сообщениями, в частности электронная почта, передаваемая по Интернету, быстро становится не только почти всеобъемлющей в обществе, но также, принимая во внимание ее естественность, легкость использования и малую стоимость, предпочтительным методом общения для многих индивидуумов и организаций.
К сожалению, получатели электронной почты во все возрастающей степени подвергаются воздействию незапрашиваемых массовых почтовых отправлений. С ростом основанной на Интернете торговли обширное и возрастающее множество электронных торговых фирм многократно посылают незапрашиваемые почтовые отправления, рекламирующие их продукты и услуги, постоянно расширяющейся сфере получателей электронной почты. Большинство покупателей, кто заказывает продукты или иным образом заключает сделку с торговой фирмой по Интернету, ожидают и, на самом деле, действительно принимают такие настойчивые навязывания услуг от их торговых фирм.
Однако отправители электронной почты постоянно расширяют свои списки рассылки для охвата все возрастающего количества получателей. Например, получатели, которые просто предоставляют свои адреса электронной почты в ответ на возможно кажущиеся безобидными запросы на информацию о посетителе, генерируемую различными веб-сайтами, часто получают незапрашиваемую почту и, к своему неудовольствию, обнаруживают, что они были включены в электронные списки рассылки. Это происходит без оповещения, не говоря уже о согласии, получателей. Кроме того, отправители электронной почты часто распространяют свой список рассылки, посредством продажи, аренды или иным образом, другому такому отправителю почты для его использования и т.д. с последующими отправителями почты. Следовательно, по прошествии длительного времени получатели электронной почты часто оказываются все больше и больше загруженными незапрашиваемой почтой, являющейся результатом отдельных списков рассылки, поддерживаемых обширным и возрастающим множеством массовых отправителей почты. Индивидуум легко может получать сотни и даже тысячи сообщений незапрашиваемой электронной почты в течение года. Можно ожидать, что индивидуумы в электронных списках рассылки будут получать значительно большее количество незапрашиваемых сообщений в течение значительно более короткого периода времени.
Кроме того, хотя многие незапрашиваемые сообщения электронной почты является неопасными, такие как предложения о скидке на канцелярские товары и компьютерные принадлежности, процентные ставки по закладной или приглашения посетить конференции того или иного вида, другие, такие как порнографические, подстрекательские и оскорбительные материалы, являются неприятными для их получателей. Эти незапрашиваемые сообщения известны как "макулатурная" почта или как "спам". Нагрузка электронной почты от спама может быть эквивалентна нагрузке, создаваемой законной электронной почтой.
Аналогично задаче обработки "макулатурной" почты получатель электронной почты должен тщательно анализировать свою входящую почту для удаления спама. Компьютерная отрасль признала эту проблему и разработала методы для автоматического удаления спама. Например, одним методом является использование списков сфер влияния. Получатели электронной почты подписываются на списки сфер влияния, которые идентифицируют и отклоняют почту с использованием набора характеристик, основанного на определенных правилах. К сожалению выбор, является ли или нет данное сообщение электронной почты спамом, в большой степени зависит от конкретного получателя и фактического содержимого сообщения. То, что может быть спамом для одного получателя, может не быть спамом для другого, что ограничивает функциональность списков сфер влияния. Кроме того, отправитель электронной почты (т.е. генератор спама) будет подготавливать сообщение таким образом, что его истинное содержимое не очевидно из его строки темы и может стать понятным только из чтения тела сообщения.
Другой разработанный метод известен как список черных дыр. Список черных дыр представляет собой список известных спамовых адресов, из которых посылается спам. Адрес отправителя электронной почты проверяется по списку черных дыр. Если адрес есть в списке, электронная почта не принимается. Генераторы спама просто меняют свой адрес, чтобы обойти этот метод. Также были разработаны другие методы. Ни один из методов не является эффективным на 100%. Нововведения серверов электронной почты для предотвращения спама преодолеваются нововведениями создателей спама, подавляющими нововведения.
Краткое изложение сущности изобретения
В настоящем изобретении создана инфраструктура, которая позволяет развертывать множество решений по обнаружению спама для совместной работы управляемым и рациональным образом и позволяет создавать и развертывать нововведения по модели оперативного развертывания.
Представлен способ, который определяет, является ли сообщение электронной почты спамом, используя антиспамовые модули. Способ вызывает один из антиспамовых модулей и принимает уровень достоверности спама от антиспамового модуля. Коэффициент настройки может применяться к уровню достоверности спама с целью создания настроенного уровня достоверности спама. Наивысший уровень достоверности спама сравнивается с по меньшей мере одним порогом. Если наивысший уровень достоверности спама больше, чем порог, вызывается действие, ассоциированное с по меньшей мере одним порогом.
В одном варианте выполнения используется множество порогов, включающих в себя верхний порог, и наивысший уровень достоверности спама сравнивается с каждым порогом. Если наивысший уровень достоверности спама больше, чем один или несколько порогов, вызывается действие, ассоциированное с порогом, который был превышен, который является ближайшим к верхнему порогу.
Вызываемые действия включают в себя сброс соединения, если наивысший уровень достоверности спама превышает первый пороговый уровень, возврат сообщения о недоставке отправителю, если наивысший уровень достоверности спама превышает второй пороговый уровень и ниже первого порогового уровня, доставку сообщения в папку "макулатурной" почты, если наивысший уровень достоверности спама превышает третий пороговый уровень и ниже второго порогового уровня, и посылку наивысшего уровня достоверности спама клиенту, позволяя клиенту выполнить специфические для конкретного пользователя действия.
Дополнительные отличительные признаки и преимущества изобретения поясняются в последующем подробном описании иллюстративных вариантов выполнения со ссылками на прилагаемые чертежи.
Краткое описание чертежей
Хотя прилагаемая формула изобретения подробно излагает отличительные признаки настоящего изобретения, изобретение, вместе с его целями и преимуществами, можно лучше всего понять из последующего подробного описания, рассматриваемого совместно с прилагаемыми чертежами, на которых представлено следующее:
фиг.1 - блок-схема, иллюстрирующая, в основном, примерную компьютерную систему, в которой может быть реализовано настоящее изобретение;
фиг.2 - блок-схема, иллюстрирующая, в основном, инфраструктуру настоящего изобретения в системе, использующей стек протоколов SMTR (простой протокол пересылки почты);
фиг.3 - блок-схема, иллюстрирующая примеры антиспамовых модулей, используемых согласно настоящему изобретению; и
фиг.4 - блок-схема последовательности операций, иллюстрирующая процесс интеграции антиспамовых модулей и определения, является ли сообщение спамом.
Подробное описание изобретения
Как показано на чертежах, на которых одинаковыми ссылочными позициями обозначены сходные элементы, изобретение иллюстрируется как реализуемое в подходящей вычислительной среде. Хотя это не требуется, изобретение описывается в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые персональным компьютером. В основном, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, для специалиста в данной области техники понятно, что изобретение может применяться с другими конфигурациями компьютерных систем, включая карманные устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые персональные компьютеры (ПК), миникомпьютеры, мэйнфреймы и т.п. Изобретение также может применяться в распределенных вычислительных средах, в которых задачи выполняются при помощи удаленных устройств обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут располагаться как на локальных, так и на удаленных запоминающих устройствах хранения.
На фиг.1 изображается пример подходящей среды 100 вычислительной системы, на которой может быть реализовано изобретение. Среда 100 вычислительной системы представляет собой только один пример подходящей вычислительной среды и не предназначена для каких-либо ограничений в отношении объема использования или функциональных возможностей изобретения. Вычислительная среда 100 также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящиеся к какому-либо одному или комбинации компонентов, изображенных в примерной операционной среде 100.
Изобретение может работать с множеством других сред или конфигураций вычислительных систем общего назначения или специального назначения. Примеры общеизвестных вычислительных систем, сред и/или конфигураций, которые могут быть подходящими для использования с изобретением, включают в себя, без ограничения указанным: персональные компьютеры, серверные компьютеры, карманные или портативные устройства, планшетные устройства, мультипроцессорные системы, микропроцессорные системы, телевизионные приставки, программируемую бытовую электронику, сетевые ПК, миникомпьютеры, мэйнфреймы, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или устройств, и т.д.
Изобретение может быть описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые компьютером. В общих чертах программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Изобретение также может применяться в распределенных вычислительных средах, в которых задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут располагаться на носителях данных локальных и/или удаленных компьютеров, включая в себя запоминающие устройства хранения.
Согласно фиг.1 примерная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но без ограничения указанным, блок 120 обработки, системную память 130 и системную шину 121, которая соединяет различные компоненты системы, включая системную память с блоком 120 обработки. Системная шина 121 может быть любой из разных типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из множества шинных архитектур. В качестве неограничительного примера такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину межсоединений периферийных компонентов (PCI), также известную как шина расширения.
Компьютер 110 обычно включает в себя множество машиночитаемых носителей. Машиночитаемые носители могут представлять собой любые доступные носители, к которым может обращаться компьютер 110, и они включают в себя как энергозависимые, так и энергонезависимые носители и как съемные, так и несъемные носители. В качестве примера, но не ограничения, машиночитаемые носители могут содержать носители данных компьютера и среду передачи данных. Носители данных компьютера включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, выполненные по любому методу или технологии для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Носители данных компьютера включают в себя, без ограничения указанным, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (ЭСППЗУ), флэш-память или другую технологию изготовления памяти, компакт-диск, цифровой многофункциональный диск (DVD) или другое запоминающее устройство на оптическом диске, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться компьютер 110. Среда передачи данных обычно заключает в себе считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном данными сигнале, таком как несущее колебание или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, в котором одна или несколько из его характеристик устанавливаются или изменяются так, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная (РЧ), инфракрасная или другая беспроводная среда. Комбинации любых из вышеприведенных признаков также должны быть включены в объем считываемых компьютером носителей.
Системная память 130 включает в себя носитель данных компьютера в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые подпрограммы, которые способствуют переносу информации между элементами в компьютере 110, например во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, к которым осуществляется непосредственный доступ и/или которые в настоящий момент обрабатываются блоком 120 обработки. В качестве примера, но не ограничения, на фиг.1 изображена операционная система 134, программы 135 приложений, другие программные модули 136 и программные данные 137.
Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые носители данных компьютера. Только в качестве примера, на фиг.1 изображен накопитель 141 на жестких дисках, который считывает или записывает на несъемные энергонезависимые магнитные носители, накопитель 151 на магнитных дисках, который считывает или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который считывает или записывает на съемный энергонезависимый оптический диск 156, такой как компакт-диск или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые носители данных компьютера, которые могут использоваться в примерной операционной среде, включают в себя, без ограничения указанным, кассеты с магнитной лентой, карты флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 141 на жестких дисках обычно подсоединяется к системной шине 121 при помощи интерфейса несъемной памяти, такого как интерфейс 140, и накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках обычно подсоединяются к системной шине 121 при помощи интерфейса съемной памяти, такого как интерфейс 150.
Накопители и связанные с ними носители данных компьютера, описанные выше и изображенные на фиг.1, обеспечивают хранение считываемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, накопитель 141 на жестких дисках изображен как хранящий операционную систему 144, программы 145 приложений, другие программные модули 146 и программные данные 147. Данные компоненты могут быть или теми же самыми, или могут быть отличными от операционной системы 134, программ 135 приложений, других программных модулей 136 и программных данных 137. Операционная система 144, программы 145 приложений, другие программные модули 146 и программные данные 147 обозначены здесь другими ссылочными позициями для иллюстрации того, что, как минимум, они представляют собой разные копии. Пользователь может вводить команды и информацию в компьютер 110 при помощи устройств ввода, таких как клавиатура 162, указательное устройство 161, обычно упоминаемое как мышь, трекбол или сенсорная панель, микрофон 163 и планшет или электронный дигитайзер 164. Другие устройства ввода (не показаны) могут включать в себя джойстик, игровой планшет, антенну спутниковой связи, сканер и т.п. Эти и другие устройства ввода часто подключаются к блоку 120 обработки при помощи интерфейса 160 пользовательского ввода, который подсоединяется к системной шине, но могут подключаться при помощи других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или устройство отображения другого типа также подключается к системной шине 121 при помощи интерфейса, такого как видеоинтерфейс 190. Монитор 191 также может быть интегрирован с панелью с сенсорным экраном или т.п. Монитор и/или панель с сенсорным экраном физически могут быть объединены с корпусом, в котором находится вычислительное устройство 110, как например в персональном компьютере планшетного типа. Кроме того, компьютеры, такие как вычислительное устройство 110, также могут включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут подключаться при помощи интерфейса 195 периферийных устройств вывода или т.п.
Компьютер 110 может работать в сетевой среде, используя логические подключения к одному или нескольким удаленным компьютерам, таким как удаленный компьютер 180. Удаленным компьютером 180 может быть персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой общий сетевой узел, и он обычно включает в себя многие или все из элементов, описанных выше в отношении компьютера 110, хотя на фиг.1 показано только запоминающее устройство 181 хранения. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но также могут включать в себя другие сети. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях масштаба предприятия, интрасетях и Интернете. Например, компьютерная система 110 может содержать машину источника, являющуюся отправителем данных, а удаленный компьютер 180 может представлять собой машину-получатель данных. Однако нет необходимости, чтобы машины отправителя и получателя были соединены при помощи сети или другого средства. Вместо этого данные могут переноситься посредством любого носителя, выполненного с возможностью записи платформой отправителя и считывания платформой или платформами получателя.
При использовании в сетевой среде ЛС компьютер 110 подключается к ЛС 171 при помощи сетевого интерфейса или адаптера 170. При использовании в сетевой среде ГС компьютер 110 обычно включает в себя модем 172 или другое средство для установления связи по ГС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может подключаться к системной шине 121 при помощи интерфейса 160 пользовательского ввода или другого подходящего механизма. В сетевой среде программные модули, описанные в отношении компьютера 110 или его частей, могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, на фиг.1 изображены удаленные прикладные программы 185, постоянно находящиеся в устройстве 181 хранения. Понятно, что показанные сетевые соединения приведены для примера и что могут использоваться другие средства для установления линии связи между компьютерами.
В нижеследующем описании изобретение поясняется со ссылкой на действия и символические представления операций, которые выполняются одним или несколькими компьютерами, если не указано иначе. По существу, понятно, что такие действия и операции, на которые иногда ссылаются как исполняемые компьютером, включают в себя манипулирование блоком обработки компьютера электрическими сигналами, представляющими данные в структурированной форме. Это манипулирование преобразует данные или сохраняет их в ячейках системы памяти компьютера, что изменяет конфигурацию или иным образом влияет на работу компьютера, как известно для специалиста в данной области техники. Структуры данных, где данные сохраняются, представляют собой физические ячейки памяти, которые имеют конкретные свойства, определяемые форматом данных. Однако хотя изобретение описывается в вышеприведенном контексте, подразумевается, что он не является ограничительным, так как для специалиста в данной области техники должно быть понятным, что различные действия и операции, описанные ниже в данном документе, также могут быть реализованы аппаратными средствами.
Для описания изобретения используется протокол SMTR (простой протокол пересылки почты) с сервером Exchange. Exchange представляет собой сервер электронной почты, созданный корпорацией Microsoft. Протокол SMTR представляет собой широко распространенный протокол электронной почты, используемый в Интернете. Хотя представлено использование SMTR и Exchange, изобретение может использоваться с другими протоколами пересылки и почтовыми серверами. SMTR представляет собой протокол связи (TCP/IP) (протокол управления передачей/протокола Интернета), который определяет форматы сообщений, используемые для пересылки почты с одного сервера электронной почты, такого как Exchange, по Интернету на другой сервер электронной почты. Согласно протоколу SMTR сообщение электронной почты обычно посылается следующим образом. Пользователь запускает программу электронной почты для создания сообщения электронной почты, и программа электронной почты помещает текст сообщения и управляющую информацию в очередь исходящих сообщений. Очередь обычно реализуется как группа файлов, доступных для сервера электронной почты.
Сервер Exchange устанавливает соединение по протоколу TCP с зарезервированным портом SMTR на сервере электронной почты получателя и использует протокол SMTR для пересылки сообщения по Интернету. Сеанс протокола SMTR между передающим и принимающим серверами приводит к пересылке сообщения из очереди на передающем хосте в очередь на принимающем хосте по этапам. Этапы включают от предоставления передающим сервером адреса протокола IP устанавливаемого соединения до приема всех заголовков сообщения и содержимого сообщения. Когда завершается пересылка сообщения, принимающий сервер закрывает соединение TCP, используемое протоколом SMTR, передающий хост удаляет сообщение из своей почтовой очереди, и получатель использует свою сконфигурированную программу электронной почты для чтения сообщения в почтовой очереди.
Согласно фиг.2 стек 200 протоколов SMTR выполняется на информационном сервере 202 Интернета (IIS), который представляет собой программное обеспечение веб-сервера, продаваемое корпорацией Microsoft, установленное на сервере 204. Сервер IIS 202 устанавливает связь при помощи протокола SMTR с другими серверами 206 Exchange или серверами SMTR (не показаны) по сети Интернет. Сервер IIS 202 имеет базу 208 данных, которая используется для хранения исходящих или входящих сообщений. Когда устанавливается соединение по протоколу 200 SMTR для входящего сообщения, событие запускается и принимается инфраструктурой 210. Инфраструктура 210 перехватывает сообщение и передает его на один или несколько фильтров 212. Фильтр 212 анализирует сообщение, определяет уровень достоверности, который имеет фильтр 212, что сообщение является спамом, и посылает уровень достоверности инфраструктуре 210. Инфраструктура 210 принимает решение, основанное на уровне достоверности, требуется ли ей вызов другого фильтра 212 или действия 214. Действие 214 включает в себя сброс соединения, посылку сообщения на транспортное средство 216 Exchange и удаление сообщения. Транспортное средство 216 Exchange маршрутизирует сообщение. Оно определяет, должно ли сообщение доставляться в почтовый ящик на сервере 204 или оно должно передаваться по протоколу SMTR 200 на другой сервер 206.
Согласно фиг.3 фильтры 212 включают в себя различные типы антиспамовых технологий обнаружения. Например, типами фильтров 212 могут быть модуль 300 списка черных дыр реального времени, нелинейный модуль 302, антивирусный интерфейс 304 прикладного программирования (ИПП), причем антивирусные модули 306 используются для осуществления связи с сервером 204 Exchange, модуль 308 списка сфер влияния и другие фильтры 310, которые используют свои собственные правила для определения, является ли сообщение спамом. Например, другими фильтрами 310 могут быть классификация текста, совпадение ключевых слов и т.д.
Модуль 300 списка черных дыр реального времени сравнивает IP-адрес отправителя сообщения с известным списком спамовых адресов. Если IP-адрес находится в известном списке, сервер 204 Exchange не принимает почту. Нелинейный модуль 302 нормализует уровни достоверности фильтра 212, используя функции, такие как s-образная кривая, байесовская функция и т.п., которые форсируют разделение между спамом и законными сообщениями. Например, если фильтр 212 возвращает уровень достоверности 95%, нелинейный модуль 302 может масштабировать уровень достоверности до 96%, тогда как уровень достоверности 40% может масштабироваться до уровня достоверности 30%. Модуль 308 списка сфер влияния отклоняет почту во время обмена по протоколу SMTR между отправителем и сервером Exchange на основе доступной информации, включающей в себя почтовый адрес отправителей и/или домен, целевого получателя(ей) почты и характеристики тела фактического сообщения, такие как идентификатор сообщения, дата, тема, тип вложения и имя.
Инфраструктура 210 управляет вызовом одного или нескольких антиспамовых фильтров 212, нормализует результаты каждого вызова, оценивает нормализованный результат и выполняет действие по результату. Инфраструктура 210 обычно развертывается на серверах 204 на границе сети (т.е. почтовых серверах, которые первыми принимают электронную почту из Интернета). Некоторые из используемых технологий, такие как классификация текста, могут использоваться для различных применений, таких как идентификация важности или чувствительность сообщения. В результате этого инфраструктура также может полезно развертываться на внутренних серверах. Инфраструктура 210 может использоваться исключительно в качестве библиотеки утилит, которые вызываются существующими автономными реализациями обнаружения спама, способствуя переносу данных из автономных реализаций, или более предпочтительно в качестве оболочки, которая обеспечивает абстракцию от базового событийного механизма (описан ниже), который используется для вызова антиспамовых фильтров 212. Вариант выполнения оболочки позволяет также использовать антиспамовые фильтры 212, разработанные для электронной почты, для других решений по обмену сообщениями, таких как мгновенный обмен сообщениями, определение сообщений с домогательствами и т.д. В любом случае инфраструктура поставляется как библиотека, которая компонуется в антиспамовую технологию во время компоновки или выполнения.
Архитектура стека 200 протоколов SMTR в Exchange такова, что события запускаются (т.е. инициируются) стеком 200 для приемников события, которые обычно реализуются как объекты модели составных объектов (COM). Когда развертывается новая антиспамовая технология, она реализует объект COM, который регистрируется в системе обработки событий протокола во время инсталляции. Код регистрации поставляется инфраструктурой 210. Инсталляция инфраструктуры 210 включает в себя инсталляцию программного обеспечения на рассматриваемом сервере, регистрацию приемника события, разрешение или запрещение конкретных методов для конкретного сервера при помощи консоли системного администратора и установление стратегий оценки и действий, которые должны последовать, когда будет приниматься спам. Разрешение/запрещение конкретного метода улучшает управляемость инфраструктуры 210 посредством предоставления всем серверам в сети возможности содержать идентичный двоичный программный код.
На фиг.4 изображен процесс интеграции антиспамовых модулей 212 и определения, является ли сообщение спамом. Во время выполнения, когда соединение открывается для стека 200 протокола SMTR (и указывает после этого), запускается событие (этап 400). Система диспетчеризации событий инспектирует свой список регистраций и вызывает соответствующий объект. Вызов поступает на инфраструктуру 210 или непосредственно, когда она действует в качестве оболочки, или косвенно, когда она вызывается в качестве библиотечной функции (этап 402). В обоих случаях инфраструктура 210 проверяет свою собственную конфигурацию с целью определения, какая из антиспамовых технологий 300-310, для которой она была зарегистрирована, была "разрешена" или "запрещена" системным администратором. Перечисляются антиспамовые технологии, которые была разрешены, и результирующее значение уровней достоверности спама устанавливается на ноль (этап 404).
Если "разрешается" конкретный антиспамовый фильтр 212, инфраструктура 210 получает любую информацию, которая доступна для антиспамового фильтра 212, для исследования и посылает информацию на фильтр 212 (этап 406). Количество и тип доступной информации изменяется в зависимости от этапа протокола, на котором вызывается фильтр 212. Например, первый раз вызванной может быть только информация об IP-адресе устанавливаемого соединения. При последнем вызове, перед тем как сообщение будет принято системой, будут доступны все заголовки и содержимое сообщения. Если инфраструктура 210 может вскрыть кодированное содержимое сообщения, инфраструктура 210 вскрывает кодированное содержимое сообщения в форму, которую более просто использовать антиспамовым фильтром 212. Если инфраструктура реализуется в виде оболочки, то эта информация будет автоматически доступна. При реализации в виде библиотеки информация будет доступна, только если она будет специально запрошена антиспамовым фильтром 212. Независимо от вида инфраструктуры (т.е. оболочка или библиотека) служебные функции, такие как вскрытие содержимого сообщения, пассивно вызываются антиспамовым фильтром для снижения нагрузки центрального процессора (ЦП). В одном варианте выполнения инфраструктура 210 также обеспечивает поиск адресов получателей в сообщении, которые фильтр 212 может использовать как часть своей оценки части почты в качестве спама.
После завершения своей оценки фильтр 212 передает обратно инфраструктуре 210, посредством возвращаемого значения или ссылки (или посредством вызова в библиотеку инфраструктуры), оценку достоверности, которая имеет решение, что конкретное сообщение почты является спамом (этап 408). Инфраструктура 210 обычно ожидает ответ в диапазоне 0-100%, где 0% представляет безусловно не спам и 100% представляют безусловно спам. В одном варианте выполнения процент указывается как число между 0 и 1000. Чтобы согласовать различные антиспамовые технологии 300-310, которые используют различные меры, инфраструктура 210 обеспечивает применение масштабирования или коэффициента настройки к результатам от каждого индивидуального фильтра 212, вызываемого для создания нормализованного или настроенного уровня достоверности спама (этап 410). Коэффициент масштабирования или настройки конфигурируется администратором сервера 204. Это реализует нормализацию, которую инфраструктура должна выполнять для сравнения результатов различных фильтров 212. Это нормализованное число упоминается как уровень достоверности спама. Уровень достоверности спама добавляется к итоговому значению уровней достоверности спама (этап 412). Инфраструктура 210 хранит вычисленный уровень достоверности спама в качестве текущей суммы или в самом сообщении для сохраняемости и/или в памяти для эффективности. Результаты оценки последовательных решений добавляются к итоговому значению уровней достоверности спама.
Нормализация (т.е. применение коэффициента масштабирования) может быть реализована разными путями. Например, одним путем нормализации результатов является доверие в равной степени результатам каждого фильтра 212 и простое суммирование результатов (например, 0,5+0,7+0,8+…=итоговое значение). Другим путем является применение масштабирования к каждому. Например, если администратору нравится как конкретный фильтр обнаруживает спам, администратор будет масштабировать уровень достоверности спама этого фильтра на относительно большое число (например, 0,9). Аналогично, если есть фильтр, в котором администратор не чувствует уверенности, администратор масштабирует уровень достоверности спама этого фильтра на относительно малое число (например, 0,3). Другим примером коэффициента масштабирования является применение нелинейной нормализации уровня достоверности с использованием взвешенной кривой, например s-образной кривой. Например, если фильтр 212 возвращает уровень достоверности спама 95%, коэффициент масштабирования масштабирует его в сторону увеличения до, например, 96%. Если уровень достоверности спама находится в середине диапазона (например, 50-55%), применяется более радикальное масштабирование для масштабирования его в сторону уменьшения (например, 30-35%).
Инфраструктура 210 предоставляет администратору возможность устанавливать несколько порогов, дающих администратору право определять различные выполняемые действия с сообщением, основываясь на максимальном пороге, превышенным итоговым значением уровней достоверности спама. Действия могут удерживать сообщения от доставки до тех пор, пока не будет получено лучшее представление о том, является ли сообщение спамом, сбрасывать соединение, посылать сообщение о недоставке отправителю, удалять сообщение, передавать его другому фильтру 212, основываясь на итоговом значении уровней достоверности спама, посылать сообщение получателю и т.д. В инфраструктуре 210 предусматривается набор по умолчанию порогов и соответствующих действий.
Итоговое значение масштабированных уровней достоверности спама сравнивается с верхним порогом, установленным администратором (этап 414). Если итоговое значение уровней достоверности спама превышает верхний порог, выполняется действие, сконфигурированное для верхнего порога (этап 416). Если итоговое значение уровней достоверности спама не превышает верхнего порогового уровня и если существуют еще фильтры 212, которые могут быть использованы для оценки сообщения (этап 418), этапы 404-416 повторяются до тех пор, пока или не будет превышен верхний порог, или не будет принят конец сообщения (этап 420). Если не был принят конец сообщения, стек 200 протоколов SMTR переходит к следующему состоянию (422) принятия сообщения, и этапы 406-420 повторяются для следующего состояния принятия сообщения. Если был принят конец сообщения и все разрешенные фильтры проанализировали сообщение, итоговое значение уровней достоверности спама сравнивается с остальными порогами в порядке с верхнего порога до нижнего порога (этап 424) до тех пор, пока итоговое значение уровней достоверности спама не превысит порог (этап 426). Если итоговое значение уровней достоверности спама превышает порог, выполняется действие, сконфигурированное для этого порога.
После того как фильтр 212 завершит свой анализ, инфраструктура 210 оценивает итоговое значение уровней достоверности спама в зависимости от набора порогов, определенных администратором. Если итоговое значение уровней достоверности спама больше, чем наивысший порог, установленный администратором, то с сообщением выполняется действие, определенное для наивысшего порога. В противном случае последующие фильтры используются для оценки сообщения до тех пор, пока или не будет превышен максимальный порог, или все фильтры не выполнят оценку сообщения. После того как все фильтры выполнят оценку сообщения, итоговое значение уровней достоверности спама сравнивается со всеми порогами и выбирается совпадающий порог. Затем выполняется действие, ассоциированное с этим порогом. Например, если итоговое значение уровней достоверности спама превышает 99%-порог уровня достоверности, соединение для передачи сообщения может быть сброшено без объявления. Если итоговое значение уровней достоверности спама превышает 70%-порог уровня достоверности, отправителю может быть возвращено уведомление о недоставке. Если итоговое значение уровней достоверности спама превышает 40%-порог уровня достоверности, сообщение может быть доставлено в папку "макулатурной почты" в почтовом ящике пользователя. Если итоговое значение уровней достоверности спама не превышает никакой из порогов (этап 428), сообщение может рассматриваться законным и доставляется в ящик входящей почты пользователя.
Уровень достоверности спама для сообщения распространяется в сообщении, когда оно посылается между серверами в организации (и между организациями). Это предусматривает масштабированный подход к обработке различных уровней спама. Например, шлюзовые серверы (т.е. серверы на входных точках организации) в организации могут выполнять деструктивные действия, такие как отклонение или удаление спама с высокими значениями уровня достоверности спама. Альтернативно шлюзовые серверы архивируют сообщения, имеющие высокий уровень достоверности спама, так что администраторы могут проверять сообщения для контроля работы антиспамовых фильтров 212. Внутренние серверы могут выполнять менее деструктивные действия для меньших значений уровня достоверности спама, такие как перемещение сообщения в специальную папку "макулатурной" почты.
В некоторых случаях трудно определить приемлемый коэффициент масштабирования между различными антиспамовыми решениями для определения окончательного нормализованного уровня достоверности спама. В данных случаях алгоритм по умолчанию для объединения значений уровня достоверности спама от множества антиспамовых фильтров 212 должен принимать наивысшее возвращаемое значение уровня достоверности спама (после того как он будет масштабирован до нормализованного диапазона, такого как 0-9) в качестве окончательного уровня достоверности спама для сообщения. В данном варианте выполнения вызываются антиспамовые фильтры 212, и каждый антиспамовый приемник возвращает уровень достоверности спама. Определяется наивысший уровень достоверности спама и сравнивается с порогами, как описано выше. Данный алгоритм означает, что всегда выигрывает наиболее агрессивное антиспамовое решение, и имеет такое действие, что чем больше добавляется антиспамовых фильтров, тем меньше тенденция прохождения почты со спамом. Возможно, что антиспамовый фильтр 212 может быть слишком агрессивным и более часто определять, что законные сообщения являются спамом, чем другие антиспамовые фильтры 212. В такой ситуации запрещается или масштабируется уровень достоверности спама антиспамового фильтра, который является слишком агрессивным, так что уменьшается количество законных сообщений, классифицируемых как спам.
Во всех отношениях действия, выполняемые с конкретным сообщением, могут регистрироваться или добавляться в таблицу отслеживания сообщений в зависимости от уровня информации, которую администратор выбирает для регистрации. С инфраструктурой 210 для администратора доступен набор действий по умолчанию. Дополнительные действия могут быть добавлены посредством доставки кода исполнения дополнительных действий таким образом, который аналогичен образу, используемому для развертывания новых антиспамовых фильтров.
Любое сообщение, принятое для доставки в почтовый ящик инфраструктурой 210, будет иметь итоговое значение уровней достоверности спама этого сообщения, хранимое в нем в общеизвестном свойстве. Агент доставки, обрабатывающий сообщение, может выбрать оценку этого свойства как часть своей собственной логики. Клиент, просматривающий сообщение, или таблица таких сообщений, может выбрать перечисление сообщений в возрастающем или убывающем порядке итогового значения уровней достоверности спама в качестве средства идентификации тех сообщений, которые, возможно, были неправильно вычислены.
Выше описана платформа, позволяющая обнаруживать спам и вирусы и обрабатывать на краю границы сети, используя множество существующих и будущих антиспамовых фильтров и технологий. Платформа позволяет осуществлять взаимодействие и управление решениями и технологиями рациональным образом, таким образом предоставляя возможность быстрого развертывания нововведений на стороне сервера в конфликтной среде обнаружения спама.
Принимая во внимание множество возможных вариантов выполнения, к которым могут быть применены принципы настоящего изобретения, следует иметь в виду, что вариант выполнения, описанный выше со ссылками на чертежи, является исключительно иллюстративным и не должен рассматриваться как ограничивающий объем изобретения. Например, для специалиста в данной области техники понятно, что элементы изображенного варианта выполнения, показанные в программном обеспечении, могут быть реализованы аппаратными средствами, и наоборот, или что изображенный вариант выполнения может быть модифицирован в устройстве и деталях без отступления от сущности изобретения. Поэтому изобретение, как представлено в описании, рассматривает все такие варианты выполнения, которые могут охватываться объемом следующей формулы изобретения и ее эквивалентов.
Изобретение относится к электронному обмену сообщениями и, в частности, относится к фильтрации нежелательной электронной почты. Техническим результатом является обеспечение возможности использовать множество решений по обнаружению спама управляемым и рациональным образом для определения, является ли сообщение спамом. Для этого инфраструктура вызывает антиспамовые фильтры для анализа сообщения и возврата уровней достоверности, является ли сообщение спамом. Инфраструктура оценивает наивысший уровень достоверности в отношении определенных порогов. Если наивысший уровень достоверности больше, чем наивысший порог, установленный администратором, выполняется действие, заданное для наивысшего порога. Наивысший уровень достоверности также сравнивается со всеми порогами, и выполняется действие, ассоциированное с ближайшим порогом, который был превышен. 2 н. и 23 з.п. ф-лы, 4 ил.