Способ обнаружения циклической активности в потоке событий для систем динамического анализа приложений Российский патент 2023 года по МПК G06F21/52 G06F21/56 G06F21/57 

Описание патента на изобретение RU2794735C1

Область техники

Настоящее изобретение относится к области информационных технологий, а более конкретно, к области исследования поведения приложения во время его анализа системой динамического анализа для определения вредоносного поведения. В частности, к системам и способам для снижения нагрузки на работу системы динамического анализа во время определения вредоносности приложения.

Уровень техники

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

Современные системы динамического анализа представляют собой большие программные комплексы, в которых анализ проводится путем запуска образца приложения на исполнение, например в специальной среде, и последующего автоматического мониторинга его активности. В результате работы системы динамического анализа получают отчет, содержащий в том или ином виде информацию об операциях, выполненных исследуемым приложением. В то же время системы динамического анализа обладают различной функциональностью. Одна использует анализирующий компонент, который исполняется в режиме пользователя и размещен на том же компьютерном устройстве, где исполняется образец приложения для анализа. Другая использует эмуляцию, а анализ проводится за счет функции обратного вызова. Третья во время анализа использует возможности, предоставляемые расширением аппаратной виртуализации. Одним примером систем динамического анализа является такой инструмент, как Kaspersky Research Sandbox, предназначенный для обнаружения и анализа целевых или персонализированных угроз. Другим примером является инструмент Kaspersky Anti Targeted Attack Platform (KATA), предназначенный для защиты от целевых атак.

Из уровня техники также известны системы динамического анализа, которые используют указанный функционал. Например, в патенте US 11106792 B2 представлено решение динамического анализа приложений для защиты устройств от вредоносных программ путем выполнения глубокого анализа приложений в тестовой среде, что обеспечивает безопасность данных.

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

В области техники существуют подходы, предназначенные для решения указанного недостатка или снижения эффекта от него.

Так, в патенте US 10956573 В2 представлено решение динамического анализа приложений. В данном решении для оптимизации количества событий для динамического анализа используется подход создания списка отфильтрованных системных событий на основании результатов предварительного статического анализа. В одном примере каждое приложение Android включает файл «AndroidManifest.xml», в котором приложение перечисляет события, для которых требуется получать уведомления. Также в описании представлен пример процесса анализа вредоносного поведения.

Представленный подход требует в своей реализации по меньшей мере использования предварительного статистического анализа и формирования некоего перечня данных, о которых будет собираться информация, что все равно требует дополнительных временных и вычислительных затрат.

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

Раскрытие изобретения

Настоящее изобретение относится к решениям для снижения нагрузки на вычислительные ресурсы компьютерных систем от действий системы динамического анализа (далее – СДА) приложений, в частности при определении вредоносности приложения.

Технический результат настоящего изобретения заключается в снижении нагрузки на вычислительные ресурсы компьютерной системы от действий СДА при анализе приложений в режиме реального времени путем обнаружения циклической активности (цикла) в потоке событий и исключения событий, входящих в цикл, из потока данных, формируемого для последующего анализа СДА. При этом циклическая активность в потоке событий выглядит как многократно повторяющаяся совокупность событий.

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

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

Хц = L / K, где

Хц – максимальное количество уникальных событий в буфере для обнаружения цикла,

L – размер буфера, который указывает на максимальное количество событий в буфере,

К –настраиваемый параметр;

пополняют буфер возникающими событиями в потоке событий, при этом производят подсчет количества уникальных событий Х, находящихся в буфере в момент добавления каждого события; при заполнении буфера производят замещение первого события на новое событие, при этом пересчитывают количество уникальных событий Х и сравнивают с порогом Хц; если значение количества уникальных событий в буфере соответствует условию X <= Xц, то определяют начало циклической активности и исключают дальнейшие происходящие события из потока событий, формируемом при динамическом анализе, при этом продолжают пересчитывать количество уникальных событий в буфере после каждого добавления нового события.

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

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

В другом варианте исполнения способа формируют еще один буфер, в который продолжают добавлять происходящие события в потоке событий и подсчитывать количество уникальных событий в сформированном буфере для выявления еще одной циклической активности.

В еще одном варианте исполнения способа события при исполнении приложения возникают от системных API вызовов.

В другом варианте исполнения способа создаваемый во время динамического анализа буфер для потока событий является кольцевым буфером.

В еще одном варианте исполнения способа отношение следующих значений удовлетворяет следующим условиям: |Xц| << L, |Xц| << |S|, где S – общее количество событий.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

На Фиг. 1 показана схема, на которой представлен способ обнаружения циклической активности в потоке событий для системы динамического анализа приложений.

