В наши дни довольно часто приходится слышать о технологиях, работающих по тем же самым принципам, что и органы человека, - средства обработки зрительных образов, искусственная сетчатка, нейронные сети, наконец. Сегодня мы поговорим об одной замечательной вещи, которую специалисты по информационным технологиям решили позаимствовать у природы, - об иммунитете.
Что такое иммунитет, знает практически каждый. Поэтому вы наверняка уже догадались, для чего предназначены искусственные иммунные системы (AIS - Artificial Immune System) - для защиты. Однако прежде чем начать разговор о том, как работают такие системы, необходимо вкратце описать, каким же образом функционирует иммунная система человека. Сразу замечу, что описание это будет очень упрощенным, поскольку его цель - лишь обозначить те основные элементы, которые переносятся в компьютерные сети.
Если можно так выразиться, главным принципом действия человеческой иммунной системы является сравнение определенных «шаблонов» с находящимися внутри организма телами и выявление таким образом инородных тел, называемых антигенами. Роль упомянутых шаблонов выполняют лимфоциты, постоянно генерируемые спинным мозгом и тимусом с учетом информации, содержащейся в ДНК (такая информация все время накапливается, и процесс этот называется эволюцией генной библиотеки), и разносимые организмом через лимфатические узлы, причем каждый тип лимфоцита отвечает за обнаружение какого-то ограниченного числа антигенов. При генерировании лимфоцитов имеется одна очень важная стадия, называемая негативной
селекцией, на которой происходит своеобразный тест на соответствие родным клеткам организма: если подобное соответствие имеет место, «зародышевый» лимфоцит убивается, ведь в противном случае, как несложно догадаться, он будет бороться с собственными клетками. Иными словами, благодаря негативной селекции создаются «шаблоны», содержащие ту информацию, которая внутри организма отсутствует, и если какое-то тело подходит под данный шаблон, значит, оно явно чужое. В случае обнаружения лимфоцитами антигена на основании соответствующего шаблона вырабатываются антитела, которые и уничтожают его. Здесь задействуется еще один процесс - клональная селекция, во время которой происходит своеобразный
естественный отбор антител: выживают лишь те, что максимально подходят под найденный антиген. При этом сведения о сгенерированных антителах «заносятся» в упоминавшуюся выше генную библиотеку, собственно, в саму ДНК.
Специалистами, работающими в области AIS, отмечаются три основных свойства иммунной системы человека: во-первых, она является распределенной; во-вторых, она самоорганизующаяся; и в-третьих, она относительно «легковесна», или, говоря на «информационном» языке, не особо требовательна к вычислительным ресурсам. Именно этими свойствами, по мнению многих экспертов, должна обладать система обнаружения вторжений в сеть (IDS - Intrusion Detection System), которая по своим характеристикам приближалась бы к максимально эффективной. IDS для одного сегмента сети, построенная на принципах искусственной иммунной системы, подразделяется на основную и набор вторичных. Основная является неким
аналогом спинного мозга, а вторичные - аналогами лимфатических узлов. В основной IDS на базе AIS реализуются, а точнее, имитируются два процесса - эволюция генной библиотеки и негативная селекция.
На этапе эволюции генной библиотеки происходит накопление информации о характере аномалий сетевого трафика. Генная библиотека искусственной иммунной системы должна содержать «гены» (это могут быть, например, данные о характерном количестве пакетов, их длине, структуре, типичных ошибках и т. д.), на основании которых будут генерироваться особые программные агенты - детекторы, служащие аналогами лимфоцитов. Начальные данные для формирования генной библиотеки выбираются, исходя из особенностей применяемых сетевых протоколов, в частности их слабых с точки зрения защиты мест. В дальнейшем, при обнаружении детекторами аномальной активности в сети к библиотеке будут добавляться соответствующие
этим проявлениям новые «гены». Следует заметить, что поскольку размер генной библиотеки ограничен, в ней сохраняются только «гены», проявляющиеся наиболее часто.
На втором этапе путем произвольного комбинирования «генов» происходит генерирование так называемых пре-детекторов (аналоги «зародышевых» лимфоцитов), которые затем с помощью механизма той самой негативной селекции проверяются на совместимость (или точнее, на несовместимость) с нормальным сетевым трафиком. При этом используются данные о характере такого трафика (профили), формируемые так называемым автоматическим профайлером (automated profiler), постоянно анализирующим поток данных, поступающий от маршрутизатора, стоящего на входе в сетевой сегмент. Конечной целью в этом случае является создание ограниченного набора детекторов, с помощью которого можно было бы обнаружить максимальное
число сетевых аномалий. Этот набор рассылается по узлам сети, образуя вторичную IDS.
Стоит отметить, что разработанные на сегодняшний день алгоритмы негативной селекции оперируют вероятностными характеристиками - вместо точного соответствия используется частичное, степень которого может произвольно варьироваться. Ее изменение, как несложно догадаться, в конечном итоге должно приводить к уменьшению или увеличению частоты «ложных срабатываний». При обнаружении аномалии происходит клональная селекция - соответствующий ей детектор «размножается» и рассылается на все узлы. Окончательное же решение о том, происходит вторжение в сеть или нет, принимается на основании данных от нескольких узлов. Каждый узел, а также основная IDS снабжены еще одним компонентом - коммуникатором,
который, в частности, оперирует таким параметром, как уровень риска. В случае, если на каком-то узле замечена подозрительная активность, коммуникатор поднимает свой уровень риска и отсылает соответствующее сообщение коммуникаторам других узлов и основной IDS, и те также поднимают свои уровни риска. При появлении аномалий сразу на нескольких узлах в течение короткого промежутка времени этот уровень очень быстро растет, и если будет достигнут заданный порог, администратор сети получит сигнал тревоги. Многие специалисты склонны проводить параллели между AIS и искусственными нейронными сетями: например, и те и другие способны изучать динамику и статистические свойства наблюдаемой системы, для
достижения максимальной эффективности и в том и в другом случае необходимо подбирать значения управляющих параметров и т. д. В то же время имеется и ряд существенных отличий, являющихся в первую очередь следствием различия между имитируемыми системами - нервной и иммунной. Скажем, первая состоит из фиксированных элементов (нейронов), а вторая - из блуждающих (лимфоцитов), первая управляется одним центральным органом (мозгом), а второй подобное «централизованное» управление не свойственно, в первой взаимодействие между элементами является постоянным, а во второй носит кратковременный характер и т. п.
Масштабные исследования в области искусственных иммунных сетей ведутся относительно недавно - большинство работ по данной тематике относится к 90-м годам. Тем не менее не исключено, что довольно скоро их возможности начнут использоваться на практике. Так, недавно ученые Лондонского Королевского колледжа сообщили о разработке в рамках проекта The Computational Immunology for Fraud Detection (CIFD) защитной системы для Internet на базе AIS. Предполагается, что на завершение указанного проекта уйдет еще около трех лет. Ну а первым пользователем системы обнаружения вторжений, реализующей функции AIS, должна стать почтовая служба Великобритании.