Шаг 4. На последнем шаге теста, в случае аварийного завершения исследуемого процесса, восстанавливается корректность его последующих запусков для независимого выполнения очередного теста.
Применение стрессового тестирования позволяет обнаружить программные отттиб-ки за короткое время.
Первоначально входные данные для тестирования формировались в статичном режиме, на основе различных эвристических правил и без восстановления алгоритмов работы исследуемого ПО.
Для повышения эффективности тестирования было решено сочетать стрессовое тестирование и динамический анализ на основе трассировки исследуемого процесса. Трассировка помогает сгенерировать входные данные.
При этом возникают две взаимосвязанные задачи. Первая — сопоставление входных данных и результатов трассировки, для чего строится граф потока данных.
Вторая задача — анализ собранной трассы, при этом можно выделить различные подзадачи: обнаружение функций, «схлопывание» циклов, минимизация объемов хранимых данных (поскольку объемы трассы измеряются гигабайтами) и другие. Для решения данной задачи предполагается использовать возможности среды Ida Pro. Интеграция со средой Ida Pro позволит минимизировать объем трассы и решить ряд подзадач с помощью штатных средств дизассемблера.
Таким образом, выявление программных ошибок в ПО без исходных текстов путем дополнительного тестирования механизмов обработки входных данных позволяет повысить надежность разрабатываемых программных комплексов.
ЛИТЕРАТУРА
1. Козиол Д., Личфилд Д., Эйтэл Д., и др. Искусство взлома и защиты системы. СПб.: Питер, 2006. 416 с.
2. Ховард М., Лебланк Д. Защищенный код. 2-е изд. М.: Издательско-торговый дом «Русская редакция», 2005. 704 с.
3. Макаров А. Н. Метод автоматизированного поиска программных ошибок // Безопасность информационных технологий. Вып. 2. М.: МИФИ, 2008. С. 101-104.
4. Хогланд Г., Мак-Гроу Г. Взлом программного обеспечения: анализ и использование кода. М.: Издательский дом «Вильямс», 2005. 400 с.
5. Eilam E. Reversing: Secrets of Reverse Engineering. Wiley Publishing, 2005. 589 p.
УДК 004.738
МАРШРУТИЗИРУЕМЫЙ СЕРВИС ПЕРЕДАЧИ ДАННЫХ
В. И. Никонов
Настоящая работа продолжает исследование [1], посвященное разработке алгоритмов разделения данных в распределенных сетях. Этот метод выступает в качестве альтернативы снижению вычислительных затрат при использовании шифрования.
Одним из видов активных сетевых атак является класс атак, основанных на сниф-финге [2]. Приведем пример, в котором злоумышленник, обладая знаниями, что некоторая организация регулярно передает данные из A в G, может довольно точно определить маршрут от A до G в момент времени А t и осуществить перехват на каком-нибудь из участков следования трафика (см. рис. 1,а).
Рис. 1. Работа протоколов маршрутизации между А и О в момент At. Вариант возможной атаки на участке В — ^ (а). Изменение маршрута трафика за счет использования доверенных серверов Ds,Es (б)
Разработан маршрутизируемый сервис Бм передачи данных через распределенные сети. Бм — клиент-серверное приложение, позволяющее пользователю передавать данные специфичным маршрутом. Характер маршрута определяется базой критериев Бм. В данной статье приведено описание работы, посвященной исследованию критерия безопасности передачи.
В роли маршрутизаторов для Бм выступает некоторое множество доверенных серверов распределенной сети. Под доверенным сервером будем понимать некоторый многофункциональный сервер распределенной сети, к которому злоумышленник не имеет доступа.
На доверенных серверах As, Bs, Cs, Ds, Es, Fs, Gs Е ^ устанавливается серверная часть сервиса — Бмs, выполняющая автоматическую «интеллектуальную» маршрутизацию трафика. Обозначим через ^ множество всех доверенных серверов с Бмs, через ^ — конкретный доверенный сервер г Е [1, п].
На рис. 1,б показано, что использование Бм позволило избежать прохождения трафиком подконтрольного злоумышленнику участка. Данное решение Бм (итоговый маршрут) является вероятностным с вероятностью принятия р^, ] Е [1 , к]. Здесь к — количество различных маршрутов от As до Gs на графе с вершинами As, Bs, Cs, Ds, Es, Fs, Gs и ребрами, определяемыми текущей топологией сети. Расчет значений р^ будет рассмотрен далее.
Напомним, что в процессе передачи с помощью Бм данные проходят через некоторое число доверенных серверов, равное / Выбор каждого следующего сервера происходит динамически и описывается гипергеометрическим распределением HG(c; аг,п,е). Параметры распределения: п — число всех используемых доверенных серверов; с =1 (в случае использования инструмента мультиплексирования трафика с > 1), аi — число недоступных для серверов из числа всех серверов (определяется динамически). Таким образом, итоговый маршрут трафика от отправителя до получателя при использовании Бм и / доверенных серверов (из п доступных) будет выбран с вероятностью
/п — а0\ /п — 1 — аЛ /п — ' — аД .
Р =( — ) •( с ) •-•{ е 0 " [1’кЬ
где аi — число недоступных серверов для при выборке ^+1 доверенного сервера на г + 1 шаге. Оценим вероятность успешной атаки р^, когда злоумышленник контролирует участок между доверенными серверами Ft и ^+1. При неизвестном про-
а
странственном расположении Fi считаем атаку успешной, если при работе сервиса Бм передатчики Ft и Ft+1 были выбраны на г и % + 1 этапе передачи, Ь Е [1, п], % Е [1, /]:
2 12 1 2 1
Ра =------- ---+--- ------ ---+ ■ ■ ■ +
n — a0 n — 1 — a1 n — 1 — a1 n — 2 — a2 n — (f — 1) — af-1 n — f — af
Эта формула легко распространяется на случай подконтрольных злоумышленнику участков между s доверенными серверами Ft, Ft+1,... ,Ft+s. Так, при достаточно большом n и достаточно малых ai и f, причем n >> f и n >> ai, оценка pa представляется в виде
pa=° G1
При использовании мультиплексирования (с > 1) задача злоумышленника еще более усложняется. Варианты атак злоумышленника на разнесенный трафик рассматриваются в [3].
ЛИТЕРАТУРА
1. Ефимов В. И., Файзуллин Р. Т. Система мультиплексирования разнесенного TCP/IP трафика // Вестник Томского госуниверситета. Приложение. 2005. №14. С. 115-118.
2. Avi Kak. Port Scanning, Vulnerability Scanning, and Packet Sniffing // Computer and Network Security. 2008. №23. С. 29-38.
3. Ефимов В. И. Атака на систему разнесенного TCP/IP трафика на основе анализа корреляции потоков // Информационные технологии моделирования и управления. 2005. №6(24).
С.859-863.
УДК 519.8
АППРОКСИМАЦИЯ СЕТЕВОГО ТРАФИКА МОДЕЛЬЮ АЛЬТЕРНИРУЮЩЕГО ПОТОКА СОБЫТИЙ
О. В. Ниссенбаум, И. Б. Пахомов
Трафик пользователя в сети, как правило, имеет переменную интенсивность и с той или иной степенью достоверности может быть представлен потоком событий с кусочно-постоянной стохастически изменяемой интенсивностью [1]. Рассмотрим трафик пользователя компьютерной сети с точки зрения соответствия модели асинхронного альтернирующего потока. Такой поток имеет два состояния, в первом из которых наблюдается пуассоновский поток с параметром А, а во втором события потока отсутствуют. Интервалы, на которых поток находится в первом или втором состоянии, распределены по экспоненциальному закону с параметром а\ и а2 соответственно. Сравним полученные результаты с результатами для модели пуассоновского потока с интенсивностью Ар.
Статистика трафика в виде временных моментов получения пакетов данных была собрана с компьютеров одной локальной сети. Данные сгруппированы по 1 мин, в каждой группе производилась оценка параметров. Использованы оценки параметров асинхронного альтернирующего потока, полученные в [2], и оценка моментов для интенсивности пуассоновского потока [3]. На рис. 1 черными штрихами обозначены моменты поступления пакетов данных за два отрезка времени по 2 мин. На верхней части рисунка (эксп. 1) трафик достаточно равномерен, на нижней (эксп. 2) выделяются периоды высокой интенсивности трафика и периоды «молчания». Оценки параметров