На Фиг. 2 показан пример пошаговой работы указанного способа.

Фиг. 3 иллюстрирует пример компьютерной системы, которая реализует способ, изображенный на Фиг. 1, в соответствии с одним вариантом реализации настоящего изобретения.

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

Описание вариантов осуществления изобретения

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

Система динамического анализа (СДА) предназначена для поиска угроз и вредоносных действий в компьютерной системе, в частности такой, как представлена на Фиг. 3. СДА предусматривает полноценный запуск приложения или файла с последующим исследованием всех осуществляемых действий, создаваемых артефактов и сетевой активности. Запуск приложения может быть осуществлен как непосредственно на компьютере, т.е. в физической среде, так и в виртуальной среде, при этом, как правило, такие среды содержат ряд ограничений и являются контролируемыми средами исполнения со стороны СДА. В одном из вариантов реализации в качестве контролируемой среды может выступать так называемое технические решение «Песочница» (англ. Sandbox) или подобные ему. Физической средой является среда передачи данных, в которой происходит передача информации (данных) от средства-источника (передатчика) к средству-приемнику (получателю) с помощью сигналов. Как правило, сигналы имеют электрическую природу работы.

В зависимости от варианта реализации СДА может включать в себя как один механизм динамического анализа, так и несколько. СДА может быть реализована как в виде отдельного сервера для динамического анализа приложений (например, Kaspersky Research Sandbox), который может включать в себя несколько вариантов осуществления механизмов динамического анализа, так и непосредственно на компьютере пользователя (персональном компьютере). Во время динамического анализа проводится анализ поведения приложения во время его исполнения, в том числе и его сетевой активности. СДА осуществляется при помощи набора из одного или нескольких эмуляторов компьютерных устройств, работающих на физических или виртуальных устройствах.

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

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

Среда, используемая СДА, сформирована таким образом, чтобы происходящие события от совершающихся действий во время выполнения приложения регистрировались по мере их появления. Данные, связанные с происходящими событиями, записываются и хранятся в определенной базе данных. База данных может представлять собой как временный файл, так и другую подходящую технологию хранения, например базу данных MSSQL или PostgreSQL. В частном случае реализации события при исполнении приложения возникают от системных API вызовов.

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

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

Настоящее изобретение заключается в оценке событий из потока событий, происходящих в реальном времени во время работы приложения, с целью выявления циклов. При оценке все события попадают в буфер заданного размера. Затем определяют количество уникальных событий, согласно которому в буфере будет определяться наличие циклической активности. Далее при определении количества уникальных событий Х в буфере СДА вынесет решение о том, что приложение выполняет циклическую активность, если удовлетворяется условие:

|X| << |S| и |X| << L, где

S – полное множество возможных событий при исполнении приложения,

L – количество событий в буфере (размер буфера),

Х – количество уникальных событий в буфере.

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

Далее представлены некоторые варианты воплощения заявленного изобретения, а именно способ обработки событий для обнаружения циклической активности в потоке событий, формируемом при анализе системой динамического анализа приложения, в частности с целью выявления вредоносной активности в приложении.

Автоматизированный поиск таких циклов и последующее их исключение из потока данных в СДА осуществляется с помощью способа, представленного на Фиг. 1.

В общем случае на первом этапе 110 для каждого созданного во время оценки приложения потока данных производят формирование буфера, в частности кольцевого буфера (также циклического буфера, англ. ring buffer) определенного размера, а также словаря со счетчиком событий в буфере. Буфер формируется в режиме реального времени во время анализа приложения СДА. При формировании буфера определяют его размер L (т.е. максимальное количество событий, которое может находится единовременно в буфере). В общем случае под словарем понимается база данных, содержащая информацию об уникальных событиях и количестве таких событий в буфере. Текущее количество элементов в словаре с ненулевым значением равно Х.

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

Хц = L / K, где:

К – настраиваемый параметр,

L – размер буфера, который определяет максимальное количество событий, находящихся в буфере, или, другими словами, минимальная длина обнаруживаемого цикла,

Хц – количество уникальных событий в буфере, которое указывает на начало циклической активности в буфере, или, другими словами, максимальное количество уникальных событий для обнаружения цикла.

В одном из частных вариантов реализации параметры К и L настраиваются с учетом типа событий. Например, учитывают тип операционной системы, в которой исполняется приложение – Android, Windows, UNIX или Linux. Также могут учитывать параметры событий. Например, в одном случае уникальным событием будет являться событие «создание файла». В другом случае разными уникальными событиями будут являться: «создание файла в папке пользователя» и «создание файла в системной папке». Соответственно, для разных множеств возможных событий и частот встречаемости разнообразных событий параметры подбираются разные.

