Способ обработки электронной почты
E-MAIL PROCESSING METHOD

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к компьютерной области, области телекоммуникаций и информационной безопасности. Применяется на почтовых серверах при обработке информации имеющей криптографическую защиту, с целью снижения вероятности возникновения угрозы «Отказ в обслуживании».
УРОВЕНЬ ТЕХНИКИ
В уровне техники известен способ восстановления в аварийных ситуациях и управления для системы электронной почты (RU 2395116, 20.07.2010) имеющей множество учетных записей пользователей, содержащий этапы, на которых: маршрутизируют сообщения электронной почты на один или несколько серверов, которые принимают, обрабатывают и передают сообщения электронной почты, направляемые на клиентскую систему электронной почты; обнаруживают отказ клиентской системы электронной почты; автоматически создают множество почтовых ящиков электронной почты, соответствующих упомянутому множеству учетных записей пользователей, в ответ на обнаружение отказа в клиентской системе электронной почты и маршрутизируют сообщения электронной почты, направляемые на клиентскую систему электронной почты, на упомянутые один или несколько почтовых ящиков электронной почты, пока не устранен отказ, причем созданное множество почтовых ящиков являются доступными для соответствующих учетных записей пользователей соответственно в течение отказа клиентской системы электронной почты.
Недостатком данного способа является сложная структура перераспределения электронной почты в случае возникновения отказа в обслуживании. Также данный способ не обеспечивает возможности анализа предыдущих действий абонентов, который позволит определить потенциально возможное возникновение отказа в обслуживании сервера, вызванное его переполнением.
В уровне техники известен способ управления почтой на сервере приема почты (US20100235435A1, 02.09.2014), содержащем блок приема почты, сконфигурированный для выполнения обработки приема почты, первый почтовый ящик и второй почтовый ящик для хранения почты в соответствии с каждым почтовым адресом, а также пространство для хранения почты, которую нельзя хранить в первом почтовом ящике, причем способ включает этапы, на которых во время приема почты блоком приема почты определяют, существует ли свободная емкость, способная хранить полученную почту, в первом почтовом ящике, соответствующем почтовому адресу, указанному в пункте назначения для доставки принятой почты; сохранение почты как принятой почты с ошибкой в области хранения, когда на этапе определения определено, что первый почтовый ящик не имеет свободной емкости для хранения; извлечение информации заголовка и информации тела из принятого сообщения об ошибке, сохраненного в пространстве хранения, на этапе сохранения; создание сообщения с информационным уведомлением для сообщения информации, касающейся получения сообщения об ошибке, на почтовый адрес, описанный в доставленном адресате приема сообщения об ошибке, с использованием информации заголовка и информации тела, извлеченной блоком извлечения; а также сохранение почты с информационным уведомлением, сгенерированной на этапе управления почтой с информационным уведомлением, во втором почтовом ящике.
Недостатком данного способа является сложная структура перераспределения электронной почты в случае возникновения отказа в обслуживании. Также данный способ не обеспечивает возможности анализа предыдущих действий абонентов, который позволит определить потенциально возможное возникновение отказа в обслуживании сервера, вызванное его переполнением.
Ни в одном из перечисленных способов не применяется динамическая оценка состояния очереди сервера, основанная на результатах анализа, произведенного с использованием скрытых марковских моделей и/или искусственного интеллекта. Также известные в уровне техники решения применимы в глобальных сетях общего пользования, а для локального внутреннего почтового обмена являются избыточными и сложными.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задачей, на решение которой направлено заявленное решение заключается в устранении недостатков, выявленных в предшествующем уровне техники.
Техническим результатом заявленного изобретения, является повышение стабильности работы почтового сервера, за счет снижение вероятности реализации угрозы «Отказ в обслуживании» вызванной направлением информационного потока от клиентов превышающий возможности почтового сервера по его обработке.
Заявленный технический результат достигается благодаря тому, что способ обработки электронной почты включающий, получение электронных сообщений от клиентов и размещение их в очереди почтового сервера, определение параметров полученного сообщения, проведение динамической оценки заполняемости почтового сервера, в которой, вычисляют процент заполняемости очереди почтового сервера P, при этом:
1
а) если процент заполняемости очереди почтового сервера P равен или больше Р, то прием сообщений от всех клиентов прекращается и формируется автоматическое сообщение всем клиентам о причинах блокировки приема,
1
2
б) если процент заполняемости очереди почтового сервера P меньше Р, но равна или выше заданного значение Р, то производится отключение конкретных клиентов, чьи сообщения привели к повышению процента заполняемости почтового сервера Р, формируется и направляется автоматическое уведомление, а обработка сообщений продолжается,
2
в) если процент заполняемости очереди почтового сервера P меньше заданного значения P, то производится проверка на наличие отключённых клиентов, при их наличии они включаются на прием, им отправляются автоматические сообщения о возобновлении приема, обработка сообщений продолжается,
при этом при отсутствии отключенных клиентов обработка сообщений продолжается, при этом
2
P определяется на основании статистических данных об активности клиентов, полученных на предыдущих сообщениях.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фигуре представлена блок-схема способа обработки электронной почты.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ.
Заявленный способ применим для систем, которые представляют собой строго определенное количество почтовых серверов, в строго заданных условиях применения, у каждого почтового сервера может быть не более 300 клиентов. Способ применяется в условиях применения электронной почты, основанной на различных протоколах (POP3, SMTP, IMAP, X.400 и т.п.) и где тело письма и его вложения не подлежат анализу по причине криптографических преобразований, которыми они подверглись при отправке. В заявленном способе рассматривается только локальное состояние сервера, без учета состояний клиентов и других северов. Так же условием является наличие всех пользователей сети в качестве доверенных, что подтверждается электронной подписью.
1
2
Способ обработки электронной почты включает, получение электронных сообщений от клиентов и размещение их в очереди почтового сервера, определение параметров полученного сообщения, проведение динамической оценки заполняемости почтового сервера, в которой, вычисляют процент заполняемости очереди почтового сервера P и сравнивают с параметрами Р и Р. Процент заполняемости очереди почтового сервера Р рассчитывается после каждого сообщения поступающего в очередь, то есть по факту свершившегося события.
1
1
2
2
Если процент заполняемости очереди почтового сервера P равен или больше Р, то прием сообщений от всех клиентов прекращается и формируется автоматическое сообщение всем клиентам о причинах блокировки приема. Если процент заполняемости очереди почтового сервера P меньше Р, но равна или выше заданного значение Р, то производится отключение конкретных клиентов, чьи сообщения привели к повышению процента заполняемости почтового сервера Р, формируется и направляется автоматическое уведомление, а обработка сообщений продолжается. Если процент заполняемости очереди почтового сервера P меньше заданного значения P, то производится проверка на наличие отключённых клиентов, при их наличии они включаются на прием, им отправляются автоматические сообщения о возобновлении приема, обработка сообщений продолжается.
При отсутствии отключенных клиентов обработка сообщений продолжается.
1
P является фиксированным и определяется искусственным интеллектом на основе статистических данных за год, при этом он может корректироваться человеком.
Пример:
Максимальный размер одного сообщения от клиента 1, 2 и 3 составляет 40 Мбайт (41943040 байт), следовательно, при единовременной отправке сообщений они создадут нагрузку в 3х41943040 байт=125829120 байт.
Максимальный размер одного сообщения от клиента 4, и 5 составляет 20 Мбайт (20971520 байт), следовательно, при единовременной отправке сообщений они создадут нагрузку в 2х 20971520 байт= 41943040 байт.
Максимальный размер одного сообщения от клиента 6, 7 и 8 составляет 90 Мбайт (94371840 байт), следовательно, при единовременной отправке сообщений они создадут нагрузку в 3х 94371840 байт= 283115520 байт.
Максимальный размер одного сообщения от клиентов 9-18 составляет 95 Мбайт (99614720 байт), следовательно, при единовременной отправке сообщений они создадут нагрузку в 10х 99614720 байт= 996147200 байт.
Максимальный размер одного сообщения от клиента 19-58 составляет 55 Мбайт (57671680 байт), следовательно, при единовременной отправке сообщений они создадут нагрузку в 40х 57671680 байт= 2306867200 байт.
При одновременной отправке, по одному сообщению, от всех абонентов свободного пространства в очереди останется (4624616384 байт (размер очереди сервера) – 3753902080 байт (суммарный объем направленных сообщений) = 870714304 или 81,2% состояния заполняемости очереди. Исходя из этого делаем предположение что вероятность перехода сервера в состояние реализации угрозы отказ в обслуживании составляет 0,812 (состояние очереди в процентах делёное на 100).
2
P определяется на основании статистических данных об активности клиентов полученной на предыдущих сообщениях (статистика по направляемым сообщениям).
Клиенты отправляют различные почтовые сообщения с разными исходными значениями (разное количество адресов получателя, так как многоадресные сообщения не являются исключением и различный объем вложений)
После обработки сообщений, накопившихся в очереди, производится анализ заблокированных запросов от клиентов на приём сообщений, при их наличии сообщения этих клиентов обрабатываются в первую очередь, при отсутствии таковых продолжается прием сообщений. Анализ производится следующим образом – в соответствии с записями в системных журналах – выявляются клиенты, которые в указанный период запрашивали сервер на приём почты. Сообщения, содержащие в себе адрес отправителя или получателя, получают наивысший приоритет при обработке в очереди сервера.
В таблице 1 представлены все коэффициенты получены из статистической информации предоставленной системными журналами сервера.
общ
V - объем в байтах всех сообщений в очереди в указанный период времени;
общ
λ - интенсивность потока сообщений, это отношение V к объему очереди почтового сервера (величина фиксированная и задается при установки программного обеспечения)
max
V - максимальный объём одного сообщения зафиксированный в указанный период времени, в байтах; в таблице 1 указан пример за часовой период, он и используется по умолчанию, в случае необходимости корректируется.
min
V - минимальный объём одного сообщения зафиксированный в указанный период времени, в байтах;
сред
V - средний объём одного сообщения зафиксированный в указанный период времени, в байтах;
n сообщений равного объема, это количество сообщений одинакового объема зафиксированное в указанный период времени;
общ
N- общее количество сообщений зафиксированное в указанный период времени;
ошибок
N - количество сообщений, адрес получателя которого, отсутствует в списках почтового сервера, зафиксированное в указанный период времени;
вн
N - количество сообщений, предназначенных для внутренней доменной зоны зафиксированное в указанный период времени;
внеш
N- количество сообщений, предназначенных для внешней доменной зоны зафиксированное в указанный период времени;
Nвн/Nобщ - зарезервировано
Nвнеш/Nобщ -  зарезервировано
Nошиб/Nобщ - соответствующие отношения зафиксированное в указанный период времени; зарезервировано – соответствующее показателям в таблице
% заполняемости очереди сервера – количество информации находящейся в очереди почтового сервера, в процентах.
Пример для искусственного интеллекта (ИИ).
Параметры сигнализирующие ИИ о возникновении угрозы отказ в обслуживании:
Следующее изменение показателей системы в совокупности характерной только для реализации угрозы отказ в обслуживании:
λ – стремиться к 0;
общ
V – стремиться к ∞;
max
V  – не изменяется;
n сообщений равного объема – стремиться к ∞;
общ
N – стремиться к ∞;
ош
N– стремиться к ∞ при условии, что сервер не может определить получателя сообщений, в противном случае не изменяется;
вн
N  – не изменяется;
внеш
N – стремиться к ∞.
общ
Вероятность возникновения угрозы отказ в обслуживании равна 1 при условии заполняемости очереди сервера равной 100% или V объем равно или объёма очереди сервера, т.е. если очередь сервера заполнилась полностью, то какая-либо обработка на нём становиться невозможна, и он переходит в состояние реализованной угрозы отказ в обслуживании.
Например, объем очереди сервера равен 4624616384 байт.
То при заполняемости очереди на 4224616384 байт
А при заполняемости очереди на 3724616384 байт
Расчет вероятности для стабильной работы для ИИ с целью определения нормального поведения для клиентов.
На основании анализа было выявлено, что информацию максимального объема систематически направляют следующие клиенты:
КЛИЕНТ 10 – до 200 дней в год;
КЛИЕНТ 12 – до 15 дней в год;
КЛИЕНТ 15 – до 50 дней в год;
КЛИЕНТ 16 – до 10 дней в год;
КЛИЕНТ 45 – до 150 дней в год.
Соответственно общая вероятность возникновения отправки сообщений максимального объема, в соответствии с обшей теорией вероятности составляет - P (A) = m/n, где n — число дней в году, а m — число дней в которых возникало направление информации максимального объема. Данная информация необходима для формирования у искусственного интеллекта понимания, какая активность для какого клиента является нормальной, а какая аномальной.
Для перевода сервера в состояние отказ в обслуживании достаточно 45 сообщений размером в 100 Мбайт. Если размер очереди почтового сервера составляет 4624616384 байт, то при одновременной отправке на него 45 сообщений размером в 100 Мбайт в очередь почтового сервера попадет 45х100(перевод в мегабайты) х1024(перевод в килобайты) х1024(перевод в байты) = 4718592000 байт. Что превышает возможности очереди почтового сервера по хранению информации.
Если размер очереди почтового сервера составляет 4624616384 байт, то при одновременной отправке на него 90 сообщений размером в 50 Мбайт в очередь почтового сервера попадет 90х50(перевод в мегабайты) х1024(перевод в килобайты) х1024(перевод в байты) = 4718592000 байт. Что превышает возможности очереди почтового сервера по хранению информации.
Если размер очереди почтового сервера составляет 4624616384 байт то при одновременной отправке на него 180 сообщений размером в 25 Мбайт в очередь почтового сервера попадет 180х25(перевод в мегабайты) х1024(перевод в килобайты) х1024(перевод в байты)= 4718592000 байт. Что превышает возможности очереди почтового сервера по хранению информации.
На основании статистики за годы эксплуатации просчитывается типовая нагрузка от каждого клиента (в системе для которой разрабатывается данный способ не предполагается использование нового почтового сервера с новым набором клиентов, в исключительном случае за основу будет взята статистика головного сервера и его клиентов, как самого загруженного.
В случае изменения критических параметров из таблицы вероятность возникновения угрозы отказ в обслуживании возрастает.
Список критических параметров и их состояний, влияющих на возникновение угрозы отказ в обслуживании.
λ – стремиться к 0;
общ
V – стремиться к ∞;
max
V  – не изменяется;
n сообщений равного объема – стремиться к ∞;
общ
N – стремиться к ∞;
ош
N  – стремиться к ∞ при условии, что сервер не может определить получателя сообщений, в противном случае не изменяется;
вн
N  – не изменяется;
внш
N  – стремиться к ∞.
Как показано в примере (см. таблицу 1) из 192ух сообщений 30 (зафиксировано 30 сообщений равного максимального объема) было объемом 115606184 байт (около 110 Мбайт), что привело к переполнению очереди сервера (состояние очереди сервера + поступивший объем – составил 4624616384 байт, что соответствует размеру очереди почтового сервера).
Возникнуть это могло по следующим причинам один клиент направил в течении часа отправил 30 сообщений указанного объема, или 2 по 15 или один направил 2 сообщения, второй одно, а третий 27 и т.п.
Нельзя исключать и ситуацию, когда один направил 4 по 30, а два других 60 по 35 – что приведёт к аналогичной ситуации.
То есть при не типовом поведении клиентов, а также при возникновении реализации угрозы отказ в обслуживании необходимо включать защитные механизмы, как было показано в алгоритме.
Пример простой скрытой марковской модели (СММ)
N - объем очереди сервера
где:
Р(клиент 1) – вероятность реализации угрозы отказ в обслуживании от клиента №1,
Р(клиент n) - вероятность реализации угрозы отказ в обслуживании от клиента № n,
Vобщ(клиент 1) объем информации от клиента №1 за рассматриваемый период,
Vобщ(клиент n) объем информации от клиента № n за рассматриваемый период
Например, объем очереди сервера равен 4624616384 и есть три клиента чей направляемый объем известен только по факту и не предсказуем исходя из предыдущего момента времени.
Нет угрозы отказ в обслуживании.
Есть угроза отказ в обслуживании, и она исходит от клиента 2
Есть угроза отказ в обслуживании, и она исходит от клиентов 2 и 3
Заявленный способ позволяет предотвратить ситуацию, когда сервер прекратит обработку сообщений и системному администратору придётся вручную очищать очередь, перезапускать сервер и восстанавливать информационный обмен.