Содержание к диссертации
Оглавление диссертационной работы
Глава 1: Моделирование распространения вредоносного кода 2
1.1 Введение 2
1.2 Классические эпидемиологические модели 3
1.3 Модели, приспособленные для изучения распространения вредоносного кода 7
Глава 2: Модель и метод прогнозирования распространения вирусных атак на основе расчета гамильтонова пути 40
2.1 Исходные предположения 40
2.2 Формулировка модели 43
2.3 Метод прогнозирования распространения вирусных атак на основе • расчета гамильтонова пути 48
Глава 3: Инструментально-моделирующий технологический комплекс 59
Глава 4: Применение модели распространения вирусных атак на основе расчета длины гамильтонова пути для прогнозирования темпов распространения сетевых червей 78
4.1 Общие положения 78
4.2 Анализ эффективности краткосрочного прогноза 81
4.3 Анализ эффективности долгосрочного прогноза 87
Список использованной литературы 95
Введение к работе
Между распространением компьютерных вирусов и других вредоносных программ и эпидемиями биологических заболеваний существует много общего. Это не случайно: даже первые работы, предсказавшие возможность создания самораспространяющихся программ, проводили аналогию между компьютерными и биологическими вирусами. Естественно применить для исследования. распространения компьютерных вирусов методики, разработанные в процессе изучения инфекционных заболеваний и борьбы с ними. Одним из таких методов является создание моделей эпидемиологических процессов. Моделирование распространения может быть использовано для различных целей. Например, его. помощью можно изучать уже начавшуюся эпидемию заболевания, исследовать влияние на нее различных факторов, таких как вакцинация. Модели могут предсказать масштабы эпидемии и ее динамику, определить при каких условиях, она возникает и так далее.
Еще в XIX веке для изучения инфекционных заболеваний были разработаны эпидемиологические модели, основанные на системах дифференциальных уравнений. Эти модели достаточно примитивны, однако они позволили установить ряд важных следствий, таких как теорема об эпидемиологическом пределе. В конце 80-ых-начале 90-ых годов XX века классические эпидемиологические модели были использованы исследователями из IBM для изучения распространения компьютерных вирусов [2][3][4]. Они же применили эти модели для изучения вирусных эпидемий в компьютерной сети, моделируемой ненаправленным графом. Другие работы, посвященные этому направлению, также основаны на модификациях традиционных эпидемиологических моделей, учитывающих специфику компьютерных вредоносных программ.
1.2 Классические эпидемиологические модели
В эпидемиологии используются два основных типа моделей: стохастические и детерминистические. Стохастический подход применяется для исследования эпидемий в малых или изолированных популяциях, когда особенно важную роль в распространении заболевания играют случайные колебания вероятностей заражения индивида. Детерминистические модели описывают эпидемиологический процесс на уровне всей популяции и пригодны для больших популяций. Применение стохастических моделей для больших популяций дает такие же результаты как полученные детерминистическим подходом. Для упрощения анализа распространения инфекционного заболевания, особенности заражения и излечения индивида не учитываются. Считается, что каждый индивид в популяции может находиться только в одном из нескольких состояний. В общем случае, детерминистическая MSEIR модель выделяет в популяции пять групп:
• М (passive immunity - обладающие пассивным иммунитетом)
• S (susceptible - уязвимые)
• Е (exposed - зараженные, латентная стадия)
• I (infective - зараженные, распространяющие заболевание)
• R (recovered/removed - индивиды, неподверженные заболеванию)
Индивиды М, обладающие пассивным иммунитетом к инфекции от рождения, постепенно переходят в группу подверженных заболеванию индивидов S. Уязвимые индивиды S заражаются индивидами I с некоторой частотой 3. Новые зараженные индивиды проводят некоторое время в группе развития заболевания Е, а затем приобретают способность распространять инфекцию. Зараженные индивиды излечиваются с некоторой частотой 8 и переходят в группу R, обладающую иммунитетом. Существует множество модификаций этой модели, включающих только определенные группы: модели SI, SIR, SEIR и другие. Также существует модификация MSEIRS и производные от нее, в которой неподверженные заболеванию индивиды могут со временем терять иммунитет и переходить в группу уязвимых. Решение о том, какие группы включать в модель зависит от особенностей распространения конкретного заболевания и от цели моделирования.
В наиболее упрощенном варианте - SI модели - вся популяция разделяется на индивидов, подверженных заболеванию и зараженных индивидов. Если N число всех индивидов в популяции, a S(t) и I(t) - число уязвимых и зараженных индивидов в момент времени t соответственно, тогда ,. s(t) i(t) sit) =—-—,fCt) =- 7 - доля уязвимых и зараженных индивидов в популяции в момент времени t соответственно. В классических эпидемиологических моделях считается, что время развития эпидемии гораздо меньше средней продолжительности жизни индивида, т.е. число индивидов в популяции остается постоянным: N = S(i) + lit) Простейшая SI модель описывается уравнением: dl(t) -7 = piCtMt) = J3l(.t)[N - /(t)] at или di(t) - =/?i(t)[l-(t)] Решением этого уравнения является lQ " - ,+а-ЧУ W , где i0 - доля зараженных индивидов в начале эпидемии. 02 0.4 0.6 Рис. 1.2.1 В классической эпидемиологической модели SIR учитывается приобретение индивидами иммунитета после излечения, число индивидов в популяции также остается постоянным: N = S(t) + 7(t) + R(t) Если р — частота заражения, тогда $1 — S = BNis - среднее число новых зараженных индивидов в единицу времени. Классическая SIR модель описывается системой дифференциальных уравнений: rdS Bl -r=-—s, dt N dl (її — = —5-5/, dt N dR , где 5 - частота излечения. Рис. 1.2.2 Подставив частоту излечения 8 равную нулю в, получим выражение для упрощенной SI модели.
Не смотря на относительную простоту традиционных эпидемиологических моделей, они имеют большое значение. В частности, Кермаком и МакКендриком установлена теорема об эпидемиологическом пределе: эпидемия может начаться только если исходное число уязвимых индивидов So в популяции больше эпидемиологического предела р (отношения частоты излечения и заражения).
Р = Р Если число подверженных инфекции индивидов меньше, то вспышка заболевания в популяции угасает. В соответствии с этим утверждением традиционную SIR модель называют также моделью Кермака-МакКендрика. 1.3 Модели, приспособленные для изучения распространения вредоносного кода Для того чтобы адаптировать традиционные модели для анализа распространения вредоносного кода, было разработано множество модификаций этих моделей. В работе [4] предложена модель сигналов оповещения. При обнаружении вредоносного кода в популяции индивидов (компьютеров) распространяются сигналы, предупреждающие о возможном заражении. Модель описывается следующей системой дифференциальных уравнений: Y = pi(1 - і - к) -6і- pKik, (1.3.1) dk — = pKik - SKk + 5і (1.3.2) , где k(t) - доля оповещенных компьютеров в момент времени t, Рк - частота распространения предупреждающих сигналов, 5К - частота ослабления действия сигналов. Приравняв скорость изменения доли зараженных компьютеров к нулю, получим, что установившееся долю зараженных компьютеров можно существенно уменьшить, сделав частоту распространения сигналов рк достаточно большой или частоту затухания сигналов 5К достаточно малой.
Приравняв 8К к нулю в (1.3.1) и (1.3.2), получим модель, в которой предупрежденные компьютеры получают постоянный иммунитет к вирусу. Приравняв оба параметра модели рк и 5К к нулю, получим классическую SIR модель. Если рк стремится к бесконечности, а 6К имеет конечное значение, то получаем модель, в которой сигналы оповещения распространяются мгновенно. Наличие в популяции упреждающих сигналов позволяет существенно снизить долю зараженных компьютеров i(t), которая установится при стремлении времени t к бесконечности.
В работе [7] рассматривается эпидемиологическая модель, адаптированная для описания эпидемий интернет-червей, в частности червя Code Red. Эта модель имеет два основных отличия от классической SIR модели:
Переход в группу индивидов,
неподверженных заболеванию R, возможен не только из зараженной группы I, но и из уязвимой группы S. Такой переход отражает меры противодействия распространению червя (установка обновлений, проверка компьютеров и т.д.)
Частота заражения индивидов не постоянна, а уменьшается со временем. Это отражает нарушение работоспособности сети и уменьшение ее пропускной способности в результате распространения червя.
В соответствие с этим такая модель называется двухфакторной.
Пусть R(t) и Q(t) - число компьютеров, перемещенных в группу неподверженных инфекции из групп зараженных компьютеров I и уязвимых компьютеров S. Тогда изменение количества уязвимых компьютеров за промежуток между моментами времени t и t+At dQ(t) AS = -p(t)S(.t)l(t)At - - At at Разделим обе части этого уравнения на At и заменим дельты дифференциалами: dS do (t) Полное число компьютеров N не изменяется и равно JV = 5(t) +I(t)+ R(t) + Q(t) Разрешим это уравнение относительно S и подставим в предыдущее уравнение. Можно получить выражение для скорости изменения числа зараженных компьютеров, описывающее двухфакторную модель: - - = /?(t)/(t)[;v - я(0 - /(t) - (0] —— (1.3.3) Уменьшение частоты заражения моделируется выражением /?(0 = /?0[і-—Г Если мы положим ті и Q равными нулю в (1.3.3), то получим классическую модель Кермака-МакКендрика. Согласно двухфакторной модели число зараженных компьютеров I(t) сначала увеличивается, достигая некоторого максимального значения, а затем начинает уменьшаться. Рассмотрим уравнение = рЬЖгЖд - = [fitosb) - 8Ш at at Число уязвимых компьютеров S(t) - убывающая функция. Максимальное количество зараженных компьютеров будет достигнуто в момент времени tc, когда (tc) = / (сс) После этого, для t tc /Kt)S(t) - д О , т.о. число зараженных компьютеров убывает. Полученный результат хорошо согласуется с данными распространения червя Code Red, которые не могут быть объяснены с помощью классической модели. 00:00 1Q4 Comparison between model and observed data 12 о j= з Л з .о о с 6 ш •Й 4 Е O Observed Code Red infectious hosts —— two-factor worm model: I(t) з Z Q ф—Q_ 12:00 14:00 16:00 18:00 20:00 22:00 UTC hours (July 19-20) Рис. 1.3.1 Другая модель, созданная на основе данных о распространении червя Code Red, представлена в работе [9]. RCS модель (Random Constant Spread model -модель случайного постоянного распространения) построена на предположении, что червь случайным образом выбирает жертву из всего адресного пространства и распространяется с постоянной частотой. Так как пространство всех возможных IP-адресов 232 велико, возможность того, что несколько копий червя пытаются заразить один и тот же компьютер одновременно не учитывается. Пусть N -количество всех уязвимых машин, К - количество машин, заражаемых одной копией червя за единицу времени, а - доля зараженных машин. Число машин п, которые будут заражены за время dt n = NaK(l-a)dt (1.3.4) Если предположить, что число уязвимых машин N постоянно, то п = d(Na) = Nda Подставив п в (1.3.4) получим Nda = NaJC(l - a)dt , откуда da Решением этого уравнения является , где Т - точка максимального увеличения роста. Идея, о моделировании установки обновлений ПО, устраняющих уязвимости, и других превентивных мер реализована также в PSIDR модели (Progressive Susceptible-Infected-Detected-Removed model) [8]. Модель называется прогрессивной, потому что в ней реализовано изменение динамики распространения вредоносного кода. Согласно этой модели, все время распространения делится на 2 стадии: свободного распространения и реакционную. В первой стадии исходное количество зараженных компьютеров заражает другие компьютеры с частотой р, излечения не происходит. Стадия свободного распространения длится до момента времени тт. Это время необходимо на выделение сигнатуры вредоносного кода. Во второй фазе принимаются меры противодействия; вредоносный код обнаруживается с частотой ц. Компьютеры, на которых обнаружен вредоносный код переводятся из состояния I (infected) в состояние D (detected) и излечиваются с частотой 8. Основное отличие от классической эпидемиологической модели состоит в том, что излечение, то есть переход из состояния І в состояние R происходит не напрямую, а через дополнительное состояние D. Второе отличие состоит в том, что переход в защищенное состояние R может произойти не только после заражения, но и напрямую из уязвимого состояния S с вероятностью ji. Такой переход соответствует установке обновлений, устраняющих уязвимости в программном обеспечении. a) Pre-response b) Response Ц S P-D-R "ч J Response time (7t) Primary infection Рис. 1.3.2 Как и в других эпидемиологических моделях, число индивидов (компьютеров) N в PSIDR модели остается постоянным. На стадии свободного распространения модель описывается системой дифференциальных уравнений dS dl N = S(t) + /(О фактически являющейся простейшей SI моделью. На второй стадии модель описывается системой dS d- = -pSl - д5, dD —- = уа - SD, dt dl — = /?S/ + уй, dR dt N = S(t) + I{t) + D{t) + R(t) Time О a 1-І Inadequate performance indicates virus Virus Signature/ Cure is found Рис. 1.3.3 PSIDR модель более приспособлена для описания эпидемий компьютерных вирусов, чем традиционные модели, однако она не лишена некоторых недостатков. В частности, эта модель, в отличие от двухфакторной, не учитывает изменение в частоте заражения. Дальнейшее развитие аналогии между биологическими заболеваниями и вредоносными программами представлено в работе [12]. Подход основан на применении карантина для индивидов, проявляющих признаки заболевания. Для предотвращения вспышки эпидемии, такие индивиды изолируются от остальных членов популяции на время, необходимое для развития заболевания. Если по истечении этого времени индивид, находящийся на карантине не проявляют признаков болезни, то изоляция прекращается. Такая политика основана на принципе «считать виновным пока не доказана невиновность». По аналогии, компьютеры, проявляющие подозрительную сетевую активность, блокируются автоматическими средствами на некоторое время. Такая система может иметь определенное количество ложных срабатываний. Чтобы не нарушать нормальную работу сети, компьютеры блокируются только на небольшое время Т, а затем допускаются к нормальной работе, даже если они не были обследованы персоналом сети на предмет червей и других вредоносных программ. Пусть Х\ -частота, с которой обнаруживаются подозрительные компьютеры, а Х2 - частота ложных срабатываний системы. R(t) и Q(t) - число зараженных и число уязвимых компьютеров соответственно, находящихся на карантине в момент времени t. R(t) включает в себя зараженные компьютеры, заблокированные за промежуток между моментами времени t и t, где Т - продолжительность карантина. Компьютеры, находившиеся на карантине до момента времени t, уже были разблокированы. В момент времени т в сети насчитывается I(x)-R(x) зараженных незаблокированных компьютеров. Следовательно, можем получить выражение для R(t): йШ= Г [/(тЗ-ЖтЗІЯ -т - tЕсли величина I(t)-R(t) большая, то за небольшой промежуток времени dT будет заблокировано приблизительно зараженных компьютеров. Время карантина Т выбирается достаточно малым, чтобы не нарушаться корректную работу сети. Если за это время R(t) и I(t) изменяются незначительно, то можно считать, что R(t) = [/(t) - Л(0]АІГ Из этого уравнения можем получить связь между R(t) и I(t): ii(t) = pV(t) , где р і - вероятность блокирования зараженного компьютера Pl 1 + 1,71 Аналогично, получаем выражение для числа случайно заблокированных уязвимых компьютеров: Q(t)=p 2S(t) , где S(t) - число уязвимых компьютеров, р 2 - вероятность случайного блокирования уязвимого компьютера А2Т 1 +Я2Т Рассмотрим классическую модель и эффект от применения системы карантина. Пусть 5 - частота, с которой уязвимые компьютеры излечиваются. Тогда число заблокированных компьютеров R(t) R(t)=\ [/(О-ЯСтШігіт- J SR(r)di Можем получить связь между R(t) и I(t): RW = ч\т , где q i - вероятность блокирования зараженного компьютера с учетом процесса приобретения иммунитета 4 1 1+(XX+S)T Т.о., модель описывается дифференциальным уравнением: dlCt) , где P" - частота распространения вредоносного кода /r = (l-q\)(l-q 2W Тогда эпидемиологический предел для модели Кермака-МакКендрика с системой изоляциии подозрительных индивидов 8 1 ft" (l-q )(! ) Т.о., внедрение системы карантина увеличивает эпидемиологический порог. Для возникновения эпидемии число уязвимых индивидов должно быть больше этого порога.
Дальнейшее развитие моделирования эпидемий вредоносного кода связано с изучением используемых им стратегий распространения. Моделирование и опытные данные показывают, что большая часть времени распространения уходит на заражение небольшого, по сравнению с масштабами эпидемии количества компьютеров. Следовательно, для успешного распространения вредоносной программе необходимо за минимальное время инфицировать некоторую долю уязвимых компьютеров. Большинство современных интернет-червей использует случайное сканирование адресов и топологическое распространение.
Случайное сканирование всего диапазона IP-адресов обладает множеством недостатков. Не смотря на то, что среди всех возможных 2 IP-адресов доступны далеко не все, червь перебирает все возможные варианты, затрачивая на недоступные адреса определенное количество времени. Частое обращение к несуществующим адресам может выглядеть подозрительно, и червь может быть обнаружен техническим персоналом компьютерных систем или автоматическими системами обнаружения. К тому же для применения стратегии случайного сканирование необходимо наличие подходящего генератора случайных чисел, создание которого является весьма непростой задачей. Так, например, первая версия червя Code Red создавала на зараженном компьютере 99 потоков, сканирующих случайным образом адресное пространство, однако, из-за ошибки в реализации стратегии, потоки, запущенные на разных зараженных компьютерах сканировали одинаковые последовательности адресов. Следующая версия червя применяла усовершенствованный алгоритм, согласно которому в первую очередь заражались компьютеры в локальном адресном пространстве того компьютера, на котором запущен червь. Идея состоит в том, что если червь» смог инфицировать один компьютер, то с большой вероятностью в его адресном пространстве (в той же подсети) присутствуют другие уязвимые компьютеры. Локальное сканирование позволяет увеличить темпы развития эпидемии, однако не гарантирует успешное распространение. В будущем, в связи с расширением диапазона возможных адресов (введение технологии IPv6), сканирование даже локального участка может стать труднореализуемым.
Топологическая стратегия, не смотря на некоторую примитивность, также весьма распространена. В частности, она применялась червем Морриса и используется современными email-, im-, peero-peer- и другими червями или может быть одним из нескольких способов распространения (червь Nimda). Она основана на использовании информации о связях зараженного компьютера с другими узлами (адресные книги, списки контактов, подключений и т.д.). Распространение вредоносного кода, использующего такую стратегию, зависит от топологии сети. Червь не может напрямую заразить все компьютеры сети, а вынужден перемещаться от узла к узлу. Однако у топологической стратегии есть свои преимущества. Если пользователь зараженного компьютера имеет контакты другого пользователя, то, скорее всего, и этот пользователь имеет контакты зараженного. К полученным от знакомых письмам или сообщениям пользователи относятся с меньшим подозрением и могут с большой вероятностью открыть вложение, содержащее вредоносную программу.