На этапе 120 начинают заполнять буфер происходящими событиями из потока событий до тех пор, пока буфер не будет заполнен максимальным количеством событий на этапе 130, при этом словарь также наполняют информацией о событиях и подсчитывают количество уникальных событий, находящихся в буфере при каждом добавлении события.

На этапе 140 проводят замещение в буфере одного события на новое путем исключения самого раннего события и включения только что произошедшего события, при этом производят пересчет количества уникальных событий.

На этапе 150 сравнивают рассчитанное количество уникальных событий с порогом (пороговым значением) Хц, при этом если условие отношения |X| <= Хц удовлетворено, то определяют начало цикла и переходят к шагу 160. В противном случае, если посчитанное Хц не удовлетворяет указанному условию, т.е. |X| > Хц, то возвращаются к шагу 140.

На шаге 160 определяют циклическую активность и исключают дальнейшие происходящие события из потока событий для последующего анализа приложения СДА. Другими словами, перестают записывать происходящие события для анализа приложения.

На шаге 170 дополнительно продолжают контролировать заполнение буфера новыми событиями и проводят пересчет количества уникальных событий Хц, находящихся в буфере.

На шаге 180 дополнительно проверяют условие превышения установленного порога количеством уникальных событий, т.е. проверяют выполнение условия |X| <=Хц. Если порог не превышен, то возвращаются к шагу 170. В противном случае, если порог превышен, то на шаге 190 определяют, что циклическая активность завершена, и восстанавливают формирование потока событий путем записи (включения) дальнейших происходящих событий для последующего анализа приложения СДА.

В частном случае реализации на шаге 180 проверяют выполнение условия, которое при появлении любого нового события в цикле, т.е. события, не входящего во множество уникальных событий X, указывает на то, что порог количества уникальных событий является превышенным, и переходят к шагу 190.

Стоит отметить, что в случае выхода из цикла продолжают выявлять новую циклическую активность в потоке событий до тех пор, пока не закончится исполнение приложения.

В частном варианте реализации размер буфера может изменяться динамически. Например, если в процессе анализа приложения анализ протекает долгое время и при этом все это время цикл не был обнаружен, то размер буфера может быть увеличен или уменьшен. При этом время, после которого будет принято решение об увеличении или уменьшении размера буфера, и величина изменения буфера будут определяться опытным путем.

Пример пошаговой работы указанного способа представлен на Фиг. 2.

Предположим, что при исполнении приложения его множество S событий состоит из 6 (шести) видов событий: aaa, bbb, ccc, ddd, eee и fff. Размер буфера W будет равен |W| = L = 8. Отношение длины буфера L к количеству уникальных событий в буфере X для обнаружения цикла в буфере равно L/|Xц| = K = 4. Следовательно, в данном сценарии для обнаружения цикла будет проверяться, что |Xц| * K <= L, то есть |Xц| <= 2.

Выбранные параметры буфера гарантируют, что:

• L < |S|,

• |Xц| < L,

• |Xц| < |S|.

Как упоминалось выше, |Xц| отвечает за максимальное число уникальных событий в обнаруживаемом цикле, а L – минимальную длину обнаруживаемого цикла. Таким образом, при выбранных параметрах заявленное изобретение способно найти цикл длиной не менее 8 событий, содержащий не более 2 уникальных событий.

Итак, на Фиг. 2 в первом столбце представлен поток событий во время исполнения приложения при помощи СДА. Во втором столбце представлен пример наполнения буфера происходящими событиями и определения начала и конца цикла, события которого будут исключены из потока событий, предоставляемых на анализ СДА.

На первом шаге произошло событие «ааа», которое добавляют в буфер и в словарь в качестве первого уникального события.

Таким образом, все происходящие события во время исполнения приложения наполняют буфер до тех пор, пока он не наполнится, т.е. количество событий в нем не достигнет максимального количества событий в буфере. Так как буфер может единовременно содержать только 8 событий, то на восьмом шаге подсчитывают количество уникальных событий, содержащихся в буфере, которое сравнивают с условием обнаружения циклической активности. Согласно данному примеру, на восьмом шаге |X| = 6, что больше 2. Соответственно, цикла нет. Сбор данных продолжается. На следующем девятом шаге из буфера исключается первое событие и вносится новое произошедшее событие, при этом производится перерасчет количества уникальных событий. Согласно шагам 9 – 11 на Фиг. 2, количество уникальных событий в буфере стало уменьшаться и на шаге 12 в буфере осталось только два уникальных события. Обнаружен вход в цикл на 12-м шаге (вызове). С данного события последующие события из потока событий исключаются. Так, в течение 13 – 18-го шагов (происходящих событий) количество уникальных событий не изменяется и, соответственно, все происходящие события исключаются. На 19-м шаге появилось новое уникальное событие в потоке событий, что приводит к изменению количества уникальных событий, при этом |Xц| = 3, и, соответственно, происходит выход из цикла и возобновляется сбор данных в потоке событий.

