УСТРОЙСТВО ОБНАРУЖЕНИЯ ВИРУСНЫХ ВОЗДЕЙСТВИЙ НА ИНФОРМАЦИОННЫЕ СИСТЕМЫ

Устройство обнаружения вирусных воздействий на информационные системы относится к электросвязи и может быть использовано в средствах защиты информации, а именно в антивирусных средствах, системах обнаружения удаленных атак на информационные системы компьютерных сетей, осуществляемых средствами сетевого соединения в глобальных компьютерных сетях, в которых связь между абонентами осуществляется путем передачи пакетов данных в соответствии с протоколом TCP/IP.
Известен "Способ оперативного динамического анализа состояний многопараметрического объекта" по патенту №2134897, класс G06F 17/40, заявленный 20.08.1999. Изобретение содержит блок преобразования результатов допусковой оценки разнородных динамических параметров в соответствующие информационные сигналы с обобщением по всему множеству параметров в заданном временном интервале и блок определения относительной величины и характера изменения интегрального состояния многопараметрического объекта.
Недостатком данного технического решения является: отсутствие возможности проверки поступающих в информационные системы исполняемых файлов на наличие в них "сетевых червей" и файловых вирусов.
Известен "Способ обнаружения удаленных атак на автоматизированные системы управления", по патенту РФ №2264649 класс G06F 12/14, заявл. 26.04.2004. Изобретение содержит блок хранения эталонов известных атак и необходимых коэффициентов, блок приема адресованных абоненту пакетов данных, блок проверки поступающих
пакетов данных на соответствие заданным правилам, блок принятия решения для принятия мер защиты от атаки, причем вход блока приема связан с каналом связи, его выход соединен со входом блока проверки на соответствие заданным правилам, выход блока хранения эталонов соединен со входом блока проверки по заданным правилам, выход блока проверки по заданным правилам соединен со входом блока принятия решения, а выход блока принятия решения соединен со входом блока приема пакетов.
Недостатком данного технического решения является: отсутствие возможности проверки поступающих в информационные системы исполняемых файлов на наличие в них "сетевых червей" и файловых вирусов.
Наиболее близким по своей технической сущности к заявленному решению, выбранный в качестве прототипа, является "Устройство обнаружения удаленных атак на web-сервера" по патенту РФ №57031 класс G06F 12/14, заявл. от 27.09.2006. Изобретение содержит блок приема адресованных абоненту пакетов данных, блок хранения эталонов известных атак и необходимых коэффициентов, блок идентификации состояния web-сервера, блок проверки поступающих пакетов данных на соответствие заданным правилам, блок принятия решения для принятия мер защиты от атаки, блок прогнозирования состояния web-сервера, причем вход блока приема пакетов связан с каналом связи, его выход соединен с входом блока проверки на соответствие заданным правилам, входом блока идентификации и входом блока прогнозирования, выход блока хранения эталонов соединен с входом блока проверки по заданным правилам, выход блока идентификации соединен со входом блока проверки по заданным правилам, выход блока прогнозирования соединен со входом блока проверки по заданным правилам, выход блока проверки по заданным правилам соединен с входом блока принятия решения, выход блока принятия решения соединен с входом блока приема пакетов, выход блока идентификации соединен с входом блока
проверки по заданным правилам, выход блока принятия решения соединен с входом блока приема пакетов.
Недостатком данного технического решения является: отсутствие возможности проверки поступающих в информационные системы исполняемых файлов на наличие в них "сетевых червей" и файловых вирусов.
Технической задачей, решаемой предлагаемой полезной моделью, является повышение вероятности обнаружения и защиты информационных систем от угроз, вызванных атаками "отказа в обслуживании", а также сетевыми червями и файловыми вирусами.
Сущность решаемой технической задачи заключается в том, что в устройство обнаружения вирусных воздействий на информационные системы, содержащее блок приема адресованных абоненту пакетов данных, блок хранения эталонов известных атак и необходимых коэффициентов, блок идентификации состояния web-сервера, блок проверки поступающих пакетов данных на соответствие заданным правилам, блок принятия решения для принятия мер защиты от атаки, блок прогнозирования состояния web-сервера, причем вход блока приема пакетов связан с каналом связи, его выход соединен с входом блока проверки на соответствие заданным правилам, входом блока идентификации и входом блока прогнозирования, выход блока хранения эталонов соединен с входом блока проверки по заданным правилам, выход блока идентификации соединен со входом блока проверки по заданным правилам, выход блока прогнозирования соединен со входом блока проверки по заданным правилам, выход блока проверки по заданным правилам соединен с входом блока принятия решения, выход блока принятия решения соединен с входом блока приема пакетов, выход блока идентификации соединен с входом блока проверки по заданным правилам, выход блока принятия решения соединен с входом блока приема пакетов, в устройство введен блок формирования исполняемых файлов, блок
предварительной обработки, блок обучения, причем выход блока приема пакетов соединен с входом блока формирования исполняемых файлов, выход блока формирования исполняемых файлов подключен к блоку предварительной обработки, выход блока предварительной обработки соединен с входом блока проверки по заданным правилам и входом блока обучения, а выход блока обучения подключен к блоку проверки по заданным правилам, причем в блок проверки по заданным правилам добавлен элемент стохастического структурного анализа на наличие вредоносного программного кода. Блок проверки по заданным правилам содержит элемент стохастического структурного анализа, выход блока предварительной обработки подключен ко входу этого элемента, а выход элемента стохастического структурно анализа соединен с входом блока принятия решения. Блок предварительной обработки содержит элемент проверки корректности исполняемого файла, элемент распаковки исполняемого файла, элемент выделения структурных цепочек, вход элемента проверки корректности исполняемого файла подключен к блоку формирования исполняемых файлов, элементы проверки корректности исполняемого файла, распаковки исполняемого файла, выделения структурных цепочек, соединены последовательно, выход элемента выделения структурных цепочек соединен с элементом стохастического структурного анализа и элементом восстановления грамматик. Блок обучения содержит элемент восстановления грамматик и элемент расчета вероятностных характеристик порождающих правил, вход элемента восстановления грамматик соединен с выходом элемента выделения структурных цепочек, выход элемента восстановления грамматик соединен с входом элемента расчета вероятностных характеристик порождающих правил и входом элемента стохастического структурного анализа, выход элемента расчета вероятностных характеристик порождающих правил соединен с элементом стохастического структурного анализа.
Сущность полезной модели поясняется чертежами, приведенными на фиг.№1, фиг.№2, на которых показаны:
фигура №1 - структурная схема предлагаемого устройства;
фигура №2 - структурная схема блока предварительной обработки, блока обучения, блока проверки по заданным правилам;
где цифрами обозначены: 1 - Блок приема пакетов; 2 - Блок хранения эталонов; 3 - Блок идентификации; 4 - Блок проверки по заданным правилам; 5 - Блок принятия решения; 6 - Блок прогнозирования; 7 - Блок формирования исполняемых файлов; 8 - Блок предварительной обработки; 9 - Блок обучения; 10 - Элемент проверки корректности исполняемых файлов; 11 - Элемент распаковки исполняемого файла; 12 - Элемент выделения структурных цепочек; 13 - Элемент восстановления грамматик; 14 - Элемент расчета вероятностных характеристик порождающих правил; 15 - Элемент стохастического структурного анализа.
I - связь между блоком хранения эталонов и блоком проверки по заданным правилам, II - связь между блоком приема пакетов и блоком проверки, III - связь между блоком приема пакетов и блоком идентификации, IV - связь между блоком принятия решения и блоком приема пакетов, V - связь между блоком проверки и блоком принятия решения, VI - связь между блоком прогнозирования и блоком проверки, VII - связь между блоком идентификации и блоком проверки, VIII - связь между блоком приема пакетов и блоком формирования исполняемых файлов, IX - связь между блоком формирования исполняемых файлов и блоком предварительной обработки, Х - связь между блоком предварительной обработки и блоком обучения, XI - связь между блоком предварительной обработки и блоком проверки по заданным правилам, XII - связь между блоком обучения и блоком проверки по заданным правилам.
Предлагаемое устройство обнаружения вирусных воздействий на информационные системы функционирует следующим образом.
Блок приема пакетов №1, фиг.№1 принимает и отправляет запросы на получение web-ресурса. Запрос характеризуется рядом параметров, а именно параметрами транспортных протоколов стэка TCP/IP, размером запрашиваемого ресурса, временем выполнения запроса, временем отклика сервера на запрос в процессе установления соединения и др. Известным фактом является то, что блок приема и отправки пакетов в различной функциональности существует во всех автоматизированных системах. Наиболее распространенная его реализация известна как стек протоколов TCP/IP. Основное назначение этого блока - установление соединения и передача данных через распределенную сеть и завершение соединения. Поскольку в блоке присутствует процедура установления соединения и его завершения, блок имеет возможность учитывать время выполнения запросов пользователей сервера. Эта функция осуществляется путем учета времени между посылкой запроса на установление соединения SYN и запроса о завершении соединения FIN на транспортном уровне.
(Енюков И.С. и др. Статистический анализ и мониторинг научно-образовательных интернет-сетей. - М.: Финансы и статистика, 2004. - 320 с.).
В блоке №2 фиг.№1 задаются N>1 эталонов известных атак, коэффициенты Ксх.мин - минимально допустимое значение показателя сходства выделенных признаков сообщений, Ксовп.допуст - максимально допустимое количество совпадений. Под эталонами атак могут пониматься как сигнатуры - уникальная последовательность символов, однозначно характеризующая известную атаку, так и эмпирические правила, например, если в IP пакете адрес источника равен адресу получателя, допустимое для такого случая будет иметь вид Ксх.мин=0, Ксовп.допуст=1.
На предварительном этапе в блоке идентификации №3 фиг.№1 осуществляется идентификация режимов работы сервера: «нормальной работы», «повышенной нагрузки», «критической нагрузки». Для этого проводится факторный эксперимент, в котором выявляются значимые
параметры, позволяющие управлять производительностью сервера.
Под значимыми параметрами понимаются количество обслуживающих приборов на web-сервере, размер его динамической очереди, величина таймаута и др. Под производительностью сервера понимается время выполнения запросов пользователей.
Идентификация заключается в поиске таких параметров сервера, которые обеспечат минимальное время выполнения запросов пользователей при различной интенсивности поступающих запросов.
Необходимо отметить, что параметры, получаемые на этапе идентификации, получены на предварительном этапе, т.е. заранее, в ходе нагрузочного теста (экспериментальная часть), структура которого представлена на рисунке 1.
Сущность эксперимента заключается в следующем. Поскольку каждая программно-аппаратная реализация web-сервера обладает существенными различиями по скорости обработки запросов, а также степени влияния управляющих воздействий на время обработки запросов. То для выявления этих особенностей программно-аппаратной части сервера (выявление режимов его работы) проводился нагрузочный эксперимент. На сервер с
ОТКАЗА
ОТКАЗА
помощью генератора запроса отправляются запросы к информационному ресурсу сервера с интенсивностью λ=10...20...30...λ, причем для каждой программно-аппаратной реализации сервера λ будет отличаться, его то и необходимо определить как граничное значение интенсивности поступающих запросов, корректно обрабатываемых сервером.
ПОВ
КРИТ
ERROR
Как представлено в описании, существенным фактором в предлагаемой заявке является проведение нагрузочного теста, структурная схема которого представлена на фигуре 2. Результаты проведения нагрузочного теста позволяют определить режимы работы web-сервера, а именно режим нормальной работы, режим повышенной нагрузки, характеризуемый t и режим критической нагрузки, характеризуемый t, е - количество сбоев при клиент-серверном соединении, являющиеся дополнительной характеристикой режима работы критическая нагрузка.
ПОВ
КРИТ
ERROR
ERROR
КРИТ.
Многообразие задач, выполняемых web-серверами, различных программно-аппаратных реализаций, требований, предъявляемых к проектируемому web-ресурсу, обуславливают различные способы, на основании которых определяются пороговые критерии, на основании которых определяются t, t, e, e_
Выделяют следующие способы формирования критериев выбора пороговых значений:
- на основании нормативного документа (пороговые значения заданы в явном виде);
- на основании требований, предъявляемых к процессу функционирования web-сервера;
- на основании существующих программно-аппаратных особенностей web-сервера и информационного ресурса, который он обрабатывает (определяются существующими программно-аппаратными особенностями и
информационным ресурсом web-сервера, которые выясняются экспериментально в ходе нагрузочного теста).
В предлагаемом решении при отсутствии требований в нормативном виде, определение критериев выбора пороговых значений осуществлялось на основе существующих программно-аппаратных особенностей web-сервера и обрабатываемого информационного ресурса.
max
max
ERROR
КРИТ
Порядок определения пороговых значений заключается в проведении нагрузочного теста, структурная схема которого представлена на рисунке 1. Сущность проводимого тестирования заключается в посылке с помощью генератора запросов к информационным ресурсам web-сервера и получения соответствующих ответов, при этом учитывается время выполнения запросов web-сервером. Особенность посылаемых запросов заключается в посылке этих запросов с интенсивностью λ=10...20...30...λ в некотором диапазоне, чем обеспечивается выяснение режимов работы web-сервера. λ - определяется путем последовательного увеличения интенсивности поступающих запросов до некоторого момента, когда устойчиво наблюдаются ошибки в обработке запросов пользователей e_, критическое количество которых определяется администратором эмпирически.
Сервера отличаются друг от друга программно-аппаратными особенностями, а также обрабатываемыми информационными ресурсами, что обуславливает отличие пороговых значений времени выполнения запросов, а также количества обрабатываемых ошибок.
При проведении нагрузочного теста необходимо определить следующие значимые параметры:
MAX,
ERROR
- максимальную интенсивность потока запросов к серверу λ вызывающую единичные ошибки обработки запросов на сервере, говорящие о начале режима критической нагрузки e, и устойчивое значение
ERRROR
КРИТ
количества ошибок в обработке запросов e_, говорящее о режиме
критической нагрузки в его полной стадии;
ПОВ
- определение режима повышенной нагрузки t осуществляется путем управления количеством обрабатываемых потоков. В результате такого управления определяется такой диапазон времени выполнения запроса, реализация управляющего воздействия существенно не влияет на время выполнения запросов.
В дальнейшем примере представлено практическое получение пороговых значений на примере.
Влияние управляющего воздействия на время выполнения запроса при различных режимах работы web-сервера представлено в таблице 1.
Таблица 1
Влияние управляющего воздействия на время выполнения запроса и количество ошибок соединения
λ
Т (с)
Т<sub>упр  </sub>(с)<sub></sub>
(т-т<sub>упр</sub>)
%
Е
Е<sub>упр</sub>
Нормальный режим работы (РР)
30
1
1
0
0
0
0
40
2
2
0
0
0
0
50
3
3
0
0
0
0
60
4
4
0
0
0
0
Режим повышенной нагрузки
70
4
3
1
10
0
0
80
4
3
1
10
0
0
90
5
4
2
10
0
0
...
200
12
8
4
40
0
0
Режим критической нагрузки
300
20
9
10
10
0
400
38
10
28
20
0
500
36
10
26
30
0
...
1500
74
12
62
510
140
где λ - интенсивность запросов, поступающих на web-сервер;
упр
упр
упр
Т(с) - время выполнения запросов сервера; Т(с) - время выполнения запросов при реализации управляющего воздействия; (Т-Т) - эффект от управляющего воздействия; % - эффект в процентном соотношении; Е - количество отказов в обслуживании запросов; Е- количество отказов в обслуживании в случае применения управляющего воздействия.
ПОВ
КРИТ
ERROR
ERROR
КРИТ.
Таким образом, на основе экспериментальных данных, представленных в таблице, происходит определение указанных показателей (t, t, e, e_) эмпирическим способом, представленным ниже.
ПОВ.
КРИТ
ERROR
ERROR
КРИТ
В таблице представлено влияние управляющего воздействия на время выполнения запроса в различных режимах работы сервера. При этом показано, что в режиме нормальной работы управляющее воздействие не вызывает уменьшение времени выполнения запроса и количества отказов в обслуживании (поскольку их попросту нет) Т≤4, 30≤λ≤60. Соответственно диапазон, характеризующийся уменьшением времени выполнения запросов до момента появления отказов в обслуживании, характеризуется λ=70...200 запросов/с. Соответственно начало режима работы «повышенная нагрузка» характеризуется t=4с. Соответственно режим критической нагрузки характеризуется t=20с., e≤10, е_>10 отказов в обслуживании.
Графическое представление полученных результатов сделано на рисунке 2.
ERROR
ERROR
КРИТ
Из рисунка видно, что единичные сбои в клиент-серверном соединении е характеризуют начало режима работы критическая нагрузка, а экспоненциально повышающееся количество отказов в обслуживании характеризуется значением е_, причем администратору дается право определить этот параметр самостоятельно.
По полученным экспериментальным данным изменения времени выполнения транзакции определяются границы зоны нормального функционирования, зоны повышенной нагрузки и зоны критической нагрузки. Найденные сочетания параметров управления производительностью и минимальных времен выполнения транзакции используются в блоке №4.
В блоке №3 строятся аналитические модели времени выполнения транзакции на основе математического аппарата систем массового обслуживания. Они позволяют аналитически смоделировать режимы работы «нормального функционирования», «повышенной нагрузки», «критической нагрузки».
Блок №6 фиг.№1 реализует прогноз показателя - время выполнения запросов пользователей, полученных из блока №1. Прогнозирование осуществляется с помощью математического аппарата временных рядов.
Поскольку web-сервер представляет собой автоматизированную систему, текущее состояние которой зависит от предыдущего. Состояния сервера можно описать временем выполнения каждого запроса Т, образующих некоторое множество.
Множество последовательных наблюдений состояния сервера, имеющих определенный тренд (тенденцию), образуют временной ряд.
Под состоянием сервера понимается время выполнения запроса при заданной интенсивности запросов в определенный момент времени.
Таким образом, прогнозируемое время выполнения запроса представляет собой результат, полученный аналитически на основании множества предыдущих состояний на некоторое количество шагов вперед рисунок 3.
Для получения прогноза времени выполнения запросов необходимо выполнить следующие условия:
- получить выборку состояний времени выполнения запроса на web-сервере;
- по полученной выборке построить аналитическое выражение модели прогнозирования времени выполнения запроса;
- получить непосредственно прогноз времени выполнения запроса.
В предлагаемом способе выборка состояний времени выполнения запросов сервера была сформирована в результате нагрузочного тестирования, при этом данными нагрузочного теста, которые берутся для формирования аналитической модели прогнозирования, являются время выполнения запросов.
t-1
t-2
t-1
t-2
Величины x, и x представляют собой значения времени выполнения запросов на предыдущем шаге x, и на шаге xв расчете от текущего состояния сервера. При применении модели прогнозирования понимается, что аналитическую модель прогнозирования, представленную выражением (1), строят на основе данных нагрузочного теста.
Причем значения свободного члена могут быть получены как среднеквадратическое от времени выполнения всех запросов, полученных при нагрузочном тестировании. Значения при коэффициентах получены с помощью метода наименьших квадратов.
t-1
t-2
Далее в процессе реальной работы сервера для вычисления прогнозируемого времени выполнения запроса в момент времени t, берется предыдущее значение времени выполнения запроса X и время выполнения запроса на шаге Xи на основании этих ретроспективных значений строится прогнозирование времени выполнения запроса на следующий временной интервал.
(Айвазян С.А. Основы эконометрики - М.: ЮНИТИ - ДАНА, 2001. -432 с.).
Полученное прогнозное значение параметра передается в блок №4.
совп__доп__i
совп__доп
В блоке №4 фиг.№1 происходит сравнение параметров полученного пакета с эталонами возможных атак, хранящимися в блоке хранения эталонов, вычисляются коэффициенты Ксх.мин, Ксовп.допуст. Также по данным, полученным из блока №1, блока №2, блока №3 и блока №6, определяется прогнозируемый режим функционирования web-сервера (нормальная работа, повышенная или критическая нагрузка), происходит сравнение его с результатами аналитического моделирования (блок №3). В случае повышенной или критической нагрузки, а также, в случае если выполняется правило К≥K, происходит передача информации о режиме работы или о реализации возможной атаки в блок №5 принятия решения. Если определен режим критической или повышенной нагрузки, то, как правило, для автоматизированной системы высока вероятность быть подвергнутой атаке «отказа в обслуживании» или намеренном исчерпании ее ресурсов удаленным пользователем.
Блок №5 фиг.№1 по информации, полученной из блока №4, осуществляется принятие мер защиты от возможных атак, а именно оптимальная подстройка параметров производительности web-сервера, тем самым уменьшается время выполнения запросов пользователей (контрольный пример показан в таблице 1). В случае режима работы «повышенная нагрузка» осуществляет изменение количества одновременно обрабатываемых запросов сервером, длины очереди сервера, изменения времени таймаута, увеличение числа очереди полуоткрытых соединений. В случае режима работы «критическая нагрузка» осуществляет сброс полуоткрытых соединений, изменение количества повторных передач. (Кабир, Мохаммед, Дж.Сервер Apache 2. Библия пользователя.: Пер. с англ. - М.: Издательский дом «Вильямс», 2002. - 672 с.: ил. - Парал. Тит. Англ.).
Блок №7 выполняет функцию формирования исполняемых файлов из пришедших пакетов, находящихся в блоке №1 (Microsoft Corporation. Microsoft Portable Executable and Common Object File Format Specification. Rev. 6.0, 1999. - 77 p.). Включение в тракт обработки принятых сетевых пакетов данного блока обуславливается разнородностью сетевого графика и возможностью передачи от web-сервера клиенту исполняемых файлов (дистрибутивы программы, демонстрационные версии программ и т.п.). Исполняемые файлы в свою очередь могут быть заражены файловыми вирусами, «сетевыми» червями или другими разрушающими программными средствами, что существенно ослабляет систему защиты операционной системы клиента. Сформированные исполняемые файлы поступают на вход блока предварительной обработки (блок №8).
Блок №8 предварительной обработки реализует проверку корректности исполняемого файла (элемент №10), предназначенную для верификации поступившего на вход системы распознавания файла на соответствие спецификации исполняемого файла для данной операционной системы и загрузки его в виртуальное адресное пространство (Microsoft Corporation. Microsoft Portable Executable and Common Object File Format Specification. Rev. 6.0, 1999. - 77 p.). При этом верификация заключается в побайтовом сравнении заголовков исполняемого файла с допустимыми значениями, заданными в спецификации Microsoft Corporation и в случае, если хотя бы один байт заголовков выходит за рамки допустимого значения, то считается, что данный файл не является исполняемым и дальнейшей обработки не требуется Затем, считывая информацию из заголовков файла, формируется виртуальное адресное пространство, содержащее программу. Выходом данного блока является сформированное адресное пространство исследуемого исполняемого файла.
В элементе 11 происходит распаковка упакованного исполняемого файла (Козачок В.И., Мацкевич А.Г. Алгоритм автоматического декодирования упакованных исполняемых файлов в исходные тексты языка Ассемблера // Территория науки, 2006, №1 (1). - С.69-75). Данная функция предназначена для декодирования упакованных исполняемых файлов в исходные тексты языка низкого уровня. При этом под упаковщиками исполняемых файлов понимаются специальные программные средства, изменяющие физическую и логическую структуру исполняемого файла для реализации функции защиты исходного файла от изучения. Данные средства широко применяются злоумышленниками для защиты разработанных ими вирусов, «сетевых» червей от анализа. Таким образом, элемент №11 предназначен для удаления системы защиты исполняемого файла от изучения. Выходом элемента №11 является виртуальное адресное пространство, содержащее образ (машинный код) неупакованного исследуемого файла.
В элементе 12 происходит выделение структурных цепочек машинного кода, т.е. выделение последовательности машинных команд, определяющих функциональное предназначение данной программы. В данном элементе производится моделирование процесса выполнения программного кода в "безопасной" среде, сопровождающееся дизассемблированием машинных команд, начиная с команды, расположенной по адресу точки входа в распакованную программу, и заканчивая формированием цепочек машинных команд (Щербаков А. Разрушающие программные воздействия. М.: Издательство Эдэль, 1993. -64 с.). Выходом элемента 12 является множество машинных команд выполнения программы, предназначенных для последующего анализа на наличие потенциально опасных последовательностей машинных команд.
к
В блоке №9 производится обучение и реализуется две функции: восстановление стохастических грамматик и расчет вероятностных характеристик порождающих правил, характеризующих незараженные файлы, "сетевые черви" и файловые вирусы, т.е. задаются три класса распознавания. В элементе №13 осуществляется восстановление стохастических грамматик G, где k - номер класса машинного кода,
заключающееся в формировании множества терминальных, нетерминальных символов порождающих грамматик, множества правил порождения (Фу К. Структурные методы в распознавании образов. - М.: Издательство "Мир", 1977. - 320 с.). На вход данного блока поступают заведомо правильные последовательности машинных команд (цепочек) для разных классов программ (зараженных
вирусами и незараженных исполняемых файлов). Выходом элемента №13 являются формальные грамматики, характеризующие три класса программ: незараженных исполняемых файлов, "сетевых червей" и файловых вирусов.
В элементе №14 осуществляется расчет вероятностных характеристик порождающих правил, предназначенных для определения вероятностных мер порождающих грамматик каждого из класса файлов. Выходом данного блока является матрица вероятностей применения порождающих правил: , где k - номер класса машинного кода, а  - интерпретируется как оценка вероятности следования машинной команды j при условии, что предыдущей командой была команда i для k-го класса машинного кода.
k
k
k
В элементе №15 стохастического структурного анализа (блок №4) осуществляется оценка вероятности порождения выделенных последовательностей машинных команд каждой стохастической грамматикой: , где k - номер класса машинного кода, L - длина последовательности машинных команд х, p(x,|G) - оценка вероятности порождения данной последовательности машинных команд х грамматикой G. Затем на основе критерия максимума правдоподобия  осуществляется принятие решения о принадлежности файла к одному из заданных классов (файл считается зараженным файловым вирусом в том случае, если оценка вероятности порождения последовательности машинных команд х, выделенной из файла, стохастической грамматикой, задающей класс файловых вирусов больше, чем оценки вероятности порождения той же самой стохастическим грамматиками, характеризующими незараженные файлы и "сетевые черви" (Козачок В.И., Мацкевич А.Г. Аналитическая модель системы стохастического структурного распознавания файловых вирусов // Информация и безопасность, 2006, вып.№2. - С.32-37). При этом на вход элемента №15 поступают выделенные в элементе №12 блока №8 предварительной обработки исполняемого файла, цепочки машинных команд, затем производится оценка вероятностей порождения данных цепочек грамматиками, характеризующих файлы, зараженные файловыми вирусами, и файлы, не зараженные вредоносным кодом. При расчете оценки вероятности порождения цепочки машинных команд из элемента №14, содержащего матрицы вероятностей применения порождающих правил , извлекаются соответствующие вероятности. Матрицы вероятностей применения порождающих правил формируются на этапе обучения системы стохастического структурного распознавания в подсистеме обучения. Из элемента восстановления грамматик №13 на вход элемента стохастического структурного анализа №15 поступают формальные грамматики G, характеризующие три класса программ (незараженные файлы, файловые вирусы и "сетевые черви"). По полученным оценкам вероятности порождения последовательности машинных команд, принимается решение о зараженности исследуемого файла по критерию максимума правдоподобия, осуществляемое в блоке №5: .
Одной из важнейших характеристик информационной системы является ее правильное функционирование и выполнение запросов пользователей в заданное время. Угрозами функционированию информационной системы являются не только атаки "отказа в обслуживании", но и ряд угроз, вызванных файловыми вирусами и "сетевыми червями", находящихся в исполняемых файлах, передаваемых по сети. Предлагаемое устройство реализовано в виде программно-аппаратного комплекса, реализованного на программируемых логических интегральных схемах, что позволяет ускорить процесс анализа исполняемых файлов.
Таким образом, предложенное устройство обнаружения вирусных воздействий на информационные системы осуществляет повышение вероятности обнаружения и защиты информационных систем от угрозы вызванной атаками "отказа в обслуживании", а также "сетевыми червями" и файловыми вирусами, за счет введения блока формирования исполняемых файлов, блока предварительной обработки, содержащего элементы проверки корректности исполняемого файла, распаковки исполняемого файла, выделения структурных цепочек, блока обучения, содержащего элементы восстановления грамматик и элементы расчета вероятностных характеристик порождающих правил, элемента стохастического структурного анализа в блоке проверки по заданным правилам.