Факультет вычислительной математики и кибернетики Лаборатория вычислительных комплексов Курсовая работа Использование иммунных методов в задаче обнаружения сетевых атак. студента 422 группы Богданова Д.И. Научный руководитель Гамаюнов Д.Ю. Москва, 2005 Аннотация. Данная курсовая работа посвящена проблемам использования иммунных сетей в задаче обнаружения сетевых атак. Рассмотрена модель атаки и метод моделирования иммунных систем. Приведены описание разработанной системы обнаружения атак, результаты экспериментального исследования показателей эффективности системы на базе иммунного анализатора. Оглавление. 1. Введение. ....................................................................................................................................3 2. Постановка задачи. ....................................................................................................................3 3. Модель атаки..............................................................................................................................3 4. Модель иммунной сети. ............................................................................................................6 5. Проблемы реализации иммунной сети. .................................................................................10 6. Исследование показателей эффективности. .........................................................................10 6.1. Структура тестового стенда. ...........................................................................................11 6.2. Структура IDS ...................................................................................................................11 6.2. Наблюдаемые параметры. ...............................................................................................13 6.3. Проведение экспериментов. ............................................................................................16 7. Результаты исследования........................................................................................................17 8. Возможности модификации. ..................................................................................................18 9. Заключение...............................................................................................................................19 Литература. ..................................................................................................................................20 2 1. Введение. В настоящее время актуальна проблема обнаружения компьютерных сетевых атак. Существуют статистические методы обнаружения атак, нейронные сети [1], способные на основе данных полученных во время предварительного обучения распознавать сетевые атаки с некоторой точностью. Наряду с искусственными нейронными сетями потенциально возможно применение иммунных сетей, основанных на понятии формального монопептида, обучение которых является прямой вычислительной процедурой, а процесс распознавания сводится к решению системы обыкновенных дифференциальных уравнений. Первичное тестирование иммунносетевого метода показало возможность применения иммунных сетей в задаче распознавания атак. Актуальной задачей является изучение действительной эффективности метода, возможностей модификации иммунных сетей, увеличивающей эту эффективность. 2. Постановка задачи. Целью данной курсовой работы является исследование эффективности применения иммунносетевого подхода для решения задачи обнаружения компьютерных атак. Для достижения указанной цели требуется: 1) проанализировать применимость иммунного метода для заданной модели атаки; 2) реализовать метод обнаружения на основе иммунного подхода; 3) экспериментально исследовать показатели обнаружения атак с использованием иммунного метода; эффективности 4) изучить возможности модификации метода с целью улучшения показателей эффективности; 3. Модель атаки. В курсовой работе использована следующая модель атак. Для применения иммунных сетей вводится определение компьютерной атаки. Под атакой на РИС (Распределенную Информационную Систему) понимают последовательность действий, производимых нарушителем и ведущих к нарушению информационной безопасности системы, т.е. переходу РИС в опасное состояние. Атака всегда переводит РИС из безопасного состояния в опасное. Состояние РИС – это совокупность состояний всех наблюдаемых ресурсов РИС. Состояние РИС в момент времени t определим вектором наблюдаемых параметров: x(t ) ( x1 (t ), x 2 (t ), x3 (t ), , x n (t )) , 3 где xi (t ) равен значению i-го параметра в момент времени t. Траектория – изменение состояний РИС (изменение значений элементов вектора X в течение времени t). X t Конкретную атаку рассматривают как траекторию в n-мерном пространстве параметров. Для атак одного класса может существовать не одна траектория, а некоторое конечное множество возможных траекторий (пучок траекторий). Класс атак можно представить в виде объединения всех возможных траекторий, характеризующих изменение состояний системы, во время проведения атак данного класса. Вследствие меньшей вычислительной сложности, используют дискретные траектории. Пусть t - конечная длительность атаки заданного класса и - период времени замера наблюдаемых параметров РИС. Таким образом, в траектории поведения атаки задано k t / состояний РИС. X t Для каждого замера параметров (номер замера однозначно определяется значением k) в пространстве параметров существует набор несвязных областей таких, что попадание замера (наблюдаемого состояния РИС) в одну из этих областей означает принадлежность траектории множеству L на данном замере. Это «опасные области». 4 Полагаем, что атака это активность, под воздействием которой система проходит через опасные области на всех замерах в течении атаки. Т.е., если в ходе k замеров состояний РИС траектория на каждом замере попадала в одну из таких областей, то траектория принадлежит множеству L - множеству траекторий, соответствующему определенному классу атак. Таким образом, задача обнаружения атак сводится к задачам: 1) построения набора опасных областей G (t ) {G1 (t ), G2 (t ), , Gl (t )} каждого замера; 2) определения принадлежности замеренного состояния РИС x к одной из этих областей ( x G ) . для x i х j 5 Задача обнаружения иммунными сетями для одного замера параметров может быть сформулирована следующим образом: задана обучающая выборка {x } j 1, J такая что: x известно x j G или x G ; j j j требуется построить иммунную сеть, решающую задачу принадлежности наблюдаемого состояния РИС s к одной из областей множества G . Обучение иммунной сети происходит на основе обучающей выборки и сводится к построению системы дифференциальных уравнений определенного вида, описанных ниже. k сетей, каждая из которых решает задачу принадлежности замеренного состояния РИС к одной из возможных областей G на данном замере, позволяют решить задачу обнаружения атаки. Для гарантированного обнаружения атаки независимо от времени ее начала, необходимо организовать "скольжение" окна размера k (количество замеров в траектории атаки) по множеству замеряемых состояний в процессе ее функционирования. 4. Модель иммунной сети. Иммунные сети. Ниже представлено описание классической искусственной иммунной сети на основе [2]. В основе искусственной иммунной сети лежит понятие формального монопептида. Формальный монопептид определяется как сумма двух матриц 1000 0 0 0100 0 0 Q( ) cos( / 2 ) 0 1 0010 0001 1 0 0 1 1 0 sin( / 2), 0 0 0 0 (1) зависящих от торсионного угла , рассматриваемого на интервале - < < . Для формального монопептида определяют его свободную энергию по формуле V ( ) v11 cos 2 ( / 2) v12сos( / 2) sin( / 2) v22 sin 2 ( / 2), где 11, 12, 22 – постоянные управления. В зависимости от значений торсионного угла формальный монопептид может находиться в разных энергетических состояниях. Интерес представляют устойчивые стационарные состояния формального монопептида, отвечающие локальным минимумам свободной энергии. Такие состояния являются устойчивыми особыми точками нелинейного дифференциального уравнения 6 (t ) V ( ) . V Достоинством представления формального монопептида в виде (1) является возможность записи полипептида - произведения формальных монопептидов, зависящих от разных углов, в виде одного формального монопептида, зависящего от суммы углов, т.е. Q( 1)Q( 2 ) ... Q( n 1 )Q( n ) Q( 1 ... n ) 1000 0 0 0100 0 0 cos(( ... ) / 2 ) 1 n 0 1 0010 0001 1 0 0 1 1 0 sin(( 1 ... n ) / 2), 0 0 0 0 Искусственную иммунная сеть определяют как сеть, состоящую из n формальных монопептидов, состояния которых определяются функцией n V ( 1 ,..., n ) V0 ( 1 ... n ) Vi ( i ). i 1 Устойчивые стационарные состояния иммунной сети будут являться устойчивыми особыми точками нелинейной автономной системы обыкновенных дифференциальных уравнений относительно торсионных углов 1, …,n: i (t ) f i ( 1 ,..., n ) V ( 1 ,..., n ) , i 1,..., n. i (2) Процедура обучения иммунной сети сводится к выбору управляющих параметров формальных монопептидов и полипептида таким образом, чтобы все векторы обучающей 7 выборки являлись устойчивыми особыми точками системы нелинейных дифференциальных уравнений (2). Пространство параметров окажется разбитым на области притяжения устойчивых особых точек, для любого нового вектора Кn его принадлежность (или не принадлежность) множеству атак G будет вытекать из принадлежности (или не принадлежности) множеству атак G того вектора обучающей выборки, к которому сойдется решение системы нелинейных уравнений (2) с начальным условием (0) = [1]. В настоящее время еще неизвестны алгоритмы обучения классических сетей, вследствие чего такие иммунные сети с постоянными управлениями не применимы на практике. Обобщенные иммунные сети. В рамках НИР «Невод» были успешно реализованы обобщенные иммунные сети. В отличие от классических иммунных сетей, управления в обобщенных иммунных сетях принимают зависимыми от торсионного угла. Функцию свободной энергией формального монопептида можно записать в виде V ( ) [v11 (1 cos ) v12 sin v22 (1 cos )] / 2 a h sin( c), где a,h,c – новые независимые управления, зависящие (как результат обобщения) от торсионного угла . Функция свободной энергии формального монопептида запишется в виде Е ( ) h( ) cos( с)d . При этом функция свободной энергии полипептида запишется в виде Е0 ( 1 ,..., n ) cos( g ( 1 ... n )) d ( 1 ... n ), где g – некоторая функция суммы торсионных углов. Система дифференциальных уравнений, описывающая процесс изменения состояний обобщенной иммунной сети имеет вид n i (t ) f i ( ) cos( g ( k )) hi ( i ) cos( i ci ), i 1,..., n. k 1 (3) Обучение обобщенной иммунной сети. 8 Обучение обобщенной иммунной сети сводится к определению n неопределенных параметров ci, n неопределенных функций hi() и одной неопределенной функции g(i). Обучающая выборка из N векторов m 1m ,..., nm , m 1,..., N T состоит из векторов принадлежащих изучаемому классу атак и не принадлежащих. Определение параметров условий: ci, функций hi() и g(i) происходит из следующих 1) все векторы m обучающей выборки должны быть особыми точками системы дифференциальных уравнений (3), т.е. для всех m = 1,…, N должны выполняться равенства n cos( g ( km )) hi ( im ) cos( im ci ), i 1,..., n; k 1 2) особые точки системы дифференциальных уравнений (3), отвечающие векторам обучающей выборки, должны быть устойчивыми, т.е. для всех m = 1,…, N собственные значения всех матриц Якоби правой части системы (3), вычисленных в особых точках, должны иметь отрицательные вещественные части. Параметр сi выбирается из условия, что для всех m = 1,…, N cos( im ci ) 0. Функция g(x) = g(1 +…+n) определяется по следующей формуле: N n m 1 k 1 g ( x) ( x xm ), где xm km . Функции h cтроятся кусочно-линейно по значениям функций, прямо вычисляемым в векторах обучающей выборки, hi ( im ) 1 / cos( im ci ) pim , i 1,..., n. и значениям производных hi' ( im ) (d cos( im ci ) sin( im ci )) / cos 2 ( im ci ) qim . где d – некоторое отрицательное число. 9 Построенные таким образом функции g(x) и hi(i) удовлетворяют условиям 1)-2) устойчивости всех векторов обучающей выборки как особых точек нелинейной автономной системы обыкновенных дифференциальных уравнений (3). Решение задачи о принадлежности некоторого вектора Kn множеству G Kn атак заданного класса с использованием обученной обобщенной иммунной сети происходит следующим образом. Координаты вектора задают начальное условие для решения системы дифференциальных уравнений (3). При этом решение (t) системы (3) c заданным начальным условием (0) = будет стремиться при t к некоторой устойчивой особой точке системы, являющейся вектором обучающей выборки. Тогда принадлежность (или не принадлежность) вектора множеству атак G будет вытекать из принадлежности (или не принадлежности) множеству атак G того вектора обучающей выборки, к которому сойдется решение системы нелинейных уравнений (3) с начальным условием (0) = . Таким образом, можно говорить о применимости обобщенных иммунных сетей к описанной выше модели атак как пучка траекторий. 5. Проблемы реализации иммунной сети. Для решения задачи обнаружения сетевых атак была использована реализованная в рамках НИР «Невод» иммунная сеть (на языке программирования С++), включая алгоритм обучения на основе обучающей выборки (в виде набора функций построения параметров ci, функций hi() и функции g(i)) и саму работу иммунной сети (основой которой является решение системы дифференциальных уравнений). Для решения системы уравнений в программе применялся численный метод Рунге-Кутта 4-го порядка точности [3]. В данной курсовой работе программа была реорганизована в «анализатор» настраиваемый модуль в рамках IDS (системы обнаружения атак). Этот независимый модуль решает задачу распознавания атаки на одном срезе наблюдаемой траектории. 6. Исследование показателей эффективности. Под показателями эффективности иммунной сети понимаются показатели эффективности IDS (системы обнаружения атак) использующей иммунный анализатор. Для получения показателей был построен тестовый стенд. Экспериментальные исследования проводились для пяти классов атак на основе классификации в НИР «Невод» [4]. 1) Расширение прав доступа (Сетевые ресурсы). Несанкционированное получение или расширение прав доступа нарушителя (в т.ч. атаки использующие переборы пароля). 2) Доступ к данным (Сетевые ресурсы). Доступ к информации любым объектом, не имеющим на это права, сюда же относится сбор информации о РИС – активное сканирование объектов РИС. 10 3) Отказ в обслуживании (Сетевые Ресурсы). Деградация работоспособности РИС, блокирование сети или отдельных узлов. 4) Расширение прав доступа (Программные ресурсы), 5) Отказ в обслуживании (Программные Ресурсы). 6.1. Структура тестового стенда. В рамках исследований был использован тестовый стенд, состоящий из трех компьютеров объединенных в локальную сеть. LAN Коммутатор Cisco 1912 Нормальное поведение IDS sadman baboon gibbon Nessus Security Scanner Сценарии атак На компьютере baboon была установлена система обнаружения атак. На компьютере sadman – генератор нормального поведения. На gibbon установлен генератор атак на базе сканера безопасности Nessus Security Scanner. В рамках курсовой работы был выполнен генератор нормального поведения в виде набора скриптов, реализующих нормальное поведение в системе (например, запросы по ssh, ftp, http). Кроме того, с компьютера baboon в течение эксперимента могли выполняться и любые другие «нормальные» действия. 6.2. Структура IDS Ниже приводится структура системы обнаружения атак, установленной на узел baboon. 11 1. Сенсоры Сенсор функционально предназначен для сбора информации о поведении сетевых объектов и передачи преобразованной информации анализаторам. Сенсоры представляют собой модули, собирающие низкоуровневую информацию о поведении объектов РИС. Используются два сенсора: локальный и сетевой. Ниже будет приведен список наблюдаемых сенсорами параметров системы с кратким описанием. 2. Анализаторы Модули, распознающие принадлежность траектории атакам/нормальному поведению на отдельных срезах. Анализаторы могут базироваться на методе моделирования иммунных систем, как это сделано в данном исследовании, так и на бинарных нейронных сетях. 3. Коллектор Коллектор предназначен для получения информации от сенсоров, ее синхронизированного объединения, подготовки для передачи анализаторам – преобразования в удобный вид, нормализации. Коллектор организует передачу собранных характеристик тестеру в формате окна (т.е. передает информацию о всех сетевых соединениях за последние n временных срезов). Размер окна (количество временных срезов) может быть настраиваемо по желанию пользователя. Коллектор может работать в двух режимах – режиме IDS, передавая данные тестеру, и в режиме складирования данных в файлы, формируя тем самым обучающую и тестовую выборку. 4. Тестер Тестер предназначен для связи коллектора с группой анализаторов. Этот модуль организует дальнейшую передачу данных анализаторам в соответствии с номером среза в окне. Тестер собирает ответы анализаторов и на их основе делает вывод о принадлежности траектории атакам/нормальному поведению. Ведет свой лог-файл с результатами анализов. Тестер может работать в двух режимах. 1. В режиме IDS, получая информацию от коллектора. 2. Брать информацию из файлов. Работа в этом режиме используется для получения показателей эффективности IDS, тем самым показателей эффективности иммунных методов в данной курсовой работе. Модуль считывает из файла тестовую выборку, соединяется с запущенными иммунными анализаторами и отправляет им вектора тестовой выборки по очереди. Иммунные анализаторы, в соответствии с реализованным в них методом, классифицируют входные вектора по принадлежности множеству атак или нормальному поведению на срезе и возвращают результат в тестер. 12 В рамках курсовой работы были программно реализованы следующие модули IDS: локальный сенсор, коллектор, анализатор на основе иммунных сетей. Язык реализации C++. Local Sensor Network Sensor Collector Tester Analyzers 6.2. Наблюдаемые параметры. Ниже представлен список наблюдаемых сенсорами параметров [4]. На этих характеристиках обучаются иммунные сети, проводится распознавание принадлежности траектории атакам/нормальному поведению. В качестве сетевых характеристик использовались параметры сессий протоколов TCP и UDP. В качестве локальных характеристик использовались характеристики загрузки системных ресурсов узла отслеживаемой сетевой сессией. Эти параметры включают в себя число выполняемых процессов, загрузку физической памяти, загрузку виртуальной памяти. 13 I. Локальные характеристики (характеристики, предоставляемые локальным сенсором). % загрузки процессора процессами данной сессии Каждой сессии соответствует набор связанных с ней процессов, это процент загрузки всеми процессами сессии процессора. % загрузки памяти процессами данной сессии Аналогично для памяти. % загрузки виртуальной памяти процессами данной сессии Аналогично для виртуальной памяти. Изменение % загрузки процессора процессами данной сессии (Текущий % загрузки) – (% загрузки в прошедший временной замер). Изменение % загрузки памяти процессорами данной сессии Аналогично для памяти. Изменение % загрузки виртуальной памяти процессорами данной сессии Аналогично для виртуальной памяти. Количество процессов в данной сессии Изменение количества процессов в данной сессии (Текущее кол-во процессов в данной сессии) – (кол-во процессов в данной сессии в прошедший временной замер). Максимальный % загрузки процессора процессами данной сессии Максимальный % загрузки среди всех процессов данной сессии в текущий временной замер. Максимальный % загрузки памяти процессами данной сессии Аналогично. Средний % загрузки процессора процессами данной сессии Среднее арифметическое процентов загрузок процессами данной сессии в текущий временной замер. 14 Средний % загрузки памяти процессами данной сессии Аналогично для памяти. Общее кол-во процессов в системе Количество всех процессов в системе. Изменение общего кол-ва процессов в системе (Текущее общее кол-во процессов в системе) – (общее кол-во процессов в системе в прошедший временной замер). II. Сетевые характеристики (характеристики, предоставляемы сетевым сенсором). Исследуется соединение IP1:PORT1 IP2:PORT2 IP1, PORT1 – IP-адрес и номер порта с принимающей атаку стороны (получателя), IP2, PORT2 – IP-адрес и номер порта потенциального атакующего (отправителя). Номер порта PORT1 Время Количество байт отправителя Количество отправленных байтов в соединении. Количество байт получателя Количество полученных байтов в соединении. Число пакетов с флагом urgent Число срочных пакетов (при их доставке перерывается пересылка других данных). Число соединений с узлом отправителя Число соединений с IP-адресом IP2. Число соединений с портом отправителя Число соединений, у которых номер порта PORT2. Среднее число соединений на порту отправителя Кол-во соединений на порту PORT2 за временное окно. 15 Число соединений с узлом получателя Число соединений с IP-адресом IP1 Число соединений с портом получателя Число соединений, у которых номер порта PORT1 Среднее число соединений с портом получателя кол-во соединений с портом PORT1 за временное окно Среднее число соединений с узла получателя с портом отправителя Кол-во соединений с IP1 с одной стороны и портом PORT2 c другой за временное окно. 6.3. Проведение экспериментов. В рамках курсовой работы эксперимент для получения показателей эффективности был разбит на четыре этапа: 1) сбор обучающей выборки для иммунных сетей 2) сбор тестовой выборки для получения статистики 3) работа IDS в режиме анализа тестовой выборки 4) получение показателей эффективности на основе результатов работы IDS Сбор обучающей выборки (обучение) производился отдельно для нормального поведения, далее раздельно для каждого класса атак на фоне нормального поведения. Для обучения использовался генератор нормального поведения и генератор атак, запускаемые на разных машинах тестового стенда в соответствии с описанной структурой. Генератор атак был должным образом сконфигурирован под каждый класс атак. Сбор тестовой выборки производился раздельно для каждого класса атак на фоне нормального поведения. В обоих случаях коллектор IDS был запущен в режиме сохранения данных в файлы. Полученные сохраненные данные, описывающие проведенные тестовые атаки, использовались для анализа на третьем этапе. Тестер IDS загружал тестовые данные и передавал их набору иммунных сетей. Результаты работы записывались в лог. На четвертом этапе производился анализ собранной статистики и вычисление показателей эффективности обнаружения атак каждого класса, а также время обработки одного вектора для иммунного анализатора. 16 7. Результаты исследования. В результате экспериментов были получены следующие показатели эффективности для иммунной сети: Класс атак Точность обнаружения Полнота обнаружения КА-01 0,29 0,99 КА-02 0,09 0,99 КА-04 0,08 0,95 КА-16 0,39 0,98 КА-19 0,7 0,99 Точность обнаружения – отношения числа обнаруженных атак к числу сообщений об атаках, полнота обнаружения – отношение числа обнаруженных атак к числу проведенных атак. Среднее время обработки одного входного вектора иммунным анализатором. Размер входного 10 вектора Время 5,87 обработки (сек) 15 20 26 - - 7,1 Ниже приведен сравнительный анализ нейросетевого и иммунного анализатора (на основе результатов экспериментов с нейросетями в качестве анализаторов в тестовой IDS в НИР «Невод» [5]). Тип образца СОА Точность обнаружения КА-01 Нейросетевой 0,2 Иммунный 0,29 Полнота обнаружения КА-01 0,5 0,99 Точность обнаружения КА-02 0,05 0,09 Полнота обнаружения КА-02 0,1 0,99 17 Точность обнаружения КА-04 0,1 0,08 Полнота обнаружения КА-04 0,23 0,95 Точность обнаружения КА-16 0,28 0,39 Полнота обнаружения КА-16 0,45 0,98 Точность обнаружения КА-19 0,68 0,7 Полнота обнаружения КА-19 0,45 0,99 Таким образом, испытания показали, что для всех исследованных классов атак иммунные сети показали более высокою по сравнению с нейросетями полноту обнаружения – из всех проведенных атак лишь единицы не были обнаружены. При этом иммунные сети демонстрируют более высокое число ложных обнаружений, когда нормальное поведение классифицируется как атака. Точность иммунного анализатора сравнительно низка и составляет в среднем 25%. Это обусловлено тем, что на одну обнаруженную атаку генерируется несколько сообщений. В данном исследовании время обработки одного вектора иммунным анализатором составило в среднем 7 секунд. Таким образом, время обнаружения атаки иммунным анализатором превосходит длительность проведения атаки. Поэтому представляется нецелесообразным использовать иммунные сети для обнаружения атак в реальном режиме времени, но при этом их можно использовать для периодического запуска с целью анализа статистики поведения сетевых объектов за некоторый промежуток времени (например, сутки). В целом иммунные анализаторы демонстрируют более высокие показатели эффективности обнаружения атак по сравнению с системами, основанными на экспертном подходе (НИР «Монитор-ЛВС»). 8. Возможности модификации. Ключевой возможностью оптимизации иммунных сетей представляется сокращение времени обработки одного вектора. Это может быть достигнуто за счет сокращения объема обучающей выборки и сокращения количества анализируемых параметров в векторе состояния (выделение значимых параметров). Для выявления характеристик, удаление которых не ухудшает качество работы иммунного анализатора, предполагается использовать метод главных компонент. Суть метода заключается в следующем: 18 1. Вычисляется средний вектор замеряемых характеристик 1 P X X , P здесь P количество векторов в обучающей выборке. 2. Строится R - ковариационная матрица характеристик 1 P rij ( xi xi )( xj x j ) . P 1 3. Вычисляются собственные числа (1 , 2 ,, n ) ковариационной матрицы R. 4. Если между характеристиками существует линейная зависимость, то часть i будет стремиться к 0. Можно задаться некоторым пороговым значением и ограничиться лишь теми характеристиками, которые имеют i max . 9. Заключение. В результате выполнения курсовой работы были получены следующие результаты: 1) в результате анализа применимости сделан вывод о возможности использовать предложенную модель иммунной сети для заданной модели атаки. 2) программно реализован метод обнаружения на основе иммунных сетей в виде модуля-анализатора IDS в соответствии с выбранной моделью атаки; 3) собран тестовый стенд, программно реализованы модули IDS локальный сенсор и коллектор на основе тестового стенда, проведены испытания по обнаружению атак экспериментальными образцами, получены показатели эффективности; 4) предложены возможности модификации иммунного метода с целью улучшения показателей эффективности; 19 Литература. [1] Уоссермен Ф. «Нейрокомпьютерная техника: теория и практика». [2] Тараканов А.О. «Математические модели обработки информации на основе результатов самосборки». [3] Самарский А.А., Гулин А.В. «Численные методы». [4] «Предварительный научно-технический отчет по первому этапу НИР "Невод"», ВМК, Москва, 2004 [5] «Предварительный научно-технический отчет по третьему этапу НИР "Невод"», ВМК, Москва, 2004 20