К ОБНАРУЖЕНИЮ АТАК В КОМПЬЮТЕРНЫХ СИСТЕМАХ НЕЙРОСЕТЕВЫМИ СРЕДСТВАМИ А.А. Марченко, С.В. Матвиенко, Ф.Г. Нестерук Научный руководитель - д.т.н., доцент Г.Ф. Нестерук
Анализ публикаций о применении интеллектуальных средств для решения задач защиты информации, в частности, посвященных системам обнаружения компьютерных атак (СОА), показывает, что основным механизмом обнаружения компьютерных атак является интеллектуальный анализ данных, а основными средствами для реализации интеллектуального анализа данных - экспертные системы, нейронные сети, системы нечеткой логики и гибридные нейро-нечеткие и нейро-экспертные системы.
Введение
К задачам, решаемым методами интеллектуального анализа данных, относятся [1]:
1) классификация;
2) прогнозирование;
3) кластеризация;
4) ассоциация;
5) последовательность;
6) визуализация данных.
Первые две задачи решаются с использованием предсказательных моделей: по набору обучающих данных с заранее известными результатами создаются модели, которые с большой долей уверенности предсказывают результаты для реальных данных. Последующие три задачи представляются описательными моделями: по зависимостям, выявленным в известных данных, создаются модели, которые используются в системах принятия решений. Визуализация информации состоит в отображении многомерного пространства параметров задачи в пространства меньшей размерности (2-, 3-мерные изображения), удобные для представления средствами компьютерной графики.
Перечисленные задачи с успехом могут быть использованы для обнаружения компьютерных атак и соответствуют традиционным областям применения экспертных систем, нейронных сетей, систем нечеткой логики и гибридных интеллектуальных систем.
Классификация систем обнаружения атак
Распространенная классификация СОА - по принципу реализации: host-based, т.е. обнаружение атаки, направленной на конкретный узел сети, и network-based - направленной на сегмент сети или сеть в целом. Системы класса host-based подразделяют на три подуровня (рис. 1) [2]:
• Application IDS, обнаруживающие атаки на конкретные приложения;
• OS IDS, обнаруживающие атаки на операционные системы;
• DBMS IDS, обнаруживающие атаки на системы управления базами данных.
Другим классификационным признаком может служить технология обнаружения атак (рис. 2):
• системы, обнаруживающие аномальное поведение (anomaly détection);
• системы, обнаруживающие злоупотребления (misuse detection).
Первые основаны на профилях нормального поведения пользователя, системной деятельности или сетевого трафика. Данные наблюдения сравниваются с ожидаемыми профилями нормального поведения, которые строится в период обучения СОА. Системы второго классы основаны на описании атаки в виде сигнатуры (signature) или правила и поиска данной сигнатуры в контролируемом пространстве (сетевом трафике, журнале регистрации и т.д.). В качестве сигнатуры атаки может выступать шаблон дей-
ствий или строка символов, характеризующие злоупотребления. Сигнатуры хранятся в базе данных, аналогичной той, которая используется в антивирусных системах. Антивирусные резидентные мониторы являются частным случаем СОА. База сигнатур (правил), как правило, создается с помощью экспертного метода.
Рис. 1. Классификация систем обнаружения атак по принципу реализации
Системы обнаружения атак
Обнаружение аномального поведения (anomaly detection)
Обнаружение злоупотреблений (misuse detection)
Рис. 2. Классификация систем обнаружения атак по технологии обнаружения атак
Рассмотрим нейросетевой подход к организации СОА, классифицируемой по принципу реализации как host-based система, а по технологии обнаружения атак - как система обнаружения аномального поведения.
Искусственные нейронные сети в системах обнаружения атак
Большинство подходов к обнаружению атак используют форму анализа контролируемого пространства на основе правил или статистических методов. В качестве контролируемого пространства могут выступать журналы регистрации или сетевой трафик. Анализ опирается на набор заранее определенных правил, которые создаются администратором или самой СОА. Экспертные системы (ЭС) обнаружению атак строятся на основе правил. ЭС состоит из набора правил, которые соответствуют знаниям эксперта. ЭС требуют постоянного обновления для того, чтобы оставаться актуальными. Отсутствие обновления ЭС снижает защищенность сети, вводя пользователей в заблуждение относительно действительного уровня защищенности.
Сетевые атаки постоянно изменяются, поскольку злоумышленники используют индивидуальные подходы, а также в связи с регулярными изменениями в программном обеспечении и аппаратных средствах компьютерных систем. Развертывание атаки во времени либо одновременные действия нескольких злоумышленников затрудняют обнаружение атаки с помощью ЭС. Из-за разнообразия атак даже постоянные обновления правил ЭС не дают гарантии точной идентификации атак.
Одним из путей устранения названных проблем является использование нейронных сетей (НС). В отличие от ЭС, которые могут дать пользователю определенный ответ, соответствуют или нет рассматриваемые характеристики характеристикам, заложенным в базе правил, НС проводит анализ информации и предоставляет возможность
оценить, согласуются ли данные с характеристиками, которые она научена распознавать. Степень соответствия нейросетевого предсказания может достигать 100% и зависит от качества обучения.
Вначале НС обучается правильной идентификации предварительно выбранных примеров предметной области. Реакция НС анализируется, и система настраивается таким образом, чтобы достичь заданной точности. В дополнение к первоначальному периоду обучения НС также набирается опыта по мере того, как она проводит анализ данных, связанных с предметной областью. Важное преимущество НС при обнаружении злоупотреблений заключается в способности изучать характеристики атак и идентифицировать элементы, которые не похожи на те, что наблюдались в сети прежде.
Принципы нейросетевого мониторинга безопасности
Совокупность значений параметров (показатели сетевых пакетов или состояния системных ресурсов, данные о последовательностях системных вызовов или разбора лог-файлов) может характеризовать состояние контролируемого узла компьютерной системы (КС) в каждый момент времени. При этом дискретизация времени может зависеть от конкретных настроек подсистемы сбора данных. Таким образом, некоторую комбинацию значений X, полученную в очередной момент времени, можно считать входным воздействием (вектором) СОА. Тогда результатом анализа такой комбинации будет некоторая величина Ъ, представляющая ответ на вопрос, является ли представляемое ею состояние нормальным поведением или проявлением конкретной атаки.
Предположим, что в функционировании КС имеются не известные априори закономерности, которые характеризуются группой сходных векторов - скоплением точек в многомерном пространстве. Описание их называют профилем штатного поведения узла. Тогда, если очередной вектор попадает в одну из описанных областей, фиксируется один вид поведения (нормальное или аномальное), если не попадает, то противоположный. Задача выявления аномалий и атак, таким образом, заключается в составлении профиля поведения путем наблюдения за заведомо исправным узлом или узлом, подвергающимся конкретной атаке, и в последующем поиске отклонений от сформированного профиля во время эксплуатации системы.
Решение задачи формирования профиля может быть получено двумя путями - как распознавание образов и как кластеризация. В обоих случаях профиль будет представлять собой разбиение пространства признаков на непересекающиеся области.
В случае распознавания образов необходимо обеспечить отнесение каждого входного вектора к одному из нескольких классов, представляющих конкретные компьютерные атаки или нормальное поведение. В случае кластеризации необходимо выявить группы похожих векторов, которые все относятся либо к аномальному поведению, либо к нормальному. Тогда остальные вектора, не попавшие в указанные группы, можно отнести к противоположному поведению.
Создание профиля предполагает предварительное формирование множества примеров. Так, чтобы обучить некую систему распознаванию нескольких классов воздействий, необходимо иметь примеры (векторы), относящиеся ко всем этим классам. Для получения «нормальных» векторов следует зафиксировать ряд состояний КС в течение определенного времени. Для получения же «аномальных» векторов потребуется воздействовать на КС искусственным образом, чтобы зафиксировать нужные комбинации параметров. Причем такую работу необходимо периодически повторять, чтобы учитывать постепенное изменение профиля поведения контролируемой КС.
НС применяются для решения вышеописанных задач. Для распознавания образов часто применяются НС типа многослойного персептрона, но наиболее распространен-
ными являются самоорганизующиеся карты Кохонена (SOM - Self-Organizing Map) и сети адаптивного резонанса ART [3].
Сети теории адаптивного резонанса
Сети адаптивного резонанса или классификаторы Карпентера-Гроссберга (ART -Adaptive Resonance Theory Network) применяются для кластеризации многомерных векторов. Главной особенностью ART является то, что процесс обучения НС и ее эксплуатации не разделяются. ART представляют собой потоковые алгоритмы кластеризации (без предварительного накопления обучающей выборки) с изменяемым количеством кластеров, что значительно уменьшает время обучения, хотя и снижает скорость работы [4-6].
Сети ART имеют несколько модификаций, основные из которых рассмотрены ниже.
ART1. Сети ART1 [4] предназначены для обработки бинарных векторов. НС состоит из двух слоев нейронов (рис. 3): входного (сравнительного), число нейронов в котором фиксировано и равно размерности входных векторов, и выходного (соревновательного) с переменным количеством нейронов, где каждому нейрону соответствует класс объектов.
Рис. 3. Нейронная сеть ART1
Отметим особенности АВ.Т1.
1. Количество входов и весов входов каждого нейрона определяется следующим правилом. Каждый нейрон входного слоя соединен с каждым нейроном выходного слоя и, наоборот, каждый нейрон выходного слоя связан с каждым нейроном входного. Каждой связи поставлен в соответствие вес. Связи от входных нейронов к выходным называют восходящими, а от выходных к входным - нисходящими. В качестве функции состояния каждого нейрона рассматривается расстояние в некоторой метрике между входным вектором X и вектором весов нейрона Ж.
2. Функция активации нейронов выходного слоя вычисляется как взвешенная весами сумма координат входного вектора.
3. Обучение НС является неуправляемым (без учителя) и заключается в коррекции весов связей так, чтобы каждый нейрон был победителем для максимального количества векторов из обучающего множества и при этом выполнялся некоторый критерий близости.
Алгоритм обучения АВ.Т1 можно описать следующим образом.
Первый входной вектор считается эталоном первого кластера. Следующий входной вектор сравнивается с эталоном первого кластера. Считается, что он принадлежит этому кластеру, если расстояние до эталона в некоторой метрике меньше заданного порога. При этом координаты эталона корректируются по определенному правилу. В противном случае второй вектор становится эталоном второго кластера. Данный процесс повторяется для всех последующих входных векторов. Число кластеров, таким образом, постепенно растет в зависимости от заданной величины порога и используемой метрики.
ART2. Сети теории адаптивного резонанса ART2 [4] по своим классификационным признакам, особенностям обучения, структуры и функционирования схожи с сетями ART1. Отличие заключается лишь в том, что обрабатываемые многомерные вектора являются не бинарными, а вещественными. Вследствие этого входной слой сети представляет собой совокупность шести подслоев, каждый из которых включает по m нейронов, где m - размерность входного вектора. Назначение указанных подслоев заключается в нормализации входного вектора и приведения его к виду, близкому к векторам, обрабатываемым сетью ART1.
Fuzzy ART [5]. Данная НС является объединением сети ART1 и теории нечетких множеств. Сеть Fuzzy ART обрабатывает многомерные вещественные вектора. Алгоритм работы Fuzzy ART рассматривается ниже.
Векторы полей. ART система включает поле F0 нейронов, представляющих текущий входной вектор; поле Fj, получающее информацию по восходящим связям из поля F0 и по нисходящим связям из поля F2, представляющее активную категорию. Вектор поля F0 обозначается I = (Л,..., IM), каждый элемент которого Ii лежит в интервале [0,1], i=1,..., M. Вектор поля F1 обозначается х=(х1,., xM), вектор поля F2 обозначается у=(уь... ,ум).
Весовой вектор. С каждой категорией j (j=1,..., N) в поле F2 связан вектор Wj^(Wj],..., WjM). Первоначально
Wji(0)=...=WjM(0)= 1; (1)
тогда каждая категория называется незадействованной. После выбора категории для классификации она становится задействованной. Каждый элемент весового вектора монотонно не убывает во времени и стремится к некоторому пределу.
Параметры. Динамика Fuzzy ART определяется параметром выбора а > 0; параметром скорости обучения Ре[0, 1]; параметром близости ре [0,1].
Выбор категории. Для каждого входа I и элемента j поля F2 функция выбора Tj определяется как
I I Л W■ | T (I) = —,— |
a+|wj|, (2) где нечеткий оператор л определяется как
(р Л q) г = min(Pi, q) (3)
и норма вектора |-| определяется как
M
| Р |=Z | Рг |
г = (4)
для любых M-размерных векторов p и q.
ART система выполняет выбор категории, если в каждый момент времени активным является не более одного элемента в поле F2. Выбранная категория индексируется как J,
Tj = max {Tj: j=1.N}. (5)
Если более одного Tj максимально, то выбирается категория j с наименьшим индексом. В частности, элементы становятся задействованными в порядке j= 1, 2, 3, ....
Когда J-ая категория выбрана, yJ = 1 и yj=0 для j tj. Вектор поля Fj удовлетворяет уравнению
I, если F2 неактивно
x = -< (6) I л Wj, если J-ая категория F2 выбрана.
Резонанс или сброс. Резонанс происходит, если функция совпадения \I л Wj\ / \I\ выбранной категории удовлетворяет критерию близости: I Л W \
и гр
11 ; (7)
т.е., в соответствии с (6), когда J-ая категория выбрана, резонанс происходит при
lxl = I1 л w.| . (8)
Затем следует обучение, как описано ниже. Сброс происходит, если
I Л W .
|У| (9)
или
W = \I л w.l <М. (10)
Тогда значение функции выбора T. устанавливается в 0 на время обработки текущего входного вектора для предотвращения постоянного выбора одной и той же категории в процессе поиска. Новый индекс J выбирается в соответствии с (5). Процесс поиска продолжается, пока выбранная категория J не будет удовлетворять (7).
Обучение. После окончания поиска весовой вектор wJ обновляется в соответствии с уравнением
wjnew) = ß(I л wJOld)) + (1 - ß)w jld). (11)
Правило быстрого обучения соответствует установке ß= 1.
Нормализация входного вектора/Комплементарное кодирование. При исследовании ряда аналоговых ART систем была выявлена проблема быстрого разрастания числа категорий, когда большое число входных векторов изменяло норму весовых векторов. Разрастание числа категорий в Fuzzy ART не происходит, если входные вектора нормализованы, т.е. для некоторого у> 0
I - Y (12)
для всех входных векторов I. Нормализация может быть достигнута путем предобработки каждого входного вектора а, например:
I=а
\а\ . (13)
Комплементарное кодирование - правило нормализации, сохраняющее информацию об амплитуде. Входной вектор для поля Fj в комплементарном коде представляет собой 2М-размерный вектор
I = (аа) - ам,а1 ^aM), (14)
где
с _ 1
а' = 1 - а'. (15)
Заметим, что
м м
I = (а, ас)| = ^ аг + (M аг) = M
.=1 ,=1 , (16)
т. е. входные вектора, представленные в комплементарном коде, автоматически нормализуются. При использовании комплементарного кодирования первоначальное условие (1) заменяется на
МО) = ... = w}.,2 M (0) =1. (17)
Fuzzy ARTMAP [6]. ARTMAP - класс НС, характеризующихся инкрементным обучением с учителем для решения классификационных задач. Fuzzy ARTMAP обучается классификации входных данных по нечеткому набору признаков - вектору, элементами которого являются значений от 0 до 1, представляющие степень наличия того или иного признака. ARTMAP система включает два модуля ART (ARTa и ARTb), которые создают классификационные категории в ответ на последовательность входных векторов (рис. 4).
Рис. 4. Архитектура Fuzzy ARTMAP
Во время обучения ARTa получает поток {a(p)} входных векторов, а ARTb - поток {b(p)}, где b(p) - правильное предсказание класса для a(p). Эти модули связаны сетью ассоциативного обучения и внутренним контроллером. Контроллер служит для создания минимального числа ARTa категорий, необходимых для достижения критерия точности. Это достигается минимаксным правилом обучения, которое позволяет ARTMAP системе минимизировать ошибку предсказания и максимизировать обобщение предсказаний.
Fuzzy ARTMAP система включает два Fuzzy ART модуля, ARTa и ARTb, которые соединены вместе посредством меж-ART модуля Fab, называемым полем преобразования. Поле преобразования служит для формирования ассоциаций прогнозирования между категориями и для реализации правила отслеживания совпадений, согласно которому параметр близости ARTa увеличивается в ответ на ошибку прогнозирования в ARTb. Отслеживание совпадений реорганизует структуру категорий таким образом, что ошибка прогнозирования не повторяется при последующих представлениях входного вектора. Алгоритм работы поля преобразования Fab описывается следующим образом.
ARTa и ARTb. Входные вектора для ARTa и ARTb в комплементарном коде обозначим I = A = (a, ac) для ARTa; I = B = (b, bc) для ARTb. Переменные в ARTa и ARTb обо-
pa
значаются индексами a и b, соответственно. Для ARTa выходной вектор поля 1 обо-
xa = (xa xa ) pa ya ^ (ya ya )
значим v 1 " 2Ma;; выходной вектор поля 2 обозначим " v-п ••• Ут) ; j-ый ве-
совой вектор ЛЯТа обозначим ^а ^а^ м'а м'] лма). Аналогично, для ЛЯТь выход-
рЬ хь — (хь хь ) рЬ
ной вектор поля 1 обозначим ^ 1 "' 2мь} ; выходной вектор поля 2 обозначим У — (у ...Ум,); к-ый весовой вектор ЛЯТь обозначим ™к — Wk2,...,^,2мь). Для по-
ХаЬ — (хаЬ хаЬ )
ля преобразования обозначим выходной вектор ^ 1 "' м }; весовой вектор оту'-ого
ра ^ аЬ — (WaЬ Ц> аЬ )
элемента поля 2 к полю раЬ обозначим ' _ л >•••> рл) . Вектора ха, уа, хЬ, уЬ и хаЬ устанавливаются в 0 между представления входных векторов.
Активация поля преобразования. Поле преобразования раЬ становится активным,
ра
когда одна из категорий, ЛЯТа или ЛЯТь, активна. Если выбрана категория J поля 2 ,
WaЬ рЬ
тогда ее весовой вектор J активирует Р . Если активна категория К поля 2 , тогда
элемент активируется элементом К в раЬ с помощью связей типа один-к-одному между
Ь
2
р2 и раЬ. Если оба модуля, ЛЯТа и ЛЯТь, активны, то раЬ активируется только в том случае, если ЛЯТа предсказывает ту же категорию, что и ЛЯТь через весовой вектор
WaЬ
-1 . Выходной вектор поля Р ха равен
хаЬ= <
Ь аЬ т т^ а т-'Ь
у л wJ , если ^ая категория Р2 активна и Р2 активно
wJ , если 1-ая категория р" активна и р2 неактивно
Ь 7—' а 7—' Ь
у , если р2 неактивно и Р2 активно
Ь
0, если р2а неактивно и р2Ь неактивно
2 2 . (18)
waь
Согласно (18), ха =0, если предсказание -1 не совпадает с у . Такое несовпадение активизирует поиск в ЛЯТа более подходящей категории как описано ниже.
Отслеживание совпадений. В начале представления каждого входного вектора
параметр близости Ра ЛЯТа равен исходному значению Ра . Параметр близости поля
хаЬ
РаЬ
I иаиси
Ь
<РаЬ,
преобразования равен аЬ . Если
уь
(19)
р г г А л wa\\A\1 „ ра
тогда Ка увеличивается, пока не будет больше 1 1 , где А - входной вектор 1
в комплементарном коде. Тогда
|ха| = А л wаl <раА1
I I Jl На\ , (20)
ра р
где J - индекс активной категории 2 . После увеличения ^а происходит поиск другой
ра
категории в ЛЯТа, который приводит к активации другой категории J поля 2 , удовлетворяющей
\ха = А л wa| >рА1 , ч
I I ^ Иа\ I (21)
и
И =|уЬ лWJa| >Раь|/|. (22)
Обучение поля преобразования. Правило обучения определяет, каким образом ве-
waЬ
совые вектора ук поля преобразования изменяются с течением времени. Первона-
Wakk ра
чально весовые вектора ' 2 ^ равны
w
, ab
jk
(0) = 1.
(23)
При резонансе при активной категории J модуля ЛВ.Та ^ приближается к векто-
ab
ру поля преобразования xab. При быстром обучении, когда J обучается предсказывать
ab
категорию K ARTb, эта ассоциация остается постоянной, т.е. wJK = .
Fast Adaptive Neural Network Classifier (FANNC) [7]. FANNC является развитием теории адаптивного резонанса и теории поля. FANNC предназначена для решения классификационных задач. Особенностями этой НС являются однопроходное обучение, высокая точность и быстрая скорость обучения. Процесс обучения НС - инкре-ментный. При появлении новых данных НС «дообучается» за счет небольшой модификации топологии, т.е. добавлением одного или двух нейронов и связей к уже существующей НС.
Сеть FANNC состоит из четырех слоев нейронов (рис. 5). Функцией активации нейронов скрытых слоев является сигмоидная функция. Гауссовы веса соединяют нейроны входного слоя с нейронами второго слоя. FANNC использует нейроны второго слоя для внутренней классификации входного вектора, а нейроны третьего слоя - для внутренней классификации выходного вектора. Модификация связей между этими слоями осуществляется путем обучения с учителем. За исключением связей между первым и вторым слоем, все связи двунаправленные. Обратные связи передают ответные сигналы для реализации резонанса и соревнования нейронов и всегда равны 1.0.
Рис. 5. Архитектура РДЫЫО
В начальный момент времени НС состоит только из входного и выходного слоев. Число элементов в этих слоях равно, соответственно, числу компонентов входного и выходного векторов. Число элементов в скрытых слоях равно нулю. При представлении новых данных FANNC добавляет скрытые нейроны. При представлении первого вектора FANNC добавляет два скрытых нейрона - один во второй слой и один в третий слой. Эти нейроны соединены между собой. Прямая и обратная связь равна 1.0. Нейрон третьего слоя соединен со всеми выходными нейронами, прямые связи равны соответствующим компонентам выходного вектора. Обратные связи равны 1.0. Нейрон второго слоя соединен со всеми нейронами входного слоя с помощью гауссовых весов. Центры чувствительности равны соответствующим значениям компонентов входного вектора, ширины характеристик чувствительности устанавливаются в значение по умолчанию.
A = (a1 а2 сХп )
Обозначим входной вектор как 11 у ^ k'"'' ^ ^=1, 2, ..., m), где k - индекс входного вектора, п - число компонентов входного вектора. Входное значение для нейрона ] второго слоя от нейрона i первого слоя равно
к
Ь1п. = е
е. а,-,
где - и 4 - соответственно, центр чувствительности и ширина характеристики чувствительности гауссова веса, соединяющего нейрон г с нейроном.. Так как динамические свойства гауссова веса полностью определяются центром чувствительности и шириной характеристики чувствительности, то знания, получаемые во время обучения, могут быть запомнены путем модификации этих двух параметров.
Алгоритм обучения сети БА№№С представлен на рис. 6 [7].
Заключение
Ч \2
Рассмотрев существующие подходы к классификации систем обнаружения атак и общие принципы мониторинга безопасности с помощью нейронных сетей, комплекс задач дальнейшего исследования можно определить следующим образом.
1. В связи с многообразием нейросетевых алгоритмов необходимо провести их исследование применительно к задаче анализа данных аудита КС с целью обнаружения аномального поведения пользователей и выбрать наиболее подходящий нейросетевой алгоритм.
2. Необходимо определить совокупность контролируемых событий аудита, которые характеризовали бы поведение пользователя.
Рис. 6. Алгоритм обучения сети РДЫЫО
3. Необходимо определить способ преобразования данных аудита во входной вектор нейронной сети и, при необходимости, способ нормализации входных векторов для
соответствия требованиям к входным векторам выбранной топологии НС.
Литература
1. Дюк. В., Самойленко А. Data Mining: учебный курс (+CD). СПб: Питер, 2001.
2. Лукацкий А.В. Обнаружение атак. 2-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2003.
3. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. М.: Мир, 1992.
4. Carpenter G.A., Grossberg S. A self-organizing neural network for supervised learning, recognition, and prediction. // IEEE Communications Magazine. 1992. 30. P. 38-49.
5. Carpenter G.A., Grossberg S., Rosen D.B. Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system. // Neural Networks. 1991. 4. P. 759-771.
6. Carpenter G.A., Grossberg S., Markuzon N., Reynolds J.H., Rosen D.B. Fuzzy ARTMAP: An adaptive resonance architecture for incremental learning of analog maps. // Proc. of the International Joint Conference on Neural Network. 1992.
7. Zhou Z., Chen S., Chen Z. FANNC: A Fast Adaptive Neural Network Classifier. // Knowledge and Information Systems. 2000. 2. P. 115-129.