WWW.PDF.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Разные материалы
 

«ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ Абрамов Н.А., Качалин А.И. ВЫБОР МОДЕЛЕЙ РАСПРОСТРАНЕНИЯ ВПО ПРИ РАЗРАБОТКЕ МОДЕЛИ ГЛОБАЛЬНОЙ СЕТИ ЛВК ВМиК МГУ, ...»

ИНФОРМАЦИОННАЯ

БЕЗОПАСНОСТЬ

Абрамов Н.А., Качалин А.И.

ВЫБОР МОДЕЛЕЙ РАСПРОСТРАНЕНИЯ ВПО ПРИ

РАЗРАБОТКЕ МОДЕЛИ ГЛОБАЛЬНОЙ СЕТИ

ЛВК ВМиК МГУ, cunick@lvk.cs.msu.su, ak@lvk.cs.msu.su

Введение

Для исследования влияния эпидемий вредоносного ПО (ВПО),

вызванных неконтролируемым распространением ВПО посредством

вирусных механизмов по узлам сети, необходимо получить оценку динамики роста числа ВПО, при помощи которой, впоследствии, возможно произвести оценку объемов трафика, генерируемого ВПО.

Для моделирования процесса эпидемии ВПО применяются два типа моделей – аналитические (т.е. имеющие аналитическое решение) и имитационные. Последние, обеспечивая высокую точность и возможность модификации модели (добавления и изменения логики рассматриваемых аспектов) обладают высокой вычислительной сложностью, что делает актуальным вопрос о возможности использовании в составе данных моделей компонентов с аналитическим решением[1].

Аналитические модели сетевых эпидемий, рассматривают в качестве моделируемого объекта популяцию зараженных узлов и динамику изменения количества зараженных узлов во времени в зависимости от свойств сети, ВПО и контрмер. К достоинствам таких моделей можно отнести незначительную (по сравнению с имитационным моделированием) вычислительную сложность, однако для таких встает вопрос о возможности их настройки (выбора параметров) для исследуемого ВПО, а также границах применимости – размерах и топологии рассматриваемых сетей.



В данной работе описывается ряд математических моделей ВПО, исследуется вопрос об их применимости для моделирования эпидемии глобальной сети в составе системы моделирования проекта Гибридного моделирования глобальной сети (ГМГС) [1].

Обзор моделей распространения ВПО В простой эпидемиологической модели [2] (Suspectable-Infected (Suspectable) (-Disabled), SI, SIS, SID) предполагается, что произвольный узел сети, может находиться только в двух состояниях: уязвимом и инфицированном, притом их общее число является постоянным.

Основываясь на том, что в процессе распространения сетевого червя уязвимые узлы становятся инфицированными, оценку числа инфицированных хостов можно представить следующим образом[2]:

di = (1 i)i (1), имеет решение: i (t ) = (2), dt 1 + [ 1]exp( t ) i0 Отметим, что коэффициент (описывающий «агрессивность»

ВПО) является константой. Это означает, что скорость заражения зависит только от числа инфицированных узлов и не зависит от времени (этапа эпидемии), хотя известно [2,5], что на поздних этапах эпидемии наблюдается снижение темпов распространения в связи с перегрузкой каналов, паразитным трафиком и попытками повторного заражениями уже захваченных узлов [6]. Динамика роста числа инфицированных узлов имеет гораздо более сложную природу и соответствует (1) лишь в самом общем виде [3]. Для внесения дополнительных аспектов в модель разрабатывались схожие модели, относимые к семейству SI.

Основные различия моделей семейства SI – рассматриваемые множества состояний узла. Так, модель Кермака-Маккендрика[5] учитывает возможность «излечения» узла от вируса. В других моделях данного класса могут рассматриваться: отключение узлов, иммунизация, повторное инфицирование и т.п.

Последующим совершенствованием можно считать двухфакторную модель [4], исправляющую основной недостаток моделей семейства SI: коэффициент в двухфакторной модели является функцией от времени, что позволяет динамически менять «агрессивность» ВПО.



В двухфакторной модели можно исследовать следующие аспекты сетевых эпидемий: паразитный трафик; перегрузку сети; задать момент «насыщения» (пороговое количество узлов, по достижения которого, рост эпидемии останавливается[3]); учесть то, что изменение динамики развития эпидемии является экспоненциальной функцией только на начальном этапе распространения ВПО.

Уравнения данной модели основаны на зависимостях, использованных в семействе моделей SI, но помимо факторов, учитываемых в SIS модели, рассматриваются:

появление удаленного состояния для узлов (узлы которые не участвуют в дальнейшем развитии эпидемии) и зависимость числа уязвимых узлов от числа инфицированных, уязвимых и удаленных. Это позволяет описать эффект замедления роста эпидемии после ее обнаружения (работу СОИБ).

В модели Active Analytical Worm Propagation (AAWP)[4] вводится следующее предположение о поведении червя: червь может атаковать несколько узлов одновременно, и не будет пытаться инфицировать узел, который уже заражен. Кроме того, в модели заложены следующие предположения: червь использует в качестве стратегии поиска только случайный выбор жертвы, а для инфицирования жертвы червю достаточно одного кванта времени.

В отличие от эпидемиологических моделей, основанных на непрерывных по времени дифференциальных уравнениях, модель AAWP использует дискретное время. Это позволяет учитывать аспект протяженности во времени процесса заражения узла: узел, зараженный ВПО, не может немедленно начать заражение других узлов, пока не завершилась его инфицирование. В моделях рассмотренных выше предполагалось, что ВПО начинает распространяться с узла в момент начала заражения самого узла (в указанных моделях при этом получалось, что заражена «часть» узла – т.к. число узлов является непрерывной функцией, которая может принимающей действительные значения [3]).

Кроме того, AAWP в отличие от эпидемиологических моделей, учитывает возможность атаки одного уязвимого узла с нескольких инфицированных узлов одновременно.

Следует отметить, следующую особенность AAWP: параметры модели напрямую связаны с программными характеристиками червя, которые можно получить в явном виде, изучив его исходные коды и/или исполняемый файл (в некоторых случаях это может быть более простой процедурой в сравнении со сбором статистик).

Сравнение результатов моделирования со статистиками эпидемий Реализация моделей проводилась в среде Simulink, в качестве статистических данных для калибровки моделей использовался набор данных CAIDA [7].

Решением SIS модели является экспоненциальная функция от времени (2), но как показали [3] в сетевых эпидемиях червей со случайным выбором жертвы (к которым относится Code Red) зависимость числа инфицированных узлов от времени аппроксимируется экспоненциальной функцией только до того момента, как будет заражено 50% уязвимых узлов. Также SIS модель не учитывает уменьшение числа узлов после начала принятия контрмер и момент пика эпидемии. Именно этим и объясняется столь значительное расхождение между реальной эпидемией и показателями модели SI, а учитывая ограниченные возможности по калибровке модели, можно говорить о том, что ее применение возможно лишь в случае необходимости большого числа прогонов на начальном этапе эпидемии, т.к. достоинством модели является низкая вычислительная сложность.

1 – результаты моделирования при помощи двухфакторной модели, 2 – статистические данные Code Red, 3 – результат моделирования эпидемии при помощи SIS модели. 4,5 инфицированные и иммунизированные узлы согласно двухфакторной модели.

Рис.1 Динамика эпидемии (число экземпляров ВПО) Двухфакторная модель напротив, показывает хорошие результаты, обусловленные ее направленностью на моделирование червей со случайным типом сканирования – динамическое изменение коэффициента и тщательная калибровка модели дают выход, совпадающий в 80% точек со статистическими данными эпидемии Code Red. Также следует отметить ее хорошие калибровочные возможности.

Топология сети (не рассматриваемая двухфакторной моделью) не столь важна при исследовании эпидемий в глобальной сети [4], но если необходимо исследовать распространение червя в сети меньших размеров, топология становится ключевым параметром определяющим дальнейшее развитие эпидемии [3] и, следовательно, вопрос применимости двухфакторной модели должен быть рассмотрен отдельно.

Рис.2,3. AAWP, откалиброванная под эпидемию Code Red (2 сканирования в секунду) и сравнение AAWP (1) и SIS (2) модели.

Модель AAWP является дискретной и создавалась специально для моделирования эпидемий червей подобных Code Red и Witty. Путем численного анализа было установлено, что с настройками подобранными согласно статистическим данным выходные результаты модели соответствуют статистическим данным эпидемии Code Red пусть и в меньшем числе точек, чем двухфакторная, но, тем не менее, значительно лучше, чем SIS модель.

Также она значительно превосходит SIS и двухфакторную модели при моделировании эпидемий Witty и Slammer. Таким образом, несмотря на большее расхождение со статистикой по эпидемии Code Red, AAWP возможно гибко настраивать для описания специфики различных ВПО. Это связано с тем, что AAWP имеет больше возможностей для калибровки, чем двухфакторная модель, притом эти параметры имеют непосредственное отношение к реальным характеристикам процесса.

Также существует модификация AAWP модели, учитывающая особенности червей, использующих механизмы поиска цели, отличные от переборных (атаки по списку), а также контрмеры направленные против червя[4].

Выводы и дальнейшая работа Проведенные исследования показали возможность использования компонентов, реализующих аналитическое решение, в составе системы гибридного моделирования глобальной сети:

• Необходимо учитывать специфику и ограничения моделей (возможность описания топологии, возможности по описанию алгоритмов распространения ВПО). В ряде случаев возможно производить переход от одной модели к другой в особых точках развития эпидемии.

• Главной проблемой построения аналитических моделей распространения ВПО остается калибровка модели, в большинстве моделей не может быть решена задача выбора коэффициентов модели по известным характеристикам сетевого червя и порожденной им эпидемии. В рамках решаемой задачи возможным решением данной проблемы может быть разработка обобщенных профилей ВПО (обобщенная модель почтового червя, сетевого червя, вирусов распространяемых по социальным сетям и т.д.).

• Помимо практических задач (калибровки) в аналитическом виде пока не решены некоторые задачи (учет топологии сети, зависимость динамики эпидемии от типов и оперативности систем обеспечения информационной безопасности).

• Наиболее гибкой моделью для использования в составе вычислительного комплекса в качестве универсальной (базовой) модели эпидемии ВПО является модель AAWP[4].

[1] Качалин А.И. моделирование процесса «Гибридное самораспространения программ в глобальной сети». Методы и технические средства обеспечения безопасности информации. Материалы научнотехнической конференции, Санкт-Петербург, 2008.

[2] А. Захарченко Причины и следствия»

«Черводинамика:

