Моделирование сетевого трафика методом Монте-Карло
Автор: Воробьев В.И., Евневич Е.Л., Фаткиева Р.Р.
Журнал: Вестник Бурятского государственного университета. Философия @vestnik-bsu
Рубрика: Информационные системы и технологии
Статья в выпуске: 9, 2010 года.
Бесплатный доступ
Сетевой трафик содержит хаотические структуры, допускающие описание на основе теории динамических систем. Поведение динамической системы моделирования сетевого трафика носит стохастический характер. Для изучения поведения системы применяется метод фаззинга на основе генерации случайных входных данных и анализа выходных данных. Интерпретация результатов фаззинга и характеристик динамической системы методом Монте-Карло позволяет определить параметры распределения системы.
Фаззинг, уязвимость программ, динамические системы, информационный поток
Короткий адрес: https://sciup.org/148179798
IDR: 148179798
Текст научной статьи Моделирование сетевого трафика методом Монте-Карло
Для выявления уязвимостей ПО применяют различные технологии и способы тестирования, но эффективность их не удовлетворяет требованиям быстро развивающихся информационных систем. Поэтому на практике получил широкое распространение метод фаззинга [1], суть которого заключается в поиске уязвимостей в программных реализациях протоколов и операционной системы на основе генерации случайных входных данных и анализа выходных данных. Используя результаты фаззинга и характеристики динамической системы можно определить параметры закона распределения поведения стохастической системы методом Монте-Карло. В качестве характеристики потока рассматривается поток транзакций, а закон распределения выбирается степенной, т.к. для критических условий он наиболее приемлем [2].
В работах [2,3,4] показано, что основные сетевые протоколы, архитектурные особенности транспортной сети, вследствие нелинейных особенностей порождают хаотические структуры сетевого трафика и могут быть описаны на основе теории динамических систем: dxdt=f(x,t) , где x- вектор характеристик информационной системы; t- время.
В работе [4] предложены характеристики, формирующие фазовое пространство: пропускная способность канала передачи информации (Mбит/c); сложность сетевого графа; объем передаваемой информации (бит); размер буфера приема/передачи; количество и пропускная возможность сетевых узлов; количество пользователей; количество обнаруженных дефектов; параметрические характеристики сетевых протоколов; объем кода программного обеспечения (ПО).
В работе [3] показано, что поведение данной динамической системы носит стохастический характер, т.к. система имеет большое количество степеней свободы, нелинейна и сетевое и прикладное ПО содержит массу уязвимостей (дефектов, багов) различного рода: переполнение буфера, утечки памяти, плохое шифрование, недостаточная проверка входных данных и др.
Сущность метода статистических исследований заключается в разработке моделирующего алгоритма, имитирующего воздействие случайных и детерминированных факторов на процесс функционирования динамических информационных систем (ИС).
Существует два основных способа получения потока случайных данных: генерирование псевдослучайного потока и псевдослучайные внесения изменений (мутации) в известный экземпляр данных. Все способы динамического анализа имеют в своей основе один или оба из этих двух способов получения псевдослучайных данных.
В ИС любой природы процессы передачи и получения информации происходят в информационном поле системы. Система генерирует и преобразует информацию, переносит ее, осуществляя информационное взаимодействие [4]. Информационное поле можно рассматривать как векторное, так как имеются как истоки информации, так и зоны ее приема. При этом информационным потоком будем считать процесс движения информации в сетевом пространстве и времени в определенном направлении.
Информационные потоки (ИП) в ИС зависят от структурно-архитектурной организации ИС. Обобщенный информационный поток (рис.1) может быть представлен некоторым, возможно, расширяемым по составу комплексом F, включающим:
F = FX ,FXX ,FXY ,FY ,FYY , где FX - поток информации от источника; FXX - входной поток информационной системы (ИС); FXY - потоки информации внутри ИС; FY - выходной поток ИС; FYY - поток информации, принимаемый ее потребителем.
ИС
F X
Источник *
F X
*
F XY
^
F Y
^
F YY
^
Рис. 1. Общая схема потоков ИС
В общем виде F поток в ИС до конечного пользователя или информационного узла связи (рис.2) представлен в виде:

Генерируемый источником Fx информационный поток поступает в память (ОП, НЖМД) первичного узла связи в ИС (например, на экранирующий маршрутизатор). Полученная информация преобразовывается в Fxx поток и поступает на вход ИС (в качестве преобразования может выступать фильтрация трафика).
Входной поток Fxx поступает в память узла (рабочей станции, сервера и т д).
Происходит преобразование информации во внутреннюю форму Fxy, с дальнейшей необходимой модификацией (операции чтения/записи).
В случае необходимости «преобразованный» информационный поток Fy отправляется получателю через память узла связи.
Над полученным информационным потоком Fy в случае необходимости происходят преобразования (например, трансляция IP адресов), и преобразованный Fyу поток отправ- ляется получателю.
Наибольший интерес при изучении циркуляции FXY потоков внутри ИС, вне зависимости от архитектурной составляющей ИС, представляют цепочки взаимодействия потоков «Память-Процессор» исполняемых программ (рис. 3), представленные в виде:
FPR = FOS ,FP ,FR ,FS ,FK ,FDF где FOS –загрузка ОС; FP - создание адресного пространства для исполняемых программ; FR –загрузка сегментов программного кода; FS – инициализация стека; FK –инициализация кучи; FDF - поток входных данных (ввод данных с клавиатуры, сетевой поток).
Приведенный анализ вышеупомянутых потоков показывает, что переполнение информационного канала потоком информации может привести к флуктуации в ИС, например, переполнение потока Fxy может привести к Ddos, SYN-flood и т. п., атакам, а увеличение потока Fst – к переполнению стека. Данное разбиение обобщенного F потока на подпотоки
(F F F F F \ F X , F XX , F XY , F Y , F YY
позволяет установить русла для каждого из них.
Структура потоков в ИС может быть представлена в виде ориентированного графа
(Y,F) с вершинами в узлах Y и ориентированными дугами F, обозначающими потоки информации от одного узла Y к другому (рис. 4). Тогда всякому «запланированному» потоку F возможно поставить в соответствие сигнатуру, а «незапланированному» потоку – сигнатуру тревоги или атаки (например, при увеличении количества трафика).

Рис. 3. Потоки при исполнении программного кода

Рис. 4. Граф-схема фрагмента ИП в ИС
Как видно из рисунка, процесс передачи информации является многофазовым. При этом ИС состоит из некоторого количества подсистем, работающих последовательно (рис. 1,2) или параллельно (рис.3,4). В случае, когда потоки информации оказываются полностью или частично совмещены во времени либо неоднородны [3,4], обычные законы распределения параметров зависят от величин, описывающих неоднородность потоков или вероятностных характеристик.