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

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

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

Изобретение относится к области информационной безопасности, а более конкретно к системам и способам обеспечения безопасности операционной системы, в частности к системам и способам выявления уязвимостей в операционной системе.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще в одном варианте реализации способа выполняют выявление запуска каждого потока каждого процесса путем перехвата события ОС, которое указывает на инициализацию нового потока или процесса.

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

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

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

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

Фиг. 1 иллюстрирует пример запуска нескольких произвольных исполняемых файлов в ОС.

Фиг. 2 иллюстрирует структуру системы выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках.

Фиг. 3 иллюстрирует алгоритм выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках.

Фиг. 4 иллюстрирует пример компьютерной системы общего назначения, персональный компьютер или сервер.

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

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

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

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

Процесс (англ. process) – последовательность операций при выполнении программы или ее части вместе с используемыми данными. Операционная система рассматривает процесс как единое целое при распределении ресурсов.

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

В современных ОС процесс не является неделимой минимальной единицей вычислительной работы. Существуют понятия потока и нити для определения вычислительных работ, входящих в состав процесса и разделяющих между собой ресурсы системы. «Поток» и «нить» обозначают одно и то же и соответствуют англоязычному понятию «thread». Аналогично тому, как понятие процесс применяется в ОС UNIX, Windows NT, NetWare, равнозначное понятие «задача» (англ. task) используется в OS/2 и др. Следует заметить, что также существует понятие «волокно» (англ. fiber), являющееся обозначением сущности, входящей в состав потока и относящееся к понятию «поток» примерно так же, как понятие «поток» относится к понятию «процесс».

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

Каждый процесс и соответствующий ему поток предоставляет ресурсы, необходимые для выполнения программы, и содержит атрибуты, например, виртуальное адресное пространство (англ. Virtual Address Space), исполняемый код (англ. executable code), открытые дескрипторы для системных объектов (англ. оpen handle), контекст безопасности (англ. security context), уникальный идентификатор процесса (англ. unique process identifier, UID), переменные среды (англ. environment variables), класс приоритета (англ. priority class), минимальный и максимальный размеры рабочего множества (англ. working set size) и по крайней мере один поток выполнения (англ. thread of execution). Каждый процесс запускается с одним потоком, который часто называется основным потоком, но может создавать дополнительные потоки из любого потока.