Стоит отметить, что циклом будет являться состояние, когда в буфере будет определенное количество уникальных событий, при этом не важен их порядок в буфере. Например, для двух событий а и b будут являться циклами следующие совокупности событий: «abababababababab» и «aabbbabbabbbbbbaaabab».

В то же время формируется новый аналогичный буфер, в который добавляют новые произошедшие события из потока событий, и производят подсчет количества уникальных событий до тех пор, пока анализ приложения в СДА не будет завершен.

В другом варианте реализации упомянутый буфер очищается и начинается заново добавление новых произошедших событий из потока событий и подсчет количества уникальных событий до тех пор, пока анализ (исполнение) приложения в СДА не будет завершен.

В еще одном варианте реализации предпочтительно использовать следующие отношения значений:

|Xц| << L

|Xц| << |S|.

Так, например, при |S| = 5000 видов событий и размере буфера L = 500 событий может быть использовано пороговое значение для количества уникальных событий |Xц| = 50. В данном случае, математическое отношение много меньше определяется как 10/100/N.

Стоит отметить, что, если будут выбраны неверные значение буфера и пороговое значение, например |S| = 50 видов событий при той же длине буфера в 500 событий, использование порогового условия |Xц| = 50 не позволит определить циклическую активность (цикл), т.к. в буфере никогда не появятся более 50 событий.

Фиг. 3 представляет пример компьютерного устройства 20 общего назначения, которое может быть реализовано как компьютер для клиента (например, персональный компьютер), так и в виде сервера. Компьютерное устройство 20 содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Компьютерное устройство 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных компьютерной системы 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.

Компьютерное устройство 20 способна работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа компьютерной системы 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер) 20 подключена к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

Похожие патенты RU2794735C1

название год авторы номер документа
Система и способ обнаружения вредоносного кода в файле 2016
  • Головкин Максим Юрьевич
  • Монастырский Алексей Владимирович
  • Пинтийский Владислав Валерьевич
  • Павлющик Михаил Александрович
  • Бутузов Виталий Владимирович
  • Карасовский Дмитрий Валериевич
RU2637997C1
Система и способ выполнения антивирусной проверки файла на виртуальной машине 2016
  • Монастырский Алексей Владимирович
  • Бутузов Виталий Владимирович
  • Головкин Максим Юрьевич
  • Карасовский Дмитрий Валериевич
  • Пинтийский Владислав Валерьевич
  • Кобычев Денис Юрьевич
RU2628921C1
Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде 2018
  • Карасовский Дмитрий Валериевич
  • Шульмин Алексей Сергеевич
  • Кобычев Денис Юрьевич
RU2708355C1
Способ корректировки параметров модели машинного обучения для определения ложных срабатываний и инцидентов информационной безопасности 2020
  • Филонов Павел Владимирович
  • Солдатов Сергей Владимирович
  • Удимов Даниил Алексеевич
RU2763115C1
Способ обработки событий информационной безопасности перед передачей на анализ 2020
  • Филонов Павел Владимирович
  • Солдатов Сергей Владимирович
  • Удимов Даниил Алексеевич
RU2762528C1
Способ обнаружения аномалии в поведении доверенного процесса и система для его реализации 2022
  • Иванов Андрей Александрович
RU2790329C1
Способ выявления вредоносных файлов с использованием графа связей 2023
  • Когтенков Алексей Александрович
  • Романенко Алексей Михайлович
  • Антонов Алексей Евгеньевич
RU2823749C1
Система и способ анализа файла на вредоносность в виртуальной машине 2017
  • Пинтийский Владислав Валерьевич
  • Аникин Денис Вячеславович
  • Кобычев Денис Юрьевич
  • Головкин Максим Юрьевич
  • Бутузов Виталий Владимирович
  • Карасовский Дмитрий Валериевич
  • Кирсанов Дмитрий Александрович
RU2665911C2
Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла 2017
  • Пинтийский Владислав Валерьевич
  • Аникин Денис Вячеславович
  • Кобычев Денис Юрьевич
  • Головкин Максим Юрьевич
  • Бутузов Виталий Владимирович
  • Карасовский Дмитрий Валериевич
  • Кирсанов Дмитрий Александрович
