что такое системные аномалии
Причины и источники сетевых аномалий
Рубрика: Технические науки
Дата публикации: 14.11.2015 2015-11-14
Статья просмотрена: 1848 раз
Библиографическое описание:
Оладько, В. С. Причины и источники сетевых аномалий / В. С. Оладько, С. Ю. Микова, М. А. Нестеренко, Е. А. Садовник. — Текст : непосредственный // Молодой ученый. — 2015. — № 22 (102). — С. 158-161. — URL: https://moluch.ru/archive/102/23376/ (дата обращения: 01.12.2021).
Рассмотрена проблема обеспечения безопасности корпоративных сетей организаций. В качестве основных причин нарушения безопасности и утечек информации разного уровня доступа, в организации, выделены действия злоумышленника. Показано, что для своевременного предотвращения атак злоумышленника и обеспечения безопасности и устойчивости функционирования сети организации необходимо проводить регулярный мониторинг состояния сети. Поскольку именно регулярный мониторинг состояния сети, позволит своевременно обнаруживать и отслеживать сетевые аномалии, а также проводить их подробный анализ, с целью выявления причин и источников аномалии. Проанализированы основные причины возникновения аномалий в сетевом трафике, к которым относят: сетевые атаки, ошибки пользователей, сбои и отказы аппаратного обеспечения, дефекты программного обеспечения, повреждения каналов связи. Рассмотрены способы проявления сетевых аномалий: видимые аномалии и аномалии, не имеющие видимых признаков. Выделены источники возникновения сетевых аномалий. Сделан вывод, что наиболее опасным источником сетевых аномалий являются действия злоумышленника. Показана и подробно проанализирована причинно-следственная связь между аномалиями и наиболее распространенными сетевыми атаками. Сделан вывод о возможности применения описания связи между атаками и аномалиями при написании правил и шаблонов алгоритмов обнаружения аномалий и атак.
Ключевые слова: сетевая атака, сеть, злоумышленник, информационная безопасность, мониторинг, сетевой трафик.
Настоящее время характеризуется активным развитием интернет-технологий и появлением большого числа гетерогенных и распределенных систем, которые повсеместно используются организациями (государственными и частными) при реализации бизнес — процессов и предоставлении услуг. В данных системах и сетях ежедневно обрабатывается, передается и хранится информация различного уровня доступа, к которой получает локальный и/или удаленный доступ множество пользователей. Зафиксированное число утечек информации и атак злоумышленника на информационные и сетевые ресурсы ежегодно возрастает. Так по данным исследований аналитического центра компании InfoWatch за 2014 год [2] и первое полугодие 2015 года [3], число утечек информации в мире выросло на 22 %, в России — на 73 %, при этом более 39 % утечек приходиться именно на сеть, которая занимает лидирующее положение среди всех каналов. Поэтому, актуальной является задача обеспечения безопасности сетей и ресурсов организаций от утечек и угроз различной природы и характера.
В соответствии с [1], для своевременного предотвращения атак и обеспечения безопасности и устойчивости функционирования сети организации необходимо проводить регулярный мониторинг состояния сети и контролировать появления сетевых аномалий, поскольку именно они являются одним из основных признаков сбоев в работе сети и/или вторжения злоумышленника. Анализируя причины возникновения, источники и степень опасности сетевой аномалии, можно своевременно выявить нарушение и снизить риски от его последствий. Анализ литературных источников [4 — 6] показывает, что сетевые аномалии могут возникать по причинам, связанным с деятельностью злоумышленников, некомпетентностью и ошибками пользователей, неисправностью аппаратуры, повреждением каналов связи и дефектами программного обеспечения.
Существуют видимые аномалии, проявляющиеся в некорректной работе информационно-вычислительной системы в текущий момент времени и аномалии, не имеющие видимых признаков в текущий момент времени, но которые могут привести к сбоям спустя значительное время. При этом наиболее опасными являются аномалии, которые возникают в результате проведения сетевой атаки. При этом целью любой сетевой атаки является вторжение злоумышленника в систему и получение доступа к конкретным данным или ресурсу. Поэтому сетевые атаки могут проводиться в несколько этапов и отличаться разным уровнем сложности. Например, некоторые виды атак требуют большое количество вычислительных ресурсов и высокого уровня подготовки злоумышленника, другие способен осуществить рядовой пользователь, даже не предполагающий, какие последствия может принести его деятельность. Следовательно, для минимизации ущерба от возможного вторжения в систему и своевременного предотвращения атаки на ранних стадиях проведения, важно четко выявлять в обнаруженной аномалии признаки атаки и проводить оценку возможных последствий.
В таблице 1 представлена разработанная причинно-следственная связь между атаками злоумышленников, сетевыми аномалиями и их последствиями для безопасности сети организации.
Причины и последствия возникновения аномалий в сетевом трафике, источником которых является активность злоумышленника
Причина возникновения аномалии (источник)
Вид проявления аномалии
Последствия
Атаки на уровне приложений
эксплуатация известных уязвимостей и ошибок в программном обеспечении, сканирование и доступ к портам, ассоциированным с уязвимыми приложениями
злоумышленники могут получить доступ к АРМ пользователя сети, повысить привелегии, получить административный доступ
скачек в трафике по потокам/с, с несколькими пакетами в потоках от одного доминирующего IP-адреса
установка rootkit и использование системы для автоматизации процесса вторжения, позволяет злоумышленнику просканировать сотни тысяч систем за короткий промежуток времени
Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)
наблюдается интенсивный поток трафика с множества IP-адресов на порты маршрутизаторов и серверов
происходят нарушения нормального функционирования системы, нарушается доступность данных и сервисов, которые обычно дополняются нехваткой ресурсов, необходимых для работы сети, операционной системы или приложений.
создание большого числа частично открытых соединений, увеличения числа SYN-пакетов
нарушения нормального функционирования системы
Атаки «Ping of Death»
получении слишком больших IP-пакетов.
сбой, отказ, зависание и перезагрузка системы
Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K)
генерация пакетов с подмененными IP-адресами источника, динамическое изменение размеров пакетов, IP-адресов и портов источника, появление в трафике большого числа пакетов на один IP-адрес
являются распределенными инструментальными средствами, обычно запускающими скоординированные DoS-атаки из многих источников на одну или несколько целей.
появление нелегального зашифрованного трафика,генерация пакетов с подмененными IP-адресами источника, динамическое изменение размеров пакетов, IP-адресов и портов источника, появление в трафике большого числа пакетов на один IP-адрес
происходит вторжение в большое количество систем для последующего использования их при атаке. Затем следует фаза DoS-атаки, в течение которой захваченные системы используются для атаки на один или несколько объектов
подмена IP-адресов источника на адреса из доверенных зон
злоумышленник внутри сети или за ее пределами выдает себя за компьютер, которому можно доверять
перехват сетевых пакетов, протоколов маршрутизации и транспортных протоколов, искажение передаваемых данных и включение новой информации в сетевые сессии
кража информации, хакинг текущего сеанса связи для получения доступа к частным сетевым ресурсам, анализ трафика — для получения информации о сети и ее пользователях, DoS-атаки, искажение передаваемых данных и включение новой информации в сетевые сессии
запросы к DNS-серверу, сканирование диапазона IP-адресов (ping sweeps) и сканирование портов
злоумышленники могут найти открытые порты, изучить характеристики приложений, выполняющихся на хостах
перехват пакетов передающихся по сети в открытом виде (службы telnet, FTP, SMTP, POP3 и т. д.), например имен пользователей и пароли, переключение потоков трафика с одного сетевого устройства (службы) на другое
злоумышленник может получить доступ к учетной записи системного пользователя, который хакер может использовать для создания новой учетной записи, и таким образом иметь доступ к сети и ее ресурсам в любое время
подделка IP-пакетов и прослушивание пакетов, скачек в трафике по потокам/с, с несколькими пакетами от одного доминирующего IP-адреса
злоумышленники могут обеспечить себе вход в сеть, независимо от возможных будущих изменений взломанных данных
Port redirection attacks
переадресация сетевого трафика, падение в байтах или пакетах в одном потоке трафика и выброс в другом.
Передача злоумышленниками через межсетевой экран нелегального трафика
Вирусные и троянские атаки
выброс в трафике без доминирующего адреса назначения, но с одним или несколькими доминирующими портами назначения
примером вируса является программа, которая, удаляет некоторые сетевые файлы и инфицирует все другие версии файла command. com, которые сможет обнаружить.
Trust exploitation attacks
происходят, когда кто-либо пользуется преимуществом доверительных отношений в пределах сети
атака на внутреннюю сеть
Описанная авторами причинно-следственная связь может использоваться в процессе анализа обнаруженных аномалий, и в качестве основы для пополнения баз знаний и создания шаблонов, правил и сценариев алгоритмов обнаружения аномалий и атак.
По результатам проведенного исследования, можно сделать следующие выводы:
— для поддержания требуемого уровня безопасности корпоративной сети организации необходимо проводить регулярный мониторинг состояния сети и выявлять аномалии в сетевом трафике;
— обнаруженные аномалии следует подвергать тщательному анализу, с целью выявления их источника и причин возникновения;
— наиболее часто возникающие в сетевом трафике аномалии являются признаком проводимой злоумышленником атаки на объекты и ресурсы корпоративной сети;
— сетевые аномалии столь же разнообразны, как и сетевые атаки, поэтому между их признаками необходимо устанавливать связь.
Обнаружение аномалий в данных сетевого мониторинга методами статистики
Когда наблюдаемых метрик становится слишком много, отслеживание всех графиков самостоятельно становится невозможным. Обычно в этом случае для менее значимых метрик используют проверки на достижение критичных значений. Но даже если значения подобраны хорошо, часть проблем остается незамеченной. Какие это проблемы и как их обнаруживать — под катом.
Disclaimer
Автор хотя и имеет математическое образование, никак не связан ни с Data Mining, ни со статистическим анализом. Данный материал является результатом исследования, проведенного с целью выяснить возможность написания модуля поиска аномалий (пусть даже слабого) для разрабатываемой системы мониторинга.
Что ищем в двух картинках
Источник Anomaly.io
Конечно в реальности, не всегда все так просто: только на б), д) и е) явная аномалия.
Источник cyberleninka.ru
Текущее положение дел
Коммерческие продукты почти всегда представлены в виде сервиса, использующего как статистику, так и машинное обучение. Вот некоторые из них: AIMS, Anomaly.io (прекрасный блог с примерами), CoScale (возможность интеграции, напр. с Zabbix), DataDog, Grok, Metricly.com и Azure (от Microsoft). У Elastic есть модуль X-Pack на основе машинного обучения.
Open-source продукты, которые можно развернуть у себя:
2000 репозитариев на GitHub
На мой взгляд open-source по качеству поиска значительно уступает. Чтобы понять, как работает поиск аномалий и можно ли исправить ситуацию, придется немного окунуться в статистику. Математические детали упрощены и скрыты под спойлерами.
Модель и её компоненты
Для анализа временного ряда используют модель, которая отражает предполагаемые особенности (компоненты) ряда. Обычно модель состоит из трех компонент:
В зависимости от того, как связаны между собой компоненты модели, определяют её тип. Так, если все компоненты складываются, чтобы получить наблюдаемый ряд, то говорят, что модель аддиктивна, если умножаются, то мультипликативна, если что-то умножается, а что-то сладывается, то смешаная. Обычно тип модели выбирается исследователем на основе предварительного анализа данных.
Декомпозиция
Выбрав тип модели и набор компонент можно приступать к декомпозиции временного ряда, т.е. его разложению на компоненты.
Источник Anomaly.io
Сперва выделяем тренд, сгладив исходные данные. Метод и степень сглаживания выбираются исследователем.
Если использовать не одно, а несколько предшедствующих значений, т.е. среднее арифметическое k-соседних значений, то такое сглаживание называется простым скользящим средним с шириной окна k
Если для каждого предыдушего значения использовать какой то свой коэффициент, определяющий степень влияния на текущий, то получим взвешенное скользящее среднeе.
Несколько другой способ — эсконенциальное сглаживание. Сглаженный ряд вычисляется следующим образом: первый элемент совпадает с первым элементом исходного ряда, а вот последующие вычисляются по форумуле
Где α — коэффициент сглаживания, от 0 до 1. Как легко видеть чем ближе α к 1, тем больше получаемый ряд будет похож на исходный.
Для определения линейного тренда можно взять методику расчета линейной регрессии методом наименьших квадратов:
,
, где
и
— средние арифметические
и
.
Источник Википедия
Для определения сезонной составляющей из исходного ряда вычитаем тренд или делим на него, в зависимости от типа выбранной модели, и еще раз сглаживаем. Затем делим данные по длине сезона (периоду), обычно это неделя, и находим усредненный сезон. Если длина сезона не известна, то можно попытаться найти её:
Честно признаюсь, что не стал разбираться как работает преобразование Фурье. Кому интересно могут заглянуть в следующие статьи: Detect Seasonality using Fourier Transform in R и Простыми словами о преобразовании Фурье. Насколько я понял, исходный ряд/функция представляется в виде бесконечной суммы элементов и берется несколько первых значимых коэффициентов.
Для поиска авто-корреляцией просто сдвигаем функцию вправо и ищем такое положение, чтобы расстояние/площадь между исходной и сдвинутой функцией (выделено красным) было минимально. Очевидно для алгоритма должен быть задан шаг сдвига и максимальный предел, при достижении которого считаем, что поиск периода не удался.
Удалив из исходного ряда тренд и сезонный фактор, получаем случайную компоненту.
Типы аномалий
Если анализировать только случайную компоненту, то многие аномалии можно свести к одному из следующих случаев:
Идея подобных тестов — определить насколько далеко располагается отдельное значение от среднего. Если расстояние отличается от «обычного», то значение объявляется выбросом. Время события при этом игнорируется.
Считаем, что на входе ряд чисел — ,
,…
, всего
штук.
—
-ое число.
Стандартные тесты достаточно просты в реализации и требуют лишь вычисление среднего , стандартного отклонения
и иногда медианы
— среднее значение, если упорядочить все числа по возрастанию и взять то, которое по середине.
Правило трех сигм
Если 3 * S$» data-tex=»inline»/>, то
считаем выбросом.
Z-оценка и уточненный метод Iglewicz и Hoaglin
— выброс, если
больше задаваемого порога, обычно равному 3. По сути переписанное правило трех сигм.
Уточненный метод заключается в следующем: для каждого числа ряда вычисляем и для получившихся значений находим медиану, обозначаемую
.
— выброс, если
больше порога.
Тест Граббса
Находим минимальное и максимальное
значения и для них вычисляем
и
. Затем выбираем уровень значимости α (обычно один из 0.01, 0.05 или 0.1), заглядываем в таблицу критичных значений, выбираем значение для n и α. Если
или
больше табличного значения, то считаем соответствующий элемент ряда выбросом.
Обычно тесты требуют, чтобы исследовалось нормальное распределение, но зачастую это требование игнорируется.
Метод относится к прогнозированию, поэтому его применение сводится к тому, чтобы сравнить прогнозируемое значение с действительным.
Основная идея метода в том, что каждая из трех компонент экспоненциально сглаживается, используя отдельный коэффициент сглаживания, поэтому метод зачастую называется тройным экспоненциальным сглаживанием. Формулы рассчета для мультипликативного и аддиктивного сезонов есть в Википедии, а подробности о методе в статье на Хабре.
Три параметра сглаживания должны выбираться так, чтобы получаемый ряд был «близок» к исходному. На практике такая задача решается перебором, хотя RRDTool требует явного задания этих значений.
Недостаток метода: требует минимум три сезона данных.
Другой способ, примененный в Одноклассниках, — выбрать значения из других сезонов, соответсвующие анализируемому моменту, и проверить их совокупность на наличие выброса, например тестом Граббса.
Источник alexanderdyakonov.wordpress.com
Более слабый метод состоит в том, чтобы отслеживать насколько метрики зависят друг от друга во времени и в случае, когда зависимость теряется, выдавать сообщение об аномалии. Для этого, вероятно, можно использовать один из методов.
Пусть и
два набора чисел и требуется выяснить имеется ли между ними линейная зависимость. Вычисляем для
среднее
и стандартное отклонение
. Аналогично для
.
Коэффициент корреляции Пирсона
Пусть есть две строки ABC и ADEC. Чтобы получить из первой вторую, необходимо убрать B и добавить D и E. Если каждой операции удаления/добавления символа и перестановке XY в YX задать стоимость, то суммарная стоимость и будет расстояниеи Дамерау — Левенштейна.
Для определения похожести графиков можно оттолкнуться от алгоритма, использованного в KALE
Вначале исходный ряд значений, например, ряд вида [960, 350, 350, 432, 390, 76, 105, 715, 715], нормализуется: ищется максимум — ему будет соответствовать 25, и минимум — ему будет соответствовать 0; таким образом, данные пропорционально распределяются в пределе целых чисел от 0 до 25. В итоге мы получаем ряд вида [25, 8, 8, 10, 9, 0, 1, 18, 18]. Затем нормализованный ряд кодируется с помощью 5 слов: sdec (резко вниз), dec (вниз), s (ровно), inc (вверх), sinc (резко вверх). В итоге получается ряд вида [sdec, flat, inc, dec, sdec, inc, sinc, flat].
Заключение
Разумеется, многие алгоритмы нахождения аномалий уже реализованы на языке R, предназначенном для статистической обработки данных, в виде пакетов: tsoutliers, strucchange, Twitter Anomaly Detection и других. Подробнее о R в статьях А вы уже применяете R в бизнесе? и Мой опыт введения в R. Казалось бы, подключай пакеты и используй. Однако есть проблема — задание параметров статистических проверок, которые в отличии от критических значений далеко не очевидны для большинства и не имеют универсальных значений. Выходом из данной ситуации может быть их подбор перебором (ресурсоёмко), с редким периодичным уточнением, независимо для каждой метрики. С другой стороны, большая часть аномалий, не связанных с сезонностью, хорошо определяется визуально, что наталкивает на мысль использовать нейронную сеть на отрендеренные графики.
Приложение
Ниже привожу собственные алгоритмы, которые работают сопоставимо с Twitter Breakout по результатам, и несколько быстрее по скорости при реализации на Java Script.
Пусть и
два набора чисел и требуется оценить существенность различий между ними.
Вначале значения обоих рядов разбиваются на несколько (около десятка) категорий. Далее для каждой категории вычисляется число , вошедших в него значений из ряда
, и делится на длину ряда
. Аналогично для ряда
. Для каждой категории находим
и затем общий максимум
по всем категориям. Проверяемое значение критерия вычисляется по формуле
.
Выбирается уровень значимости (один из 0.01, 0.05, 0.1) и по нему определяется критичное значение по таблице. Если
больше критичного значения, то считается, что группы различаются существенно.