Маркер доступа (англ. Access token) - это объект, описывающий контекст безопасности процесса или потока. Сведения в маркере включают удостоверение и привилегии учетной записи пользователя, связанной с процессом или потоком. Когда пользователь входит в систему, система проверяет пароль пользователя, сравнивая его со сведениями, хранящимися в защищенной базе данных. Если пароль прошел проверку подлинности, система создает маркер доступа. Каждый процесс, выполняемый от имени этого пользователя, имеет копию этого маркера доступа. Система использует маркер доступа для указания пользователя, когда поток взаимодействует с защищаемым объектом (https://docs.microsoft.com/ru-ru/windows/win32/secauthz/securable-objects) или пытается выполнить системную задачу (https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.tasks.task?view=netcore-3.1), требующую привилегий. Маркеры доступа содержат сведения о параметрах процесса (потока), в частности:

• идентификатор безопасности (SID) для учетной записи пользователя;

• идентификаторы безопасности для групп, членом которых является пользователь;

• идентификатор безопасности входа, определяющий текущий сеанс входа в систему;

• список привилегий, хранящихся у пользователя или в группах пользователя;

• идентификатор безопасности владельца;

• идентификатор безопасности для основной группы;

• список DACL по умолчанию, используемый системой при создании пользователем защищаемого объекта без указания дескриптора безопасности;

• источник маркера доступа;

• является ли маркер основным маркером или маркер олицетворения (маркер может быть основным (primary token), который идентифицирует контекст безопасности, и олицетворяющим (impersonation token), который временно заимствует контекст безопасности другого пользователя);

• текущие уровни олицетворения (при этом маркеры олицетворения сообщают уровень олицетворения, определяющий, какой тип олицетворения активен в маркере).

Фиг. 1 иллюстрирует пример запуска нескольких произвольных исполняемых файлов в ОС. В ходе запуска каждого файла 110 создают по крайней мере один процесс 120. Каждый процесс 120 создает по крайней мере один поток 140, который наследует маркер доступа 130 процесса 120. Каждый маркер доступа 130 включает в себя список привилегий 150, который описывает права доступа и разрешения. Злоумышленники используют возможность через уязвимости повышать уровень привилегий процесса. В одном из случаев попыткой нелегитимного изменения привилегий является присвоение или изменение маркера доступа одного потока (процесса) другому потоку (процессу). В этом случае процесс 120 с помощью измененного маркера доступа 135 получает измененные привилегии 155. Нелегитимным изменением привилегий считают такой способ изменения привилегий, который не предусмотрен разработчиком ОС и выполняем только в условиях нарушения безопасности ОС. В другом случае попыткой нелегитимного изменения привилегий является обновление или изменение потоком (процессом) собственного списка привилегий. Для выявления нелегального изменения маркера доступа используют систему выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках.

Фиг. 2 иллюстрирует структуру системы выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках, которая включает в себя журнал всех фиксируемых событий в ОС 210, средство формирования 220, средство выявления 230, средство обнаружения 240, базу данных правил 250.

Представленная на Фиг. 2 система является компьютерной системой, например, компьютером общего назначения, представленным на Фиг. 4 и обладающим аппаратным процессором и памятью. Упомянутая система содержит функциональные и/или аппаратные модули и средства 210-250, которые в свою очередь содержат инструкции для исполнения на аппаратном процессоре. Ниже описаны варианты реализации упомянутых модулей и средств 210-250 системы.

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

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

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

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

Например, в ОС 1 запущено пять файлов (отображено на Фиг. 1), для исполнения которых запущены 5 процессов. Процессы 1, 3 и 5, имеют по два потока. Процесс 2 и процесс 4 по три потока. Таким образом набор актуальных привилегий формируется в виде таблицы, например: процесс 1, поток 1, маркер доступа 1, список привилегий 1; процесс 1, поток 2, маркер доступа 1, список привилегий 1 и т.д.

Средство выявления 230 предназначено для выполнения проверки сформированного набора на наличие нелегитимных изменений привилегий. Указанная проверка выполняется при выявлении по крайней мере одного события использования привилегий в ОС.

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

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

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

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

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

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

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

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

База данных правил 250 предназначена для хранения правил выявления уязвимостей. В качестве базы данных правил 250 могут быть использованы различные виды баз данных, а именно: иерархические (IMS, TDMS, System 2000), сетевые (Cerebrum, Сronospro, DBVist), реляционные (DB2, Informix, Microsoft SQL Server), объектно-ориентированные (Jasmine, Versant, POET), объектно-реляционные (Oracle Database, PostgreSQL, FirstSQL/J), функциональные и т.д. Правила могут быть созданы при помощи алгоритмов машинного обучения и автоматизированной обработки больших массивов данных.

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

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

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

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

Продолжая вышеупомянутый пример с иллюстрацией на Фиг. 1, возможна ситуация, когда, маркер доступа 1 потока 2 процесса 1 оказался идентичен маркеру доступа 2 потока 1 процесса 2. Поток 2 процесса 1, который обладал привилегиями из списка привилегий 1, а именно привилегиями номер 1, 2, 3, теперь обладает привилегиями номер 3, 4 потока 1 процесса 2. В этом случае срабатывает правило выявления уязвимости. Таким образом, обнаруживают уязвимость в ОС, которую использовал файл 1, для исполнения которого был запущен поток 2 процесса 1. Файл 1 изолируют.

Ниже представлены подробности реализации в упрощенном виде.

Пример 1

1. При старте антивирусной программы перечисляют все процессы с уровнем привилегий System и заносят в массив пары в виде уникального идентификатора процесса и соответствующего уникального идентификатора маркера доступа.

2. При создании/завершении процесса с привилегиями System в массив добавляют/удаляют вышеупомянутые пары.

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

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

Пример 2

1. При старте антивирусной программы перечисляют все процессы с низким уровнем привилегий. Для них запоминают их текущее состояние структуры TOKEN_PRIVILEGES. Структура TOKEN_PRIVILEGES включает в себя информацию о количестве привилегий в маркере доступа, а также информацию о номере привилегии и ее состоянии (например, включена (1), включена по умолчанию (2), выключена (3), активируется по запросу (4) (https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_privileges#members).

Пример TOKEN_PRIVILEGES при запуске процесса без прав администратора:

Length: 5 (Количество привилегий в маркере доступа)

Номер привилегии/ее состояние ):

19 0

23 3

25 0

33 0

34 0

2. При создании/завершении процесса с низкими привилегиями аналогично запоминают их привилегии.

3. На определенных событиях активности процессов с низкими привилегиями получают их текущие привилегии.

4. Если в TOKEN_PRIVILEGES добавились новые привилегии, которых не было изначально, и модификация признается нелегитимной, то предпринимают действие по предотвращению вредоносных действий со стороны процесса, укравшего маркер доступа, а также дополнительно действия по откату системы к состоянию до кражи маркера доступа.Пример TOKEN_PRIVILEGES процесса без прав администратора из предыдущего примера, который поднял себе привилегии с помощью эксплуатации уязвимости (всего в списке 31 привилегия):

Length: 31

2 2

3 2

4 2

5 2

7 2

8 2

9 2

10 2

11 2

12 2

13 2

14 2

15 2

16 2

17 2

18 2

19 2

20 2

21 2

22 2

23 3

25 2

28 2

29 2

30 3

31 2

32 2

33 2

34 2

35 2

36 2

Указанная технология позволяет обнаружить большой пласт уязвимостей, которые для повышения привилегий изменяют маркер доступа. К примеру, такими уязвимостями являются уязвимости CVE-2018-8453, CVE-2020-0796. Фиг. 3 иллюстрирует алгоритм выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках. На этапе 311 средство формирования 220 осуществляет выявление запуска каждого потока каждого процесса, запущенного в ОС. На этапе 312 средство формирования 220 осуществляет формирование набора актуальных привилегий на основании выявленных запусков и передает данные о сформированном наборе актуальных привилегий средству выявления 230На этапе 313 средство выявления 230 осуществляет выполнение проверки сформированного набора на наличие изменений привилегий и передает результаты проверки средству обнаружения 240. На этапе 314 средство обнаружения 240 осуществляет обнаружения наличия уязвимости в операционной системе при помощи правил выявления уязвимости из базы данных правил 250 на основании результатов проверки. При обнаружении уязвимости на этапе 315 средство обнаружения 240 изолирует файл, который использовал обнаруженную уязвимость. В противном случае на этапе 316 система переходит к этапу 312.

Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

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

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

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

название год авторы номер документа
Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине 2018
  • Монастырский Алексей Владимирович
  • Павлющик Михаил Александрович
  • Пинтийский Владислав Валерьевич
  • Аникин Денис Вячеславович
  • Кирсанов Дмитрий Александрович
RU2724790C1
Система и способ создания антивирусной записи 2018
  • Гордейчик Сергей Владимирович
  • Солдатов Сергей Владимирович
  • Сапронов Константин Владимирович
RU2697954C2
Система и способ настройки антивирусной проверки 2015
  • Левченко Вячеслав Иванович
RU2617923C2
АГЕНТ БЕЗОПАСНОСТИ, ФУНКЦИОНИРУЮЩИЙ НА УРОВНЕ ВСТРОЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, С ПОДДЕРЖКОЙ БЕЗОПАСНОСТИ УРОВНЯ ОПЕРАЦИОННОЙ СИСТЕМЫ 2013
  • Гусаров Игорь Анатольевич
  • Несмачный Юрий Владимирович
  • Добровольский Сергей Васильевич
  • Годунов Илья Борисович
RU2583714C2
Способ обнаружения аномалии в поведении доверенного процесса и система для его реализации 2022
  • Иванов Андрей Александрович
RU2790329C1
СИСТЕМА И СПОСОБ ДЛЯ СНИЖЕНИЯ НАГРУЗКИ НА ОПЕРАЦИОННУЮ СИСТЕМУ ПРИ РАБОТЕ АНТИВИРУСНОГО ПРИЛОЖЕНИЯ 2013
  • Собко Андрей Владимирович
  • Юдин Максим Витальевич
  • Межуев Павел Николаевич
  • Годунов Илья Борисович
  • Широкий Максим Александрович
RU2571723C2
Система и способ обнаружения вредоносного кода в файле 2016
  • Головкин Максим Юрьевич
  • Монастырский Алексей Владимирович
  • Пинтийский Владислав Валерьевич
  • Павлющик Михаил Александрович
  • Бутузов Виталий Владимирович
  • Карасовский Дмитрий Валериевич
RU2637997C1
Система и способ обнаружения признаков компьютерной атаки 2017
  • Гордейчик Сергей Владимирович
  • Сапронов Константин Владимирович
  • Паршин Юрий Геннадьевич
  • Хеирхабаров Теймур Самедович
  • Солдатов Сергей Владимирович
RU2661533C1
Система и способ корреляции событий для выявления инцидента информационной безопасности 2019
  • Люкшин Иван Станиславович
  • Кирюхин Андрей Александрович
  • Лукиян Дмитрий Сергеевич
  • Филонов Павел Владимирович
RU2739864C1
Система и способ выявления скрытого поведения расширения браузера 2018
  • Виноградов Дмитрий Валерьевич
  • Давыдов Василий Александрович
  • Паринов Денис Игоревич
RU2697950C2

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

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

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

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

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

a) выявляют запуск каждого потока каждого процесса;

б) формируют набор актуальных привилегий на основании выявленных запусков;

в) выполняют проверку сформированного набора на наличие нелегитимных изменений привилегий;

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

i. маркер доступа одного из потоков изменен,

ii. измененный маркер доступа не уникален,

iii. обнаружено добавление привилегий;

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

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

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

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

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

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

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

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

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

US 11314859 B1, 26.04.2022
US 10565378 B1, 18.02.2020
US 20190018963 A1, 17.01.2019
WO 2020114262 A1, 11.06.2020
CN 105224868 B, 23.07.2019.

RU 2 797 716 C1

Авторы

Монастырский Алексей Владимирович

Кондратьев Дмитрий Андреевич

Даты

2023-06-08Публикация

2022-06-15Подача