RU2649794C1
СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНОГО УСТРОЙСТВА ОТ ВРЕДОНОСНЫХ ОБЪЕКТОВ, ИСПОЛЬЗУЮЩИХ СЛОЖНЫЕ СХЕМЫ ЗАРАЖЕНИЯ 2011
  • Поляков Алексей Александрович
  • Мартыненко Владислав Валерьевич
  • Слободянюк Юрий Геннадьевич
  • Назаров Денис Александрович
  • Павлющик Михаил Александрович
RU2454705C1

Иллюстрации к изобретению RU 2 794 735 C1

Реферат патента 2023 года Способ обнаружения циклической активности в потоке событий для систем динамического анализа приложений

Изобретение относится к способу обнаружения циклической активности в потоке событий для систем динамического анализа приложений. Техническим результатом является снижение нагрузки на работу системы динамического анализа во время определения вредоносности приложения. Создают для потока событий, происходящего при исполнении приложения в режиме реального времени, буфер определенного размера L, при этом определяют порог, указывающий на начало цикла, с помощью соотношения Хц = L/K, где Хц – максимальное количество уникальных событий в буфере для обнаружения цикла, L – размер буфера, который указывает на максимальное количество событий в буфере, K – настраиваемый параметр. Пополняют буфер возникающими событиями в потоке событий, при этом производят подсчет количества уникальных событий Х, находящихся в буфере в момент добавления каждого события. При заполнении буфера производят замещение первого события на новое событие, при этом пересчитывают количество уникальных событий Х и сравнивают с порогом Хц. Если значение количества уникальных событий в буфере соответствует условию X <= Xц, то определяют начало циклической активности и исключают дальнейшие происходящие события из потока событий, формируемого при динамическом анализе, при этом продолжают пересчитывать количество уникальных событий в буфере после каждого добавления нового события. 6 з.п. ф-лы, 3 ил.

Формула изобретения RU 2 794 735 C1

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

а) создают для потока событий, происходящего при исполнении приложения в режиме реального времени, буфер определенного размера L, при этом определяют порог, указывающий на начало цикла, с помощью соотношения Хц = L/K, где

• Хц – максимальное количество уникальных событий в буфере для обнаружения цикла,

• L – размер буфера, который указывает на максимальное количество событий в буфере,

• K – настраиваемый параметр;

б) пополняют буфер возникающими событиями в потоке событий, при этом производят подсчет количества уникальных событий Х, находящихся в буфере в момент добавления каждого события;

в) при заполнении буфера производят замещение первого события на новое событие, при этом пересчитывают количество уникальных событий Х и сравнивают с порогом Хц;

г) если значение количества уникальных событий в буфере соответствует условию X <= Xц, то определяют начало циклической активности и исключают дальнейшие происходящие события из потока событий, формируемого при динамическом анализе, при этом продолжают пересчитывать количество уникальных событий в буфере после каждого добавления нового события.

2. Способ по п. 1, в котором дополнительно если на шаге г) значение количества уникальных событий Х больше порога Хц, то продолжают на шаге в) заполнять буфер, замещая одно событие на другое событие и пересчитывая количество уникальных событий Х до тех пор, пока значение количества уникальных событий Х не станет соответствовать указанному условию на шаге г).

3. Способ по п. 1, в котором дополнительно если после определения начала циклической активности на шаге г) количество уникальных событий увеличилось и превысило порог, то циклическая активность считается завершенной и включают происходящие события в формируемый поток событий при динамическом анализе.

4. Способ по п. 3, в котором дополнительно формируют еще один буфер, в который продолжают добавлять происходящие события в потоке событий и подсчитывать количество уникальных событий в сформированном буфере для выявления еще одной циклической активности.

5. Способ по п. 1, по которому события при исполнении приложения возникают от системных API вызовов.

6. Способ по п. 1, в котором создаваемый во время динамического анализа буфер для потока событий является кольцевым буфером.

7. Способ по п. 1, в котором отношение следующих значений удовлетворяет следующим условиям:

• |Xц| << L,

• |Xц| << |S|, где S – общее количество событий.

Документы, цитированные в отчете о поиске Патент 2023 года RU2794735C1

US 10956573 B2, 23.03.2021
US 11106792 B2, 31.08.2021
US 10482239 B1, 19.11.2021
Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа 2017
  • Крылов Владимир Владимирович
  • Лискин Александр Викторович
RU2654146C1

RU 2 794 735 C1

Авторы

Кивва Антон Андреевич

Бутузов Виталий Владимирович

Даты

2023-04-24Публикация

2022-09-15Подача