РоссияСтатьяИсследования
ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ И МЕТОДА ОПОРНЫХ ВЕКТОРОВ ДЛЯ МАРКИРОВКИ ПОТЕНЦИАЛЬНО ОПАСНЫХ БЛОКОВ ДАННЫХ СЕТЕВОГО ТРАФИКА
[152] Изобретение относится к области информационных технологий. Технический результат заключается в повышении точности определения опасности вложенного в пакеты кода. Технический результат достигается за счёт преобразования последовательности единиц передачи информации каждого из участков данных в последовательность из заранее заданного количества бит сжатых участков данных таким образом, что для блоков данных, относящихся к сходным по опасному воздействию на устройства компьютерной сети, при сравнении сжатых участков данных по заданным критериям, сходные участки данных соответствуют сходным соответствующим блокам данных, формирования для блоков данных из последовательно принятых блоков данных совокупностей выборок данных в соответствии с заданными параметрами выборок данных, использования из каждой из выборок данных участка данных с энтропией, минимально возможной для участков данных выборки, проверки сжатых участков данных блоков данных на вероятную принадлежность к сжатым участкам блоков данных опасных блоков данных с использованием предварительно настроенного классификатора сжатых участков данных, формирования уведомления о потенциальной опасности блока данных и передачи его по компьютерной сети совместно с уведомлением о потенциальной опасности блока. 22 з.п. ф-лы, 3 ил.
ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ И МЕТОДА ОПОРНЫХ ВЕКТОРОВ ДЛЯ МАРКИРОВКИ ПОТЕНЦИАЛЬНО ОПАСНЫХ БЛОКОВ ДАННЫХ СЕТЕВОГО ТРАФИКА
Выданный патент: RU2870296C1 Дата публикации: 2026-09-21 Заявитель / патентообладатель: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЮЗЕРГЕЙТ" (RU) Классификация: G06N20/10 G06N3/126 G06F18/214 H04L9/40 G06F21/50 H04L9/40
Реферат [152] Изобретение относится к области информационных технологий. Технический результат заключается в повышении точности определения опасности вложенного в пакеты кода. Технический результат достигается за счёт преобразования последовательности единиц передачи информации каждого из участков данных в последовательность из заранее заданного количества бит сжатых участков данных таким образом, что для блоков данных, относящихся к сходным по опасному воздействию на устройства компьютерной сети, при сравнении сжатых участков данных по заданным критериям, сходные участки данных соответствуют сходным соответствующим блокам данных, формирования для блоков данных из последовательно принятых блоков данных совокупностей выборок данных в соответствии с заданными параметрами выборок данных, использования из каждой из выборок данных участка данных с энтропией, минимально возможной для участков данных выборки, проверки сжатых участков данных блоков данных на вероятную принадлежность к сжатым участкам блоков данных опасных блоков данных с использованием предварительно настроенного классификатора сжатых участков данных, формирования уведомления о потенциальной опасности блока данных и передачи его по компьютерной сети совместно с уведомлением о потенциальной опасности блока. 22 з.п. ф-лы, 3 ил.
Описание [1] ОБЛАСТЬ ТЕХНИКИ [2] Изобретение относится к области технологий сетевой безопасности, а именно к способу анализа пакетов в сети передачи данных (сетевых пакетов), и может быть использовано как для фильтрации сетевых пакетов, то есть для удаления пакетов из сетевого трафика, так и для оповещения о возможных угрозах с целью принятия решения о необходимости более тщательного анализа сетевых пакетов. [3] УРОВЕНЬ ТЕХНИКИ [4] Способы анализа данных, передаваемых по информационным сетям в виде пакетов данных, представляющих информационные блоки на физическом уровне, используются как часть технологии построения межсетевых экранов. Эффективность анализа такого рода данных оказывает существенное влияние как на безопасность сетей и программно-аппаратных комплексов конечных пользователей, так и на пропускную способность и качество передачи данных информационных сетей. Соответствующие технологии постоянно развиваются. [5] В общем случае способы анализа данных реализуют полную проверку сетевых пакетов, например, пакетов, передаваемых с использованием интернет-протокола (IP) на соответствие заранее заданным правилам, как это показано в патенте США US 5864666 A, либо используют определенные допущения, при проверке данных, как это показано в патенте США US 11882095 B2. В последнем случае результаты проверки данных имеют вероятностный характер и не могут быть признаны полностью достоверными. Основным недостатком известной и аналогичных систем обнаружения анализа трафика, с точки зрения использования в качестве инструмента распознавания вторжений, является то, что большинство систем обнаружения анализа трафика имеют ограниченные возможности обмена информацией с внешними по отношению к ним пользовательскими приложениями, а также то, что они, как правило, используют заранее подготовленный набор сценариев для реакции на изменения сетевой обстановки. [6] В связи с наличием определенных недостатков у упомянутых выше способов анализа данных, при необходимости повышения безопасности сетевых систем, защищаемых межсетевыми экранами, как это показано в патентной заявке США US 2022385635 A1, для фильтрации опасного трафика используются комбинированные способы защиты, где после фильтрации сетевых пакетов с использованием технологий машинного обучения производится исчерпывающая проверка потенциально опасных пакетов на соответствие заранее заданному набору признаков. [7] В связи с тем что исчерпывающая проверка данных является в определенной степени тривиальной задачей, развитие уровня техники в части повышения точности выявления потенциально опасных блоков данных и скорости работы программно-аппаратных комплексов, реализующих новые технологии, является важной задачей уровня техники. [8] В патентной заявке США US 2022385635 A1, в которой раскрыто техническое решение, наиболее близкое к заявленному изобретению, для индикации возможности наличия вредоносной активности в сети Интернет используется журнал трафика. Записи журнала трафика анализируются на предмет наличия аномальной активности. Для анализа данных используется кластеризация векторов записей с проверкой метаданных сетевых пакетов на принадлежность кластерам, соответствующим нормальной активности участников процесса обмена данными. Аномальные данные рассматриваются как потенциально опасные и анализируются на соответствие заранее заданным правилам. Для кластеризации данных используется параметр расстояния между векторами анализируемых записей журнала. [9] Существенным недостатком известного технического решения является невозможность анализа содержимого пакетов или блоков передаваемых данных на наличие данных, которые могут нанести вред участникам электронного взаимодействия, которое осуществляется с использованием физических сетей передачи данных. [10] Настоящее изобретение не относится к способам исчерпывающего анализа сетевых пакетов, но пригодно для использования в составе технологий анализа сетевого трафика, как инструмент предварительного определения вероятности того, что сетевой пакет может быть опасным для участников системы обмена данными. [11] Задачей нестоящего изобретения является устранение недостатков уровня техники и достижения технического результата, заключающегося в возможности предотвращения формирования ложноположительных оповещений об опасности данных, содержащихся в сетевых пакетах, выявления вредоносного кода, для которого не сформированы формальные поисковые признаки и не существует эффективных способов защиты. Изобретение обеспечивает повышенную точность определения опасности вложенного в пакеты кода, при этом обеспечивается возможность автоматической коррекции определения угроз, например, при повышении устойчивости системы к нежелательным воздействиям. В последнем случае формирование ложноположительных уведомлений не нарушает безопасность системы, но снижает ее производительность. При реализации изобретения обеспечивается возможность распознавания новых и неизвестных сетевых атак, в том числе так называемых атак «нулевого дня». Предложенное изобретение также обеспечивает возможность обнаружения вторжений за счет наличия обратной связи с внешними системами и обеспечения принятия решений не только на основе анализа кода, который является вредоносным, но и путем выявления закономерностей в сетевом трафике, которые сопутствуют или могут сопутствовать сетевым вторжениям. [12] СУЩНОСТЬ ИЗОБРЕТЕНИЯ [13] Для реализации назначения изобретения и достижения технического результата предлагается способ маркировки потенциально опасных блоков данных, при реализации которого, с использованием цифрового представления данных, реализованного в виде совокупности ячеек памяти, физическое состояние которых соответствует представляемым данным, сохраняемым в памяти программно-аппаратного комплекса, осуществляются следующие этапы преобразования сигналов и обработки данных: [14] последовательно принимают блоки данных, представленные в виде блоков структурированных единиц передачи информации, предназначенных для передачи по компьютерной сети, после чего передают принятые блоки данных по компьютерной сети, где структура блоков данных определена протоколом передачи данных по компьютерной сети; [15] задают параметры выборок данных, где выборка данных представлена в виде участка блока данных из последовательных единиц передачи информации, а заданные параметры выборок содержат длину выборки, и начальный адрес, характеризующий положение первой единицы передачи информации в выборке, при этом заданные параметры выборок данных определяют, представленные в двоичном формате хранения данных, количество выборок данных в каждом блоков данных, начальный адрес первой выборки данных в каждом из блоков данных и смещения начальных адресов последующих выборок данных относительно начального адреса первой выборки данных в каждом из блоков данных; [16] задают способ преобразования участков данных, представленных последовательностью единиц передачи информации обеспечивающий преобразование последовательность единиц передачи информации каждого из участков данных в последовательность из заранее заданного количества бит сжатых участков данных таким образом, что для блоков данных, относящихся к сходным по опасному воздействию на устройства компьютерной сети, при сравнении сжатых участков данных по заданным критериям, сходные участки данных соответствуют сходным соответствующим блокам данных; [17] (A) для блоков данных из последовательно принятых блоков данных формируют отдельные совокупности выборок данных в соответствии с заданными параметрами выборок данных; [18] из каждой из выборок данных выбирают участок данных такой, что выбранный участок данных представляет последовательность единиц передачи информации с энтропией, минимальной для возможных участков данных выборки; [19] преобразуют участки данных в сжатые участки данных; [20] (В) проверяют сжатые участки данных блоков данных на вероятную принадлежность к сжатым участкам блоков данных опасных блоков данных с использованием предварительно настроенного классификатора сжатых участков данных такого, что для многомерного пространства, число измерений которого равняется числу бит в сжатых участках, для чего задаются координаты многомерной плоскости такой, что большинство точек с координатами сжатых участков блоков данных заведомо опасных блоков данных располагается с первой стороны многомерной плоскости в многомерном пространстве, большинство точек с координатами сжатых участков заведомо неопасных блоков данных располагается со второй другой стороны многомерной плоскости, а координаты сжатых участков в многомерном пространстве представлены значениями бит сжатых участков, расположенных в соответствующих позициях цифрового представления сжатых участков, где при нахождении сжатого участка блока данных с первой стороны многомерной плоскости, формируют уведомление о потенциальной опасности блока данных и передают по компьютерной сети соответствующий блок данных совместно с уведомлением о потенциальной опасности блока; [21] при этом: [22] задают интервал между обновлениями координат многомерной плоскости, [23] (C) в промежутках между обновлениями регистрируют произошедшие сбои в системе, принимающей блоки данных, [24] (С.1) при наличии сбоев, для произошедших сбоев определяют дополнительные блоки, связанные с возникновением соответствующих сбоев, после чего уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением нахождения дополнительных блоков со второй стороны плоскости с обновленными координатами; [25] (С2) при отсутствии сбоев уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением увеличения количества блоков, расположенных с первой стороны плоскости с обновленными координатами; [26] и используют уточненные координаты на этапе (А) до последующего обновления координат многомерной плоскости. [27] Опционально, на этапе (С.1) или этапе (С.2) при уточнении координат многомерной плоскости случайным образом выбирают совокупности ранее использованных параметров выборок, при этом из случайной пары из совокупностей ранее использованных параметров формируют результирующую совокупность параметров так, что значащие биты параметров группируют по секторам заранее заданной длины с заранее заданными адресами, а биты параметров результирующей совокупности формируют из секторов параметров случайной пары путем случайного выбора секторов с соответствующими адресами соответствующего параметра одной из случайных пар и выбирают в качестве уточненных координат многомерной плоскости одну из использованных или сформированных совокупностей параметров для использования на этапе (А) из совокупностей параметров совокупность параметров, максимально соответствующую уточненным координатам. [28] Интервал между обновлениями может соответствовать заранее заданному количеству принятых блоков данных, например, обновления производятся каждые 100 терабайт принятого трафика. [29] Заданный интервал между обновлениями может быть равен заранее заданному периоду времени, например, обновления производятся каждые 20 часов. [30] Интервал между обновлениями может быть задан в виде расписания обновлений, например, через каждые 8 часов в будние дни и через каждые 24 часа в выходные дни. [31] При реализации этапа (C) может дополнительно проверяться опасность блоков с использованием блоков данных, заведомо относящихся к опасным и безопасным блокам; [32] при выявлении в заранее заданном количестве блоков блоков, не соответствующих сформированному уведомлению, уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением наличия минимального количества несоответствующих блоков в последующем заранее заданном количестве блоков, где в частном случае проверяют опасность блоков, для которых сформировано уведомление о потенциальной опасности и проверяют безопасность блоков, для которых не сформировано уведомление о потенциальной опасности; [33] иными словами, при выявлении в заранее заданном количестве блоков несоответствующих блоков, таких что, для опасных блоков не сформировано уведомление о потенциальной опасности и для безопасных блоков сформировано уведомление о потенциальной опасности, уточняют координаты многомерной плоскости, используемой на этапе ( В) , с обеспечением наличия минимального количества несоответствующих блоков в последующем заранее заданном количестве блоков; [34] (D) в случае, если минимальное количество несоответствующих блоков в заранее заданном количестве блоков не изменяется при уточнении координат многомерной плоскости, изменяют параметры выборок на этапе ( А) с обеспечением минимального количества несоответствующих блоков так, что случайным образом выбирают совокупности ранее использованных параметров выборок; [35] из случайной пары из совокупностей ранее использованных параметров формируют результирующую совокупность параметров, так, что значащие биты параметров группируют по секторам заранее заданной длины с заранее заданными адресами, а биты параметров результирующей совокупности формируют из секторов параметров случайной пары путем случайного выбора секторов с соответствующими адресами соответствующего параметра одной из случайных пар; [36] из нескольких совокупностей параметров из ранее использованных совокупностей параметров и результирующей совокупностей параметров выбирают лучшую совокупность параметров, для которой обеспечивается минимальное количество несоответствующих блоков при реализации этапа (С) и используют лучшую совокупность параметров на этапе ( А ). [37] Кроме этого, в частном случае реализации изобретения, способ применяется в сетях, где блоки данных являются сетевыми блоками данных и имеют формат пакетов сети пакетной передачи данных, например, форматов, используемых в сети в сети Интернет или локальных вычислительных сетях. В другом преимущественном случае реализации изобретения, блоки данных представляют собой группированные единицы передачи информации, размер каждой из которых составляет 1 байт. Еще в одном случае реализации изобретения, параметры выборок выбираются с возможностью перекрытия последовательностей единиц передачи информации, составляющих различные выборки. Количество выборок в пакете, в частном случае реализации, может определяться длиной пакета в соответствии с шагом и длиной выборок данных. [38] Еще в одном частном случае реализации, параметры одной из выборок сформированы путем инвертирования всех бит случайно выбранных секторов одной из использованных совокупностей параметров. [39] Еще в одном предпочтительном случае реализации изобретения, перед началом использования способа производят предварительную настройку параметров способа, для чего задают случайным образом первоначальные параметры выборок данных, и реализуют способ, в котором последовательно принимают блоки данных обучающей последовательности блоков, блоки которой заведомо относятся к опасным и безопасным блокам. [40] В частном случае реализации, обучающая последовательность блоков представлена конечным количеством блоков, с обеспечением возможности многократного приема блоков данных обучающей последовательности, при этом, блоки данных для приема могут быть выбраны случайным образом. В частном случае реализации изобретения, приостанавливают реализацию способа и выполняют операции способа с проверкой качества маркировки потенциально опасных блоков данных, для чего принимают блоки данных тестовой последовательности блоков данных, блоки данных которой отличаются об блоков обучающей последовательности блоков и заведомо относятся к опасным и безопасным блокам, и, при наличии маркировки для более 70% заведомо опасных блоков и отсутствии маркировки у более 70% блоков, используют настройки способа для маркировки блоков сетевого трафика, а в другом случае, производят дополнительную предварительную настройку параметров способа, то есть, проверяют качество маркировки потенциально опасных блоков данных с использованием приостановки реализации способа на любом из этапов и обеспечивают прием блоков данных тестовой последовательности блоков данных, блоки данных которой отличаются об блоков обучающей последовательности блоков и заведомо относятся к опасным и безопасным блокам, и, при наличии маркировки для более 70% заведомо опасных блоков и отсутствии маркировки у более 70% блоков, используют настройки способа для маркировки блоков сетевого трафика, и, в другом случае, производят дополнительную предварительную настройку параметров способа. [41] В частном случае реализации изобретения, этап (D) выполняют с помощью последовательности операций, используемых для реализации «генетического алгоритма» на программно-аппаратных вычислительных средствах. [42] В другом частном случае реализации изобретения, преобразуют участки данных в сжатые участки данных с использованием последовательности операций, используемых для хэширования с учетом положения (Locality-sensitive hashing или lsh). В частном случает реализации хэширования с учетом положения используют последовательность операций «Trend Micro Locality Sensitive Hash». [43] Один из примеров реализации «Генетического алгоритма» раскрыт в CN 106817376 A. При этом построение гиперплоскости, в частном случае, осуществляют с использованием последовательности операций, используемых при реализации способа или машины опорных векторов (support vector machine, SVM). При реализации способа с использованием аппаратных средств, блоки данных принимаются и передаются по физической сети передачи электромагнитных сигналов в виде пакетов электромагнитных сигналов, где пакеты электромагнитных сигналов преобразуются в цифровую форму представления данных и обратно. В частном случае реализации, в качестве параметра энтропии используют максимально возможную степень сжатия участков данных заданным способом сжатия данных, причем увеличение степени сжатия, то есть отношения исходного участка данных к сжатому представлению данных, характеризует понижение энтропии. В качестве способа сжатия данных может использоваться способ сжатия данных с потерями. Кроме того, в качестве параметра энтропии может быть использована степень предсказуемости данных в участках данных, где высокая предсказуемость данных характеризует низкую энтропию. [44] Для поиска сигнатур или паттернов угроз, предпочтительным является использование метода характеристических выборок, где определяющими являются число выборок для анализа сигнатуры, длина выборки, а также смещение выборки относительно начала пакета или относительно начала последовательности связанных данных. В общем случае, для каждой из сигнатур, задача имеет идеальное решение, заключающееся в том, что для каждой угрозы существуют параметры окон, содержащих только те данные, которые относятся к угрозе непосредственно. К таким данным могут относиться определения параметров распаковки архивов, имеющих высокую энтропию, пароли для распаковки, проверочные строки и прочая метаинформация. В частных случаях реализации, к участкам с низкой энтропией могут относиться данные, которые выглядят, как данные, сконфигурированные случайным, образом, но не поддаются сжатию, либо намерено вставляются в файл в неизменном виде. [45] В контексте данного изобретения, под участками данных с низкой энтропией понимаются не только блоки данных, упорядоченные явным образом, но и блоки данных, которые имеют хаотичную структуру, но могут коррелировать в заранее заданными структурами. В последнем случае, поиск структур данных в псевдослучайных структурах может проводиться по аналогии с обработкой данных, содержащихся в сигналах спутниковой навигации. В этом случае, алгоритмы сжатия данных с сохранением структуры, обеспечивают сходство для заранее заданного количества векторов. [46] Помимо прочего, генетический алгоритм может быть использован для управления параметрами хэш функции с понижением размерности, например, путем задания длины результирующего хэша, то есть, длины или максимального результирующего значения хэш функции. [47] Предложенный способ может быть использован одновременно на нескольких отдельно стоящих вычислительных системах, где каждая из вычислительных систем реализует цикл операций предложенного способа, с обеспечением координации управления значениями настроек, в случае необходимости. Например, «обучение» способа и «тестирование» способа может осуществляться на различных вычислительных системах. [48] В частном случае реализации, для определения координат многомерной плоскости (гиперплоскости) используются уведомления о нарушениях или сохранении нормальной работы вычислительных систем по результатам проверки блоков в процессе маркировки. [49] В контексте изобретения, понятия «алгоритм», «способ», «метод», «машина» и аналогичные понятия, описывают операции, реализуемые посредством изменения состояния физических объектов, таких как регистры процессора, ячеек памяти и аналогичных элементов. Изменение состояния объектов также является физическим процессом, например, переносом заряда внутри твердотельных устройств, изменениями параметров электромагнитного поля и т.п. понятия «параметры настроек», также являются физическими параметрами, характеризующими отдельные элементы блоков хранения данных, например, таким параметром может являться ориентация магнитного домена, уровень потенциала или значения заряде емкостной ячейки памяти и т.п. [50] ОПИСАНИЕ ЧЕРТЕЖЕЙ [51] Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи: [52] На фиг. 1 проиллюстрирован пример вычислительного устройства, используемого в составе вычислительной системы общего назначения, в которой может быть применено настоящее изобретение. [53] На фиг. 2 проиллюстрирована упрощенная схематическая функциональная диаграмма одного из вариантов реализации системы, в которой может использоваться предложенный способ. [54] Фиг. 3 кратко иллюстрирует последовательность операций, которые могут быть выполнены при реализации изобретения. [55] ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ [56] На фиг. 1 показан пример вычислительного устройства, например, сервера, используемого в составе вычислительной системы общего назначения, в которой может быть применено настоящее изобретение. Система содержит многоцелевое вычислительное устройство в виде компьютера 20 или сервера, содержащего процессор 21, системную память 22 и системную шину 23. Системная шина формирует электрические связи, поддерживающие информационное, в том числе управляющее взаимодействие различные системные компонент, в том числе системную памяти, с процессором 21. [57] Системная шина 23, как правило, используется для передачи данных, адресов и для управления функциональным состоянием блоков, подключенных к системной шине. Системная память 22 может быть выполнена в виде комбинации постоянного запоминающего устройства (ПЗУ) 24 и оперативного запоминающего устройства (ОЗУ) 25. В ПЗУ 24 хранятся коды инструкций базовой системы ввода/вывода (базовой операционной системы) 26, обеспечивающих выполнение операций по первоначальному запуску вычислительного устройства с последующей передачей управления блокам, указанным в конфигурационных данных ПЗУ. Эти коды могут использоваться, например, для обеспечения развертывания и запуска операционной системы более высокого уровня. [58] Компьютер 20 также может содержать накопитель данных 27 большой емкости, например, твердотельный накопитель или накопитель с использованием магнитных дисков. Для использования съемных накопителей 29 данных используется программно-аппаратный интерфейс 28, обеспечивающий механическое и электрическое подключение соответствующего накопителя, например флэш карты к аппаратным интерфейсам и возможность считывания и записи данных на соответствующий блок хранения данных. В частном случае, интерфейс может быть выполнен в виде привода 30 оптических дисков 31. Для подключения к системной шине, накопитель 27 и программно-аппаратные интерфейсы содержат электрические соединители, обеспечивающие подключение к программно-аппаратным интерфейсам, преобразующим данный е формат, пригодный для передачи данных в виде электрических сигналов по системной шине 23. [59] Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. [60] Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20. [61] Хотя описанная здесь типичная конфигурация использует жесткий диск, съёмный магнитный диск 29 и съёмный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п. [62] Различные программные модули, включая операционную систему 35, могут быть сохранены на жёстком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 содержит файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение (приложения) 37, другие программные модули 38 и программные данные 39. Пользователь может управлять компьютером 20 путем ввода команд с использованием клавиатуры 40 и указателя 42. [63] Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства ввода и вывода информации. [64] Компьютер 20 может быть подключен к сетевому окружению посредством аппаратных соединений, обеспечивающих формирование логических соединений с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно содержит большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть 51 передачи данных и глобальную сеть 52 передачи данных. [65] Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет. [66] В наиболее распространенном варианте реализации, блоки данных принимаются и передаются по среде передачи электромагнитных сигналов в виде структурированных пакетов электромагнитных сигналов, где пакеты электромагнитных сигналов преобразуются в цифровую форму представления данных блоков данных и цифровые формы представления данных блоков данных преобразуются в пакеты электромагнитных сигналов.Сетевая карта 54 соединена с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Показанные сетевые соединения являются обычно используемыми, но установления сетей передачи данных между компьютерами, могут быть использованы другие средства. [67] На фиг. 2 представлена упрощенная схематическая функциональная диаграмма одного из вариантов реализации системы, в которой может использоваться предложенный способ. [68] Как показано на фиг. 2, в системе используется процессор 500, который вычисляет и формирует параметры настроек, в соответствии с которыми производится анализ блоков данных, в частных случаях, в режиме реального времени. Часть параметров и настроек сохраняется в памяти универсального энергонезависимого запоминающего устройства 515, такого как флэш диск. Указанные параметры настроек могут быть записаны в энергонезависимое запоминающее устройство хранения начальных настроек модуля анализа блоков данных (сетевых блоков). Последовательность чтения и записи настроек может быть инициирована командой процессора 500, а также командой, поступившей от внешнего устройства, осуществившему передачу параметров настроек. Параметры настроек, могут быть изменены по запросу модуля фильтрации сетевых блоков, например, при необходимости восстановления начальных настроек, в случае необходимости аварийной перезагрузки модуля фильтрации сетевых блоков. [69] Доступ процессора к энергонезависимому запоминающему устройству 515 может осуществляться как в режиме прямого доступа, так и с использованием функционального контроллера. В частности, доступ процессора к оперативному запоминающему устройству может осуществляться с использованием не показанного на фигурах быстродействующего системного контроллера, который может быть объединен с процессором на одной микросхеме в виде «системы на одном кристалле» отраженной на фиг. 6 позицией 670. [70] Взаимодействие процессора или «системы на кристалле» 670 и функционального контроллера может осуществляться с использованием выделенных дорожек или соединений на печатной плате модуля управления настройками. [71] Функциями системы может быть предусмотрено обеспечение удаленного доступа к устройству по протоколу SSH (англ. Secure Shell – «безопасная оболочка») даже при наличии только дежурного питания, возможность управления параметрами платформы с использованием CLI (англ. Command line interface – «интерфейс командной строки») и обеспечение доступа к функциям основного процессора с использованием CLI. Функции удаленного доступа обеспечивают возможность оперативного обновления параметров системы, например, по результатам тестирования параметров на других устройствах или в других конфигурациях. [72] Реализация функций с помощью блока управления настройками системы значительно повышает отказоустойчивость платформы. В случае возникновения нештатных ситуаций всегда можно подключиться к PMC по защищенному каналу SSH, выполнить первичную диагностику неисправности и произвести действия по ее устранению. [73] Как показано на фиг. 2, система содержит модуль 100 управления настройками, модуль 110 обработки сетевых блоков данных, соединенные между собой аппаратными разъемными соединениями. Физические линии разъемного соединения могут быть использованы для распределения нагрузки источников питания, а также для передачи данных между элементами системы. Обмен данными 621 может производиться по протоколу PCIe, с использованием адаптера, встроенного в микросхему процессора. На стороне модуля управления сетевыми блоками, адаптер PCIe 120 может быть реализован в виде отдельной микросхемы, либо может являться частью аппаратной логики программируемой логической интегральной схемы (ПЛИС), такой как FPGA. Для обеспечения возможности использования сетевого протокола при получении настроек модулем управления настройками, часть физических каналов 620 соединения 120 может использоваться для подключения сетевого адаптера, который, в современных системах, как правило, является частью микросхемы 210, на которой выполнен процессор. Максимальное использование возможностей адаптеров обмена данными, установленных на микросхеме процессора, позволяет оптимизировать производительность системы. В системе могут использоваться системы на одном кристалле. «Система на кристалле» (СнК) или однокристальная система, англ. System-on-a-Chip (SoC) – электронная схема, выполняющая функции целого устройства (например, компьютера) и размещённая на одной интегральной схеме. [74] Функциональный контроллер, который, преимущественно, выполняет функции «южного моста», также может быть реализован как составная часть кристалла процессора. Функциональный контроллер может обеспечивать реализацию операций 640 по изменению параметров работы аппаратных устройств системы, например, управлять тактовой частотой 610 тактового генератора 615. Необходимость управления тактовой частотой может возникнуть при снижении или повышении интенсивности передачи данных в информационной сети. Физические каналы 678 и 679 могут быть выделены для обмена данными по протоколам интерфейса ввода/вывода общего назначения, а также протокола универсального асинхронного приёмопередатчика, соответственно, для обеспечения возможности подключения различных периферийных устройств 690, 691. [75] В общем случае, система для реализации способа содержит средства 10 приема входных сигналов первого физического канала сети передачи данных, и преобразования входных сигналов в цифровые представления входных сетевых блоков данных, где сетевые блоки данных характеризуются адресом получателя сетевого блока данных; [76] средства 11 преобразования цифровых представлений выходных сетевых блоков данных в выходные сигналы для передачи по второму физическому каналу сети передачи данных; [77] средства преобразования цифровых представлений входных сетевых блоков данных в цифровые представления выходных сетевых блоков данных и [78] средство анализа цифровых представлений входных сетевых блоков данных, выполненное формирующим уведомления о потенциальной опасности блоков данных при соответствии цифровых или сетевых представлений входных сетевых блоков данных заранее заданным условиям. Для этого система может быть выполнена содержащей соединенные между собой модуль обработки сетевых блоков данных и модуль управления настройками системы. Модуль обработки сетевых блоков данных содержит установленные на нем средства хранения цифровых представлений сетевых блоков данных, средства хранения цифровых представлений заранее заданных условий и средства фильтрации цифровых представлений входных сетевых блоков данных, содержащие средства аппаратной логики, выполненные сопоставляющими заранее заданные условия с цифровыми представлениями входных блоков данных, средства аппаратной логики выполняющие преобразование цифровых представлений входных сетевых блоков данных в цифровые представления выходных сетевых блоков данных, а также энергонезависимое запоминающее устройство хранения начальных настроек средств обработки сетевых блоков, и тактовый генератор системы, выполненный тактирующим средства аппаратной логики при выполнении операций. [79] На фиг. 3 схематично отражена последовательность операций, используемых для определения первоначальных настроек способа. [80] На начальном этапе 301 собирают массив произвольной последовательности сетевых блоков, в отношении которых не применялись операции фильтрации любого рода. На этапе 302 производят предварительную обработку данных, например, произвольно отбирают блоки данных из массива данных, собранных на этапе 301. Отобранная часть блоков массива используют в качестве обучающей выборки на этапе 303. Другие блоки массива могут использовать в качестве тестового массива данных. Опасность блоков данных массива определяют либо с использованием известных средств, эффективность которых заведомо известна, либо производят тестирование блоков на программно-аппаратных вычислительных системах с определением негативного воздействия данных, содержащихся в блоках на работу известных систем. Различные конфигурации вычислительных системе могут иметь различную степень уязвимости, в связи с чем для блоков массива может быть указана не только потенциальная опасность использования блоков, но и вероятность возникновения сбоев в работе систем при использовании блоков. [81] Перед началом использования производят предварительную настройку параметров способа, для чего задают случайным образом первоначальные параметры выборок данных, и реализуют способ, где в качестве принимаемых блоков используют и принимают блоки данных обучающей последовательности блоков, блоки которой заведомо относятся к опасным и безопасным блокам данных. [82] Для эффективного проведения обучения в процессе реализации способа, приостанавливают реализацию способа на любом из этапов и выполняют операции способа с проверкой качества маркировки потенциально опасных блоков данных, для чего принимают блоки данных тестовой последовательности блоков данных, блоки данных которой отличаются об блоков обучающей последовательности блоков и заведомо относятся к опасным и безопасным блокам, и, при наличии маркировки для более 70% заведомо опасных блоков и отсутствии маркировки у более 70% блоков, используют настройки способа для маркировки блоков сетевого трафика, и, в другом случае, производят дополнительную предварительную настройку параметров способа. Обучающая последовательность блоков представлена конечным количеством блоков с обеспечением возможности многократного приема блоков данных обучающей последовательности, при этом блоки данных для приема могут выбираться случайным образом. Далее, на первоначальном этапе, произвольным образом задаются параметры настроек формирования выборок из блоков данных, в общем случае, содержащих байты данных, биты контроля четности и служебные заголовки. При этом последовательности бит выборок могут формироваться с перекрытием. С использованием этих параметров, на этапе 304 производится выборка данных из блоков. На этапе 305 выборки данных сжимаются с использованием функции tlsh, после чего на этапе 306 производится определение и уточнение координат гиперплоскости с учетов значений векторов, представленных кэшами, а также с учетом знаний о вредоносности блоков и вероятности того, что блок является вредоносным. Скорректированные параметры гиперплоскости используются, применительно к блоку, для определения точности выявления опасности. В случае, если по результатам проверки 307 гиперплоскость эффективно отражает опасность блоков с требуемой степенью достоверности, точность считается приемлемой и настройки способа применяются для обнаружения 308 аномалий в условиях анализа реального сетевого трафика. [83] Дополнительно, точность реализации настроек может быть проверена на этапе 308 с использованием тестовых блоков. В случае, если настройки не могут быть использованы для защиты вычислительных систем, например, имеют низкую точность вообще или низкую точность, применительно к определенным воздействиям, параметры выборок данных корректируются с использованием исторических данных и с применением генетического алгоритма и настройки способа, в том числе, определение координат гиперплоскости, производится повторно с этапа 304. [84] Изобретение обеспечивает возможность разработки средств использования технологии эвристической обработки данных, в том числе, так называемых, «генетических алгоритмов», для оперативного формирования правил блокировки пакетов на основе сопоставления текущих пакетов и исторических данных. В этом случае, проводится анализ каждой сессии. Сессии с аномальным содержимым пакетов, входящих в сессию, анализируются и учитываются отдельно, что позволяет снизить количество ложноположительных срабатываний и блокировки IP адресов, не генерирующих опасный код. Указанное свойство может быть реализовано за счет того, что только из-за учета аномальных сессий со сходными свойствами. Операции обработки данных, составляющие существенную часть предложенного изобретения, оптимизированы для реализации с использованием средств аппаратной логики, например, с использованием микросхем с заранее заданными логическими связями или программируемых логических интегральных схем (ПЛИС). [85] Предложенный способ не предназначен для распознавания типа угрозы, а, с определенной регулируемой вероятностью, определяет возможность содержания угрозы в принятом блоке данных. Далее, системы, применяемые совместно с предложенным способом, могут удалять подозрительные блоки без дальнейшего анализа или проводить анализ содержимого блоков или проводить анализ их воздействия на испытуемые системы. Выявление подозрительных блоков, для которых не существует шаблонов и сигнатур угроз позволяет определять угрозы нулевого дня и отсеивать соответствующие данные до внесения изменений в защищаемые системы. Ложноположительные срабатывания при реализации способа также учитываются и используются для обучения или уточнения координат гиперплоскости. При большом количестве ложноположительных срабатываний, изменения вносятся в генетический алгоритм. [86] Системы обнаружения вторжений (Intrusion Detection Systems, IDS) специализирующиеся на автоматическом распознавании вторжений и угроз в прослушиваемом трафике локальных сетей, являются программно-аппаратными средствами, как правило, выполняющие непрерывное наблюдение за сетевым трафиком и деятельностью субъектов системы с целью предупреждения, выявления и протоколирования атак. Предложенное изобретение обеспечивает возможность формирования предупреждений, которые также относятся и к сетевым вторжениям, с использованием механизмов обратной связи, которые не предусматривают необходимость формирования сигналов обратной связи в режиме реального времени или в ответ на каждый сбой системы, имеющий отношение к вторжению. [87] В предложенном изобретении метод (машина) опорных векторов используется для формирования настроек или, другими словами, параметров границы раздела или многомерной гиперплоскости, условно разделяющей данные характеризующие опасные пакеты данных и пакеты данных, не представляющие угрозы для сети. В многомерный системах обеспечить строгое разделение данных, представленных в бинарном виде невозможно, в связи с чем задачей классификатора является подбор параметров гиперплоскости таким образом, чтобы осуществлялась максимально эффективная сортировка блоков. Параметры гиперплоскости, в дальнейшем, могут быть применены для использования не только в системе, в которой осуществлялось обучение, но и на других системах, применяющих соответствующие машины опорных векторов. В общем случае, качество определения параметров гиперплоскости зависит от количества обучающих блоков данных, однако при использовании предложенного способа возможны случаи, когда блоки данных, используемые для обучения машины опорных векторов не релевантные к возможным угрозам. В этом случае необходима настройка параметров предшествующих операций. [88] Например, если в результате применения настроек, сгенерированных генетическим алгоритмом, для анализа отбираются последовательности, не имеющие пересечений с вредоносным кодом, применение последующих операций не даст результатов, отличных от сформированных случайным образом. Таким образом, формирование параметров указанных настроек является весьма существенным этапом реализации изобретения. [89] Наборы инструкций, обеспечивающие выполнение вычислительных операций способа, в том числе, для определения параметров машины опорных векторов известны, но их фактическая реализация может определяться типом операционной системы, моделью процессора и другими параметрами программно-аппаратных комплексов, реализующих предложенный способ. В частном случае, для реализации операций способа могут использоваться произвольно программируемые пользователем интегральные схемы, например, FPGA (field-programmable gate array), обеспечивающие возможность формирования аппаратных логических элементов и их связей по выбору пользователя. Применительно к предложенному способу, применение FPGA целесообразно для определения участков данных с низкой энтропией, а также для вычисления хэш функций, в том числе табличным методом, а для определения «расположения» блоков данных относительно гиперплоскости и корректировки координат гиперплоскости (многомерной плоскости). Использование обычной платформы Intel или AMD для проведения операций способа, как правило, малоэффективно, т.к. при проведении скалярных произведений векторов 90-98% транзисторов процессора простаивает. Для конкретной задачи, например, для вычисления скалярного произведения векторов необходимо иметь множество умножителей и сумматоров. То есть можно, используя то же самое количество транзисторов, что и для универсального процессора, построить специализированную систему, которая будет использовать почти все 100% ресурсов только для задач умножения и сложения. Такая система будет обладать быстродействием выше универсального процессора на несколько порядков. При использовании аппаратно реконфигурируемых вычислительных систем для реализации способа, имеется возможность создавать аппаратные структуры, которые на уровне аппаратуры соответствуют вычислительной структуре задачи. Для создания универсальных систем могут быть использованы микросхемы FPGA. Для более специализированных задач, возможно создание микросхем с исходно заданной топологией, оптимально соответствующей последовательности обработки данных, в том числе с возможностью организации параллельных потоков обработки данных без разделения операций во времени. [90] Максимальное количество итераций, относящихся к использованию генетических вычислений, то есть, к реализации технологии генетического алгоритма, осуществляется на этапе первоначального конфигурирования параметров способа, где возможны случаи отсутствия пересечений выборок с промежуточными или первоначальными параметрами с опасными данными. То есть, на начальных этапах возможны такие параметры выборок данных, при которых корреляция свойств блоков данных со свойствами «опасных» блоков отсутствует. [91] В этом случае, наиболее эффективным элементов генетического алгоритма является использование «мутации» или случайного изменение параметров выборок. Для этих целей параметры одной из выборок могут быть сформированы путем инвертирования всех бит случайно выбранных секторов одной из использованных совокупностей параметров. В процессе работы возможно применение генетического алгоритма либо в режиме параллелизма, либо при использовании различных «поколений» настроек на различных вычислительных комплексах. В случае использования вычислительных кластеров вычислительных устройств, на которых применяются различные «поколения» настроек, применение способа является максимально эффективным. [92] В качестве параметров, которые могут использоваться с применением генетического алгоритма, используются последовательности бит, характеризующих длину выборки, адрес выборки относительно начала пакета или относительно начала последовательности данных, если предполагаются различные способы распределения данных в пакетах различных стандартов. Параметром может также быть количество выборок в одной последовательности, где каждая из выборок последовательности может характеризоваться длиной и смещением относительно начального адреса пакета. [93] При реализации способа преобразуют участки данных в сжатые участки данных, например, с использованием последовательности операций, технологии хэширования с учетом положения (Locality-sensitive hashing). [94] Способ показал максимальную эффективность при использовании с технологией tlsh (Trend Micro Locality Sensitive Hash), описанной в статье Oliver, J., Cheng, C., Chen, Y.: TLSH - A Locality Sensitive Hash. 4 th Cybercrime and Trustworthy Computing Workshop, Sydney, November 2013 https://github.com/trendmicro/tlsh/blob/master/TLSH_CTC_final.pdf. Представленное в указанном источнике информации описание может рассматриваться как один из частных случаев реализации кэширования с понижением размерности в настоящем изобретении. [95] Определение координат многомерной плоскости может быть осуществлено с использованием последовательности операций технологии машины опорных векторов (support vector machine). [96] В частном случае реализации, генетический алгоритм применяется для конфигурирования параметров технологии скользящих окон, где окнами являются участки данных, а регулируется длина выборок данных (окон), и другие параметры, такие как адрес начального окна в блоке данных и шаг между начальными адресами последующих окон. С использованием генетического алгоритма обеспечивается снижение объема данных, подлежащих рассмотрению. Итеративный процесс уточнения параметров обеспечивает сохранение точности принятия решений на приемлемом уровне с одновременным увеличением скорости принятия решений. При этом предложенный способ обеспечивает существенное ускорение вычислительных операций с использованием аппаратных средств. В частности, обеспечивается возможность параллельного вычисления хэшей с сохранением близости для нескольких участков данных блоков, либо определение указанных хэшей за минимальное число тактов вычислительной системы. [97] При использовании генетического алгоритма могут возникать ситуации, когда параметры хэш функции существенно влияют на результаты обработки данных. В этом случае в качестве хэш функции с понижением размерности используют хэш функцию с возможностью изменения параметров, и на этапе (D) используют значения изменяемых параметров хэш функции в качестве одной из совокупностей параметров выборок, а в качестве параметра хэш функции используется длина результирующего значения хэш функции. [98] Этап (D) выполняется с использованием программно-аппаратных вычислительных средств, реализующих последовательность операций, используемых для реализации технологии «генетического алгоритма». [99] При использовании алгоритма TLSH снижается размерность блоков данных, то есть, количество условных измерений векторов блоков данных. В этом случае, упрощается построение так называемой, гиперплоскости, то есть параметров границ раздела блоков, с одной стороны границы раздела располагаются вектора, которые указывают на наличие угроз с высокой вероятностью, а с другой стороны гиперплоскости располагаются вектора, которые, высокой степенью вероятности, относятся к безопасным блокам. [100] Сетевые угрозы имеет тенденцию постоянно изменяться и эволюционировать. Для эффективного определения неизвестных новых угроз, которые при этом имеют какие-либо общие черты с определенными известными угрозами, будут использоваться наиболее современные методы сравнения. В том числе планируется оценить возможность эффективного использования технологий сравнения, разработанных для сравнения различных геномов ДНК. Генетические алгоритмы, реализуемые в ПАК, позволяют максимально быстро создавать алгоритмы, выявляющие аномалии в трафике и инфраструктуре клиента. [101] Использование генетического алгоритма позволяет поддержать стабильную защиту оборудования от зловредного кода, в отличие от обычных методов «устранения уязвимостей». В случае устранения уязвимостей путем изменения структуры операционных систем или условий поиска уязвимостей по выявленным шаблонам и сигнатур опасного кода, генетический алгоритм обеспечивает поддержание устойчивости защищаемой системы на приемлемом уровне путем применения нечетких или размытых правил устранения уязвимостей, которые не могут быть проанализированы обычным образом. Важно, что генерация опасного кода злоумышленниками, в настоящее время, не может осуществляться случайным образом, поскольку нанесение ущерба предполагает использование заранее известных свойств систем, имеющих стабильную конфигурацию. Аналогично, устранение известных уязвимостей стандартными методами предполагает изменение явным образом определенных свойств систем, которые используются для нанесения ущерба вредоносным кодом. [102] Кроме этого, почти все вычислительные системы и системы, использующие программное обеспечение, используют значительные объемы ресурсов, используемых для предотвращения нежелательных воздействий. Предложенный способ является самомодифицирующимся, обеспечивает возможность снизить расход вычислительных ресурсов на обнаружение тех участков кода, которые ранее воздействовали, но уже не влияют на системы недопустимым образом. [103] Перед использованием предложенного способа для защиты информационных и вычислительных систем, производится первоначальное конфигурирование настроек. Для этого, способ, согласно формуле изобретения, используют в отношении обучающих и тестовых блоков данных. Для таких блоков данных заведомо известен уровень потенциальной опасности, в связи с чем настройки технологий, используемых при реализации способа, могут быть эффективно и оперативно сформированы, после чего параметры настроек могут быть протестированы для определения уровня достоверности. [104] Основной задачей генетического алгоритма является формирование настроек, которые обеспечивают максимально эффективное извлечение из блоков данных, используемых в локальной вычислительной сети или сети интернет, например транспортных пакетов, сведений, которые могут соотноситься с угрозами безопасности. В данном случае эффективность определяется не возможностью идеального подхода к извлечению данных, но соизмеримостью достигаемой эффективности и накладных расходов на достижение результата, близкого к идеальному. Поиск фрагментов пакетов с наибольшей информативностью можно свести к задаче о покрытии множеств, которая за полиномиальное время сводится к задаче о вершинном покрытии и является NP-полной. На сегодняшний день генетические алгоритмы доказали свою конкурентоспособность при решении многих NP-полных задач. [105] Анализ извлеченных сведений на предмет возможного наличия угроз, производится на последующих этапах. Соответственно, ложноположительные срабатывания учитываются при настройке всех настраиваемых параметров предложенного способа или только машины опорных векторов, при определении координат гиперплоскости. [106] При работе генетического алгоритма возможно задание базового смещения первой выборки. Указанный параметр может влиять на результаты хэширования с понижением размерности и сохранения порядка, что в частных случаях, обеспечивает возможность изменения результатов хэширования без необходимости изменения настроек технологии хэширования. [107] В одном из случаев реализации, производится сжатие принятых участков данных с использованием заданной технологии сжатия данных, а в качестве параметра энтропии используют максимально возможную степень сжатия участков данных заданной технологией сжатия данных, причем увеличение степени сжатия, то есть отношения объема исходного участка данных к объему сжатого представления данных, характеризует понижение энтропии., в контексте настоящего изобретения, в качестве технологии сжатия может быть использована технология сжатия данных с потерями, например, хэш-функция. [108] Для данных, не поддающихся сжатию, может использоваться проверка корреляции выбранной для анализа последовательности бит с последовательностями бит, определенных для шаблонов угроз. В случае обнаружения корреляции, при кажущейся хаотичности структур, энтропия считается малой, поскольку данные с высокой степенью вероятности замаскированы под данные с высокой энтропией и имеют упорядоченную структуру. [109] В терминах настоящего изобретения, «обученными» технологиями являются этапы обработки и анализа данных, параметры работы которых настраиваются и эти параметры являются максимально эффективными из возможных. Обученные технологии, в таком виде, могут быть реплицированы на аппаратных средствах с формированием программно-аппаратных модулей. Как уже отмечалось выше, отдельные программно-аппаратные модули могут использоваться для уточнения и, соответственно, для локального повышения эффективности обработки данных, на соответствующем модуле. В дальнейшем возможно использовать суперпозицию настроек отдельных модулей для формирования ещё более эффективных настроек систем обработки данных. В качестве варианта может рассматриваться периодическое сравнение эффективности работы модулей с применением общей тестовой последовательности блоков данных и выбор наиболее эффективной конфигурации настроек для настройки всех модулей. Также настройки различных модулей могут применяться как исходные данные для работы генетического алгоритма. Развертывание обученных систем с одновременной модификацией параметров на совокупность программно-аппаратных модулей также может рассматриваться как эффективная реализация настоящего изобретения. [110] Для маркировки потенциально опасных блоков данных, с использованием цифрового представления данных, реализованного в виде совокупности ячеек памяти, физическое состояние которых соответствует представляемым данным, сохраняемым в памяти программно-аппаратного комплекса, осуществляются следующие этапы преобразования сигналов и обработки данных: [111] последовательно принимают блоки данных, представленные в виде блоков структурированных единиц передачи информации, предназначенных для передачи по компьютерной сети, после чего передают принятые блоки данных по компьютерной сети, где структура блоков данных определена протоколом передачи данных по компьютерной сети; [112] задают параметры выборок данных, где выборка данных представлена в виде участка блока данных из последовательных единиц передачи информации, а заданные параметры выборок содержат длину выборки, и начальный адрес, характеризующий положение первой единицы передачи информации в выборке, при этом заданные параметры выборок данных определяют представленные в двоичном формате хранения данных количество выборок данных в каждом блоков данных, начальный адрес первой выборки данных в каждом из блоков данных и смещения начальных адресов последующих выборок данных относительно начального адреса первой выборки данных в каждом из блоков данных; [113] задают способ преобразования участков данных, представленных последовательностью единиц передачи информации обеспечивающий преобразование последовательность единиц передачи информации каждого из участков данных в последовательность из заранее заданного количества бит сжатых участков данных таким образом, что для блоков данных, относящихся к сходным по опасному воздействию на устройства компьютерной сети, при сравнении сжатых участков данных по заданным критериям, сходные участки данных соответствуют сходным соответствующим блокам данных; [114] (A) для блоков данных из последовательно принятых блоков данных формируют отдельные совокупности выборок данных в соответствии с заданными параметрами выборок данных; [115] из каждой из выборок данных выбирают участок данных такой, что выбранный участок данных представляет последовательность единиц передачи информации с энтропией, минимальной для возможных участков данных выборки; [116] преобразуют участки данных в сжатые участки данных; [117] (В) проверяют сжатые участки данных блоков данных на вероятную принадлежность к сжатым участкам блоков данных опасных блоков данных с использованием предварительно настроенного классификатора сжатых участков данных такого, что для многомерного пространства, число измерений равняется числу бит в сжатых участках, для чего задают координаты многомерной плоскости такой, что большинство точек с координатами сжатых участков блоков данных заведомо опасных блоков данных располагается с первой стороны многомерной плоскости в многомерном пространстве, большинство точек с координатами сжатых участков заведомо неопасных блоков данных располагается со второй другой стороны многомерной плоскости, а координаты сжатых участков в многомерном пространстве представлены значениями бит сжатых участков, расположенных в соответствующих позициях цифрового представления сжатых участков, где при нахождении сжатого участка блока данных с первой стороны многомерной плоскости, формируют уведомление о потенциальной опасности блока данных и передают по компьютерной сети соответствующий блок данных совместно с уведомлением о потенциальной опасности блока. Исходно отобранное для анализа окно представлено в виде последовательности байт. Длина (количество байт) окна выбирается при использовании генетического алгоритма, где параметры, сформированные методом «естественного отбора», оцениваются с точки зрения эффективности маркировки блоков данных. Точность маркировки, составляющая 50%, например, является неэффективной, поскольку соответствует случайному выбору блоков, промаркированных как потенциально опасные. [118] По аналогии с биологическими объектами, для которых характерна оптимальность, а также согласованность и эффективностью их работы, так называемые «генетические алгоритмы» или «эволюционные вычисления» имитируют естественный отбор в живой природе. Где естественный отбор характеризуется следующими сущностями: [119] Популяция – это совокупность особей на рассматриваемой стадии эволюции. [120] Индивид (особь) – единичный представитель популяции. [121] Хромосома – структура, содержащая генетический код индивида. [122] Ген – определенная часть хромосомы, кодирующая врожденное качество [123] индивида. [124] Функция приспособленности (fitness-функция, приспособленность) - определяет, как близка особь к решению задачи. [125] Генетический алгоритм – это оптимизационный метод, базирующийся на принципах естественной эволюции популяции особей (индивидов). Задача оптимизации состоит в максимизации функции приспособленности (фитнес-функции). [126] Термин «генетический алгоритм», применительно к настоящему изобретению, обозначает операции подбора оптимальных параметров совокупностей битовых строк фиксированной длины, где совокупность строк («хромосома») характеризует «индивида», заранее определенные участки строк рассматриваются в качестве «генов», функция приспособленности соответствует возможности максимально достоверного выявления потенциально опасных блоков, а «популяция» определяет совокупность индивидов, за исключением индивидов, полученных в результате «мутации» для которых подтверждена возможность реализации «функции приспособленности». Здесь мутация определяет набор параметров, полученных путем случайного изменения «генов» «хромосомы» индивидов из популяции. [127] Путем применения генетического алгоритма подбирается также положение окна в пакете данных. Для одного пакета данных могут быть указаны параметры, соответствующие использованию нескольких окон из блока данных. Положение каждого окна или начальный адрес окна (выборки данных) относительно начального адреса блока данных также может быть выбрано с использованием генетического алгоритма. Точное указание параметров каждого из окон блока данных дает максимальную эффективность, однако накладные расходы на вычисление оптимальных параметров каждого окна не дает возможность применения такого метода на практике, когда ограничены время и ресурсы на проведение операций вычисления. Оптимальным, по результатам сопоставления производительности и эффективности, является выбор начального адреса первого окна в пакете данных, выбор значения длины окон в байтах, а также определение расстояния или смещения адресов между выбранными окнами. Параметр количества окон может задаваться в качестве «гена» генетического алгоритма, при малом количестве окон, соответствующих максимальной эффективности применения способа. Оптимальным является косвенное задание количества окон путем указания длины окон, адресом первого окна и шагом или смещением окон друг относительно друга. В этом случае, количество окон опосредовано определяется длиной блока данных. Другими словами, количество выборок в пакете, определяется длиной пакета в соответствии с заданными шагом и длиной выборок данных. [128] Количество окон может быть определено без применения генетического алгоритма, например, если достоверно определяется, что содержимое окон, начиная с определенного количества, не влияет на наличие угрозы в пакете, например наличием вероятности использования пакета для реализации операций вторжения. [129] Один из вариантов применения подбора значений выборок (окон), имеющий общепринятое название «генетический алгоритм», раскрыт в патенте КНР CN 106817376 A. Последовательность операций, раскрытая в указанном патенте, может быть применена в предложенном изобретении. [130] Например, при реализации генетического алгоритма, выбираются «родительские хромосомы», то есть последовательности бит, используемые в качестве параметры настройки выборок, которые были применены для предшествующих операций фильтрации и показали свою эффективность. [131] Выбирается количество «родительских хромосом» для формирования потомства, часть хромосом подвергается случайным изменениям, где положение мутировавших генов выбирается случайным образом, количество мутаций задается заранее, а мутация может быть использована, как путем изменения, так и сохранения гена. Производят случайное скрещивание генов с формированием заранее заданного количества наборов параметров, то есть, «потомства». Параметры потомства применяются для фильтрации блоков и наиболее эффективный «потомок», в том числе, относительно используемых в текущем варианте параметров метода построения гиперплоскости и хэширования с понижением размерности, используется для фильтрации в дальнейшем. [132] Для проверки блоков используется функция локальной чувствительности общая для всех блоков, а для определения гиперплоскости используется новая настройка алгоритмов обучения. Для дальнейшего использования применяется либо проверка на тестовой последовательности, либо сравнение результатов маркировки в режиме реального времени, не только на эффективность выявления опасных блоков, но и на параметры ложноположительных и ложноотрицательных блоков. Следует отметить, что фильтрация является предварительной операцией в общей системе сетевой безопасности и пропуск некоторого процента опасных блоков не приводит к критическим падениям внешних систем. Данный способ позволяет снизить нагрузку в случае наличия угроз, к которым во внешней системе выработался, условный «иммунитет». [133] Производители программно-аппаратных комплексов постоянно обновляют средства защиты данных и оборудования, в том числе, с использованием блокировки опасного кода. В связи с этим, для первоначальной настройки параметров системы, относящихся к средствам автоматического конфигурирования или «обучения», предпочтительно использовать программно-аппаратные средства, не содержащие средства защиты от вредоносного кода. В этом случае, настроенная или обученная система будет иметь возможность анализировать большее количество данных, релевантных к угрозам. Последующее использование способа для анализа блоков данных реального трафика, где для «обучения» используются сведения о поведении реальных систем, исключает из рассмотрения блоки данных, несущих потенциально опасный код, не угрожающий сетевым системам, где блоки данных где блоки данных являются сетевыми блоками данных и имеют формат пакетов сети пакетной передачи данных. При этом, структуры, соответствующие общим концепциям формирования опасного кода, например, относящиеся к угрозам «нулевого дня», могут быть эффективно обнаружены. [134] При использовании генетического алгоритма, в качестве генов используются «последовательности» в виде цепочек бит или байт заданной длины, в которых возможно изменение бит в любом участке цепочки. В частном случае, например, при использовании байтовой группировки или другой группировке битовых структур, при применении генетического алгоритма возможно определение значащих байт, не влияющих на результаты анализа, или для которых определено, что их структура не влияет на поставленную задачу. [135] Работа генетического алгоритма сводится к формированию комбинаций «генов» с минимальными затратами времени. Например, гены, для которых эффективность работы минимальна, исключаются из рассмотрения, для оставшихся генов, пор возможности, путем последовательного применения, определяются участки, которые влияют на поставленную задачу, применяются их комбинирование. Операции могут проводиться случайным образом, в общем случае, завершающий этап отсутствует. Тем не менее, настройка генетического алгоритма может использоваться для обновления системы безопасности с учетом новых событий – угроз и ликвидации старых угроз. Для этого при этом: [136] задают интервал между обновлениями координат многомерной плоскости, [137] (C) в промежутках между обновлениями регистрируют произошедшие сбои в системе, принимающей блоки данных, [138] (С.1) при наличии сбоев, для произошедших сбоев определяют дополнительные блоки, связанные с возникновением соответствующих сбоев, после чего уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением нахождения дополнительных блоков со второй стороны плоскости с обновленными координатами; [139] (С2) при отсутствии сбоев уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением увеличения количества блоков, расположенных с первой стороны плоскости с обновленными координатами; [140] и используют уточненные координаты на этапе (А) до последующего обновления координат многомерной плоскости. [141] На этапе (С.1) или этапе (С.2) при уточнении координат многомерной плоскости случайным образом выбирают совокупности ранее использованных параметров выборок; [142] из случайной пары из совокупностей ранее использованных параметров формируют результирующую совокупность параметров так, что значащие биты параметров группируют по секторам заранее заданной длины с заранее заданными адресами, а биты параметров результирующей совокупности формируют из секторов параметров случайной пары путем случайного выбора секторов с соответствующими адресами соответствующего параметра одной из случайных пар и выбирают в качестве уточненных координат многомерной плоскости одну из использованных или сформированных совокупностей параметров. для использования на этапе (А) из совокупностей параметров совокупность параметров, максимально соответствующую уточненным координатам. [143] Интервал между обновлениями может соответствовать заранее заданному количеству принятых блоков данных или заранее заданному периоду времени. Также интервал между обновлениями может быть задан в виде расписания обновлений. [144] Предложенный метод может использоваться для определения кода, который негативно влияет на работу вычислительных систем, но не является результатом действий злоумышленников. В этом случае, анализ кода позволяет определить потенциально опасные участки разработанного кода в процессе тестирования [145] На следующем этапе, выбранные окна анализируются на предмет наличия в них участков данных с низкой энтропией, то есть на наличие данных, последовательность бит указывает на их искусственное происхождение. Таким данными могут быть участки, представляющие тексты на естественных языках или языках программирования, последовательности данных, имеющие повторяющийся характер. Применительно к предложенному способу, низкая энтропия указывает на высокую степень организации или предсказуемости данных. [146] Участки данных с низкой энтропией используются для последующего анализа. Участки данных или выбранные окна, в которых отсутствуют выявленные закономерности в распределении данных, в дальнейшем анализе не используются. [147] В частном случае, способ может использоваться с применением алгоритма Locality-sensitive hashing (LSH) (хэширования, чувствительного к местоположению), вероятностного метода понижения размерности многомерных данных, основной принцип которого состоит в таком подборе хеш-функций для некоторых измерений, чтобы похожие объекты с высокой степенью вероятности имели одинаковый хэш. [148] В частном случае реализации, хэш функция может быть задана в табличном виде. [149] Для вычисления LSH могут использоваться алгоритмы MinHash, SimHash, Метод случайных проекций, tlsh. [150] Исследование предложенного алгоритма показало эффективность применения генетического алгоритма существенное для ложноположительных срабатываний на 12% перед использованием хэширования без изменения параметров хэширования, по сравнению с различными параметрами хэширования и сопоставимое качество выявления атак, то есть, количеством эффективных срабатываний. При этом, на этапах применения генетического алгоритма, например, при росте количества обучающих срабатываний, алгоритм повышает нагрузку на процессор на 72% относительно стандартных алгоритмов, но снижает нагрузку на процессоры в режиме стабильной обработки трафика, за счет снижения размерности обрабатываемых данных на 56%. [151] Несмотря на то, что изобретение описано со ссылкой на раскрываемые варианты воплощения, для специалистов в данной области должно быть очевидно, что конкретные подробно описанные варианты приведены лишь в целях иллюстрирования настоящего изобретения, и их не следует рассматривать как каким-либо образом ограничивающие объем изобретения. Должно быть понятно, что возможно осуществление различных модификаций без отступления от сути настоящего изобретения.
Формула 1. Способ маркировки потенциально опасных блоков данных, заключающийся в том, что с использованием цифрового представления данных, реализованного в виде совокупности ячеек памяти, физическое состояние которых соответствует представляемым данным, сохраняемым в памяти программно-аппаратного комплекса, осуществляются следующие этапы преобразования сигналов и обработки данных: последовательно принимают блоки данных, представленные в виде блоков структурированных единиц передачи информации, предназначенных для передачи по компьютерной сети, после чего передают принятые блоки данных по компьютерной сети, где структура блоков данных определена протоколом передачи данных по компьютерной сети; задают параметры выборок данных, где выборка данных представлена в виде участка блока данных из последовательных единиц передачи информации, а заданные параметры выборок содержат длину выборки, и начальный адрес, характеризующий положение первой единицы передачи информации в выборке, при этом заданные параметры выборок данных определяют представленные в двоичном формате хранения данных количество выборок данных в каждом из блоков данных, начальный адрес первой выборки данных в каждом из блоков данных и смещения начальных адресов последующих выборок данных относительно начального адреса первой выборки данных в каждом из блоков данных; задают способ преобразования участков данных, представленных последовательностью единиц передачи информации, обеспечивающий преобразование последовательность единиц передачи информации каждого из участков данных в последовательность из заранее заданного количества бит сжатых участков данных таким образом, что для блоков данных, относящихся к сходным по опасному воздействию на устройства компьютерной сети, при сравнении сжатых участков данных по заданным критериям, сходные участки данных соответствуют сходным соответствующим блокам данных; (A) для блоков данных из последовательно принятых блоков данных формируют отдельные совокупности выборок данных в соответствии с заданными параметрами выборок данных; из каждой из выборок данных выбирают участок данных такой, что выбранный участок данных представляет последовательность единиц передачи информации с энтропией, минимальной для возможных участков данных выборки; преобразуют участки данных в сжатые участки данных; (В) проверяют сжатые участки данных блоков данных на вероятную принадлежность к сжатым участкам блоков данных опасных блоков данных с использованием предварительно настроенного классификатора сжатых участков данных такого, что для многомерного пространства число измерений равняется числу бит в сжатых участках, для чего задают координаты многомерной плоскости такой, что большинство точек с координатами сжатых участков блоков данных заведомо опасных блоков данных располагается с первой стороны многомерной плоскости в многомерном пространстве, большинство точек с координатами сжатых участков заведомо неопасных блоков данных располагается со второй другой стороны многомерной плоскости, а координаты сжатых участков в многомерном пространстве представлены значениями бит сжатых участков, расположенных в соответствующих позициях цифрового представления сжатых участков, где при нахождении сжатого участка блока данных с первой стороны многомерной плоскости формируют уведомление о потенциальной опасности блока данных и передают по компьютерной сети соответствующий блок данных совместно с уведомлением о потенциальной опасности блока; при этом: задают интервал между обновлениями координат многомерной плоскости, (C) в промежутках между обновлениями регистрируют произошедшие сбои в системе, принимающей блоки данных, (С.1) при наличии сбоев, для произошедших сбоев определяют дополнительные блоки, связанные с возникновением соответствующих сбоев, после чего уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением нахождения дополнительных блоков со второй стороны плоскости с обновленными координатами; (С2) при отсутствии сбоев уточняют координаты многомерной плоскости, используемой на этапе (В), с обеспечением увеличения количества блоков, расположенных с первой стороны плоскости с обновленными координатами; и используют уточненные координаты на этапе (А) до последующего обновления координат многомерной плоскости. 2. Способ по п. 1, отличающийся тем, что на этапе (С.1) или этапе (С.2) при уточнении координат многомерной плоскости случайным образом выбирают совокупности ранее использованных параметров выборок; из случайной пары из совокупностей ранее использованных параметров формируют результирующую совокупность параметров так, что значащие биты параметров группируют по секторам заранее заданной длины с заранее заданными адресами, а биты параметров результирующей совокупности формируют из секторов параметров случайной пары путем случайного выбора секторов с соответствующими адресами соответствующего параметра одной из случайных пар и выбирают в качестве уточненных координат многомерной плоскости одну из использованных или сформированных совокупностей параметров, для использования на этапе (А) из совокупностей параметров совокупность параметров, максимально соответствующую уточненным координатам. 3. Способ по п. 1, характеризующийся тем, что интервал между обновлениями соответствует заранее заданному количеству принятых блоков данных. 4. Способ по п. 1, характеризующийся тем, что интервал между обновлениями равен заранее заданному периоду времени. 5. Способ по п. 1, характеризующийся тем, что интервал между обновлениями задают в виде расписания обновлений. 6. Способ по любому из предыдущих пунктов, характеризующийся тем, что применяют операции способа в сетях, где блоки данных являются сетевыми блоками данных и имеют формат пакетов сети пакетной передачи данных. 7. Способ по любому из предыдущих пунктов, характеризующийся тем, что применяют операции способа в сети Интернет или локальной вычислительной сети. 8. Способ по любому из предыдущих пунктов, характеризующийся тем, блоки данных представляют собой группированные единицы передачи информации, размер каждой из которых составляет 1 байт. 9. Способ по любому из предыдущих пунктов, характеризующийся тем, что параметры выборок выбираются с возможностью перекрытия последовательностей единиц передачи информации, составляющих различные выборки. 10. Способ по любому из предыдущих пунктов, характеризующийся тем, что количество выборок в пакете определяется длиной пакета в соответствии с шагом и длиной выборок данных. 11. Способ по любому из предыдущих пунктов, характеризующийся тем, что параметры одной из выборок сформированы путем инвертирования всех бит случайно выбранных секторов одной из использованных совокупностей параметров. 12. Способ по любому из предыдущих пунктов, характеризующийся тем, что перед началом использования способа по п. 1 производят предварительную настройку параметров способа, для чего задают случайным образом первоначальные параметры выборок данных, и реализуют способ по п. 1, в котором последовательно принимают блоки данных обучающей последовательности блоков, блоки которой заведомо относятся к опасным и безопасным блокам данных. 13. Способ по любому из предыдущих пунктов, характеризующийся тем, что обучающая последовательность блоков представлена конечным количеством блоков с обеспечением возможности многократного приема блоков данных обучающей последовательности, при этом блоки данных для приема выбирают случайным образом. 14. Способ по любому из предыдущих пунктов, характеризующийся тем, что приостанавливают реализацию способа на любом из этапов и выполняют операции способа по п. 1 с проверкой качества маркировки потенциально опасных блоков данных, для чего принимают блоки данных тестовой последовательности блоков данных, блоки данных которой отличаются об блоков обучающей последовательности блоков и заведомо относятся к опасным и безопасным блокам, и, при наличии маркировки для более 70% заведомо опасных блоков и отсутствии маркировки у более 70% блоков, используют настройки способа для маркировки блоков сетевого трафика, и, в другом случае, производят дополнительную предварительную настройку параметров способа. 15. Способ по п. 1, характеризующийся тем, что этап (D) выполняют с помощью последовательности операций, используемых для реализации технологии «генетического алгоритма» на программно-аппаратных вычислительных средствах. 16. Способ по любому из предыдущих пунктов, характеризующийся тем, что преобразуют участки данных в сжатые участки данных с использованием последовательности операций, используемых в реализации технологии хэширования с учетом положения (Locality-sensitive hashing). 17. Способ по п. 16, характеризующийся тем, что в качестве технологии хэширования с учетом положения используют последовательность операций технологии «Trend Micro Locality Sensitive Hash». 18. Способ по любому из предыдущих пунктов, характеризующийся тем, что определение координат многомерной плоскости осуществляют с использованием последовательности операций, используемых при реализации технологии машины опорных векторов (support vector machine). 19. Способ по любому из предыдущих пунктов, характеризующийся тем, что блоки данных принимаются и передаются по среде передачи электромагнитных сигналов в виде структурированных пакетов электромагнитных сигналов, где пакеты электромагнитных сигналов преобразуются в цифровую форму представления данных блоков данных и цифровые формы представления данных блоков данных преобразуются в пакеты электромагнитных сигналов. 20. Способ по любому из предыдущих пунктов, характеризующийся тем, что производят сжатие участков данных с использованием заданной технологии сжатия данных, а в качестве параметра энтропии используют максимально возможную степень сжатия участков данных заданной технологии сжатия данных, причем увеличение степени сжатия, то есть отношения объема исходного участка данных к объему сжатого представления данных, характеризует понижение энтропии. 21. Способ по любому из предыдущих пунктов, характеризующийся тем, что в качестве технологии сжатия используют технологию сжатия данных с потерями. 22. Способ по любому из предыдущих пунктов, характеризующийся тем, что в качестве хэш функции с понижением размерности используют хэш функцию с возможностью изменения параметров, и на этапе (D) используют значения изменяемых параметров хэш функции в качестве одной из совокупностей параметров выборок. 23. Способ по п. 21, характеризующийся тем, что в качестве параметра хэш функции используют длину результирующего значения хэш функции.
Комментарии
Обсуждайте статью, отвечайте и оценивайте комментарии. Вход — через ваш Яндекс ID.
Загружаем обсуждение…