- •1 Общая характеристика работы
- •Цель и задачи работы
- •2 Основное содержание
- •2.1 Безмасштабные сети
- •2.2 Модель si
- •2.2.1 Теоретические сведения
- •2.3 Модель sir
- •2.3.1 Теоретические сведения
- •2.4 Модель seir
- •2.5 Модель sair
- •2.5.1 Теоретические сведения
- •2.6 Модель psidr
- •2.6.1 Теоретические сведения
- •Заключение
- •Список использованной литературы
2.6 Модель psidr
2.6.1 Теоретические сведения
PSIDR-модель распространения (“Progressive Susceptible–Infected–Detected–Removed model”), основанная на SIR- модели. В PSIDR-модели предполагается, что эпидемические события разделены на два периода.
1. Предварительный период (Pre-response). Изначально червь инфицирует один хост в сети. В течение нескольких дней (часов) червь распространяется по сети, не будучи замеченным большинством пользователей. В терминах PSIDR-модели, эта фаза характеризуется положительной частотой заражения β без попыток излечения. Уязвимые узлы становятся инфицированными с вероятностью β, если они контактировали с зараженным узлом.
2. Период отклика (Respons). Через некоторый период времени червь обнаруживается на некоторых хостах. Осуществляется выделение его сигнатур и внесение их в базы антивирусного программного обеспечения. Неинфицированные узлы становятся невосприимчивыми к данному червю, а инфицированные хосты «вылечиваются» с некоторой частотой, зависящей от частоты обновления антивирусных баз. Этот период в рассматриваемой модели характеризуется той же самой частотой рождения червя, но уязвимые узлы излечиваются с частотой μ, а уже инфицированные узлы обнаруживаются с частотой μ и излечиваются с частотой δ. Параметр μ, по сути, характеризует скорость распространения обновления антивирусных баз после первоначального обнаружения червя.
Используются следующие обозначения состояний: S — Susceptible, I — Infected, D — Detected, R — Removed.
Важные аспекты, возникающие при использовании для моделирования распространения инфекции данной модели:
1. Изменчивость частоты «излечения». Подразумевается, что изначально инфицированный узел сразу не «излечивается». «Излечение» возможно только по истечению некоторого периода времени с начала эпидемии (это связано с обнаружением червя и разработкой «лекарства»). Поэтому в PSIDR-модели эпидемический период разделен на две части: 1) preresponse и 2) response. В течение первого периода вирус распространяется с частотой β и не излечивается (соответствующие параметры обнаружения (μ) и излечения ( δ ) равны нулю). Далее через некоторый период времени π моделируемая система переходит во второй период, при котором инфицированные узлы могут быть излечены (μ и δ не равны нулю). В ранее рассмотренных моделях эта ситуация не учитывалась.
2. Возможность прямого перехода между состояниями S и R. После появления «лекарства» уязвимые хосты могут перейти в невосприимчивое состояние, минуя стадию инфицирования в случае своевременного обновления антивирусного программного обеспечения. В рассматриваемой модели это описывается путем прямого перехода из состояния S в состояние R во время response-периода. Уязвимый хост становится невосприимчивым к атаке с частотой μ. Возможность такого прямого перехода из одного состояния в другое в ранних моделях не предусматривалась.
3. Состояние обнаружения (detection). Во время response-периода инфицированный хост (если он все еще функционирует) обнаруживается только при условии обновления антивирусного программного обеспечения. Если хост
определен как инфицированный, то пользователь (или технический специалист) изолирует хост от внешней сети и через некоторое время «вылечивает» его. В рассматриваемой модели эта ситуация моделируется добавлением нового состояния, названного D -соcтоянием, между состояниями I и R. Во время response-периода инфицированный хост определяется с частотой μ и далее «вылечивается» с частотой δ . Состояние D представляет собой период, во время которого инфицированный хост изымается пользователем из сети для дальнейшего «излечения». В предыдущих моделях данный фактор не учитывался.
Таким образом, PSIDR-модель предполагает, что течение эпидемии можно разбить на два периода: в начале система может находиться в двух состояниях S → R, а по истечении времени t = π система переходит состояния S→I→D→R с возможностью прямого перехода между состояниями S→R[4].
2.6.2 Математическое описание модели PSIDR
Предполагается, что число узлов в сети (N) постоянно.
Предварительный период.
При t<π должно выполняться следующее условие:
(13)
S(t)+I(t)=N
С
(14)
истема описывается следующими дифференциальными уравнениями:Период отклика
При t≥π должно выполняться следующее условие: S(t)+I(t)+D(t)+R(t)=N (15)
С
(16)
истема описывается следующими дифференциальными уравнениями:
Можно проверить,
что
,
удовлетворяет условию (15).
Начальными условиями для системы являются: S(0) > 0, I(0) > 0, D(0) = 0, R(0) = 0[3].
2.6.3 блок-схема алгоритма функционирования модели PSIDR в заданной сети
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
1
2
3
1
2
1
2
2.6.5 Использование программы для модели PSIDR
П
Рисунок 6 – работа программы на основе модели PSIDR
ример использования программы для симуляции эпидемии на основе модели PSIDR представлен на рисунке 6.Параметры модели:
1)-4) как и в предыдущих моделях
5) «Number of infections nodes» – количество инфекционных узлов.
6) «Infection probability» – вероятность заражения.
7) «Contact rate» – скорость распространения.
8) «Freq of update AntiVirus» – частота обновления антивируса.
9) «Time of recovery» – время восстановления
10) «Time of determ infection» – время обнаружения инфекции
Руководство по использованию программы.
Данная программа имитационно демонстрирует развитие эпидемии в случайным образом сгенерированной безмасштабной сети. Для начала работы имитации необходимо сгенерировать безмасштабную сеть. Чтобы сделать это, необходимо ввести в окно справа от надписи Total population количество узлов генерируемой сети, затем необходимо ввести параметр сети гамма (этот параметр будет характеризовать то, насколько «разреженной» будет сгенерированная сеть). Этот параметр можно ввести в окно, стоящее справа от надписи Model type – Scale free parameter. В этом окне уже установлено произвольное значение этого параметра – «2», которое будет использоваться по умолчанию. Стоит отметить, что реальные сети, являющиеся безмасштабными, имеют значение этого параметра в диапазоне от 2 до 3. Затем, после введения этих параметров, необходимо нажать кнопку «build». После нажатия этой кнопки происходит генерация случайной безмасштабной сети. Для дальнейшей работы необходимо подождать некоторое время (которое зависит от величины числа введённого в качестве параметра количества узлов сети). Появление рисунка сети свидетельствует о окончании генерации и о возможности дальнейшей работы в программе. Затем необходимо выбрать с помощью переключателя вид модели распространения инфекции. В данной программе представлены следующие модели: SI, SIR, SEIR, SAIR, PSIDR.
Выбрав одну из моделей, под линией переключателей можно увидеть окна для ввода параметров для выбранной модели. Опишем их для каждой модели.
SI:
1) «Max time simulation» – время симулирования (задаётся в секундах). При вводе этого окна следует учитывать тот факт, что в программе симуляции используется период величиной 0.3 секунды (по умолчанию 40)
2) «Number of infection nodes» – число заражённых узлов (по умолчанию 1)
3) «Infection probability» – вероятность заражения узла (по умолчанию 0.7)
4) «Contact rate» – максимально возможное количество контактов за день для узлов сети (по умолчанию 5)
5) Time recovery – время, которое требуется для восстановления инфицированного узла (время, которое необходимо для перехода из инфицированного состояния в восприимчивое, по умолчанию 1.5, устанавливается в секундах).
SIR:
1) «Max time simulation» – время симулирования (задаётся в секундах). При вводе этого окна следует учитывать тот факт, что в программе симуляции используется период величиной 0.3 секунды (по умолчанию 40)
2) «Number of infection nodes» – число заражённых узлов (по умолчанию 1)
3) «Infection probability» – вероятность заражения узла (по умолчанию 0.7)
4) «Contact rate» – максимально возможное количество контактов за день для узлов сети (по умолчанию 5)
5) Time recovery – время, которое требуется для восстановления инфицированного узла (время, которое необходимо для перехода из инфицированного состояния в неуязвимое, по умолчанию 1.5, устанавливается в секундах).
SEIR:
1) «Max time simulation» – время симулирования (задаётся в секундах). При вводе этого окна следует учитывать тот факт, что в программе симуляции используется период величиной 0.3 секунды (по умолчанию 40)
2) «Number of infection nodes» – число заражённых узлов (по умолчанию 1)
3) «Infection probability» – вероятность заражения узла (по умолчанию 0.7)
4) «Contact rate» – максимально возможное количество контактов за день для узлов сети (по умолчанию 5)
5) Latency time – время инкубационного периода (время, когда заражённый узел не распространяет инфекцию, по умолчанию 0.9, устанавливается в секундах)
6) Time recovery – время, которое требуется для восстановления инфицированного узла (время, которое необходимо для перехода из инфицированного состояния в неуязвимое, по умолчанию 1.5, устанавливается в секундах)
SAIR:
1) «Max time simulation» – время симулирования (задаётся в секундах). При вводе этого окна следует учитывать тот факт, что в программе симуляции используется период величиной 0.3 секунды (по умолчанию 40)
2) «Number of infection nodes» – число заражённых узлов (по умолчанию 1)
3) «Number of nodes with AntiVirus SW» – число узлов с установленным антивирусным ПО (по умолчанию 3)
4) «Infection probability» – вероятность заражения узла (по умолчанию 0.7)
5) «Contact rate» – максимально возможное количество контактов за день для узлов сети (по умолчанию 5)
6) «Freq of update AntiVirus SW» – частота установки антивирусного ПО, измеряется в хостах за период (по умолчанию 2)
7) «Freq of deleting hosts» – частота удаления хостов не из-за вируса, измеряется в хостах за период (по умолчанию 1)
8) «Freq of refresh hosts» – частота восстановления хостов, измеряется в хостах за период (по умолчанию 2)
9) «Freq deleting host with virus» – частота удаления заражённых хостов, измеряется в хостах за период (по умолчанию 2)
10) «Freq of heal host with virus» – вероятность излечения инфицированного узла, при попытке установки антивируса (по умолчанию 0.5)
11) «Freq of infection nodes with AV SW» – вероятность заражения узла с установленным антивирусным ПО (по умолчанию 0.2)
PSIDR:
1) «Max time simulation» – время симулирования (задаётся в секундах). При вводе этого окна следует учитывать тот факт, что в программе симуляции используется период величиной 0.3 секунды (по умолчанию 40)
2) «Number of infection nodes» – число заражённых узлов (по умолчанию 1)
3) «Infection probability» – вероятность заражения узла (по умолчанию 0.7)
4) «Contact rate» – максимально возможное количество контактов за день для узлов сети (по умолчанию 5)
5) «Freq of update AntiVirus SW» – частота установки антивирусного ПО, измеряется в хостах за период (по умолчанию 3)
6) «Time of recovery» – время, которое требуется для восстановления инфицированного узла (время, которое необходимо для перехода из инфицированного состояния в неуязвимое, по умолчанию 1.5, устанавливается в секундах)
7) «Time of detection infection» – время обнаружения инфекции в сети, измерятся в частях времени симуляции (по умолчанию 0.3)
Введя все эти параметры, необходимо нажать кнопку «DRAW», для того, чтобы произвести запуск симуляции. Результаты симуляции в отображаются в форме построения графиков зависимости долей узлов с различными состояниями, а также изменением цвета каждого узла, в соответствии с его состоянием, цвета каждого состояния описаны в легенде (над графиком, справа от надписи «Legend(L):»). После окончания симуляции (либо достижение конца времени симуляции, либо наступление момента, когда дальнейшая симуляция не приведёт к изменению состояний узлов, это будет отражено в виде остановки рисования графиков) можно опять выбирать модель распространения инфекции, ввести необходимые параметры и нажать кнопку «DRAW», вновь запустив тем самым симуляцию (при этом прежний график сохраняется). Чтобы заново сгенерировать сеть и очистить график, необходимо нажать кнопку «clear».