(http://az13.mail333.com/3/worm3.htm).

[3] C. C. Zou, W. Gong, and D. Towsley. Code Red Worm Propagation Modeling and Analysis. In Proceedings of the 9th ACM Conference on Computer and Communications Security, pages 138--147, November 2002. 7 http://citeseer.ist.psu.edu/article/zou02code.html [4] Chen, Z., Gao, L., Kwiat, K.: Modeling the spread of active worms. In:

Proceedings of IEEE INFOCOM 2003. (2003) http://citeseer.ist.psu.edu/chen03modeling.html.

[5] Zou, C.C., Gao, L., Gong, W., Towsley, D.: Monitoring and early warning for internet worms. In: Proceedings of the 10th ACM conference on Computer and communication security, ACM Press (2003) 190--199 http://citeseer.ist.psu.edu/zou03monitoring.html.

[6] Качалин А.И., «Моделирование процесса распространения сетевых червей для оптимизации защиты корпоративной сети», Искусственный интеллект, 2006 No 2, с.84-88.

[7] Описание CAIDA dataset http://imdc.datcat.org/collection/1-001PM=CAIDA+Code-Red+Worm+Dataset

–  –  –

КОНТРОЛЬ БЕЗОПАСНОГО ВЫПОЛНЕНИЯ ПРИЛОЖЕНИЙ С

ПОМОЩЬЮ ПОВЕДЕНЧЕСКИХ МОДЕЛЕЙ

Лаборатория вычислительных комплексов факультета ВМК МГУ имени М. В. Ломоносова {stas, gamajun, tehhi, askold, sakharov}@lvk.cs.msu.su Аннотация В работе рассматривается задача автоматического контроля безопасного выполнения приложений под управлением операционной системы (ОС) Linux, с целью раннего обнаружения атак, изменяющих поток выполнения программы или поток данных. В качестве решения данной задачи предлагается комбинированный подход с использованием Security Enhanced Linux (SELinux) и механизма отслеживания контрольных точек в исполняемом коде приложений.

Введение Контроль безопасного поведения приложений на узлах в настоящее время является одной из наиболее актуальных задач комплексной защиты информации в сетях. Программные уязвимости в сетевых приложениях – это один из самых часто используемых путей проникновения вредоносного программного обеспечения в сети организаций. В результате массового заражения вычислительных машин имеет место повсеместный рост количества узлов в так называемых «ботнетах» – географически распределённых сетях заражённых компьютеров.

В операционных системах, построенных на основе Linux, существует ряд механизмов «ядерного» уровня, предназначенных для контроля поведения приложений, как на основе формальных моделей доступа (мандатный и ролевой доступ), так и на основе профилей нормального поведения.

Профили нормального поведения приложений формируются вручную или автоматически по некоторой истории выполнения приложений. Среди указанных механизмов следует отдельно выделить подсистемы SELinux [1-3] и AppArmor [4, 5]. Обе подсистемы уровня ядра используют заданное в явном виде описание разрешённого (нормального) поведения приложения в форме профилей (политик), в которых перечислены все разрешённые для данного приложения операции и группы ресурсов ОС. В SELinux политики задаются вручную экспертом (за основу зачастую берутся готовые политики, входящие в состав дистрибутива ОС). А в AppArmor существует возможность автоматически строить профили по набору прогонов приложения. Оба подхода обладают общим недостатком: они не позволяют различать внутренние состояния контролируемых приложений, в результате профили нормального поведения реальных приложений оказываются либо избыточно «разрешительными», так что реальных ограничений на возможности нарушителя не накладывается, либо излишне что нарушает нормальное «жёсткими», функционирование приложений.

В работе [6] был предложен подход к обнаружению широкого класса атак на приложения на основе динамического сопоставления наблюдаемого поведения приложения с моделью его нормального поведения в виде альтернирующего автомата.

В данной работе предложено расширение метода контроля поведения приложений, используемого в SELinux, за счёт введения меток состояний приложений в процессе выполнения с помощью аппаратных контрольных точек. Основная цель предлагаемой модификации – повышение точности описания нормального поведения в SELinux для сетевых сервисов. Понятие состояния приложения трактуется в соответствии со спецификацией сетевого протокола, который реализуется в контролируемом приложении. Модификация предполагает переключение политик SELinux при изменение состояния приложения. Это позволит, например, разграничить возможности клиент-серверных приложений в состояниях «не авторизован» и «успешно авторизован».

Существующие подходы Механизм контрольных точек в приложениях используется достаточно давно для борьбы с атаками различных классов, прежде всего «переполнение буфера» (порча памяти). Рассмотрим современные работы, использующие инструментирование исходного кода.

В работе [7] описан механизм StackGuard, позволяющий вставлять специальные метки-индикаторы («canary») рядом с адресами возврата из функций. Перед передачей управления обратно на вызвавшую функцию производится проверка корректности значения данного индикатора, в случае повреждения стека программа принудительно завершается.

Инструментальное средство DYBOC [8] использует механизм «вызова функции как транзакции, допускающей откат». Для обнаружения переполнения буфера производится подмена незащищенного вызова malloc() на специальный вызов pmalloc(), при этом также перед вызовом функции создаются точки отката. При получении сигнала «Segmentation Violation» работа функции завершается и выполняется откат программы к контрольной точке.

Для веб-приложений и интерпретируемого кода (байткод Java, JavaScript и т.п.) существует ряд инструментальных средств и методов [9, 10] для фильтрации «недоверенного» кода на лету, замены небезопасных методов их безопасными аналогами и применения разнообразных ограничивающих политик. Примерами применения таких политик могут быть вставки кода, проверяющие ограничения на максимальное количество одновременно открываемых всплывающих окон, потребление ресурсов CPU, допустимые последовательности вызова различных методов (например, запрещающие программам передачу данных недоверенному удаленному узлу после загрузки пользовательских cookies). Для задания таких политик были разработаны хорошо формализованные модели и специальные языки (например, Polymer [11]).

В настоящей работе метод установки контрольных точек используется для сигнализации ядру ОС и подсистеме SELinux об изменении состояния контролируемого приложения. При смене состояния приложения SELinux переключает политику в соответствии с целевым состоянием приложения. Для обнаружения атак на приложения, которые приводят к тому, что приложение не достигает следующего ожидаемого состояния, предполагается использовать механизм таймаутов.

Предлагаемый метод В предыдущем разделе были рассмотрены различные методы контроля состояний приложения при помощи наблюдения за контрольными точками. В рамках предлагаемого метода под контрольной точкой подразумевается адрес в виртуальном адресном пространстве процесса. Если исполнение переходит на очередной контролируемый адрес, считаем, что приложение перешло в новое состояние.

Для динамической установки контрольных точек в приложениях используется расширение ядра ОС Linux utrace [12] и клиент uprobes [13].

• utrace это система профилировки и отладки — пользовательских приложений из пространства ядра.

Использование отладчика на стороне ядра позволяет достичь высокой скорости обработки событий за счёт снижения накладных расходов на переключение контекстов и передачу данных из/в пользовательские приложения

• uprobes – это клиент utrace, который позволяет расставлять контрольные точки в пользовательском процессе.

Поддерживаются два типа контрольных точек: uprobe — может быть установлена в любом месте виртуального адресного пространства процесса, uretprobe – уведомляет о выходе из определенной функции.

Utrace имеет преимущество по скорости выполнения над такими средствами уровня приложений как gdb и strace примерно в 100 раз.

Изменения в SELinux.

Каждому процессу в системе SELinux ставит в соответствие специальную структуру:

struct task_security_struct { unsigned long magic; // module ID for SELinux module struct task_struct * task; //back pointer to the associated task struct list_head *list; // list of all security structs security_id_t osid; // SID prior to the last execve security_id_t sid; // SID for the task security_id_t in_sid[2]; //input sids used by selinux syscalls security_id_t out_sid[2]; // output returned by selinux syscalls avc_entry_ref_t avcr; // ref to access vector cache };

Все решения внутри SELinux принимаются на основании переменных-идентификаторов (SID). Эти переменные идентифицирует политику, которая должна быть применена к данному объекту системы.

Таким образом, для изменения политики приложения в процессе его исполнения достаточно заменить SID на другой.

В рамках реализации предложенной модификации системы SELinux были добавлены изменения в синтаксис языка политик, которые позволяют хранить в политике адреса контрольных точек и соответствующие изменения политики при переходе в новое состояние.

Рассмотрим политику для компилятора языка Ada.

Исходный файл политики из SELinux:

policy_module(ada, 1.3.0) type ada_t;

type ada_exec_t;

application_domain(ada_t, ada_exec_t) role system_r types ada_t;

# Local policy allow ada_t self:process {execstack execmem};

userdom_use_user_terminals(ada_t) optional_policy(`unconfined_domain_noaudit(ada_t)') В данном примере мы видим директиву allow, которая разрешает исполнение стека и памяти. Допустим эксперт выяснил, что данные права нужны компилятору только на определенных ветках кода.

policy_module(ada, 1.3.0) type ada_t;

type ada2_t;

type ada_exec_t;

application_domain(ada_t, ada_exec_t) role system_r types ada_t;

# Local policy change_hat ada_t ada2_t 0x080490a8 change_hat ada2_t ada_t 0x080589a9 allow ada2_t self:process { execstack execmem };

userdom_use_user_terminals(ada_t) optional_policy(`unconfined_domain_noaudit(ada_t)') В данном примере объявляются уже два состояния — ada_t и ada2_t, в последнем компилятор имеет права на исполнение стека и памяти. Сразу после запуска у компилятора будет домен ada_t. Далее объявляется, что переключение на другую политику с более широкими правами должно произойти в случае попадания управления на 0x080490a8, и обратно — при переходе по адресу 0x080589a9.

Для контроля поведения приложений реализован модуль ядра, использующий систему utrace для наблюдения за ходом исполнения приложения и политики SELinux. При загрузке он запрашивает текущее состояние SELinux, информацию о состояниях приложений, привязывается к целевым процессам с целью отслеживания вызовов fork() и exec(). По параметрам вызова exec() модуль определяет, какое приложение будет запущено. В том случае, если в политике SELinux существует информация о наборе состояний данного приложения, модуль начинает наблюдение за контрольными точками.

Заключение В рамках данной работы была предложена модификация подхода SELinux к описанию нормального поведения и обнаружению отклонений от него. Предложенная в модификации процедура профилировки приложения позволяет повысить точность описания нормального поведения приложений за счёт разделения внутренних состояний. Данная модификация применима для класса приложений, реализующих известные сетевые протоколы.

В настоящее время планируется разработка автоматизированного средства создания политик SELinux с расстановкой контрольных точек.

1. Michael Wikberg. Secure computing: SELinux // [www] http://www.tml.tkk.fi/Publications/C/25/papers/Wikberg_final.pdf, 2007.

2. Runge, C. (2004), SELinux: A new approach to secure systems, Technical report, Red Hat, Inc.

3. Redhat SELinux Guide // [www] http://www.redhat.com/docs/manuals/ enterprise/ RHEL-4- Manual/selinux-guide

4. AppArmor Detail // [www] http://en.opensuse.org/AppArmor_Detail, 2006.

5. R. Spenneberg. Shutting out Intruders with AppArmor // [www] http://www.linuxmagazine.com/w3/issue/69/Shutting_out_Intruders_with_AppArmor.pdf, 2007.

Гамаюнов Д.Ю. Обнаружение компьютерных атак на основе анализа 6.

поведения сетевых объектов // ВМиК МГУ, Москва, 2007.

7. C. Cowan, C. Pu, D. Maier, H. Hinton, P. Bakke, S. Beattie, A. Grier, P.

Wagle, Q. Zhang, StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks, Proc. 7th USENIX Security Conf., Jan. 1998

8. S. Sidiroglou, G. Giovanidis, A. D. Keromytis, A Dynamic Mechanism for Recovering from Buffer Overflow Attacks, Department of Computer Science, Columbia University, USA, 2005,

9. Ajay Chander, John C. Mitchell, and Insik Shin, Mobile code security by Java bytecode instrumentation, In DARPA Information Survivability Conference & Exposition (DISCEX II), June 2001.

10. D. Yu, A. Chander, N. Islam, I. Serikov, JavaScript instrumentation for browser security, Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 17-19, 2007, Nice, France.

11. L. Bauer, J. Ligatti, D. Walker, Composing security policies with Polymer, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, Chicago, IL, USA, June 12-15, 2005.

12. Utrace. [WWW] http://people.redhat.com/roland/utrace/

13. Uprobes. [WWW] http://sourceware.org/systemtap/

–  –  –

Аннотация В работе предложен метод обнаружения сетевых червей в сетевом трафике на основе выявления NOP-эквивалентных участков инструкций IA32 с помощью анализа частоты встречаемости инструкций IA32 и методов машинного обучения. Эксперименты с генераторами NOP-зон из состава Metasploit Framework и CLET демонстрируют точность обнаружения NOP-зон около 99,999% и близкий к 0 уровень ложных срабатываний на типовых «нормальны»

данных, включая программы в ELF-формате, мультимедийные данные и обычный текст. Высокая точность обнаружения таких последовательностей инструкций позволяет использовать их в качестве основы для распознавания ранее неизвестных сетевых червей.

Введение В настоящее время одной из самых острых проблем в компьютерных сетях является широкое распространение и экстенсивный рост ботнетов, которые используются для самой разнообразной криминальной деятельности: организации DDoS атак, фишинга, нелегального хостинга и т.д. По оценкам издания Computer Economics, суммарный ущерб от трёх эпидемий сетевых червей Code Red, Nimda и Slammer превысили 4 млрд. долларов только в 2001 году [8]. Из недавних событий можно отметить расцвет ботнета StormNet в 2007-2008 годах и эпидемию червя Kido/Conficker в январе 2009 года.

Среди методов борьбы с ботнетами в последние годы активно развиваются методы обнаружения вредоносного исполнимого кода в сетевом трафике, которые позволяют обнаруживать распространение сетевых червей на этапе проникновения на уязвимые узлы, что является первым и необходимым этапом строительства ботнета. Данное направление представляется перспективным, так как позволяет предпринимать профилактические меры вместо того, чтобы бороться с последствиями явления. Для проникновения на уязвимый узел червь использует так называемый «шеллкод» - последовательность машинных инструкций, выполняемая на атакуемом узле за счет эксплуатации уязвимости операционной системы или прикладного программного обеспечения.

На заре эпохи сетевых червей используемые в них шеллкоды были статическими, и их можно было обнаруживать по довольно простым сигнатурам. Сигнатуры до сих пор используются в распространённых системах обнаружения и предупреждения атак. Но со временем появились и в настоящее время активно используются методы обхода сигнатурных систем с помощью полиморфизма и метаморфизма исполнимого кода. Система генерации полиморфного исполняемого кода, например Metasploit Framework [1], позволяет создавать шеллкод различного вида из исходного исполняемого кода, сохраняя при этом его функциональность. Такой шеллкод уже нельзя обнаруживать сигнатурным методом, так как с помощью генератора можно получить миллионы различных вариаций одного и того же кода. Для обнаружения полиморфного исполнимого кода применяются более сложные методы обнаружения – на основе статического анализа графа потока управления [2], эмуляции выполнения кода [3] и т.д.

Особенность задачи поиска вредоносного исполнимого кода в сетевом трафике заключается в том, что для неё ключевым показателем решения является его производительность, а также уровень ложных срабатываний, т.к. частота событий (приход сетевого пакета) очень велика. Кроме того, на уровне сети чаще всего недоступен контекст выполнения приложений на узлах. Отсутствие контекста ограничивает применимость методов анализа графа потока управления, хотя они могут быть использованы для обнаружения вредоносного кода непосредственно на узлах сети.

Основная проблема для злоумышленника при реализации атаки на некоторую уязвимость, позволяющую запись в память атакуемого приложения, заключается в том, что он не знает, куда точно будет передано управление, т.к. абсолютные адреса начала стека программы меняются от системы к системе. Поэтому в таких случаях используют специальную NOP-зону, в которой выполняется бесполезный код. При попадании в NOP-зону процессор будет выполнять бесполезные команды до тех пор, пока не дойдет до нужной части кода.

Типичная структура шеллкода такова [5]:

–  –  –

Скачкообразный рост числа входящих и исходящих соединений 3.

для некоторого номера порта;

4. Изменение поведения хоста при заражении сетевым червем, либо изменение поведения множества хостов.

В системе EarlyBird [6] эпидемии червей обнаруживаются с помощью поиска сетевых пакетов с одинаковыми участками полезных данных (payload) и отслеживания динамики роста количества таких пакетов при одновременном росте количество отправителей и получателей таких пакетов. Система была испытана на исторических данных по эпидемиям CodeRed, MyDoom и была успешно использована для обнаружения реальных эпидемий червей Sasser и Kubvu.B.

Основные недостатки используемого алгоритма – высокая вычислительная сложность и чувствительность к полиморфизму сетевых червей.

В данной работе предлагается обнаруживать сетевые черви на основе анализа одной характеристики: динамика изменения количества NOP-эквивалентных последовательностей инструкций IA-32 в передаваемых по сети данных.

Алгоритм обнаружения:

1. Анализ очередного блока данных с помощью C-STRIDE.

2. Если обнаружена NOP-зона, выполняется поиск найденной строки в хэш-таблице ранее встреченных NOP-зон.

a. Если строка найдена в таблице, вычисляется новое значение частоты встречаемости для данной строки.

b. Если полученное значение превышает установленный порог, генерируется сообщение о возможном распространении сетевого червя.

3. Если NOP-зона встречена в трафике впервые, для неё заводится ячейка в хэш-таблице и значение частоты выставляется в 0.

4. Вычисляется новое значение общей частоты встречаемости NOP-зон. Если частота превышает установленный порог, генерируется сообщение о возможном распространении сетевого червя.

5. Переход к п. 1.

Данный алгоритм аналогичен алгоритму, используемому в системе EarlyBird, но в нём анализируется не всё поле данных каждого сетевого пакета, а лишь NOP-эквивалентные последовательности инструкций IA-32, которые являются «сильным» признаком наличия вредоносного кода в передаваемых данных. При этом алгоритм устойчив к полиморфизму кода сетевых червей, так как позволяет обнаружить эпидемический рост общего числа NOP-зон, в трафике, независимо от их схожести между собой.

В дальнейшем планируется экспериментально исследовать данный метод обнаружения сетевых червей на реальных каналах в Интернет.

1. The Metasploit Project. 2008. [HTML] (http://www.metasploit.org/)

2. R. Chinchani and E. Berg. A Fast Static Analysis Approach To Detect Exploit Code Inside Network Flows. In Proceedings of the 8th International Symposium on Recent Advances in Intrusion Detection (RAID'05), pages 284-308, September 2005.

3. T. Toth and C. Kruegel. Accurate Buffer Overflow Detection via Abstract Payload Execution. In Proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection (RAID'02), pages 274-291, October 2002.

4. P. Akritidis, E. Markatos, M. Polychronakis, and K. Anagnostakis.

STRIDE: Polymorphic Sled Detection through Instruction Sequence Analysis. In Proceedings of the 20th IFIP International Information Security Conference (SEC'05), pages 375-392, June 2005.

5. U. Payer, M. Lamberger, and P. Teufl. Hybrid engine for polymorphic code detection. In Proceedings of the Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA'05), pages 19-31, July 2005.

6. Sumeet Singh, Cristian Estan, George Varghese, Stefan Savage. «The EarlyBird System for Real-time Detection of Unknown Worms» [PDF] (http://www.cs.unc.edu/~jeffay/courses/nidsS05/signatures/savageearlybird03.pdf)

–  –  –

Аннотация Данная работа посвящена проблеме обработки данных сетевого трафика на каналах с пропускной способностью 1Гбит/с и выше для задач информационной безопасности, требующих режима реального времени или близкого к нему. Круг таких задач довольно широк – это обнаружение и предотвращение компьютерных атак, выявление распространения сетевых червей, обнаружение и предотвращение утечек информации, легитимный перехват и разбор трафика VoIP и т.д.

В настоящее время для решения этих задач часто используется специализированное аппаратное обеспечение с использованием FPGA и ASIC, а также распределённые вычисления на кластерах, что плохо сказывается на стоимости, энергопотреблении и других пользовательских качествах решений. В настоящей работе представлена специализированная среда высокоскоростного анализа сетевого трафика, состоящая из языка программирования на основе математического аппарата альтернирующих автоматов, параллельной системы выполнения программ на этом языке и стандартной библиотеки алгоритмов.

Введение В последние годы создание эффективных систем защиты информационных систем сталкивается с нехваткой вычислительной мощности. Основные тенденции, отражающие развитие вычислительной техники и компьютерных сетей – закон Мура и закон Гилдера. Закон Мура гласит о ежегодном удвоении, доступных за фиксированную стоимость, закон Гилдера – об утроении пропускной способности каналов связи за тот же период. Таким образом, рост вычислительной мощности узлов сети отстаёт от роста объёмов передаваемой по сети информации, что с каждым годом ужесточает требования к вычислительной сложности алгоритмов систем защиты информации, к которым относятся и СОА.

На сегодняшний день при построении систем анализа трафика на типовой аппаратуре с использованием операционных систем общего назначения наиболее сложными задачами являются:

• сбор сетевого трафика без потерь;

• анализ полученных данных в режиме реального времени;

• реагирование с целью минимизации потенциального ущерба.

Рассмотрим типичный для начала 2009 года сетевой канал Ethernet с пропускной способностью 1Гбит/с. Размер самого маленького кадра, который можно по нему передать, составляет 64 байта.

Наибольшее число кадров за секунду через канал можно передать как раз при минимальном размере кадра, что составляет 1 488 095 кадров.

То есть, если мы хотим успевать обрабатывать гигабитный трафик в режиме реального времени, то на обработку единичного пакета у нас есть в худшем случае не более 672 наносекунд. Для процессора с тактовой частотой 2ГГц это примерно 1340 тактов, которые нужно распределить по всем вычислительным задачам, включая служебные операции процессора, выполнение кода ядра ОС и собственно анализ кадра в соответствующем приложении. Накладные расходы ОС также очень высоки. Поэтому существующие средства захвата трафика демонстрируют крайне низкую эффективность – на тестах библиотеки libpcap (стандарта de facto для захвата трафика) под операционной системой на базе ядра Linux 2.6 успешно захватывались лишь от 1% до 34% в зависимости от размера пакета от всего сетевого трафика в ~100Мбит/с [1].

Данная проблема может быть решена модификацией ядра операционной системы специально для задач анализа трафика, а также выносом анализа на ядерный уровень. В качестве примера можно привести систему nCap [2], предназначенную для высокоскоростного захвата трафика без потерь, с использованием развитых фильтров и формирования потока NetFlow. Система nCap позволяет практически без потерь осуществлять захват всех сетевых пакетов при загрузке канала в 970 Мбит/с [2].

Приблизив пропускную способность системы захвата пакетов к 1 Гбит/с, возникает необходимость поддерживать соответствующую скорость анализа событий. Существуют различные подходы к снижению среднего времени на обработку отдельного события с целью достижения анализа в реальном времени. Наиболее распространенный метод – расщепление потока событий на множество узких потоков, которые независимо анализируют отдельные аппаратные узлы. Этого можно достичь, используя аппаратный узел-«секатор» (slicer), получающий все события сети, и распределяющий их по отдельным узлам – анализаторам. Существенные недостатки данного метода – неполнота данных у каждого узла в отдельности, что не позволяет на уровне каждого узла обнаружить взаимосвязанные события, если они попали в разные потоки данных. Кроме того, такое решение имеет высокую стоимость владения за счёт потребляемой электроэнергии, физического пространства и повышенных затратах на обслуживание.

Другое актуальное направление – снятие нагрузки с центрального процессора путем переноса вычислений на графические карты (GPU) как относительно дешевый, доступный и мощный вычислитель [3,4].

Для использования такого способа ускорения анализа необходимо явно перенести соответствующие алгоритмы в форму, пригодную для выполнения на суперскалярной архитектуре GPU.

Для решения перечисленных задач нами разработана специализированная программная платформа AURA. Основной целью создания данной платформы является виртуализация и сокрытие особенностей операционной системы и аппаратного обеспечения от собственно алгоритмов анализа сетевого трафика и других событий при одновременной оптимизации использования возможностей доступной аппаратуры для достижения режима реального времени.

В состав платформы входят:

• язык программирования Aura на основе математического аппарата альтернирующих автоматов [5], компилируемый в платформенно-независимый байткод LLVM [6], что позволяет исполнять код на данном языке на многих популярных аппаратных платформах- IA32/64, AMD64, SPARC, ARM и другие;

• система прогона для операционных систем Linux (ядро 2.6.x), FreeBSD, Windows, позволяющая использовать для обработки трафика все процессоры узла прозрачно для алгоритмов анализа, т.е. разработчику анализаторов не нужно специально решать задачу распараллеливания используемых алгоритмов;

• стандартная библиотека алгоритмов анализа, включающая в себя реализации популярных алгоритмов Boyer-Moore, AhoCorasick, PCRE и т.д.

Описание среды AURA Язык Aura основан на идеях работ Энкмана, Вигны и Кеммерера, и языке STATL [7]. Единица языка – сценарий – представляет собой реализацию некоторого алгоритма анализа входных событий в терминах альтернирующих автоматов, с описанием множества состояний и переходов между ними по событиям. В процессе выполнения каждому сценарию соответствует некое дерево экземпляров, которое всегда зависит от реальной истории событий.

Формально сценарий представляет собой структуру следующего вида:

Scenario : (S, PS, T, PT, s 0, I, g, q), где S – множество состояний;

PS – множество логических предикатов состояний;

T – множество переходов;

PT – множество логических предикатов переходов;

s0 – начальное состояние;

I – множество экземпляров автомата;

g – глобальное окружение;

q – глобальная очередь таймера.

Множество экземпляров:

I = {i}, i = + непустая последовательность срезов Каждый срез : N K L Q E характеризует текущее состояние автомата и содержит имя текущего состояния (элемент пространства имен состояний), локальное окружение, локальную очередь таймера и локальную очередь событий (строка входного алфавита).

Альтернирующие автоматы являются весьма удобным механизмом анализа потоков событий, которые имеют несколько параллельных веток с произвольными зависимостями между ветками.

Это позволяет эффективно использовать альтернирующие автоматы для анализа данных сетевых протоколов и сетевых приложений.

Рассмотрим пример сценария, который отслеживает установленные сессии TCP. Сценарий имеет 2 состояний – начальное, ожидающее новых сессий, и рабочее, наблюдающее за определенной сессией. При получении очередного события о сетевом пакете выполняется проверка, не относится ли он уже к какой-нибудь из замеченных ранее сессий. Если относится, производится увеличение счетчика, иначе создается новый контекст, предназначенный для слежений за данной сессией. По завершению сессии печатается число пакетов в ней.

–  –  –

Механизм альтернирующих автоматов позволяет организовать параллельное выполнение анализирующих сценариев на множестве аппаратных исполнителей с учётом зависимости по данным. Таким образом, с помощью языка Aura возможно организовать параллельный вычислитель для обработки сетевого трафика с использованием многоядерных и многопроцессорных платформ, оптимально используя аппаратные возможности.

В настоящее время система прогона позволяет обработать порядка 15 млн. событий в секунду на единичном процессоре Intel Xeon

2.4ГГц, что достаточно для каналов с пропускной способностью до 1Гбит/с и задач средней вычислительной сложности, таких как сигнатурный анализ для задач обнаружения и предотвращения атак, реконструкции TCP-потоков и т.п. В языке Aura используется строгое типизирование, статические типы данных и контролируемые системой прогона динамические типы для хранения – списки, hash map. Это позволило реализовать компоненты платформы AURA на уровне подсистемы netgraph операционной системы FreeBSD, то есть на уровне ядра ОС, и сократить таким образом накладные расходы операционной системы до минимума. В качестве экспериментального внедрения на основе платформы AURA была построена система предотвращения компьютерных атак REDSecure IPS [8], в дальнейшем планируется расширения спектра решаемых задач.

1. Deri L. Improving Passive Packet Capture: Beyond Device Polling [PDF] (http://luca.ntop.org/Ring.pdf)

2. Deri L. nCap: Wire-speed Packet Capture and Transmission [PDF] (http://luca.ntop.org/nCap.pdf)

3. Jacob N., Brodley C. Offloading IDS computation to the GPU [PDF] (http://www.acsac.org/2006/papers/74.pdf)

4. Vasiliadis G., Antonatos S., Polychronakis M., Markatos E.P., Ioannidis S.

Gnort: High Performance Network Intrusion Detection Using Graphics Processors [PDF] (http://www.ics.forth.gr/dcs/Activities/papers/gnort.raid08.pdf)

5. D. E. Muller, A. Saoudi, and P. E. Schnupp. Alternating automata. The weak monadic theory of the tree, and its complexity. In Laurent Kott, editor, International Colloquium on Automata, Languages and Programming, pages 275–283. Springer, 1986.

6. LLVM – Low Level Virtual Machine [HTML] (http://www.llvm.org/)

7. Eckmann S.T., Giovanni Vigna G., Kemmerer R.A. STATL: An Attack Language for State-based Intrusion Detection [PDF] (www.cs.ucsb.edu/~vigna/publications/2000_eckmann_vigna_kemmerer_statl.pdf) обнаружение и предотвращение атак

8. REDSecure:

[HTML](http://redsecure.ru/)

–  –  –

В работе рассматривается проблема оценки (возможности проектирования) при помощи моделирования требований по числу, типу и размещению СОИБ для обеспечения защиты регионального сегмента глобальной сети от угроз, связанных с осуществлением массированных атак и распространением вредоносных программ.

Описание проблематики и формализация объектов предметной области, представленная в работе, позволяет говорить о возможности разработки математической модели функционирования СОИБ в глобальной сети с целью оценки их эффективности с точки зрения противодействия атакам и вредоносным программам, учитывая при этом характер и степень влияния на легитимную активность в сети.

Введение: описание проблематики Основной задачей глобальной сети, как системы передачи данных, является предоставление доступа к сети (провайдеры доступа к сети, хостинг-провайдеры), предоставление сервисов (контент-провайдеры) и предоставление возможности потребления услуг и сервисов сети (пользователи сети). Возможность и качество потребления (предоставления) услуг оценивается мерой качества сервиса (QoS, quality of service) доступного пользователю (предоставляемого сервисом или сетью), основными характеристиками учитываемыми в оценке качества (вне зависимости от типа сервиса) являются величина сетевой задержки (lag), процент потери пакетов (packet loss) и колебания этих величин.

Сетевое вредоносное ПО - ВПО (сетевые черви, боты, организованные в бот-сеть) оказывают существенное влияние на качество сервиса глобальной сети: паразитным трафиком забиваются каналы передачи данных, сетевые сервисы перегружаются в результате DDoS-атак и рассылки спама.

Системы обеспечения информационной безопасности (ограничим рассмотрение сетевыми СОИБ) осуществляют сбор и анализ трафика с целью выявления вредоносных и нежелательных объектов, возможно с дальнейшей фильтрацией. Сетевые СОИБ в глобальных сетях функционируют в режиме высокой загруженности, вследствие чего актуальным становится вопрос функционирования данных систем в режиме перегрузки.

–  –  –

Рис.1 Взаимное влияние СОИБ, ВПО и потребления сервисов пользователями сети Актуальна задача моделирования функционирования систем обеспечения информационной безопасности с целью исследования взаимосвязи характеристик качества сервиса и активности ВПО, оценки функционирования СОИБ различных классов в ситуациях максимальных нагрузок и отказов отдельных элементов сетевой инфраструктуры.

Модель сети ГМГС Концепция модели глобальной сети, предложенная в ходе разработки Гибридной модели глобальной сети (ГМГС [1]) состоит в следующем: глобальную сеть разделим на наблюдаемую и внешнюю, для наблюдаемой сети (соответствующего региональному сегменту) возможен сбор данных и построение топологии автономных систем (АС), а также оценка числа узлов, входящих в АС, тогда как для внешнего сегмента доступна лишь общая информация о количестве АС и узлов.

Для представленной модели сети можно описать модели генераторов и обработчиков трафика (модели легитимного трафика, модели ВПО, модели СОИБ). Генераторы трафика порождают поток трафика в соответствии с состоянием компонента сети (домена, внешней сети) и профиля генерации (типа легитимной активности или ВПО), обработчики «принимают» или передают трафик дальше в зависимости от адресата трафика, изменяя, если требуется, состояние компонента, к которому они приписаны.

Совокупность структурной модели сети, генераторов и обработчиков трафика позволяет моделировать передачу трафика и изменение состояния сетевых узлов. Возможность описывать сегменты сети с разным уровнем детальности играет важную роль как с точки зрения вычислительной сложности модели, так и разработки конфигурации модели (описания архитектуры сети).

Рис.2 Модель сети ГМГС Далее рассмотрим модель обработчика трафика, реализующую сетевую систему обеспечения информационной безопасности.

Модель системы обеспечения информационной безопасности.

Обработчик трафика, соответствующий сетевой СОИБ может располагаться в АС и на доменах АС.

Функционирование СОИБ заключается в следующем:

• Получение объектов – сбор трафика (пакетов, сессий, файлов)

• Анализ объектов – классификация (в общем случае бинарная – вредоносный/легитимный)

• Передача объектов – в зависимости от типа СОИБ возможны задержки трафика и сброс объектов, признанных вредоносными.

Поясним модель на примерах. Сетевые СОИБ будем подразделять:

• По характеру обработки трафика на:

o Обнаруживающие – не влияют на трафик (не привносят задержку и не сбрасывают трафик). По результатам анализа

–  –  –

Вносят задержку (необходима Фильтрация трафика возможна Фильтрую высокая производительность) на удалении от цели атаки Наиболее распространенный щие

–  –  –

Алгоритмы, применяемые в СОИБ теоретически, могут производить анализ безошибочно, либо с ошибками 1-го и 2-го рода не превышающих наперед заданных значений (анализаторы, основанные на методах интеллектуального анализа данных). Также учитываются, но считаются фиксированными, величины задержек трафика. В реальных условиях эксплуатации СОИБ подвержены перегрузкам и дополнительным ошибкам, связанным с ними, помимо ошибок, вносимых алгоритмами анализа. В связи с этим актуальна задача комплексной оценки эффективности СОИБ, функционирующих в сети.

Классическими оценками эффективности СОИБ являются показатели полноты и точности обнаружения вредоносных объектов (ВПО, атак), также учитывается производительность СОИБ - числа объектов, обрабатываемых в единицу времени.

При решении задачи оценки информационной безопасности глобальной сети данные показатели необходимо задать для отдельных СОИБ, однако, дополнительно необходимо учесть:

• Факторы размещения СОИБ, в том числе сочетания СОИБ (т.к.

трафик может проверяться более чем единожды).

• Соотношения типов трафика и возможность изменения этого соотношения – объем легитимного трафика (пользовательского и служебного) и трафика ВПО может изменяться в результате эпидемий вирусов.

• Влияние фильтрующих СОИБ на развитие активности ВПО в случае распространения сетевых вирусов.

• Факторы изменчивости возможности обнаружения ВПО (обновление СОИБ и модификацию ВПО), влияющие на полноту и точность.

Загруженность СОИБ оказывает существенное влияние на показатели эффективности работы СОИБ в сети: полученный трафик может игнорироваться (пропускаться без анализа), задержка трафика в СОИБ может значительно вырасти, в результате работы в предельном режиме СОИБ может выйти из строя и т.д.

Влияние СОИБ на качество сервиса Оценки качества сервиса (с точки зрения пользователя, провайдера доступа в сеть, сервис-провайдера) могут разниться, тем не менее, существенными характеристиками, учитываемыми при вычислении этих оценок, являются: процент потерь трафика, задержка трафика, и джиттер (колебание задержки). Как следует из описания модели сети и СОИБ данных характеристики трафика могут быть исследованы при помощи представленных моделей.

Особый интерес для исследования могут иметь нештатные ситуации различной природы (как информационной, так и неинформационной природы – аварии и т.п.), приведшие к выходу из строя части сети наблюдаемого сегмента, ибо в таком случае может резко возрастать нагрузка на оставшуюся сеть.

Помимо оценки качества сервиса можно в качестве решаемой задачи рассматривать достижимость необходимого уровня качества сервиса сети при заданном уровне защищенности. Т.е. такой стратегии СОИБ, при которой для недопущении роста числа ВПО и/или объемов паразитного трафика санкционировано целенаправленное (методы карантина) или побочное (ужесточение фильтрации, отключение отдельных типов трафика или частей сети) снижение качества сервиса сети.

Текущее состояние и дальнейший ход исследований Наличие формализованного описания объектов предметной области позволяет перейти к дальнейшей формализации и построению математической модели, позволяющей сформулировать и оценить корректность моделирования, осуществляемого при помощи системы имитационного моделирования.

С точки зрения построения имитационной модели представляется важным учет ряда аспектов, присущих объектам и процессам глобальной сети.

В частности:

Необходимо генерировать трафик различного типа, соответствующий мультимедиа и пир-ту-пир (файлообменному) трафику. Для решения данной задачи могут быть исследованы модели генерации трафика [2] Для моделирования роста числа ВПО во внешней сети могут быть использованы модели оценки эпидемий ВПО [3] Должны быть решены вопросы моделирования алгоритмов работы и протоколов маршрутизации, описаны типовые сценарии инцидентов, соответствующих неинформационным угрозам.

Качалин А.И. моделирование процесса [1] «Гибридное самораспространения программ в глобальной сети». Методы и технические средства обеспечения безопасности информации. Материалы научнотехнической конференции, Санкт-Петербург, 2008.

[2] Абрамов Н.А., Качалин А.И., Усков Е.И. «Обзор моделей генерации трафика» http://lvk.cs.msu.su/~sadman/papers/TrafSim2009.pdf, 2009.

[3] Качалин А.И., «Моделирование процесса распространения сетевых червей для оптимизации защиты корпоративной сети», Искусcтвенный интеллект, 2006 No 2, с.84-88.

–  –  –

Введение На фоне неснижающихся темпов роста сети Интернет в сегменте конечных пользователей все большую популярность стали приобретать различные онлайн сервисы. Эти сервисы реализуются в виде вебприложений, что позволяет использовать графический интерфейс, состоящий из стандартных элементов (HTML), единый транспортный протокол (HTTP), и не выдвигать особых требований к программному обеспечению клиентских рабочих станций. Вместе с тем, к онлайн сервисам предъявляются особые требования к качеству программной реализации: низкокачетсвенная реализация может не только испортить репутацию владельцев сервиса и снизить её конкурентоспособность, но и создать угрозы безопасности информации, обрабатываемой сервисом.

Одним из способов оценки качества программного обеспечения является тестирование. В зависимости от того, на какую составляющую качества [1] программного обеспечения направлено тестирование, выделяют следующие виды: функциональное тестирование, тестирование безопасности, нагрузочное тестирование, регрессионное тестирование и т.д.

Каждый из видов тестирования по-своему последовательно решает две задачи: задачу получения поведения приложения и задачу анализа поведения. В зависимости от возможностей, используемых для получения поведения приложения, выделяются следующие виды тестирования [2]: тестирование черного ящика, динамическое и статическое тестирование белого ящика. Если для получения поведения используются наблюдатель, использующий только внешние интерфейсы приложения, то говорят, что приложение расматривается как черный ящик. В этом случае под поведением понимается последовательность из пар (входные данные; выходные данные).

В настоящей статье рассматривается задача получения поведения вебприложения при тестировании методом черного ящика. Для вебприложений формулируется свойство «проигрываемости» поведения, анализируются существующие методы получения поведения относительно указанного свойства и, наконец, предлагается метод для построения «проигрываемого» поведения.

Анализ задачи Веб-приложение представляет собой набор отдельных программных модулей, работающих в составе веб-сервера. Каждый модуль получает HTTP-запрос в виде входных данных и возвращает HTTP-ответ в виде выходных. Для организации взаимодействия между модулями и сохранения информации между HTTP-запросами от одного пользователя используется разделяемое хранилище данных: файловая система сервера или СУБД, а также файловая система клиентских рабочих станций для хранения файлов cookie. Структурированный набор данных в таком хранилище называется состоянием вебприложения.

Последовательность HTTP-запросов к веб-приложению от пользователя из-под одного контекста веб-клиента называется сеансом работы с вебприложением. Проигрывание сеанса является успешным, если в результате выполнения всех запросов, его составляющих, вебприложение ни разу не вернуло сообщение об ошибке. В противном случае проигрывание считается неуспешным. В случае детерминированных веб-приложений успешность проигрывания сеанса однозначно определяется текущим состоянием веб-приложения.

Сеансы могут изменять состояние веб-приложения. Так, успешное проигрывание сеанса может перевести веб-приложение в состояние, в котором проигрывание некоторых сеансов будет неуспешным.

Аналогично, проигрывание сеанса может перевести веб-приложение состояние, в котором проигрывание некоторых сеансов будет успешным. Таким образом, можно говорить о зависимостях между сеансами по данным, которые составляют состояние веб-приложения.

Задача получения поведения веб-приложения при тестировании методом черного ящика заключается в получении упорядоченной последовательности сеансов работы с веб-приложением и такого состояния, что последовательное проигрывание всех сеансов из этого состояния является успешным. Опционально к этому требованию может добаляться требования обеспечения сеансами заданного покрытия.

Существующие решения Поведение веб-приложения при работе с ним, как с черным ящиком, можно получить либо в результате непосредственного выполнения различных сценариев его использования, либо в результате журналирования сеансов работы с приложением других пользователей (например, настроив веб-сервер соответствующим образом). В первом случае возможны варианты автоматического и полуавтоматического (с участием оператора) взаимодействия с веб-приложением.

Автоматическое построение поведения дает наименее полные результаты. Инструментальное средство без дополнительной спецификации не знает о зависимостях сценариев использования вебприложения по данным через общее хранилище. Поэтому, вебприложение рассматривается ими не как автомат, а как граф. Задача построения поведения сводится к посещению всех ресурсов вебприложения, доступных в данном состоянии.

Наиболее распространенный способ получения поведения вебприложения в настоящее время – это запись сеансов работы с приложением его пользователей. В работах [4, 5, 6] описаны проблемы разбиения последовательности запросов, наблюдаемых на веб-сервере, на сеансы работы с веб-приложением отдельных пользователей, а также проблемы восстановления зависимостей по данным между этими сеансами. На настоящий момент указанные проблемы не решены в полном объеме [7].

В настоящей статье рассматривается вариант полуавтоматического построения поведения веб-приложения, так как он предоставляет наибольший контроль над рассматриваемым процессом.

Предлагаемое решение Для решения поставленной задачи предлагается декомпозировать поведение веб-приложения на отдельные функциональные блоки, записать сеансы работы для каждого функционального блока, построить дерево зависимостей между функциональными блоками и на его основе построить последовательность сеансов для проигрывания. Далее предложенный метод описывается подробнее.

Совокупность состояния веб-приложения и сеанса работы с вебприложением, который реализует определенный сценарий его использования, называется функциональным блоком поведения вебприложения. Выполнение функционального блока является успешным, если проигрывание составляющего его сеанса является успешным.

В детерминированных веб-приложениях функциональный блок FB = (State, Session) является успешным, если проигрывание сеанса Session осуществляется из состояния State.

Функциональный блок FB2 зависит от FB1, если для успешного выполнения FT2 требуется предварительное успешное выполнение FB1.

Примером таких зависимых блоков являются блоки, реализующие создание пользователя и аутентификация пользователя.

Функциональные блоки FB1 и FB2 являются зависимыми если:

• (прямая зависимость) FB1 зависит от FB2 или FB2 зависит от FB1;

• (транзитивная зависимость) существуют функциональные блоки FBi, FBi+1,.., FBi+k, такие, что одновременно FB1 зависит от FBi, FBi зависит от FBi+1, …, FBi+k зависит от FB2.

Зависимости между функциональными блоками поведения вебприложения могут быть смоделированы с помощью ориентированного графа: вершинами графа являются сами функциональные блоки, а ориентированные дуги отражают прямые зависимости. В случае, если от одной вершины до другой вершины имеется путь, соответствующие функциональные блоки являются зависимыми, в противном случае – независимыми. Необходимо отдельно отметить, что граф зависимостей функциональных блоков не является абсолютным для веб-приложения, а определяется его текущим сотсоянием.

Такой граф зависимостей может быть использован для построения проигрываемой последовательности сеансов работы с вебприложением.

Для этого необходимо воспользоваться следующим алгоритмом:

1. Зафиксировать вершины с нулевым количеством исходящих дуг. Присвоить этим вершинам метку глубины Depth = 0.

2. Последовательно обойти все неразмеченные вершины графа.

Для очередной неразмеченной вершины:

a. если все вершины, связанные с данной исходящими дугами, уже размечены, выбрать максимальное значение среди их меток, увеличить его на единицу и присвоить данной вершине;

b. если есть неразмеченные вершины, связанные с данной исходящими дугами, выполнить их разметку по правилам пункта а.

3. Сериализовать полученный граф в последовательность вершин, начиная с минимальных меток и заканчивая максимальными.

Пример разметки графа зависимостей представлен на рисунке 1.

Depth: 0

–  –  –

Рис. 1. Размеченный граф зависимостей В результате применения алгоритма получится последовательность функциональных блоков поведения веб-приложения, которая может быть успешно проиграна из состояния веб-приложения, соответствующего первому функциональному блоку этой последовательности.

Действительно, для проигрывания полученных блоков из начального состояния необходимо выполнить следующие шаги:

1. Сформировать множество пользователей веб-приложения, которые связаны с блоками построенной последовательности.

Пронумеровать элементы этого множества от 1 до N.

2. Запустить N различных контекстов веб-клиента, пронумеровать их от 1 до N. Таким образом, каждому контексту веб-клиента будет поставлен в соответствие пользователь, связанный с некоторыми блоками рассматриваемой последовательности.

3. Последовательно выполнять блоки из последовательности в назначенных им контекстах веб-клиента.

Рассмотренный выше граф зависимостей функциональных блоков поведения веб-приложения и правило его сериализации используется для построения поведения веб-приложения. Для этого выполняется следующая последовательность шагов.

1. Фиксируется состояние веб-приложения. Для зафиксированного состояния строится граф зависимостей функциональных блоков поведения, затем размечается и сериализуется указанным выше способом.

2. Формируется и нумеруется множество пользователей, связанных с функциональными блоками полученной на предыдущем шаге последовательности.

3. Запускается соответствующее количество контекстов вебклиента, каждый контекст ставится в соответствие уникальному пользователю.

4. Оператор последовательно выполняет сценарии использования веб-приложения, связанные с функциональными блоками обрабатываемой последовательности. Каждый сценарий использования выполняется из-под соответствующего контекста веб-клиента.

5. По мере выполнения каждый сценарий использования записывается в виде отдельного сеанса работы с вебприложением либо на прокси-сервере, работающим между клиентом и сервером, либо самим веб-сервером при наличии соответствующих модулей и настроек.

Полученная последовательность сеансов работы с веб-приложением удовлетворяет критерию проигрываемости из состояния вебприложения, зафиксированного на шаге 1.

Заключение Рассмотренный в настоящей статье способ получения проигрываемого поведения веб-приложения имеет целый ряд полезных приложений на практике. Так, например, записанные один раз на этапе тестирования сеансы работы с веб-приложением, могут потом применяться для регрессионного тестирования после каждой значительной доработки программного обеспечения. Кроме того, описанный способ может применяться для тестирования безопасности веб-приложения, а именно его системы разграничения доступа. Действительно, возможность выполнения некоторого функционального блока без предварительного выполнения блоков, от которых он зависит, свидетельствует о некорректной реализации системы разграничения доступа вебприложения (например, добавление сообщения на форум без аутентификации). Наконец, описанный метод может быть использован для повышения покрытия автоматических сканеров безопасности вебприложений, которые реализуют тестирование на проникновение [3].

1. International Organization for Standardization. Software Engineering – Product Quality – Part 1: Quality Model. ISO, Geneva, Switzerland, 2001.

ISO/IEC 9126-1:2001(E).

2. Patton, R. Software Testing, Second Edition, Sams, 2005, ISBN 0672327988.

3. J. Melbourne, D. Jorm, Penetration Testing for Web Applications, SecurityFocus, 2003.

4. Sprenkle, S., Gibson, E., Sampath, S., and Pollock, L. A case study of automatically creating test suites from web application field data. In Proceedings of the 2006 Workshop on Testing, Analysis, and Verification of Web Services and Applications (Portland, Maine, July 17 - 17, 2006). TAVWEB '06. ACM, New York, NY, 1-9, 2006.

5. Elbaum, S., Karre, S., and Rothermel, G. Improving web application testing with user session data. In Proceedings of the 25th international Conference on Software Engineering (Portland, Oregon, May 03 - 10, 2003).

International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 49-59, 2003.

6. Karre, S. Leveraging User-Session Data to Support Web Application Testing. IEEE Trans. Softw. Eng. 31, 3 (Mar. 2005), 187-202, 2005.

7. Sprenkle, S., Gibson, E., Sampath, S., and Pollock, L. Automated replay and failure detection for web applications. In Proceedings of the 20th IEEE/ACM international Conference on Automated Software Engineering (Long Beach, CA, USA, November 07 - 11, 2005). ASE '05. ACM, New York, NY, 253-262, 2005.

Разинков Е.В., Латыпов Р.Х.

О СТЕГОСИСТЕМАХ С НАРУШЕНИЕМ КВАНТОВАНИЯ

Факультет ВМК КГУ, Казань, е-mail: Razinkov@steganography.ru, Roustam.Latypov@ksu.ru

1. Введение. Основная задача стеганографии – обеспечение скрытой передачи информации, достигаемой встраиванием секретного сообщения в не привлекающий внимания объект, который и передается по каналу связи [1, 2].

Основные средства, которыми располагает нарушитель – статистические и визуальные атаки. Если визуальная атака направлена на обнаружение секретного сообщения путем исследования стегосообщения человеком, его органами чувств, то статистическая атака основывается на исследовании статистических характеристик цифрового объекта, которые нарушаются в результате сокрытия информации [2].

Один из способов повысить устойчивость стеганографической системы – адаптивный выбор элементов стегоконтейнера для встраивания информации [2, 3, 4]. К примеру, информация может встраиваться в наиболее зашумленные участки изображения, что усложняет ее обнаружение нарушителем.

Следует заметить, однако, что адаптивное правило выбора элементов контейнера чаще всего не зависит или слабо зависит от секретного ключа [3]. Это свойство позволяет и нарушителю успешно применить это правило выбора, что может позволить ему провести успешную атаку на стегосистему.

Эта проблема может быть решена, если при встраивании сообщения используется информация, доступ к которой нарушитель получить не может. Такой подход к сокрытию, позволяя использовать преимущества адаптивного стеганографического преобразования, не понижает устойчивости системы, так как нарушитель не имеет возможности применить правило выбора элементов стегоконтейнера.

Извлечение сообщения получателем возможно благодаря “wet paper codes”, предложенным в [5].

2. Стеганография с нарушением квантования. Идея стеганографии с нарушением квантования (perturbed quantization steganography) состоит именно в использовании информации, отбрасываемой в результате обработки стегоконтейнера с потерями.

Речь идет об уменьшении размеров изображения, о сокращении цветовой гаммы, о JPEG-преобразовании [3].

В данной статье анализируется использование стеганографии с нарушением квантования для сокрытия информации в JPEGизображениях, поэтому именно этот метод рассмотрен ниже.

Как известно, в процессе проведения JPEG-преобразования применяется дискретное косинусное преобразование (DCT – Discrete Cosine Transform), коэффициенты которого подвергаются делению на элементы матрицы квантования и округлению до ближайшего целого.

В [3] предлагается для встраивания информации использовать коэффициенты, лежащие в интервале (n + 0.5 – ; n + 0.5 + ), где — некоторое небольшое положительное число (например, = 0.1), а n — целое. Для этих коэффициентов, называемых изменяемыми, ошибка округления максимальна и не изменяется значительно при изменении коэффициента (если значение округленного коэффициента меняется с n на n + 1 или, наоборот, с n + 1 на n).

Авторы вышеизложенного метода докладывают о высокой устойчивости стеганографии с нарушением квантования к атакам, направленным на обнаружение наличия скрытого сообщения.

Они указывают следующие причины этой устойчивости:

• Отправитель использует информацию, которая недоступна стегоаналитику. В общем случае, невозможно восстановить исходное изображение по его JPEG-представлению или получить хорошую его аппроксимацию.

• Отправитель может не использовать те коэффициенты, неквантованные значения которых могут быть восстановлены с достаточной точностью.

• Значение, до которого будет в итоге округлен изменяемый коэффициент, больше зависит от шума в изображении, нежели от значений остальных коэффициентов, так как неквантованные значения изменяемых коэффициентов близки к точке, равноудаленной от возможных результатов округления.

Основной недостаток метода заключается в следующем:

отправитель вынужден либо использовать несжатые изображения в качестве стеганографических контейнеров (что не всегда удобно), либо пересылать получателю дважды сжатое с помощью JPEG-компрессии изображение (что повышает подозрительность стегосообщения) [3].

3. Предлагаемый метод. В данной работе мы предлагаем способ определения изменяемых коэффициентов на основе уже квантованных коэффициентов, то есть на основе лишь JPEG-представления изображения.

Мы выдвигаем следующее естественное предположение:

искажения, вносимые изменением коэффициента, не относящегося к изменяемым, в сторону увеличения и в сторону уменьшения, должны быть ближе друг к другу по величине, нежели искажения, вносимые аналогичными изменениями изменяемого коэффициента.

Пусть d(c = x) – мера «неестественности» изображения при значении x коэффициента c (в [6] поясняется обоснованность использования этого понятия).

Пусть c1 – изменяемый коэффициент:

–  –  –

Если же c 2 n, round (c 2 ) = n, то d (c 2 = n 1) d (c 2 = n + 1).

В качестве меры «неестественности» изображения мы предлагаем следующую функцию:

–  –  –

Предположение подтвердилось для ненулевых JPEGкожффициентов. Мы предлагаем выбирать те ненулевые JPEGкоэффициенты c, для которых выполняется следующее неравенство:

d (c = n 1) d (c = n + 1) M, где M — константа, от величины которой зависит количество коэффициентов в выборке и процентное содержание в выборке изменяемых коэффициентов. Эксперименты показывают, что предлагаемый метод позволяет получать выборки, концентрация изменяемых коэффициентов в которых достигает 70%.

4. Заключение. Полученные результаты могут быть применены для построения стегосистемы, использующей преимущества стеганографии с нарушением квантования, но не нуждающейся в несжатых изображениях — в качестве стеганографического контейнера можно использовать изображения в формате JPEG без изменения параметров JPEG-преобразования.

1. Simmons G. J. “The Prisoner's Problem and the Subliminal Channel”, CRYPTO'83 – Advances in Cryptology, August 22-24, 1984, pp.51-67

2. Wayner P. “Disappearing Cryptography. Information Hiding: Steganography and Watermarking”, Elsevier, 2002. 413 p.

3. Fridrich J., Goljan M., Soukal D., “Perturbed Quantization Steganography”, ACM Multimedia & Security Journal, (11)2, 2005, pp. 98-107

4. Fridrich J., Pevny T., Kodovsky J., “Statistically Undetectable JPEG Steganography: Dead Ends, Challenges, and Opportunities”, Proc. ACM MM&S Workshop, Dallas, TX, September 20-21, 2007, pp. 3-14.

5. Fridrich J., Goljan M., Lisonek P., Soukal D. “Writing on Wet Paper”, IEEE Trans. On Sig. Proc. Special Issue on Media Security, Eds. T. Kalker and P.

Moulin, vol. 53, 2005, pp. 3923-3935.

6. Sullivan K., Madhow U., Chandrasekaran S., Manjunath B., “Steganalysis for Markov Cover Data With Applications to Images”, IEEE Transactions on Information Forensics and Security, vol. 1, no. 2, Jun. 2006, pp. 275-287.

–  –  –

Введение.

Прежде всего, необходимо дать некоторые определения:

Бот (bot) - программное обеспечение, выполняющее различные действия от имени пользователя компьютера, обычно работающее автономно. Ботами также называются компьютеры с установленным таким программным обеспечением (мы будем называть ботами именно компьютеры);

Ботнет (botnet) - связанная сеть ботов;

Размер ботнета – количество ботов в нем;

Ботмастер (botmaster) – человек, управляющий ботнетом, занимающийся его распространением, контролем и модернизацией;

Управляющий сервер (Comand&Control server, C&C-server) - в архитектурах, основанных на протоколе IRC или HTTP - узел в сети, выступающий посредником между ботмастером и ботами для передачи команд;

Достижимость узла - узел считается достижимым для другого узла в случае, если существует маршрут, по которому может быть доставлено сообщение от одного узла к другому;

Связная подсеть - подсеть называется связной, если каждый ее узел может быть достижим из любого другого узла подсети;

Выход - узлы в сети ботнет, не попавшие в рассматриваемую подсеть, но имеющие с ней связь;

Ловушка (honeypot) - узел в сети, имеющий минимальный из возможных уровень безопасности.

Термин Botnet означает сеть компьютеров с установленной на них программой (ботом) которая позволяет удаленному администратору управлять компьютером. Редко такое бывает легально, так что обычно Botnet означает сеть захваченных компьютеров, управляемых удаленно для проведения масштабных DDoS-атак, рассылки спама, троянских программ, фишинговых (электронных) писем (заманивающих пользователей на сайты, сконструированные кибер-мошенниками для выуживания конфиденциальных данных о паролях и кодах доступа).

Как видно, существует огромное множество атак, проводимых с помощью Botnet, и перечислены далеко не все. В статье Black Market Botnets[1], написанной Nathan Friess и John Aycock можно найти более подробное рассмотрение мотивов их создания и использования.

В 2005 году по приблизительным подсчетам каждый четвертый компьютер в сети принадлежал к одной или нескольким Botnet.

Количество их растет, и процесс роста практически не контролируем не только людьми, борющимися с Botnet, но и их хозяевами ботмастерами.

Угроза Botnet является самой значительной угрозой безопасности Интернет и заслуживает серьезного изучения. В этой работе мы рассмотрим такую характеристику ботнетов, как устойчивость. Более устойчивый ботнет должен считаться более опасным, и именно на такие ботнеты должны быть направлены основные усилия по их изучению и борьбе с ними.

Обзор существующих работ. Со времен признания Botnet отдельно стоящей угрозой, было проведено множество исследований, направленных на изучение поведения Botnet, предсказание новых архитектур, разработку методик выявления ботов, управляющих серверов и отслеживания ботмастеров. Для этого люди объединяли свои усилия. Например, Honeynet Project[2] - проект по борьбе с ботнетами, имеющий филиалы почти в 20 странах мира. Участникам этого проекта мы обязаны многочисленными публикациями, раскрывающими механизмы работы ботнет и предоставляющими методики для обнаружения и борьбы с ними.

Имеется множество статей и научных работ, освещающих будущие архитектуры ботнет. Вместе с архитектурой в них обычно предлагаются возможные способы борьбы с описанными ботнетами, которые зачастую подтверждаются практикой.

Julian B. Grizzard и другие в [3] представляют основы Peer-to-Peer архитектуры, используемой в последних ботнетах, на примере бота Trojan.Peacomm.

В своей статье Reinier Schoof и Ralph Koning [4] описывают различные варианты P2P архитектур ботнетов. Также даются методы определения и противодействия таким ботнетам.

Работа, проведенная David Dagon, Cliff Zou, и Wenke Lee [5], исследует феномен распространения новых червей, вирусов или ботнетов, которые в основном распространяются за счет червей и троянов, основываясь на модели “дневной работы”. Модель учитывает часовые пояса и, соответственно, состояние узла сети (включен/выключен). Использование этой модели позволяет сильно уменьшить время реакции на появление новой угрозы.

Команда исследователей во главе с Thorsten Holz [6] проделала колоссальную работу по изучению наиболее распространенного на данный момент червя, Storm Worm и порожденного им ботнета. Storm Worm осуществляет P2P организацию ботнета, против которого исследователями было предложено два способа борьбы. Идея заключалась в нарушении канала связи между ботами путем загрязнения эфира. Один из способов оказался необычайно действенным, о чем свидетельствуют полученные экспериментальные результаты.

В научной работе, выполненной Matthew S. и Igor I. в Университете Амстердама [7], рассказывается о различных архитектурах, используемых в ботнетах и о методах, которые позволяют ботнетам оставаться незамеченными. На примере бота Peacomm показано, как распространяются боты, принципы их работы, а также раскрываются способы обеспечения скрытности работы бота.

Детально описан процесс обнаружения бота Peacomm.

David Dagon и другие в статье “A Taxonomy of Botnets”[8] детально описывают уже устаревшую, но, как бы то ни было, полезную в изучении централизованную C&C (Command and Control) архитектуру. Даются методы определения (не только обнаружения, но и определения количественных характеристик) и борьбы с такого рода ботнетами, действенность которых подтверждена практикой.

Что касается темы данной работы. Частью работы “An Advanced Hybrid Peer-to-Peer Botnet” [9] является анализ устойчивости предложенной архитектуры, но все же основной акцент был сделан на другое, и потому оценка дается очень неточная, но практически пригодная. В своей работе авторы предсказывают следующий вариант P2P архитектуры, который, возможно, будет использован ботмастерами.

Ботнет с предложенной архитектурой будет сложнее вывести из строя, сложнее понять его поведение (принципы взаимодействия отдельных ботов), его сложнее будет украсть (такая практика часто встречается среди ботмастеров-непрофессионалов). Связность ботнета будет на высоком уровне, но исследователям (например, Honeynet Project) будет практически невозможно получить полезную информацию о боте, захватив один его экземпляр. Наблюдение за ботнетом будет легкой задачей для ботмастера, так же, как и его восстановление.

Вероятностная оценка устойчивости. Основная цель работы дать метод оценки различных архитектур ботнетов. Для этого предлагается использовать такой параметр, как вероятность выпадения подсети ботнета размера n.

Мы покажем на простом примере, как можно дать оценку этого параметра для ботнета, организованного управляющих серверов (IRCbased). Также мы дадим статистический метод ее получения.

Архитектура, основанная на протоколе IRC подразумевает следующую организацию:

1. Имеется множество ботов N (здесь и далее мы считаем, что вопрос распространения ботнета уже решен, и мы имеем ботнет определенного размера). Боты здесь это только рабочие единицы, то есть те и только те узлы в сети, которые выполняют определенные действия по определенной команде;

2. Множество K управляющих IRC серверов, к одному или нескольким из них подключен каждый бот. При отправлении команды на IRC-сервер ботмастером все подключенные боты начинают ее выполнять;

3. Каждому боту соответствует множество управляющих L, L = 1, серверов т.е.

i N, i {, 2,..., N }: Li {,2,..., K }, L = l.

Мы будем рассматривать S n N, Sn = n, подмножество ботнета мощностью n. Будем считать его выпавшим из ботнета в случае, если со всеми ботами из данного подмножества ботмастер потерял связь.

Причин для этого достаточно много, например:

выключение на ночь определенного узла, удаление бота из операционной системы узла, нарушение связи между узлом и управляющим сервером, нарушение связи между управляющим сервером и ботмастером. Мы вправе сказать, что есть вероятность p того, что определенный узел в составе ботнета выпадет. И более того вероятность выпадения любого из управляющих серверов и вероятность выпадения любого бота равны p.

Обосновать выбор одной вероятности выпадения для всех узлов участвующих в ботнете (ботов и серверов) можно следующим образом.

Для узла в сети мы определяем вероятность выпадения, как отношение времени, в течении которого этот узел не в сети, ко всему времени замера. Усредненная по всем узлам вероятность даст нам p.

Можно поступить иначе: зафиксировать момент времени и в этот момент времени посмотреть, сколько узлов не в сети, разделить это число на общее число узлов - получим вероятность в моменте времени.

Усредним по времени другое определение p. При выполнении эргодической гипотезы эти определения равносильны.

Мы рассмотрим наиболее просто сформулированную задачу подсчета вероятности выпадения подсети ботнета.

Задача 1. Рассчитать P, вероятность выпадения подсети ботнета.

На подсеть наложены следующие ограничения:

K n K, K n = k - из подсети всего k выходов наружу 1.

(на k управляющих серверов);

l = 1, т.е. каждый бот связан только с одним 2.

управляющим сервером;

k n S n = U Si, Si = - с каждым из k управляющих 3.

k i =1 n серверов связанно одинаковое количество ботов -.

k Событие выпадения такой подсети складывается из двух случаев: все управляемые сервера выпали (как уже писалось, каждый с вероятностью p ), либо несколько из них не выпало, но тогда все связанные с ними боты выпали.

k Первый случай: p.

k n k 1

–  –  –

где суммирование ведется по всем прогонам нашей системы. Ti время одного прогона. Ti ( S n ) - суммарное время нахождения подсети вне сети ботнет, суммарное время выпадения подсети.

Для введенной вероятности, построив доверительные интервалы, можно получить оценки вероятности выпадения подсетей для различных архитектур.

У подхода моделирования множество преимуществ по сравнению с чисто аналитическими методами. Для различных моделей нам потребуются различные теории, выводы громоздких формул, а в случае моделирования на не нужно ничего кроме реализации поведения объектов ботнета определенной модели (архитектуры).

Заключение. Феномен ботнета в настоящее время является наиболее серьезной угрозой безопасности Интернет. В данной работе была поставлена задача оценки устойчивости различных архитектур, использующихся при построении ботнетов. Используя вероятностные методы получения оценки, возможно сказать, какой ботнет является более устойчивым и, следовательно, более опасным, а также, определить приоритеты ботнетов касательно их изучения и возможного уничтожения.

1. Nathan Friess, John Aycock, “Black Market Botnets,” University of Calgary, 2007.

2. “The Honeynet Project,” http://www.honeynet.org/

3. Grizzard JB, Sharma V, Nunnery C., “Peer-to-Peer botnets: Overview and case study.” In: Proc. of the 1st Workshop on Hot Topics in Understanding Botnets (HotBots 2007). 2007.

4. R. Schoof and R. Koning. Detecting peer-to-peer botnets.

http://staff.science.uva.nl/~delaat/sne-2006-2007/p17/report.pdf, Feb. 2007.

5. D. Dagon, C. Zou, and W. Lee, ``Modeling Botnet Propagation Using Time Zones,'' in Proceedings of The Network and Distributed Systems Security Symposium (NDSS '06), San Diego, CA, February 2006.

6. T. Holz, M. Steiner, F. Dahl, E. Biersack, and F. Freiling. ``Measurements and mitigation of peer-to-peer-based botnets: A case study on Storm Worm.'' In 1st USENIX Workshop on Large-Scale Exploits and Emergent Threats (LEET '08), San Francisco, CA, USA, April 2008.

7. Matthew Steggink, Igor Idziejczak, ``Detection of peer-to-peer botnets,'' Universitity of Amsterdam, [Sheets PDF], 2008.

8. D. Dagon, G. Gu, C. Zou, J. Grizzard, S. Dwivedi, W. Lee, R. Lipton, ``A taxonomy of botnets.'' Unpublished paper, 2005.

9. Ping Wang, Sherri Sparks, Cliff C. Zou. “An Advanced Hybrid Peer-to-Peer




Похожие работы:

«БЕЛИК Алевтина Георгиевна СПОСОБЫ ФОРМИРОВАНИЯ ДИСКРЕТНЫХ ЗНАЧЕНИЙ ИНФОРМАТИВНЫХ СИГНАЛОВ ПРИ КОНТРОЛЕ РАСХОДА ВЕЩЕСТВ ПО РАСЧЕТНЫМ ПАРАМЕТРАМ И ПОКАЗАТЕЛЯМ Специальность: 05.11.13 – Приборы и...»

«ТРУДЫ МФТИ. 2015. Том 7, № 4 95 Д. Р. Баймурзина, А. В. и др. УДК 519.217.2 Д. Р. Баймурзина, А. В. Гасников, Е. В. Гасникова Московский физико-технический институт (государственный университет) Теория макросистем с точки зрения стохастической химической кине...»

«ОАО «РОССИЙСКИЙ ИНСТИТУТ ГРАДОСТРОИТЕЛЬСТВА И ИНВЕСТИЦИОННОГО РАЗВИТИЯ «ГИПРОГОР» Заказчик: Администрация МО «Багратионовский муниципальный район»Муниципальный контракт: №55-ОК-АДМ от 25.11.09 г.ГЕНЕРАЛЬНЫЙ ПЛАН НИВЕНСКОГО СЕЛЬСКОГО ПОСЕЛЕНИЯ БАГРАТИОНОВСКОГО РАЙОНА КАЛИНИНГРАДСКОЙ ОБЛАСТИ ГЕНЕРАЛЬНЫЙ ПЛАН МУНИЦИПАЛЬНОГО ОБР...»

«РОЗДОБУДЬКО Виктор Власович, доктор технических наук, профессор ПЕЛИПЕНКО М ихаил Иванович БЫСТРОДЕЙСТВУЮЩИЙ ИЗМЕРИТЕЛЬ ПАРАМЕТРОВ СВЧРАДИОСИГНАЛОВ В настоящее время убыстряющийся прогресс в области разработки пассивных цифровых средств измерения параметров радиосигнало...»

«В. М. ЛУРЬЕ ИСТОРИЯ ВИЗАНТИЙСКОЙ ФИЛОСОФИИ В. М. ЛУРЬЕ ПРИ УЧАСТИИ В. А. БАРАНОВА ИСТОРИЯ ВИЗАНТИЙСКОЙ ФИЛОСОФИИ ФОРМАТИВНЫЙ ПЕРИОД А X I О MA РЕДАКТОР Б. В. ОСТАНИН ТЕХНИЧЕСКИЙ ДИРЕКТОР О. Н. СТАМБУЛИЙСКАЯ Лурье, В. М.История Византийской философии. Формативный период.—СПб.: Axima, 2006.—XX+5...»

«ЗАБЕЖАЙЛО МИХАИЛ ИВАНОВИЧ КОМБИНАТОРНЫЕ СРЕДСТВА ФОРМАЛИЗАЦИИ ЭМПИРИЧЕСКОЙ ИНДУКЦИИ 05.13.17 – теоретические основы информатики Диссертация на соискание ученой степени доктора физико-математических наук Научный консультант: д.т.н., профессор, Засл...»

«1 Батуев А.М., краевед Лысьвенский хлебокомбинат. Из истории Хлеб всему голова. Общеизвестна мудрость этой пословицы для многих поколений в России. Доля хлеба была велика и значима в рационе питания наших земляков. Во все века большая часть главного продукта россиян выпекалась в каждой семье хозяйкой самостоятельно. В Лысьве с развитием м...»

«Министерство образования и науки Российской Федерации ФГАОУ ВПО «Российский государственный профессионально-педагогический университет» Учреждение Российской академии образования «Уральское отделение» Н. С. Аболина Н. В. Остапчук ПСИХОЛОГИЧЕСКАЯ КОМПЕТЕНТНОСТЬ ЛИЧНОСТИ: СОД...»

«Министерство образования и науки Российской Федерации Владивостокский государственный университет экономики и сервиса В.Н. САВЧЕНКО В.П. СМАГИН КОНЦЕПЦИИ СОВРЕМЕННОГО ЕСТЕСТВОЗНАНИЯ Т. 1: Протоестествознание, античное, механическое, физическое полевое, квантовое,...»

«Теплофизика и аэромеханика, 2011, том 18, № 4 УДК 532.57+519.6 Оптимизация и тестирование томографического метода измерения скорости в объеме потока* 1 2 1,2 1 А.В. Бильский, В.А. Ложкин, Д.М. Маркович, М.П. Токарев, М.В. Шестаков Институ...»

«Министерство образования и науки Российской Федерации ФГБОУ ВПО «Тамбовский государственный технический университет» Факультет «Магистратура» Е.В. Бурцева, Э.В. Сысоев СРЕДСТВА АВТОМАТИЗАЦИИ ЮРИДИЧЕСКОГО ДЕЛОПРОИЗВОДСТВА Утв...»

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Нижегородский государственный архитектурно-строительный университет» (ННГАСУ) программа ВСТУПИТ...»

«Инструкция о порядке приемки продукции производственно-технического назначения и товаров народного потребления по количеству (утверждена постановлением Госарбитража СССР от 15 июня 1965 г. N П-6) (с изменениями от 29 декабря 1973 г. и от 14 ноября 1974 г.) Согласно части 3 пункта 14 постановления Пленума Высшего Арбитражного...»

«Возможности применения механизмов ГЧП для развития социального предпринимательства в Казахстане ТОО «SMARTINVEST LS» 19 ЯНВАРЯ 2016 ГОДА, ГОРОД АСТАНА ТЛЕУБАЕВ АРМАН www.smartinvest.kz О государственно-частном партнерстве Государственно-частное партнерство (ГЧП) – форма сотрудничества между государственным...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Физический факультет Кафедра радиофизики Термостат на базе цифровой системы автоматического регулирован...»

«АНИКИН АНТОН ВИКТОРОВИЧ МЕТОД ПОИСКА И ИНТЕГРАЦИИ РАЗНОРОДНЫХ РАСПРЕДЕЛЕННЫХ ОБРАЗОВАТЕЛЬНЫХ РЕСУРСОВ НА ОСНОВЕ ЛОГИЧЕСКОГО ВЫВОДА НА ОНТОЛОГИИ 05.13.01 — Системный анализ, управление и обработка информации (промышленность) 05.13.10 — Управление в социальных и экономических системах АВТОРЕФЕРАТ диссерт...»

«www.electrosystems.ru Электропитающие установки постоянного тока для телекоммуникационного оборудования фирмы EATON Электропитающие установки постоянного тока для телекоммуникационного оборудования фирмы EATON 2007...»

«ПЕДАГОГИЧЕСКИЕ НАУКИ. Психология №5 УДК 316.628:796.015.862 ОСОБЕННОСТИ МОТИВАЦИИ ДОСТИЖЕНИЯ И ИЗБЕЖАНИЯ НЕУДАЧ У СТУДЕНТОВ АГРАРНО-ТЕХНИЧЕСКОГО ВУЗА Е.И. БАРАЕВА (Республиканский институт вы...»

«Семинар «СОВРЕМЕННЫЕ ПРИКЛАДНЫЕ ЗАДАЧИ МЕХАНИКИ СПЛОШНОЙ СРЕДЫ»Научные руководители: к.ф.м.н., доцент кафедры вычислительных методов Абакумов Михаил Владимирович, д.ф.м.н, г.н.с. ИПМ им. М.В.Келдыша, профессор кафедры вычислительных методов Мажорова Ольга Се...»

«Международный научный журнал «СИМВОЛ НАУКИ» №4/2015 ISSN 2410-700X тормозных механизмов автомобилей оборудованных АБС: иными словами, зафиксированный в работе [1, с. 26] Z-образный характер изменения абсолютной величины суммарного линейного износа образцов является экспер...»

«103 УДК 550.8.028 ВОССТАНОВЛЕНИЕ ЛИТОЛОГО-ФАЦИАЛЬНОЙ ОБСТАНОВКИ ФОРМИРОВАНИЯ ПРОДУКТИВНОГО ГОРИЗОНТА С ИСПОЛЬЗОВАНИЕМ СОВРЕМЕННЫХ ГЕОИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ RECOVERY OF PRODUCTIVE HORIZON LITHO-FACIAL ENVIRONMENT FORMING WITH USIN...»

«Аннотация к рабочей программе по физике среднего общего образования Рабочая программа среднего общего образования по физике базовый уровень составлена в соответствии со следующими нормативно правовыми инструктивно-методическими документами:Федеральный компонент государственного образоват...»

«УДК: 633.63:632.5 НОВЫЕ ГЕРБИЦИДЫ В БОРЬБЕ С ЗАСОРЕННОСТЬЮ ПОСЕВОВ САХАРНОЙ СВЕКЛЫ А.Г. Агаронян Научный центр земледелия и защиты растений А.Х. Акопян Ванадзорский филиал Государственного аграрного университета Армении Н.Г. Тер-Балян, Ж.А. Арутюнян НИИ ЗАО “Нарек” Ключевые слова: свекла, сорняки, герб...»







 
2017 www.pdf.knigi-x.ru - «Бесплатная электронная библиотека - разные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.