Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Высокопроизводительные системы обнаружения вторжений

Покупка
Основная коллекция
Артикул: 805321.02.99
Рассмотрено построение высокопроизводительных систем обнаружения вторжений в компьютерных сетях и киберфизических системах. Приведены понятие и принципы обработки больших данных, архитектура систем высокой нагрузки, методы предобработки информации при обнаружении вторжений. Рассмотрены различные методы обнаружения вторжений, включая новые подходы на основе технологий искусственного интеллекта. Для студентов, обучающихся по направлению «Информационная безопасность», и преподавателей, специализирующихся в области информационной безопасности. Может быть полезно широкому кругу специалистов, интересующихся вопро- сами обнаружения вторжений в системах с большим объемом циркулирующих данных.
Полтавцева, М. А. Высокопроизводительные системы обнаружения вторжений : учебное пособие / М. А. Полтавцева, Д. С. Лаврова. - 2-е изд. - Москва ; Вологда : Инфра-Инженерия, 2023. - 152 с. - ISBN 978-5-9729-1213-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/2092484 (дата обращения: 30.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
М. А. Полтавцева, Д. С. Лаврова










                ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ





2-е издание




Рекомендовано Северо-Западным региональным отделением ФУМО по информационной безопасности в качестве учебного пособия для студентов высшихучебных заведений, обучающихся по УГСН Ю.00.00 «Информационная безопасность» по программам подготовки бакалавров, магистров, специалистов











Москва Вологда «Инфра-Инженерия» 2023

УДК 004.65
ББК 32.973.2
П52

Рецензенты:
ведущий научный сотрудник СПбФ АО «НПК "ТРИСТАН”» д. т. н., профессор Лебедев И.С.;
зав. кафедрой защищенных систем связи СПбГУТ
к. т. н., доцент КрасовА. В.






     Полтавцева, М. А.
П52 Высокопроизводительные системы обнаружения вторжений : учебное пособие / М. А. Полтавцева, Д. С. Лаврова. - 2-е изд. - Москва ; Вологда : Инфра-Инженерия, 2023. - 152 с.: ил., табл.
          ISBN 978-5-9729-1213-1

          Рассмотрено построение высокопроизводительных систем обнаружения вторжений в компьютерных сетях и киберфизических системах. Приведены понятие и принципы обработки больших данных, архитектура систем высокой нагрузки, методы предобработки информации при обнаружении вторжений. Рассмотрены различные методы обнаружения вторжений, включая новые подходы на основе технологий искусственного интеллекта.
          Для студентов, обучающихся по направлению «Информационная безопасность», и преподавателей, специализирующихся в области информационной безопасности. Может быть полезно широкому кругу специалистов, интересующихся вопросами обнаружения вторжений в системах с большим объемом циркулирующих данных.

                                                                     УДК 004.65
                                                                     ББК 32.973.2











ISBN 978-5-9729-1213-1

          © Полтавцева М. А., Лаврова Д. С., 2023
          © Издательство «Инфра-Инженерия», 2023
                                  © Оформление. Издательство «Инфра-Инженерия», 2023

    ОГЛАВЛЕНИЕ


ВВЕДЕНИЕ...........................................................5

1. ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ В СИСТЕМАХ
ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ..............................................7
  1.1. Большие данные и высоконагруженные системы..................7
  1.1.1. Эволюция данных и понятие Больших данных..................7
  1.1.2. Принципы и требования к обработке данных с высокой нагрузкой.11
  1.1.3. Системы управления данными высокой нагрузки...............16
  1.1.4. Подходы к высокопроизводительной обработке данных........18
  Контрольные вопросы и задания к разделу 1.1.....................22
  Список источников к разделу 1.1.................................22
  1.2. Технологии высокопроизводительной обработки данных.........23
  1.2.1. Пакетная обработка данных................................23
  1.2.2. Потоковая обработкаданных................................35
  1.2.3. Принципы организации параллельного выполнения задач......65
  1.2.4. Совместное использование потоковой и пакетной обработки..68
  Контрольные вопросы и задания к разделу 1.2.....................76
  Список источников к разделу 1.2.................................76
  1.3. Обработка данных в задачах обнаружения вторжений...........77
  1.3.1. Типы данных и методы их обработки........................77
  1.3.2. Нормализация и агрегация данных из разнородных источников....82
  1.3.3. Иерархическая агрегация данных...............................88
  Контрольные вопросы и задания к разделу 1.3.....................92
  Список источников к разделу 1.3.....................................92
  1.4. Параллельная организация вычислительного процесса..........93
  1.4.1. Обработка сообщений от устройств.........................93
  1.4.2. Обработка сетевого трафика...............................98
  1.4.3. Агрегация данных........................................101
  Контрольные вопросы и задания к разделу 1.4....................106
  Список источников к разделу 1.4................................106

3

1. МЕТОДЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ..................................107
  2.1. Сигнатурные методы........................................108
  2.1.1. Обнаружение вторжений на основе правил..................109
  2.1.2. Обнаружение вторжений на основе шаблонов................110
  Контрольные вопросы и задания к разделу 2.1....................111
  Список источников к разделу 2.1................................112
  2.2. Поведенческие методы......................................112
  2.2.1. Статистические методы для обнаружения вторжений.........112
  2.2.2. Энтропийный подход к обнаружению вторжений..............119
  2.2.3. Спектральный анализ для обнаружения вторжений...........123
  2.2.4. Фрактальный анализ для обнаружения вторжений............124
  Контрольные вопросы и задания к разделу 2.2....................127
  Список источников к разделу 2.2.................................127
  2.3. Методы искусственного интеллекта...........................128
  2.3.1. Обнаружение вторжений на основе классификации...........129
  2.3.2. Обнаружение вторжений на основе кластеризации...........136
  2.3.3. Обнаружение вторжений с использованием машины Цетлина....138
  2.3.4. Обнаружение вторжений на основе прогнозирования с использованием нейронных сетей...............................141
  Контрольные вопросы и задания к разделу 2.3....................143
  Список источников к разделу 2.3................................143

БИБЛИОГРАФИЧЕСКИЙ СПИСОК.........................................146

    ВВЕДЕНИЕ


     В современном мире все больше происходит интеграция цифровых технологий в различные сферы человеческой деятельности. Кибернизация промышленных систем, повсеместное использование умных устройств, развитие беспроводных сетей и интеграция коммуникаций различного уровня, от взаимодействия оборудования до бизнес-процессов, приводят к появлению больших интегрированных систем, внутри которых передаются и обрабатываются огромные объемы данных. В то же время, развитие технологий предоставляет широкие возможности для злоумышленников. Современные атаки на компьютерные системы и сети связаны не только с кражей конфиденциальных данных и финансовыми мошенничествами, ноис нарушениями работоспособности промышленных и государственных систем, сложностями в предоставлении услуг. В этих условиях возникает необходимость разработки систем обнаружения вторжений, не только позволяющих эффективно обнаруживать и предотвращать атаки злоумышленников, но и способных работать в условиях огромных потоков разнородных данных - высокой нагрузки.
     Высокопроизводительные системы обнаружения вторжений представляют собой сплав технологий. С одной стороны - подходов к обработке больших и быстрых данных, с другой - высокочувствительных методов обнаружения аномалий и атак. Оба эти аспекта последовательно рассмотрены в двух больших главах данного учебного пособия. При создании материала каждой из глав были использованы как теоретические работы на соответствующе темы, так и научные и практические работы авторов в рамках выполнения федеральных целевых проектов по рассмотренной тематике.
     Первая глава посвящена высокопроизводительной обработке данных. Она последовательно построена начиная от понятия, видов и специфики современных данных и высокой нагрузки. Даны общие принципы построения высоконагруженных по данным систем, основной инструментарий разработчика. В рамках технологических подходов рассмотрена пакетная и потоковая обработка данных. Рассмотрены различные подходы к их интеграции, как с точки зрения простого совмещения обработки и последующего хранения информации, так и в рамках построения аналитических систем на базе современных лямбда и каппа архитектур. Замыкает раздел глава, непосредственно посвященная методам обработки данных в высокопроизводительных системах обнаружения вторжений, включающая описание моделей входных данных на

5

примере сетевого трафика и данных устройств интернета вещей, методы нормализации и агрегации информации для последующего применения методов анализа.
     Вторая глава рассматривает различные методы обнаружения вторжений, включая авторские разработки. Приводится их классификация. Методы также приводятся последовательно, начиная от сигнатурных подходов, включающих использование правил и шаблонов. Отдельно описаны поведенческие методы различного характера: основанные на статистических данных, энтропии, спектральном и фрактальном анализе данных. Замыкают главу современные методы на базе технологий искусственного интеллекта и машинного обучения, включая обнаружение вторжений на основе классификации и кластеризации данных, прогнозирования и нейросетевых технологий.
     Каждый раздел пособия снабжен списком основных источников и содержит ряд контрольных вопросов и заданий, выполнение которых позволит лучше усвоить приведенный материал. Контрольные вопросы и задания могут быть использованы для самостоятельной подготовки или как основа для разработки практических и лабораторных работ по рассмотренным темам.
     Настоящие пособие предназначено для студентов направлений и специальностей, связанных с информационной безопасностью, в частности «Информационно-аналитические системы безопасности», «Компьютерная безопасность», «Информационная безопасность автоматизированных систем» и широкого круга специалистов, интересующихся вопросами обнаружения вторжений в условиях высокой нагрузки.

    1. ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ ОБРАБОТКАДАННЫХ В СИСТЕМАХ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ

    1.1. Большие данные и высоконагруженные системы

    Современные информационные системы сталкиваются с новыми проблемами в связи с изменением характеристик обрабатываемых данных. В целом это явление называется Большими данными. Большие данные - повсеместное явление в отрасли. В области информационной безопасности они фигурируют в большинстве задач мониторинга и управления безопасностью, обнаружения вторжений, поиска аномалий в данных и т. д. Обеспечение быстрой обработки такого рода информации без потерь - задача современной высокопроизводительной аналитики в области защиты компьютерных систем.
    Информационные системы, направленные на обработку современных Больших данных, называются высоконагруженными по данным и значительно отличаются между собой в зависимости от специфики входной информации и области применения.

    1.1.1. Эволюция данных и понятие Больших данных

    Формально закрепленного понятия Больших данных на сегодняшний день не существует. Сам же эффект необходимости новых подходов и решений в связи с изменением входного информационного потока наступает не первый раз. В качестве основных этапов эволюции данных можно выделить:
    1. Превышение доступной оперативной памяти
    Первые задачи Больших данных связаны с проблемой, когда обрабатываемая информация (массивы и другие структуры) перестали помещаться в доступные приложению объемы оперативной памяти (ОП) и дальнейшее вертикальное наращивание производительности, путем добавления объема ОП, стало невозможным и/или не рентабельным. На этом этапе появились алгоритмы обработки данных с частичной выгрузкой на диск (например, блочный алгоритм индексации больших текстовых коллекций).


7

     2. Превышение доступной памяти для одногоузла
     Следующий этап роста данных - превышение возможностей одного узла для хранения и обработки информации. Результатом этого явления стало появление в 2000-х годах распределенных систем и распределенных СУБД, осуществляющих хранение и обработку данных на нескольких физических узлах разной степени связности. Распределенные СУБД легли в основу многих современных решений и до сих пор широко применяются для большого числа промышленных систем.
     3. Скорость поступления данных превысила возможности одногоузла
     С одной стороны, эта характеристика сходна с предыдущей: возможности одного узла по обработке входного потока информации оказались исчерпаны. С другой стороны, она значительно отличается. Если сначала речь шла и возможностях по хранению данных и обработке запросов над ними, что, в конечном итоге, упиралось в дисковые массивы, системы хранения и вычислений; то несколько позднее появилась проблема большого потока входной информации, которая терялась в силу его интенсивности и скорости работы принимающих данные узлов. Высокая скорость поступления информации заставила пересмотреть подход к приему и предварительной обработке данных, привела к появлению распределенных систем, ориентированных на высокую интенсивность таких операций.
     Исторически второй и третий этап эволюции произошли приблизительно в одно время и привели к появлению так называемых транзакционных и аналитических систем, которые будут рассмотрены позднее.
     4. Повысилась принципиальнаяразнородность данных
     Задача интеграции данных из различных источников появилась еще при появлении интегрированных информационных систем в 90-х годах XX века. Изначально проводилось слияние данных из различных структурированных хранилищ, что представляло собой достаточно объемную, но технически понятную задачу. По мере повышения разнообразия источников информации, появились данные слабой степени структуризации (XML - данные, текстовые документы разной степени упорядоченности) а также данные различной природы: видео информация, изображения и т. д. Все эти сведения нуждались в совместном анализе. Так появилась задача обработки слабо структурированных и не структурированных разнородных данных, включающая вопросы выделения значимых характеристик данных, их очистку, нормализацию и т. д.

8

     Важным фактом является то, что на каждом из приведенных этапов появлялись новые виды данных с точки зрения подходов и методов к их обработке, для которых существовавшие на тот момент системы были не предназначены.
     Сегодня нет четких цифр (Гигабайты, Терабайты, Петабайты и т. д.) говорящих о том, относится задача к области Больших данных или нет. Все эти значения зависят от того, о каких данных идет речь: насколько они структурированы, насколько быстро поступают, какие операции над ними выполняются, как часто происходит обновление уже существующих значений и т. д.
     Наиболее корректным определением можно назвать следующее:
     К Большим данным относятся такие коллекции данных, характеристики которых не позволяют хранить, обрабатывать и анализировать их при помощи универсальных промышленных СУБД.
     Это определение может варьироваться в зависимости от того какое используется ПО и какие размеры данных приняты в данной предметной области.
     Выделяют несколько характеристик больших данных. Первая появилась концепция 3V, определяющая большие данные как сочетание по крайне мере двух, из трех факторов: большой объем, большое разнообразие, большая скорость поступления (рисунок 1.1).


    большие данные                                          ~
    —*■ V - (Velocity) Скорость  Пакеты ^ Реальное время

    —► V - (Volume) Объем                 Mb ^ Ph           |
    — V - (Variety) Разнообразие ( Р‘блицы ^ Фото, текоп J
v V - (Veracity) Достоверность ^Точность ^ — V- (Value) Стоимость         ^тоимоетъмбора

    ----------► V (Visualization) Визуализация
               *■ V- (Viscosity) Связанность
               * V- (Virality) Живучесть      С ? В

Рисунок 1.1. Концепции Большихданных: 3V, 5V и 8V

9

     В дальнейшем, развитие концепции 3V привело к ее расширению и уточнению. Были выделены такие аспекты, как неточные или неполные данные и ценность или монетизируемость данных (рисунок 1). Особенно этот аспект заметен в системах маркетинга, сбора данных для третированной рекламы, персонализации предложений различных товаров. Сегодня речь идет уже о концепции 8V (рисунок 1), охватывающей не только характеристики самих данных, но и связанные проблемы, вытекающие из их природы, такие как задача визуализации данных, оценки и связности данных. Все это говорит, с одной стороны, о низкой степени формализации понятия Больших данных, а с другой - о широте проблем и областей, которые охватывают связанные с ними задачи.
     Все задачи, связанные с обработкой Больших данных сегодня можно разделить на два класса: задачи по обработке больших данных и задачи по обработке быстрых данных.
     Понятие быстрых данных связано с технологией OLTP (Online Transaction Processing - обработка транзакций данных в реальном времени), которая характеризуется обеспечением высокой пропускной способности и минимизацией задержки по времени. Для OLTP - решений важна способность обрабатывать сотни тысяч операций в секунду за миллисекунды. Основные задачи систем такого рода, с точки зрения обработки информации, это:
      1. Предоставление данных потребителям в режиме реального времени (близком к реальному времени).
      2. Обеспечивать консистентность (согласованность) данных.
     При проектировании высоконагруженных по данным систем и выборе инструментов сегодня учитывают два отдельных аспекта скорости данных: скорость поступления, и скорость обновления. Скорость поступления обуславливает использование специализированных решений (включая СУБД) хранящих данные в памяти и инструментов потоковой обработки на основе массивно-параллельных алгоритмов. Скорость обновления подразумевает изменение уже хранящихся в системе данных и требует использования совместно потоковых и исторических (хранимых) сведений, что приводит к необходимости поддержания данных в согласованном виде и решениям на базе Л -архитектуры.
     Вторая группа - большие данные, которые обрабатываются OLAP -приложениями (Online Analytical Processing -оперативная аналитическая обработка данных). Для OLAP-приложений высокая пропускная способность не так важна, поскольку они предназначены для анализа данных, не требующего мгновенной реакции. Решающее значение в этом случае имеет низкое значе

10

ние задержки при ответе на запрос, так как предоставление пользователям ответа на основании большого объема хранимой информации должно занимать приемлемое (в зависимости от задачи) время.
     На сегодняшний день возникают задачи, требующие сочетания этих решений - задачи оперативной аналитики на больших и быстрых данных. К такого рода системам относятся и системы обнаружения вторжений. С одной стороны, время реакции на события, происходящие в объекте защиты должно быть сопоставимым с реальным (обычно меньше минуты, часто - счетное число секунд), а с другой, должна сохраняться возможность расследования инцидентов и оценки исторических данных за длительные периоды времени.


    1.1.2. Принципы и требования к обработке данных с высокой нагрузкой

Эволюция систем обработки данных
     По мере изменения данных эволюционировали и системы их обработки. Можно выделить следующие классы систем по мере их появления:
      1. Локальные системы управления данными.
      2. Многопоточные (параллельные) системы управления данными.
      3. Распределенные системы управления данными.
      4. Системы потоковой обработки данных и А - архитектура.
     Исторически первыми были локальные системы управления данными, однако достаточно быстро их возможностей перестало хватать для обработки поступающей информации. Уже в 80-х годах XX в. в основных промышленных системах управления данными (СУБД) были внедрены технологии многопользовательской и параллельной обработки информации. Основой подхода стал механизм управления транзакциями. Нельзя сказать, что на этом развитие параллельной обработки закончилось: сегодня продолжают разрабатываться алгоритмы и технологии паралелизации запросов внутри транзакций, операций над данными в рамках одного запроса - уже в рамках современных систем.
     Идея параллельной обработки данных, перечень основных возникающих проблем и базовые подходы к синхронизации (такие, как механизмы блокировок, временных меток, условных ограничений и т. д.) были разработаны именно в это время, в рамках решения задачи возрастающей нагрузки и требований ко времени реакции при обработке данных. Характерной особенностью многопоточных (параллельных) систем является широкое использование вер

11

тикального масштабирования, ставшее де-факто стандартом промышленных серверов обработки данных.
     Распределенные системы обработки данных стали ответом на достижение верхних значений эффективной (с точки зрения соотношения производи-тельность/стоимость) обработки данных в многопоточных системах. Переход к горизонтальному масштабированию систем управления данными начался с появления гетерогенных СУБД использующих шлюзы и продолжился развитием кластерных масштабируемых СУБД, построенных на базе одной модели. Особенности распределенной обработки по сравнению с многопоточной:
      1. Отсутствие общей памяти (разделяемого ресурса).
      2. Появление аппаратных отказов и сбои узлов - участников процесса.
     Сегодня в наиболее высоконагруженных системах используется несколько подходов: кластерные СУБД (зачастую более чем одна) для долговременного хранения большого объема данных на диске и быстрого доступа к распределенным данным в оперативной памяти и объединяющие их инструменты и технологии потоковой обработки информации. Все вместе они образуют комплексы, называемые А - архитектурой. Это подход, сочетающий совместный анализ исторических и поступающих оперативно потоковых данных.

Требования к высоконагруженным системам

     Современным высоконагруженным по данным системам предъявляются три основных вида требований:
      • высокая масштабируемость;
      • высокая производительность;
      • высокая доступность данных.
     Масштабируемость - свойство вычислительной системы, которое обеспечивает предсказуемый рост системных характеристик при добавлении к ней вычислительных ресурсов. В случае системы обработки данных можно рассматривать два способа масштабирования - уже упоминавшиеся вертикальный и горизонтальный.
     Вертикальная, масштабируемость предполагает увеличение мощности отдельно взятого сервера СУБД (например, числа процессоров в SMP - системе). При этом программное обеспечение сервера остается неизменным и автоматически масштабирует выполняющиеся на нем задачи.
     Горизонтальная масштабируемость предполагает увеличение числа физических серверов СУБД, взаимодействующих друг с другом для разделения нагрузки. Этот процесс может происходить как в рамках одного решения, так и наращиванием различных инструментов, обеспечением их взаимодействия.

12