СИСТЕМА И СПОСОБ АДАПТИВНОЙ ОПТИМИЗАЦИИ ПРОВЕРКИ ПОТОКА ДАННЫХ, ПЕРЕДАЮЩИХСЯ ПО СЕТИ, НА НАЛИЧИЕ УГРОЗ
SYSTEM AND METHOD OF ADAPTIVE OPTIMISATION OF INSPECTION OF DATA FLOW SENT IN NETWORK FOR AVAILABILITY OF THREATS

Область техники
Изобретение относится к системам и способам проверки потока данных, передающихся по сети, на наличие угроз.
Уровень техники
В настоящее время наблюдается резкое увеличение количества компьютерных угроз, к числу которых могут относиться различные вредоносные приложения (например, сетевые черви, компьютерные вирусы, троянские программы), а также атаки со стороны злоумышленников. По этим причинам широкое распространение получили средства защиты компьютерных систем, известные под названием систем обнаружения вторжений (Intrusion Detection System, IDS).
Под системой обнаружения вторжений понимают различные программные и аппаратные средства, предназначенные для анализа событий, возникающих в компьютерной системе или сети, с целью выявления атак против уязвимых сервисов и приложений или фактов неавторизованного доступа.
Одним из видов систем обнаружения вторжений является сетевая система обнаружения вторжений, которая предназначена для перехвата входящего в компьютерную систему или сеть сетевого трафика и анализа его на наличие угроз. В данном случае под сетевым трафиком понимается поток данных, передающихся по сети. Обнаружение угроз обычно производится с использованием эвристических правил и сигнатурного анализа (анализа на идентичность анализируемого кода образцам кода известных компьютерных угроз).
На Фиг.1 показана структурная схема сетевой системы обнаружения вторжений. Сетевой трафик, поступающий на компьютерные устройства 111, которые находятся в одной локальной вычислительной сети 110, проходит предварительную проверку в сетевой системе обнаружения вторжений (ССОВ) 100 на наличие угроз. В зависимости от того, были ли обнаружены угрозы в сетевом трафике, сетевая система обнаружения вторжений 100 может блокировать передачу трафика компьютерным устройствам 111 либо полностью, либо частично. При частичном блокировании компьютерным устройствам 111 передается только та часть сетевого трафика, которая не признана вредоносной сетевой системой обнаружения вторжений 100. В частном случае реализации, когда, например, сетевая система обнаружения вторжений 100 по результатам эвристического анализа не может вынести однозначного решения о безопасности или вредоносности проверяемых данных, сетевой трафик может передаваться полностью вместе с предупреждением о наличии в данном трафике подозрительных компонентов. Кроме того, сетевая система обнаружения вторжений 100 может быть установлена на отдельном компьютерном устройстве 111 и производить проверку сетевого трафика, поступающего только на данное устройство.
При этом в условиях современных высоких скоростей сетевых соединений и постоянно растущего количества компьютерных угроз существующим сетевым системам обнаружения вторжений приходится производить проверку все большего объема сетевого трафика с использованием постоянно увеличивающихся баз данных сигнатур и правил эвристического сканирования. Данное обстоятельство приводит к увеличению задержки доставки сетевого трафика адресату, которая непосредственно зависит от времени проверки.
В настоящее время существует ряд решений, предназначенных для оптимизации проверки сетевого трафика с целью увеличения производительности сетевых систем обнаружения вторжений.
Так, в патенте US 7617533 описана система для обнаружения сетевых атак на основе сигнатурного анализа сетевого трафика, которая может быть использована на сетевом маршрутизаторе или коммутаторе. В целях оптимизации в одном из вариантов реализации системы предлагается производить анализ только части входящего сетевого трафика.
В патенте US 7950059 описан способ обнаружения вредоносного кода в потоке данных. Поиск вредоносного кода производится не для всего потока данных, а только для его части, которая считается подозрительной. Решение о подозрительности части потока данных выносится на основании присутствия недопустимых символов в потоке данных, передаваемых по определенному протоколу.
В заявке US 20100077482 описан способ обнаружения вредоносного кода в потоке данных, которые, в частности, передаются по сети. Для повышения скорости проверки в способе используется специальный список, который содержит информацию о различных образцах вредоносного кода и об участках потока данных, в которых указанный вредоносный код может содержаться. В соответствии с содержащейся в списке информацией поток данных проверяется только в тех участках, информация о которых хранится в списке.
Патент US 7535909 описывает способ обработки сетевых пакетов, в котором ширина проверяющего окна изменяется в зависимости от размера сетевого пакета. В случае если размер сетевого пакета меньше установленного размера проверяющего окна, размер проверяющего окна уменьшают до размера пакета. Кроме того, установлен минимальный размер пакета для проверки таким образом, что сетевые пакеты, размер которых меньше минимального, не проверяются. Таким образом, во-первых, производится адаптация размера проверяющего окна под размер пакета, а во-вторых, происходит увеличение скорости проверки за счет исключения из проверки пакетов с малым размером.
Указанные выше решения позволяют повысить скорость проверки сетевого трафика, но при этом, в некоторых случаях могут не обеспечить должного уровня надежности. В частности, при появлении нового вида сетевой угрозы существует вероятность того, что при использовании описанных решений она останется необнаруженной в потоке данных.
В заявке US 2007179935 описан способ определения вредоносного кода в потоке данных, передающихся по сети. Проверка потока происходит внутри окна заданного размера с использованием определенного количества проверяющих модулей, каждый из которых проверяет участок кода по сигнатурам заданного размера. На основе результатов проверки происходит смещение окна по потоку для проведения последующей проверки.
Указанное решение повышает надежность при проверке сетевого трафика, но при этом не избавляет от необходимости проверять поток полностью, что негативно сказывается на производительности.
Настоящее изобретение позволяет эффективно решить задачу оптимизации проверки сетевого трафика как с точки зрения производительности, так и сточки зрения надежности.
Раскрытие изобретения
Настоящее изобретение предназначено для оптимизации проверки потока данных, передающихся по сети, на наличие угроз.
Технический результат настоящего изобретения заключается в уменьшении времени, требуемого для проверки потока данных, передающихся по сети, на наличие угроз без снижения надежности проверки. Указанный технический результат достигается за счет выборочной частичной проверки потока данных на основе статистики размещения в потоке данных ранее обнаруженных угроз.
Система проверки потока данных, передающихся по сети, на наличие угроз, которая содержит: по меньшей мере, одну сетевую систему обнаружения вторжений, предназначенную для: проверки заданной области потока данных на наличие угроз; сбора и отправки статистической информации об обнаруженных угрозах в базу данных статистики; базу данных статистики, предназначенную для хранения полученной информации и предоставлении ее средству определения областей проверки; средство определения областей проверки, предназначенное для: изменения заданной области проверки на основе информации, полученной из базы данных статистики; передачи информации об измененной области проверки, по меньшей мере, одной сетевой системе обнаружения вторжений.
В частном случае реализации системы к статистической информации об обнаруженных угрозах относится информация о смещении каждой обнаруженной угрозы относительно начала потока данных и информация о времени обнаружения каждой угрозы.
В другом частном случае реализации системы средство определения областей проверки производит изменение заданной области проверки таким образом, чтобы область проверки охватывала смещения всех обнаруженных угроз.
Еще в одном частном случае реализации системы средство определения областей проверки производит изменение заданной области проверки таким образом, чтобы область проверки охватывала смещения только тех угроз, со времени обнаружения которых не прошел установленный срок.
В другом частном случае реализации системы база данных статистики получает информацию от, по меньшей мере, одной системы сбора статистики по угрозам, которая производит проверку потока данных полностью.
Еще в одном частном случае реализации системы сетевая система обнаружения вторжений сбора статистики является ресурсом, представляющим собой приманку для злоумышленников.
В другом частном случае реализации системы сетевая система обнаружения вторжений производит расширение границ заданной области проверки в установленных пределах.
Еще в одном частном случае реализации системы средство определения областей проверки производит изменение заданной области проверки периодически, по истечению заданного периода времени.
В другом частном случае реализации системы средство определения областей проверки производит изменение заданной области проверки при появлении новой информации об угрозах в базе данных статистки.
Еще в одном частном случае реализации системы средство определения областей проверки производит задание нескольких областей проверки для смещений различных угроз.
Способ проверки потока данных, передающихся по сети, на наличие угроз, в котором: задают область проверки потока данных, передающихся по сети; производят проверку заданной области потока данных на наличие угроз; собирают статистическую информацию об обнаруженных угрозах; изменяют заданную область проверки на основе собранной статистической информации.
В частном случае реализации способа к статистической информации об обнаруженных угрозах относится информация о смещении каждой обнаруженной угрозы относительно начала потока данных и информация о времени обнаружения каждой угрозы.
В другом частном случае реализации способа изменяют заданную область проверки таким образом, чтобы область проверки охватывала смещения всех обнаруженных угроз.
Еще в одном частном случае реализации способа изменяют заданную область проверки таким образом, чтобы область проверки охватывала смещения только тех угроз, со времени обнаружения которых не прошел установленный срок.
В другом частном случае реализации способа для сбора информации об угрозах производят проверку потока полностью.
Еще в одном частном случае реализации способа при задании и изменении областей проверки производят расширение границ области проверки в установленных пределах.
В другом частном случае реализации способа задают области проверки периодически, по истечению заданного периода времени.
Еще в одном частном случае реализации способа задают области проверки при каждом новом обнаружении угрозы.
В другом частном случае реализации способа задают несколько областей проверки для смещений различных угроз.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг.1 показывает структурную схему сетевой системы обнаружения вторжений.
Фиг.2А показывает пример размещения некоторых видов угроз в потоке данных, передающихся по сети.
Фиг.2Б показывает пример подхода к частичной проверке потока данных, передающихся по сети, на наличие угроз.
Фиг.2В показывает пример подхода к частичной проверке потока данных, передающихся по сети, на наличие угроз.
Фиг.3 показывает структурную схему системы оптимизации проверки сетевого трафика.
Фиг.4 показывает пример построения базы данных статистки.
Фиг.5 показывает схему алгоритма работы системы оптимизации проверки сетевого трафика.
Фиг.6 показывает пример компьютерной системы общего назначения.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
На Фиг.2А показан пример размещения некоторых видов угроз в потоке данных, передающихся по сети. На фигуре в виде точек на прямой выделены смещения сетевых угроз в потоке данных относительно начала потока. Как видно, внутри потока угрозы не распределены равномерно, и большинство угроз располагается в начале потока. В связи с этим, в целях оптимизации проверки, целесообразно производить не полную проверку потока, а только тех его частей, в которых наиболее вероятно нахождение угроз. Один из возможных подходов к частичной проверке потока данных, передающихся по сети, на наличие угроз показан на Фиг.2Б. При использовании данного подхода проверяются только те части 200 потока, в которых наиболее вероятно нахождение угроз. Другой возможный подход к проверке потока данных, передающихся по сети, на наличие угроз показан на Фиг.2В. В данном подходе проверяется первая часть 200 потока, размер которой выбран таким образом, чтобы в данной части располагались возможные угрозы.
Однако при проведении частичной проверки возникает проблема с выбором расположений и размеров областей проверки потока данных. Связана эта проблема с тем, что в настоящее время регулярно появляются новые виды угроз, которые могут располагаться вне установленных областей проверки потока. Данное обстоятельство может стать причиной того, что угроза, находящаяся в потоке данных, будет пропущена сетевой системой обнаружения вторжений. Кроме того, другие виды угроз, расположения которых учтены при определении положений и размеров областей проверки потока данных, со временем могут устаревать и переставать использоваться злоумышленниками. В этом случае эффективность сетевой системы обнаружения вторжений будет снижаться, так как часть ресурсов эта система будет вынуждена расходовать на проверку тех областей потока данных, которые уже не содержат угроз.
Для решения указанной проблемы предназначена система оптимизации проверки сетевого трафика, структурная схема которой показана на Фиг.3. Сетевые системы обнаружения вторжений 100, которые способны производить частичную проверку сетевого трафика, являются клиентами системы оптимизации проверки сетевого трафика 300. Для сбора статистической информации о расположении угроз в сетевом трафике предназначены системы сбора статистики по угрозам 330. Следует отметить, что количество сетевых систем обнаружения вторжений 100 и систем сбора статистики по угрозам 330 не ограничено количеством, представленным на Фиг.3, оно может быть каким угодно и зависит только от конфигурации рассматриваемой системы.
Системами сбора статистки по угрозам 330 являются сетевые системы обнаружения вторжений, которые производят полную проверку входящего сетевого трафика с целью сбора информации о расположении угроз в потоке данных. Информацию о смещении обнаруженных сетевых угроз в потоке относительно начала передачи данных, а также информацию о времени обнаружения каждой из угроз системы сбора статистики по угрозам 330 передают на хранение в базу данных статистики 310 системы оптимизации проверки сетевого трафика 300. В одном из частных случаев реализации настоящего изобретения системами сбора статистики по угрозам 330 могут являться сетевые системы обнаружения вторжений, которые производят полную проверку сетевого трафика и на которых реализована дополнительная функция отправки вышеуказанной информации в базу данных статистики 310. В другом частном случае реализации настоящего изобретения системы сбора статистики по угрозам 330 могут быть реализованы в виде специальных ловушек - ресурсов, представляющих собой приманку для злоумышленников (для специалистов в области техники такие ресурсы известны под названием «honeypot»).
Для каждой угрозы, информация о которой хранится в базе данных статистики 310, средство определения областей проверки 320 рассчитывает значение актуальности, которое определяется как разница между текущим временем, в которое производится расчет, и временем обнаружения угрозы. После этого вычисленные значения актуальности каждой из угроз сравниваются с установленным порогом проверки. Области проверки для частичной проверки потока данных задаются средством определения областей проверки 320 таким образом, чтобы в данные области входили смещения только тех угроз, чьи значения актуальности ниже установленного порога. Определение областей проверки средством определения 320 может производиться либо периодически, по истечению заданного периода времени, либо при появлении новой информации об угрозах в базе данных статистки 310. Для более полного понимания принципов определения областей проверки средством определения областей проверки 320 ниже будет рассмотрен пример возможного частного случая.
В частном случае реализации настоящего изобретения средство определения областей проверки 320 не учитывает актуальность угроз и производит определение областей проверки для частичной проверки на основании смещений относительно начала передачи данных всех угроз, информация о которых хранится в базе данных статистики 310.
В еще одном частном случае реализации настоящего изобретения статистика о смещении обнаруженных сетевых угроз относительно начала передачи данных и статистика о времени обнаружения каждой из угроз может поступать в базу данных статистики 310 также от сетевых систем обнаружения вторжений 100.
После того как области проверки для частичной проверки потока данных определены средством определения областей проверки 320, информация о них передается сетевым системам обнаружения вторжений 100. Сетевые системы обнаружения вторжений 100 производят проверку только тех областей проверки сетевого трафика, информация о которых получена от средства определения областей проверки 320.
При этом в целях обнаружения возможных новых видов угроз, смещения которых не входят в области проверки сетевых систем обнаружения вторжений 100, возможно расширение границ областей проверки в заданных пределах. Например, администратор сети может задать значение расширения области проверки в размере двадцати процентов от ее первоначального размера. Значение расширения областей проверки может задаваться на основании требований к производительности сетевых систем обнаружения вторжений 100, а также на основании сведений о том, насколько часто появляются новые виды угроз.
Кроме того, в частном случае реализации настоящего изобретения система оптимизации проверки сетевого трафика 300 может работать только с одной сетевой системой обнаружения вторжений 100, в которой также реализованы функции системы сбора статистики по угрозам 330. В данном случае реализации изобретение будет представлять собой систему с обратной связью, в которой сетевая система обнаружения вторжений 100 предоставляет системе оптимизации проверки сетевого трафика 300 информацию об угрозах, обнаруженных внутри заданных областей проверки, а система оптимизации 300 на основе полученной информации производит перерасчет областей проверки для сетевой системы обнаружения вторжений 100.
На Фиг.4 показан пример построения базы данных статистики 310. Каждой угрозе, обнаруженной системой сбора статистики по угрозам 330 присваивается идентификатор. В качестве идентификатора может выступать любое обозначение, однозначно идентифицирующее угрозу, такое как, например, хеш-сумма вредоносного кода угрозы. Кроме того, каждой угрозе ставится в соответствие ее смещение относительно начала передачи данных. Также для каждой угрозы в базе данных статистики 310 хранится время обнаружения угрозы.
Для понимания правил определения областей проверки средством определения областей проверки 320 далее рассмотрен пример возможного частного случая. Если допустить, что база данных статистики 310 содержит следующие записи:
Таблица 1
Идентификатор угрозы
Смещение угрозы относительно начала передачи данных
Время обнаружения
Угроза_1
94 байт
07.12.2010 14:13:56
Угроза_2
166 байт
10.12.2010 12:43:17
Угроза_3
56 байт
04.01.2011 18:04:52
Угроза_4
26 байт
06.08.2011 20:37:05
а также если предположить, что определение областей проверки средством определения областей проверки 320 производится 08.12.2011 при установленном пороге актуальности в один год, то области проверки для частичной проверки сетевого трафика будут заданы только для смещений угроз с идентификаторами «Угроза_2», «Угроза_3» и «Угроза_4», так как значение актуальности угрозы с идентификатором «Угроза_1» превышает значение установленного порога. Если определение производится после 12:43:17 10.12.2011, то в область проверки не войдет также смещение угрозы с идентификатором «Угроза_2». При этом могут быть заданы как отдельные области проверки для смещения каждой угрозы (как это показано на Фиг.2Б), так и одна область проверки от начала потока данных до последней угрозы (как это показано на Фиг.2В). Корме того, в сетевых системах обнаружения вторжений 100 возможно расширение границ областей проверки в установленных пределах для обнаружения новых видов угроз.
На Фиг.5 показана схема алгоритма работы системы оптимизации проверки сетевого трафика 300. Данный алгоритм приведен для случая, когда в базе данных статистики 310 присутствует одна запись об обнаруженной угрозе. Вариант алгоритма для случая, когда в базе данных статистики 310 присутствует множество записей, заключается в многократном повторении указанного алгоритма. На этапе 510 средство определения областей проверки 320 получает информацию об угрозе из базы данных статистики 310. Полученная информация содержит сведения о смещении угрозы относительно начала передачи данных и времени обнаружения угрозы. На этапе 520 средство определения областей проверки 320 производит вычисление значения актуальности угрозы, которая определяется как разница между временем, в которое производится вычисление, и временем обнаружения угрозы. На этапе 530 средство определения областей проверки 320 производит сравнение вычисленного значения актуальности угрозы с установленным пороговым значением, после чего, на этапе 540, определяет, превышен ли порог. В обоих случаях, если порог превышен или не превышен, средство определения областей проверки 320 на этапах 550 и 560 определяет, входит ли смещение угрозы в область проверки. Если порог превышен, и смещение угрозы входит в область проверки, то на этапе 555 средство определения областей проверки 320 производит сужение области проверки для исключения смещения угрозы. Если порог не превышен, и смещение угрозы не входит в область проверки, то на этапе 565 средство определения областей проверки 320 производит расширение области проверки для включения смещения угрозы. В двух других случаях на этапе 580 система оптимизации проверки сетевого трафика 300 завершает свою работу, не переходя к этапу 570. На этапе 570 средство определения областей проверки 320 производит передачу информации об областях проверки сетевым системам обнаружения вторжений 100, которые в соответствии с полученной информацией производят частичную проверку сетевого трафика. На этапе 580 система оптимизации проверки сетевого трафика 300 завершает свою работу.
Фиг.6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 111, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 111, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 111 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 111.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 111 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 111 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 111 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 111 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 111, представленного на Фиг.6. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 111 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 111 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.