RU2724800C1 - Система и способ обнаружения источника вредоносной активности на компьютерной системе - Google Patents

Система и способ обнаружения источника вредоносной активности на компьютерной системе Download PDF

Info

Publication number
RU2724800C1
RU2724800C1 RU2018147236A RU2018147236A RU2724800C1 RU 2724800 C1 RU2724800 C1 RU 2724800C1 RU 2018147236 A RU2018147236 A RU 2018147236A RU 2018147236 A RU2018147236 A RU 2018147236A RU 2724800 C1 RU2724800 C1 RU 2724800C1
Authority
RU
Russia
Prior art keywords
objects
subgraph
graph
harmfulness
computer system
Prior art date
Application number
RU2018147236A
Other languages
English (en)
Inventor
Игорь Игоревич Суменков
Сергей Юрьевич Голованов
Original Assignee
Акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Priority to RU2018147236A priority Critical patent/RU2724800C1/ru
Priority to US16/420,409 priority patent/US11403398B2/en
Priority to EP19189840.2A priority patent/EP3674943A1/en
Priority to JP2019147481A priority patent/JP6893534B2/ja
Priority to CN201910769145.0A priority patent/CN111382435B/zh
Application granted granted Critical
Publication of RU2724800C1 publication Critical patent/RU2724800C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к области информационной безопасности данных. Технический результат настоящего изобретения заключается в обнаружения источника вредоносной активности на компьютерной системе на основании анализа связей между объектами упомянутой компьютерной системы. В способе собирают информацию об объектах компьютерной системы (далее, «объекты»); формируют граф на основании собранной информации об объектах, при этом в качестве вершин графа выступают объекты, в качестве ребер - определенные на основании анализа собранной информации связи между объектами; выделяют из формированного графа по меньшей мере два порожденных подграфа (далее, подграф); определяют коэффициент вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа; определяют из выделенных подграфов подграф, для которого коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов, суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом, является максимальным; определяют в качестве источника вредоносной активности на компьютерной системе объект, поставленный в соответствие по меньшей мере одной вершине определенного подграфа. 2 н. и 10 з.п. ф-лы, 6 ил.

Description

Область техники
Изобретение относится к технологиям обеспечения информационной безопасности, а более конкретно к системам и способам обнаружения источника вредоносной активности на компьютерной системе.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и объемом программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
С описанными выше угрозами хорошо справляются специальные программы - антивирусы. Однако в некоторых ситуациях упомянутые антивирусы практически бесполезны, например при целевых кибератаках на компьютерные системы (англ. APT - advanced persistent threat), а также, когда при заражении компьютерных систем упомянутые антивирусы на этих компьютерных системах не функционировали (например, не были установлены или отключены).
В этом случае для установления факта заражения компьютерной системы приходится выполнять ресурсоемкий анализ состояния компьютерной системы, анализировать журналы поведения компьютерной системы, передаваемые и получаемые по компьютерной сети данные, действия пользователей и т.д. Зачастую описанные мероприятия приходится выполнять вручную, что хотя и увеличивает их эффективность, значительно повышает трудозатраты.
В публикации US 8225041 B2 описана технология управление историей производительности компьютерной системы. С этой целью производится анализ характеристик работы элементов компьютерной системы (запоминающие устройства, серверы управления, виртуализации хранения и т.д.) на основании которой строятся связи между данными на упомянутой компьютерной системе. На основании построенных связей восстанавливается история производительности компьютерной системы и предоставляется возможность управления упомянутой компьютерной системой и историей производительности.
Описанные выше технологии хорошо справляются с задачами восстановления и связывания разрозненных данных, собираемых на компьютерных системах, однако они не справляются с задачами анализа состояния компьютерной системы на основании выявленных связей упомянутых данных, на основании которых впоследствии можно определять, в каком состоянии находилась анализируемая компьютерная система в тот или иной момент времени или в тот или иной момент выполнения действий на компьютерной системе и определить причину возникновения того или иного состояния анализируемой компьютерной системы или выполняемого действия на компьютерной системе.
Настоящее изобретение позволяет решать задачу обнаружения источника вредоносной активности на компьютерной системе более эффективно.
Раскрытие изобретения
Изобретение предназначено для обеспечения информационной безопасности данных.
Технический результат настоящего изобретения заключается в обнаружения источника вредоносной активности на компьютерной системе на основании анализа связей между объектами упомянутой компьютерной системы.
Данные результаты достигаются с помощью использования системы обнаружения источника вредоносной активности на компьютерной системе, которая содержит: средство сбора, предназначенное для: сбора информации об объектах компьютерной системы (далее, «объекты»), определения связи между объектами на основании анализа собранной информации, передачи информации о собранных объектах и определенных связях средству формирования графов; средство формирования графов, предназначенное для: формирования графа на основании полученной информации об объектах, при этом в качестве вершин графа выступают объекты, в качестве ребер - определенные на основании анализа собранной информации связи между объектами, выделения из формированного графа по меньшей мере двух порожденных подграфов (далее, подграф), передачи выделенных подграфов средству определения вредоносности; средство определения активности, предназначенное для: определения коэффициента вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа, передачи выделенных подграфов и коэффициентов вредоносности средству анализа; средство анализа, предназначенное для: определения подграфа для которого: коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов, суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом является максимальным; передачи определенного подграфа средству вынесения вердикта; средство вынесения вердикта, предназначенное для определения в качестве источника вредоносной активности на компьютерной системе объекта, поставленного в соответствие по меньшей мере одной вершине определенного подграфа.
В другом частном случае реализации системы коэффициент вредоносности подграфа определяется на основании степени схожести упомянутого подграфа с по меньшей мере одним подграфом из базы графов, содержащей заранее сформированные графы вредоносной активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносности.
Еще в одном частном случае реализации системы в качестве коэффициента вредоносности подграфа выступает коэффициент вредоносности, характеризующий вероятность того, что по меньшей мере один объект из поставленных в соответствие вершинам упомянутого подграфа является вредоносным.
В другом частном случае реализации системы анализируют подграфы, связанные с другими подграфами ребрами, которым соответствует причинно-следственная связь.
Еще в одном частном случае реализации системы анализируют подграфы, диаметры которых менее заранее заданного порогового значения.
В другом частном случае реализации системы средство вынесения вердикта в качестве источника вредоносной активности выбирает ранее неизвестные объекты.
Данные результаты достигаются с помощью использования способа обнаружения источника вредоносной активности на компьютерной системе, при этом способ реализуется с помощью средств из системы по системе обнаружения источника вредоносной активности на компьютерной системе и содержит этапы, на которых: собирают информацию об объектах компьютерной системы (далее, «объекты»); формируют граф на основании собранной информации об объектах, при этом в качестве вершин графа выступают объекты, в качестве ребер - определенные на основании анализа собранной информации связи между объектами; выделяют из формированного графа по меньшей мере два порожденных подграфа (далее, подграф); определяют коэффициент вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа; определяют из выделенных подграфов подграф, для которого коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов, суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом является максимальным; определяют в качестве источника вредоносной активности на компьютерной системе объект, поставленный в соответствие по меньшей мере одной вершине определенного подграфа.
В другом частном случае реализации способа коэффициент вредоносности подграфа определяется на основании степени схожести упомянутого подграфа с по меньшей мере одним подграфом из базы графов, содержащей заранее сформированные графы вредоносной активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносности.
Еще в одном частном случае реализации способа в качестве коэффициента вредоносности подграфа выступает коэффициент вредоносности, характеризующий вероятность того, что по меньшей мере один объект из поставленных в соответствие вершинам упомянутого подграфа является вредоносным.
В другом частном случае реализации способа анализируют только подграфы, связанные с другими подграфами ребрами, которым соответствует причинно-следственная связь.
Еще в одном частном случае реализации способа анализируют подграфы, диаметры которых менее заранее заданного порогового значения.
В другом частном случае реализации способа из определенных в качестве источника вредоносной активности выбираются ранее неизвестные объекты.
Краткое описание чертежей
Фиг. 1 представляет пример структурную схему системы обнаружения вредоносной активности на компьютерной системе.
Фиг. 2 представляет пример структурной схемы способа обнаружения вредоносной активности на компьютерной системе.
Фиг. 3 представляет пример схемы формирования графа на основании анализа связей между объектами компьютерной системы.
Фиг. 4 представляет пример структурную схему системы обнаружения источника вредоносной активности на компьютерной системе.
Фиг. 5 представляет пример структурной схемы способа обнаружения источника вредоносной активности на компьютерной системе.
Фиг. 6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Функциональная связь - тип отношения (связи) между объектами, при котором изменения каждого из объектов сопутствуют друг другу. При функциональной связи отсутствуют главные признаки причинно-следственной связи - производительность (объекты не производят друг друга), асимметричность во времени (они сосуществуют, одно из них не предшествует другому), необратимость.
Фиг. 1 представляет пример структурную схему системы обнаружения вредоносной активности на компьютерной системе.
Структурная схема системы обнаружения вредоносной активности на компьютерной системе содержит средство сбора 110, объекты компьютерной системы 111, обученную модель выбора 112, средство формирования графов 120, базу графов 131, средство поиска 130, средство анализа 140, решение 141, средство переобучения 150.
Средство сбора 110 предназначено для:
• сбора информации об объектах компьютерной системы 111 (далее, «информация об объектах» и «объекты» соответственно);
• определения связи между объектами 111 на основании анализа собранной информации, при этом каждой связи ставится в соответствие степень достоверности связи;
• передачи информации о собранных объектах 111 и определенных связях средству формирования графов 120.
Например, сбор информации об объектах компьютерной системы 111 средством 110 может осуществляться с помощью установленного в компьютерной системе специализированного драйвера, обеспечивающего перехват данных, передаваемых между процессами, по сети и т.д.
В одном из вариантов реализации системы в качестве объектов 111 выступают по меньшей мере:
• файлы;
• сетевые пакеты;
• сайты;
• страницы оперативной памяти, как физической, так и виртуальной;
• процессы и связанные с ними иные объекты операционной системы;
• события операционной системы;
• записи в журналах операционной системы или приложений,
• записи в MFT (англ. master file table - главная файловая таблица),
• записи в реестре операционной системы.
Например, сайт в качестве объекта 111 может представлять собой адрес, к примеру «http://google.com» или «http://files.downloads.com/chrome.exe».
Еще в одном примере журнал операционной системы «system.evtx» состоит из записей 111, пример одной из которых приведен ниже:
Figure 00000001
Figure 00000002
содержащая совокупность пар «ключ» - «значение», описывающих системное событие.
Еще в одном из вариантов реализации системы информация об объектах 111 представляет собой данные, по меньшей мере:
• однозначно характеризующие упомянутый объект 111,
• на основании которых возможно сформировать вывод о наличии связи между упомянутым объектом 111 и другим объектом 111.
Например, если есть файл #1 и файл #2, которые были извлечены из архива #3, то, с одной стороны эти файлы характеризуются размером, с другой - временем создания (по сути временем извлечения из архива). Если размер файлов не несет практически никакой информации о том, связаны ли файлы #1 и #2 друг с другом, то время создания этих файлов косвенно может указывать на то, что файлы были извлечены из архива (например, если времена создания файлов #1 и #2 совпадают с заданной точностью).
Еще в одном примере данные из журнала операционной системы, содержащего информацию о создании файлов, т.е. какой процесс, когда и с каким именем создал файл, могут указывать на прямую связь файла #1 и файла #2, к примеру, когда процесс #4 запущенный из файла #1 создал файл #2.
Еще в одном из вариантов реализации системы в качестве информации об объектах 111 выступают по меньшей мере:
• информация о файлах:
Figure 00000003
имя файла,
Figure 00000003
путь к файлу,
Figure 00000003
размер файла;
• информация о процессах:
Figure 00000003
идентификатор процесса,
Figure 00000003
идентификаторы родительского и дочерних процессов;
Figure 00000003
имя файла, из которого был запущен процесс;
• информация о сетевых пакетах:
Figure 00000003
адрес получения или передачи сетевого пакета,
Figure 00000003
размер сетевого пакета,
Figure 00000003
тип, размер и «свертка данных», содержащихся в сетевом пакете,
Figure 00000003
имя приложения, получающего или передающего сетевой пакет;
• страницы оперативной памяти:
Figure 00000003
тип, размер, флаги страниц оперативной памяти,
Figure 00000003
размер, позиция, тип и «свертка данных» в страницах оперативной памяти,
Figure 00000003
идентификаторы процессов и имена приложений, работающих с данными на заданных страницах оперативной памяти;
• записи в журналах операционной системы:
Figure 00000003
ключ - значение, где в качестве ключа выступает название параметра, а в качестве значения - его значение.
Например, в реестре операционной системы (который можно рассматривать как один из журналов операционной системы) может быть следующая запись:
Figure 00000004
В качестве ключа в указанном примере выступает название поля «ImagePath», в качестве значения ключа - пара значений «тип поля» - «REG_EXPAND_SZ%», «значение поля» - «systemroot%\KtknjRrl.exe».
Свертка данных (хэш-сумма) представляет собой результат обработки данных с помощью хэш-функции, при которой любой совокупности данных ставится в соответствие другая совокупность данных меньшего объема. В частном случае в качестве свертки данных выступает контрольная сумма от данных (например, CRC32 или MD5).
Еще в одном из вариантов реализации системы связь между объектами 111 представляет собой логическую или функциональную связь (например, в виде бинарного отношения) между упомянутым объектами 111, при этом логическая связь может возникать, когда два объекта 111 используются совместно (т.е. когда объекты 111 используются связанными объектами или в связанные моменты времени, в частности одновременно), при том, что друг с другом они могут быть не связаны (например, сетевой пакет и событие операционной системы «запись файла на диск»), функциональная связь может возникать, когда один объект 111 используются для анализа другого объекта 111 (например, сайты и сетевые пакеты).
Еще в одном из вариантов реализации системы связь (как функциональная, так и логическая) между двумя объектами 111 устанавливается при выполнении условия, при котором по меньшей мере:
• первый объект обрабатывает данные, предоставляемые вторым объектом;
например, использование технологии межпроцессного взаимодействие (англ. inter-process communication, IPC), в одном из случаев которого первый процесс считывает данные из памяти второго процесса;
• первый объект использует второй объект;
например, использование программой для своей работы dll-библиотеки;
• первый и второй объекты используются третьим объектом;
например, использование программой в своей работе двух независимых dll-библиотек (т.е. dll-библиотек, функции одной из которых не используют функции другой);
• упомянутые объекты имеют по меньшей мере один одинаковый характеризующий их параметр;
например, в качестве параметра может выступать имя файла.
Более подробно описанный выше пример выглядит следующим образом: при создании сервиса выполняются:
• запись файла «KtknjRrl.exe» на жесткий диск, информация о записывается в MFT:
Figure 00000005
• запись в журнал событий данных о выполненной операции:
Figure 00000006
Figure 00000007
• запись в реестр данных о созданном сервиса:
Figure 00000008
Все три записи объединяет имя файла «KtknjRrl.exe», выступающий в качестве общего параметра для MFT (по ID, соответствующего файлу «KtknjRrl.exe»), журнала событий и реестра.
Еще в одном примере с помощью браузера «chrome.exe» пользователь с сайта «http://files.com» загрузил архив «drivers.zip» из которого с помощью приложения «WinZip» затем выделил файл «driver.sys». В этом случае будет установлено, что файл «driver.sys» напрямую связан с файлом «drivers.zip» и косвенно с браузером «chrome.exe». В качестве объектов 111 в приведенном примере выступают объект #1: браузер «chrome.exe», объект #2: архив «drivers.zip», объект #3: файл «driver.sys», объект #4: сайт «http://files.com».
Прямая связь между объектами #1 и #2 устанавливается тогда, когда изменения в объекте #1 или в поведении объекта #1 влияют на объект #2 или поведение объекта #2 (например, объект #1 - архив, объект #2 - извлеченный из архива файл), а косвенная связь между объектами #1 и #2 устанавливается тогда, когда между прямая связь присутствует между объектом #1 и объектом #3, объектом #2 и объектом #3 (например, косвенная связь устанавливается между двумя файлами, извлеченными из архива). При этом между объектами может быть установлена как прямая, так одновременно и косвенная связи.
Вообще в описанном выше примере могут быть выделены следующие связи:
Figure 00000009
Еще в одном примере демонстрации связей между объектами 111 разнообразные службы операционной системы Windows записывают данные о свой работе в журнал операционной системы «system.evtx» в формате «[id записи] [время] [процесс] [событие] [параметры]». К примеру журнал содержит следующие записи:
Figure 00000010
В таком случае будет установлено, что процесс «hsayy.exe» связан с процессом «explorer.exe», поскольку было выполнено заранее заданное условие, связывающее два разных объекта 111 - с разницей в 30 секунд был записан и считан файл один и тот же файл «data.dat».
Еще в одном из вариантов реализации системы степень достоверности связи между двумя объектами 111 представляет собой численное значение, характеризующее вероятность того, что один из упомянутых объектов 111 имеет логическую или функциональную связь с другим их упомянутых объектов 111.
Например, степень достоверности связи может быть действительным численным значением в диапазоне от 0.0 до 1.0, где значение 0.0 означает, что объекты 111 однозначно не связаны друг с другом, а 1.0 - что связь между упомянутыми объектами 111 гарантированно присутствует.
Таким образом в случае, если степень достоверности связи между объектами 111 не максимально возможная (например, 1.0 из описанного выше примере), то определение связи между объектами 111 носит вероятностный характер и зачастую связь определяется не строго, а на основании накопленного опыта, статистических данных о связи между упомянутыми объектами 111.
Например, то что два объекта 111, созданные с разницей в 0.1 секунды, являются связанными друг с другом (например, были созданы при установке программного обеспечения) является хотя и предположением, но с высокой степенью достоверности из-за огромного объема накопленных статистических данных по работе операционной системы и установке разнообразного программного обеспечения.
Еще в одном из вариантов реализации системы передача информации о собранных объектах 111 и определенных связях средству формирования графов 120 производится только в случае, если степень достоверности определенной связи между собранными объектами 111 превышает заранее заданное пороговое значение.
Например, степень достоверности связи может вычисляться следующим способом:
Каждый из объектов #1 и #2 111, между которыми устанавливается связь описывается совокупностью параметров {pi} и {qj}, характеризующих упомянутые объекты 111.
Еще в одном из вариантов реализации системы выбор объектов 111, по которым средство сбора 110 собирает информацию и между которыми определяет связи, осуществляется с использованием обученной модели выбора 112. Обученная модель выбора 112 формируется предварительно с использованием методов машинного обучения, известных из уровня техники, на основании обучающей выборки, включающей компьютерные системы, поведение которых заранее известно (вредоносное или безопасное), таким образом, чтобы количество выбираемых объектов 111 стремилось к минимальному, а решение об обнаружении вредоносной активности, выносимое при этом средством анализа 140 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному. Такой подход позволяет сократить использование вычислительных ресурсов (памяти, процессорного времени и т.д.) для определения вредоносной активности на компьютерной системе и при этом сохранить точность выносимого решения.
Поскольку в дальнейшей для определения вредоносной активности на компьютерной системе используются как сами объекты 111 (информация об объектах), так и связи между объектами 111, то удобно представлять множество выделенных объектов 111 и множество определенных связей между выделенными объектами 111 в качестве элементов графа -математического объекта, для работы с которым разработана широкая и многофункциональная теория (теория графов), а анализ сводить к решению абстрактных математических задач.
Граф - абстрактный математический объект, представляющий собой множество вершин графа и набор ребер, то есть соединений между парами вершин. Например, за множество вершин может быть взято множество объектов 111, а за множество ребер могут быть взято множество логических и функциональных связей между выделенными объектами 111.
Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или ребрах. Многие структуры, представляющие практический интерес в математике и информатике, могут быть представлены графами. Например, компьютерная система может быть смоделирована при помощи ориентированного графа, в котором как упоминалось выше вершины - это объекты 111 (описываемые, совокупностью параметров, представляющих собой информацию об объектах 111), а дуги (ориентированные ребра) - логические и функциональные связи между упомянутыми объектами 111. Кроме того, каждой вершине (связи) может быть поставлен свой вес (степень достоверности связи) и сформирован взвешенный ориентированный граф.
Средство формирования графов 120 предназначено для:
• формирования по меньшей мере двух графов на основании информации о полученных связях таким образом, чтобы диаметр графа был менее заранее заданного значения, при этом в качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи;
• формирования итогового графа на основании сформированных графов таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины;
• выделения из формированного графа по меньшей мере двух порожденных подграфов (далее, подграф);
• передачи сформированного итогового графа средству поиска и средству анализа 130.
Например, если компьютерная система может представлять собой распределенную систему клиентов, то в этом случае на основании собранных объектов 111 с каждого клиента и определенных связей между упомянутыми объектами 111 формируются свои графы для каждого из клиентов.
В одном из вариантов реализации системы оптимизируют сформированный итоговый граф с целью уменьшения количества ребер графов (т.е. связей между объектами 111).
Например, при оптимизации графа из графа исключаются по меньшей мере:
• вершины с заранее заданными свойствами (например, объекты заданных типов, обладающие заданными параметрами),
• ребра с заранее заданными свойствами (например, связи между объектами по времени создания объектов),
• дублирующие ребра.
Еще в одном варианте реализации системы минимизируют количество пересечений ребер итогового графа, где количество пересечений ребер графа (число пересечений графа) - наименьшее число элементов в представлении данного графа как графа пересечений конечных множеств, или, эквивалентно, наименьшее число клик, необходимых для покрытия всех ребер графа).
Еще в одном из вариантов из вариантов системы средство формирования графов 120 предназначено для:
• формирования графа на основании информации о полученных связях, где качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи, таким образом, чтобы:
Figure 00000003
диаметр графа был менее заранее заданного параметра;
Figure 00000003
содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины;
• передачи сформированного графа средству поиска и средству анализа 130.
Еще в одном из вариантов реализации системы средство формирования графов 120 на основании нескольких (по меньшей мере трех) графов формирует несколько, но при этом менее, чем число упомянутых графов (по меньшей мере два) итоговых графа.
Например, при анализе компьютерной системы, представляющей собой распределенную систему (к примеру, персональные компьютеры, объединенные в локальную сеть) для каждого компьютера (по сути самостоятельного элемента компьютерной системы) формируют по нескольку графов. Затем, на основании сформированных для каждого компьютера графов формируют по одному итоговому графу и передают всю совокупность сформированных итоговых графов средству поиска 130.
В еще одном примере, в случае, если компьютерная система представляет собой распределенную систему, граф строится на основании информации об объектах 111 упомянутой компьютерной системы, включающей имена пользователей и их IP адреса, содержащейся в записях журналах операционной системы «security.evtx». В итоге, к примеру, получаются следующая цепочка действий (направленный граф):
пользователь #1 создал файл на компьютере #1…→
…→ пользователь #1 прошел авторизацию с компьютера #2 →…
…→ на компьютере #2 пользователь #1 вышел из учетной записи пользователя #2 →…
…→ пользователь #2 прошел авторизацию с компьютера #3 и т.д.
Средство поиска 130 предназначено для:
• выборки из базы графов 131 по меньшей мере одного графа, степень схожести которого с полученным графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых на основании анализа упомянутой активности поставлен в соответствие коэффициент вредоносности;
• передачи выбранного графа средству анализа 140.
В одном из вариантов реализации системы база графов 131 пополняется заранее графами, сформированными на основании объектов 111, выбранных из компьютерных систем, вредоносная активность которых известна. При этом упомянутые графы формируются с использованием описанных выше средства сбора 110 и средства формирования графов 120.
Еще в одном из вариантов реализации системы база графов 131 пополняется графами, сформированными на основании объектов 111, выбранных из компьютерных систем, входящих в обучающую выборку, на основании которой производилось машинное обучение модели выбора 112.
Еще в одном из вариантов реализации системы в базе графов 131 хранятся не сами сформированные описанными выше способами графы, а их свертки. При этом средство поиска 130 дополнительно на основании графа, полученного от средства формирования графов 120, вычисляет его свертку, а поиск в базе графов 131 производит на основании сравнения свертки вычисленной свертки графа с хранящимися в базе свертками графов.
Еще в одном из вариантов реализации системы в качестве свертки графа используется гибкий хэш (англ. fuzzy hash).
Еще в одном из вариантов реализации системы определяется степень изоморфизма графов, на основании которой определяется степень схожести упомянутых графов.
Средство анализа 140 предназначено для вынесения решения 141 об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа графов, полученных от средства формирования графов 120 и средства поиска 130.
В одном из вариантов реализации системы решение об обнаружении вредоносной активности на компьютерной системе выносится на основании анализа коэффициента вредоносности по меньшей мере одного графа, найденного в базе графов, и степени схожести упомянутого графа со сформированным графом.
Например, итоговый коэффициент вредоносности анализируемой компьютерной системы может вычисляться по формуле
Figure 00000011
где
w - коэффициент вредоносности анализируемой компьютерной системы,
wj - коэффициент вредоносности j-ого графа, выбранного из базы графов 131,
c{i,j} - степень схожести i-ого сформированного графа и j-ого графа, выбранного из базы графов 131,
N - количество сформированных графов для анализируемой компьютерной системы,
М - количество графов, выбранных из базы графов 131.
Еще в одном примере коэффициент вредоносности w анализируемой компьютерной системы может находиться в диапазоне от 0,0 (на компьютерной системе не было вредоносной активности) до 1,0 (на компьютерной системе вредоносная активность была). При этом, если упомянутый коэффициент вредоносности wm превышает заранее заданное значение (к примеру, 0,75) выносится решение о том, что на анализируемой компьютерной системе обнаружена вредоносная активность.
Еще в одном из вариантов реализации системы на основании анализа сформированного графа определяют объект 111, являющийся источником вредоносной активности на компьютерной системе (см. Фиг. 4, Фиг. 5).
Средство переобучения 150 предназначено для переобучения модели выбора 112 на основании вынесенного средством анализа 140 решения 141, таким образом, чтобы при повторном анализе той же компьютерной системы на вредоносность для формирования графов средством формирования графов 120 на основании анализа объектов 111, выбранных средством сбора 110, по меньшей мере:
• количество выбираемых объектов 111 стремилось к минимальному, а решение, выносимое при этом средством анализа 140 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному, т.е. стремилось к уменьшению вероятности возникновения ошибок первого и второго рода (что в свою очередь может оцениваться на большой статистической выборки и достигаться применением методик, используемых ранее и приводящих к требуемому результату, опять же такой выбор и такая оценка делается на основании статистической выборки);
• использование вычислительных ресурсов для формирования графов средством формирования графов 120 было меньше, чем при использовании объектов 111, выбранных при использовании непереобученной модели.
Рассмотрим работу системы обнаружения вредоносной активности на компьютерной системе на следующем примере:
Пользователь последовательно выполнил следующие действия:
• подключился к удаленному компьютеру с вводом пароля,
• создал новый сервис;
что в свою очередь стало причиной следующих изменений в упомянутой компьютерной системе:
• создание сервиса модифицирует реестр,
• сервис запускает Powershell,
• Powershell создает файл.
Средство сбора 110 собирает информацию об объектах компьютерной системы 111:
• объект #1 - запись в журнале,
• объект #2 - запись в журнале,
• объект #3 - ключ в реестре,
• объект #4 - запись в журнале,
• объект #5 - создание файлы на файловой системе.
Средство формирования графов 120 на основании собранных объектов 111 строит связи на основании следующих данных:
объект #1 (запись в журнале) → [связь по имени пользователя] →…
…→ объект #2 (запись в журнале) → [связь по имени сервиса] →…
…→ объект #3 (ключ в реестре) → [связь по имени файлы в ключе реестра] →…
… объект #4 (запись в журнале) → [связь по имени файла в журнале] →…
…→ объект #5 (создание файлы на файловой системе)
Фиг. 2 представляет пример структурной схемы способа обнаружения вредоносной активности на компьютерной системе.
Структурная схема способа обнаружения вредоносной активности на компьютерной системе содержит этап 210, на котором собирают информацию об объектах компьютерной системы, этап 220, на котором определяют связи между объектами, этап 230, на котором формируют графы, этап 240, на котором формируют итоговый граф, этап 250, на котором выбирают графы, этап 260, на котором выносят решение о вредоносной активности, этап 270, на котором переобучают модель выбора.
На этапе 210 собирают информацию об объектах компьютерной системы 111.
В частном случае реализации способа выбор объектов 111 для которых собирается информация осуществляется с использованием обученной модели выбора 112.
На этапе 220 определяют связи между объектами 111 на основании анализа собранной информации, при этом каждой связи ставится в соответствие степень достоверности связи.
В одном из частных случаев реализации способа объекты 111, степень достоверности связи между которыми ниже заранее заданного порогового значения, из дальнейшего анализа компьютерной системы на вредоносную активность исключаются (т.е. по сути объекты 111 удаляются из графа и не используются при дальнейшем анализе).
Таким образом достигается уменьшение используемых для анализа компьютерной системы на вредоносность вычислительных ресурсов.
На этапе 230 формируют по меньшей мере два графа на основании определенных связей (в том числе, с использованием установленной степени достоверности связи) таким образом, чтобы диаметр графа был менее заранее заданного параметра, при этом в качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи.
На этапе 240 формируют итоговый граф на основании сформированных графов таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины.
На этапе 250 выбирают из базы графов 131 по меньшей мере один граф, степень схожести которого с сформированным итоговым графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых на основании анализа упомянутой активности поставлен в соответствие коэффициент вредоносности.
В одном из вариантов реализации способа выставление коэффициентов вредоносной активности осуществляется любым известным из уровня техники способом, в том числе на основании анализа упомянутого графа аналитиком.
На этапе 260 выносят решение об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа, сформированного и выбранного графов.
На этапе 270 переобучают модель выбора 112 на основании вынесенного на этапе 260 решения 141, таким образом, чтобы при повторном анализе той же компьютерной системы на вредоносность для формирования графов на этапе 230 на основании анализа объектов 111, выбранных на этапе 210, по меньшей мере:
• количество выбираемых объектов 111 стремилось к минимальному, а решение, выносимое при этом на этапе 260 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному;
• использование вычислительных ресурсов для формирования графов на этапе 230 было меньше, чем при использовании объектов 111, выбранных при использовании непереобученной модели.
Фиг. 3 представляет пример схемы формирования графа на основании анализа связей между объектами компьютерной системы.
Схеме формирования графа на основании анализа связей между объектами компьютерной системы 111 содержит сформированные исходные графы 310 и 320, объединенный граф 330, оптимизированный граф 340, при этом каждый граф в качестве вершин графов выступают объекты компьютерной системы 301, 302, 303.
При этом объекты 301 могут рассматриваться как разные объекты (для удобства они все объединены под единым индексом, по сути являясь различными), а объекты 302 и 303 являются одинаковыми.
Исходные графы 310 и 320 формируются на основании анализа собранных объектов 301, 320, 303 и выявленных связей между ними.
На Фиг. 3 сплошными линиями обозначаются функциональные связи между объектами 111, пунктирными линиями - логические связи, стрелками - связывающий и связываемый объекты (т.е. стрелка отходит от объекта 111, породившего связь к объекту 111, ставшему связанным с упомянутым объектом 111). Например, если из некоторого архива «data.zip», содержащего файлы «report.docx», «report_old.docx», «report_new.docx» будет выделен файл «report.docx», то стрелкой будет показана функциональная связь от архива «data.zip» к выделенному файлу «report.docx».
Например, с помощью средства сбора 110 собираются информацию об объектах компьютерной системы 111, при этом компьютерная система может состоять из нескольких независимых компонент (к примеру, клиента и сервера) и упомянутые объекты 111, собранные с разных независимых компонент, могут также считаться независимыми. Таким образом будет сформировано несколько исходных графов.
Еще в одном примере компьютерная система является унитарной (содержит лишь один независимый компонент), поэтому все собранные объекты 111 могут считаться зависимыми, тем не менее они также могут быть разделены на несколько относительно независимых (с малым количеством связей) групп, для которых будет построено несколько (для каждой группы свой) исходных графов.
Например, на компьютерной системе работает вредоносная программа, позволяющая осуществлять удаленное управление упомянутой компьютерной системой (англ. backdoor), которая может состоять из нескольких независимых модулей (например, работающих с дисковой системой, с базами данных, с памятью, с электронными документами и т.д.) - получая команды от «хозяина», упомянутая вредоносная программа может выполнять те или иные вредоносные или несанкционированные действия. Можно рассмотреть частный случай, когда вредоносная программа получила две разные команды «зашифровать документы» и «получить пароли». Оба действия будут независимыми и могут быть выполнены разными модулями вредоносной программы. При анализе такой компьютерной системы будет построено 2 независимых графа, в одном из которых по большей части объектами 111 станут файлы (документы), а во второй - записи в журналах операционной системы. Тем не менее связь между двумя графами можно будет отследить по сетевой активности (которая отразится также в журналах операционной системы), источнику активности (модулям вредоносной программы), времени начала активности, сетевым пакетам и т.д.
Средство формирования графов 120 формирует исходные графы 310, 320 таким образом, чтобы они содержали (в качестве вершин) по меньшей мере два одинаковых или схожих объекта 111 (схожие объекты - объекты, у которых по меньшей мере по одному параметру отличается друг от друга на величину, не больше заданной). Например, исходный граф 310 содержит два одинаковых объекта 303.
Объединенный граф 330 формируется на основании сформированных ранее исходных графов 310 и 320.
Средство формирования графов 120 формирует объединенный граф 330 таким образом, чтобы в него входили все одинаковые или схожие объекты 111, присутствующие во всех исходных графах, на основании который формируется объединенный граф 330. Например, объединенный граф 330 содержит все объекты 302, 303, присутствующие в исходных графах 310, 320.
Объединенный граф 330 может считаться итоговым графом, на основании которого средство поиска 130 будет производить последующий анализ упомянутого графа. Тем не менее, для того, чтобы система обнаружения вредоносной активности на компьютерной системе была менее требовательной к компьютерным ресурсам (место в базе графов, вычислительные ресурсы для формирования, поиска и анализа графов и т.д.) средство формирования графов 120 производит оптимизацию объединенного графа 330 и формирует оптимизированный граф 340.
Оптимизированный граф 340 формируется на основании сформированного ранее объединенного графа 330.
Средство формирования графов 120 формирует оптимизированный граф 340 таким образом, чтобы в него входили все одинаковые или схожие объекты 111, присутствующие во всех исходных графах, и объединенном графе. Например, оптимизированный граф 340 содержит все объекты 302, 303, присутствующие в исходных графах 310, 320 и объединенном графе 330.
При этом все несвязанные с упомянутыми объектами 111 объекты и связи (вершины и ребра) могут быть удалены из оптимизированного графа 340 (отмечены как незакрашенные круги 301).
Таким образом после оптимизации кроме упомянутых объектов 302,303 могут быть выявлены объекты 304, между которыми установлена связь, не определяемая ранее, на этапе формирования исходных графов 310, 320.
Оптимизированный граф 340 является уже более компактным, чем объединенный граф 330, поэтому последующие работы с использованием оптимизированного графа более оптимальны.
Фиг. 4 представляет пример структурную схему системы обнаружения источника вредоносной активности на компьютерной системе.
Структурная схема системы обнаружения источника вредоносной активности на компьютерной системе содержит средство сбора 110, средство формирования графов 120, средство определения активности 410, средство анализа 420, средство вынесения активности 430.
Средство определения активности 410 предназначено для:
Figure 00000012
определения коэффициента вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей (англ. strength of graph) между вершинами упомянутого подграфа;
Figure 00000012
передачи выделенных подграфов и коэффициентов вредоносности средству анализа 420.
В одном из вариантов реализации системы коэффициент вредоносности подграфа определяется на основании степени схожести упомянутого подграфа с по меньшей мере одним подграфом из базы графов, содержащей заранее сформированные графы вредоносной активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносности.
При этом подграф или порожденный подграф графа (англ. induced subgraph) - это другой граф, образованный из подмножества вершин графа вместе со всеми ребрами, соединяющими пары вершин из этого подмножества.
Еще в одном из вариантов реализации системы в качестве коэффициента вредоносности подграфа выступает коэффициент вредоносности, характеризующий вероятность того, что по меньшей мере один объект из поставленных в соответствие вершинам упомянутого подграфа является вредоносным.
Средство анализа 420 предназначено для:
Figure 00000012
определения подграфа для которого:
• коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов,
• суммарный коэффициент вредоносности подграфов (т.е. итоговая сумма коэффициентов вредоносности подграфов или мера центральной тенденции коэффициентов вредоносности подграфов), связанных с упомянутым подграфом является максимальным;
Figure 00000012
передачи определенного подграфа средству вынесения вердикта 430.
В одном из вариантов реализации системы средство анализа 420 анализирует подграфы, связанные с другими подграфами ребрами, которым соответствует причинно-следственная связь, т.е. ребрами, соответствующие логической, а не функциональной связи.
Еще в одном из вариантов реализации системы средство анализа 420 анализирует подграфы, диаметры которых менее заранее заданного порогового значения.
Средство вынесения вердикта 430 предназначено для определения в качестве источника вредоносной активности на компьютерной системе объекта 111, поставленного в соответствие по меньшей мере одной вершине определенного подграфа.
В одном из вариантов реализации системы средство вынесения вердикта 430 в качестве источника вредоносной активности выбирает ранее неизвестные объекты 111.
Фиг. 5 представляет пример структурной схемы способа обнаружения источника вредоносной активности на компьютерной системе.
Структурная схема способа обнаружения источника вредоносной активности на компьютерной системе содержит этап 210, на котором собирают информацию об объектах компьютерной системы 111, этап 230, на котором формируют графы, этап 510, на котором выделяют подграфы, этап 520, на котором определяют коэффициент вредоносности, этап 530, на котором определяют подграф, этап 540, на котором определяют источник вредоносной активности.
На этапе 210 с помощью средства сбора 110 собирают информацию об объектах компьютерной системы 111 (далее, «объекты»).
На этапе 230 с помощью средства формирования графов 120 формируют граф на основании собранной информации об объектах 111, при этом в качестве вершин графа выступают объекты 111, в качестве ребер - определенные на основании анализа собранной информации связи между объектами.
На этапе 510 с помощью средства определения активности 410 выделяют из формированного графа по меньшей мере два порожденных подграфа (далее, подграф).
На этапе 520 с помощью средства определения активности 410 определяют коэффициент вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа.
На этапе 530 с помощью средства анализа 420 определяют подграф для которого:
Figure 00000012
коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов,
Figure 00000012
суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом является максимальным.
На этапе 540 с помощью средства вынесения вердикта 430 определяют в качестве источника вредоносной активности на компьютерной системе объект, поставленный в соответствие по меньшей мере одной вершине определенного подграфа.
Фиг. 6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 6. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Claims (37)

1. Система обнаружения источника вредоносной активности на компьютерной системе, которая содержит:
а) средство сбора, предназначенное для:
сбора информации об объектах компьютерной системы (далее, «объекты»),
определения связи между объектами на основании анализа собранной информации,
передачи информации о собранных объектах и определенных связях средству формирования графов;
б) средство формирования графов, предназначенное для:
формирования графа на основании полученной информации об объектах, при этом в качестве вершин графа выступают объекты, в качестве ребер - определенные на основании анализа собранной информации связи между объектами,
выделения из формированного графа по меньшей мере двух порожденных подграфов (далее, подграф),
передачи выделенных подграфов средству определения вредоносности;
в) средство определения активности, предназначенное для:
определения коэффициента вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа,
передачи выделенных подграфов и коэффициентов вредоносности средству анализа;
г) средство анализа, предназначенное для:
определения подграфа, для которого:
• коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов,
• суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом является максимальным;
передачи определенного подграфа средству вынесения вердикта;
д) средство вынесения вердикта, предназначенное для определения в качестве источника вредоносной активности на компьютерной системе объекта, поставленного в соответствие по меньшей мере одной вершине определенного подграфа.
2. Система по п. 1, в которой коэффициент вредоносности подграфа определяется на основании степени схожести упомянутого подграфа с по меньшей мере одним подграфом из базы графов, содержащей заранее сформированные графы вредоносной активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносности.
3. Система по п. 1, в которой в качестве коэффициента вредоносности подграфа выступает коэффициент вредоносности, характеризующий вероятность того, что по меньшей мере один объект из поставленных в соответствие вершинам упомянутого подграфа является вредоносным.
4. Система по п. 1, в которой анализируют подграфы, связанные с другими подграфами ребрами, которым соответствует причинно-следственная связь.
5. Система по п. 1, в которой анализируют подграфы, диаметры которых менее заранее заданного порогового значения.
6. Система по п. 1, в которой средство вынесения вердикта в качестве источника вредоносной активности выбирает ранее неизвестные объекты.
7. Способ обнаружения источника вредоносной активности на компьютерной системе, при этом способ реализуется с помощью средств из системы по по п. 1 и содержит этапы, на которых:
а) собирают информацию об объектах компьютерной системы (далее, «объекты»);
б) формируют граф на основании собранной информации об объектах, при этом в качестве вершин графа выступают объекты, в качестве ребер - определенные на основании анализа собранной информации связи между объектами;
в) выделяют из формированного графа по меньшей мере два порожденных подграфа (далее, подграф);
г) определяют коэффициент вредоносности для каждого выделенного подграфа, при этом коэффициент вредоносности представляет собой численную характеристику, описывающую мощность связей между вершинами упомянутого подграфа;
д) определяют из выделенных подграфов подграф, для которого:
• коэффициент вредоносности является минимальным из определенных коэффициентов вредоносности подграфов,
• суммарный коэффициент вредоносности подграфов, связанных с упомянутым подграфом, является максимальным;
е) определяют в качестве источника вредоносной активности на компьютерной системе объект, поставленный в соответствие по меньшей мере одной вершине определенного подграфа.
8. Способ по п. 7, по которому коэффициент вредоносности подграфа определяется на основании степени схожести упомянутого подграфа с по меньшей мере одним подграфом из базы графов, содержащей заранее сформированные графы вредоносной активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносности.
9. Способ по п. 7, по которому в качестве коэффициента вредоносности подграфа выступает коэффициент вредоносности, характеризующий вероятность того, что по меньшей мере один объект из поставленных в соответствие вершинам упомянутого подграфа является вредоносным.
10. Способ по п. 7, по которому анализируют только подграфы, связанные с другими подграфами ребрами, которым соответствует причинно-следственная связь.
11. Способ по п. 7, по которому анализируют подграфы, диаметры которых менее заранее заданного порогового значения.
12. Способ по п. 7, по которому из определенных на этапе 7 д) в качестве источника вредоносной активности выбираются ранее неизвестные объекты.
RU2018147236A 2018-12-28 2018-12-28 Система и способ обнаружения источника вредоносной активности на компьютерной системе RU2724800C1 (ru)

Priority Applications (5)

Application Number Priority Date Filing Date Title
RU2018147236A RU2724800C1 (ru) 2018-12-28 2018-12-28 Система и способ обнаружения источника вредоносной активности на компьютерной системе
US16/420,409 US11403398B2 (en) 2018-12-28 2019-05-23 System and method of detecting a source of malicious activity in a computer system
EP19189840.2A EP3674943A1 (en) 2018-12-28 2019-08-02 System and method of detecting a source of malicious activity in a computer system
JP2019147481A JP6893534B2 (ja) 2018-12-28 2019-08-09 コンピュータシステム内の悪意のあるアクティビティの源を検出するシステムおよび方法
CN201910769145.0A CN111382435B (zh) 2018-12-28 2019-08-20 检测计算机系统中的恶意活动的来源的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018147236A RU2724800C1 (ru) 2018-12-28 2018-12-28 Система и способ обнаружения источника вредоносной активности на компьютерной системе

Publications (1)

Publication Number Publication Date
RU2724800C1 true RU2724800C1 (ru) 2020-06-25

Family

ID=71121872

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018147236A RU2724800C1 (ru) 2018-12-28 2018-12-28 Система и способ обнаружения источника вредоносной активности на компьютерной системе

Country Status (4)

Country Link
US (1) US11403398B2 (ru)
JP (1) JP6893534B2 (ru)
CN (1) CN111382435B (ru)
RU (1) RU2724800C1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2791824C1 (ru) * 2022-02-14 2023-03-13 Групп-Ай Би Глобал Прайвет Лимитед Способ и вычислительное устройство для выявления целевого вредоносного веб-ресурса

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419469B1 (en) * 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
CN113704202A (zh) * 2021-09-03 2021-11-26 杭州雾联科技有限公司 一种进程监控方法、进程监控系统及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624448B2 (en) * 2006-03-04 2009-11-24 21St Century Technologies, Inc. Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US8931092B2 (en) * 2012-08-23 2015-01-06 Raytheon Bbn Technologies Corp. System and method for computer inspection of information objects for shared malware components
US9336388B2 (en) * 2012-12-10 2016-05-10 Palo Alto Research Center Incorporated Method and system for thwarting insider attacks through informational network analysis
WO2017180666A1 (en) * 2016-04-15 2017-10-19 Sophos Limited Forensic analysis of computing activity and malware detection using an event graph
RU2654151C1 (ru) * 2017-08-10 2018-05-16 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236100A1 (en) * 2005-04-19 2006-10-19 Guruprasad Baskaran System and method for enhanced layer of security to protect a file system from malicious programs
US8161550B2 (en) 2007-01-23 2012-04-17 Knowledge Based Systems, Inc. Network intrusion detection
JP5123641B2 (ja) 2007-10-31 2013-01-23 株式会社日立製作所 性能履歴の管理方法および性能履歴の管理システム
CN102034042B (zh) * 2010-12-13 2012-10-03 四川大学 基于函数调用关系图特征的恶意代码检测新方法
US20160125094A1 (en) * 2014-11-05 2016-05-05 Nec Laboratories America, Inc. Method and system for behavior query construction in temporal graphs using discriminative sub-trace mining
CN104463601A (zh) * 2014-11-13 2015-03-25 电子科技大学 一种在线社会媒体系统中检测恶意评分用户的方法
EP3227820A1 (en) * 2014-12-05 2017-10-11 Permissionbit Methods and systems for encoding computer processes for malware deteection
JP6285390B2 (ja) 2015-04-22 2018-02-28 株式会社日立製作所 サイバー攻撃分析装置及びサイバー攻撃分析方法
US20160364794A1 (en) * 2015-06-09 2016-12-15 International Business Machines Corporation Scoring transactional fraud using features of transaction payment relationship graphs
CN105184160B (zh) * 2015-07-24 2018-05-18 哈尔滨工程大学 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法
CN105740711B (zh) * 2016-01-29 2018-08-31 哈尔滨工业大学深圳研究生院 一种基于内核对象行为本体的恶意代码检测方法及系统
US10437995B2 (en) * 2016-03-31 2019-10-08 AVAST Software s.r.o. Systems and methods for inference of malware labels in a graph database
US9928366B2 (en) 2016-04-15 2018-03-27 Sophos Limited Endpoint malware detection using an event graph
RU2634181C1 (ru) * 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных компьютерных систем
US10810210B2 (en) * 2017-05-12 2020-10-20 Battelle Memorial Institute Performance and usability enhancements for continuous subgraph matching queries on graph-structured data
CN107153847A (zh) * 2017-05-31 2017-09-12 北京知道创宇信息技术有限公司 预测用户是否存在恶意行为的方法和计算设备
US11159555B2 (en) * 2018-12-03 2021-10-26 Accenture Global Solutions Limited Generating attack graphs in agile security platforms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624448B2 (en) * 2006-03-04 2009-11-24 21St Century Technologies, Inc. Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US8931092B2 (en) * 2012-08-23 2015-01-06 Raytheon Bbn Technologies Corp. System and method for computer inspection of information objects for shared malware components
US9336388B2 (en) * 2012-12-10 2016-05-10 Palo Alto Research Center Incorporated Method and system for thwarting insider attacks through informational network analysis
WO2017180666A1 (en) * 2016-04-15 2017-10-19 Sophos Limited Forensic analysis of computing activity and malware detection using an event graph
RU2654151C1 (ru) * 2017-08-10 2018-05-16 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2791824C1 (ru) * 2022-02-14 2023-03-13 Групп-Ай Би Глобал Прайвет Лимитед Способ и вычислительное устройство для выявления целевого вредоносного веб-ресурса
RU2808385C1 (ru) * 2023-06-19 2023-11-28 Акционерное общество "Лаборатория Касперского" Способ классификации объектов для предотвращения распространения вредоносной активности

Also Published As

Publication number Publication date
JP2020109611A (ja) 2020-07-16
JP6893534B2 (ja) 2021-06-23
CN111382435A (zh) 2020-07-07
US20200210578A1 (en) 2020-07-02
US11403398B2 (en) 2022-08-02
CN111382435B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
RU2679785C1 (ru) Система и способ классификации объектов
RU2697958C1 (ru) Система и способ обнаружения вредоносной активности на компьютерной системе
US11880455B2 (en) Selecting a detection model for detection of a malicious file
RU2724710C1 (ru) Система и способ классификации объектов вычислительной системы
US10878090B2 (en) System and method of detecting malicious files using a trained machine learning model
US11403396B2 (en) System and method of allocating computer resources for detection of malicious files
US10929534B2 (en) System and method detecting malicious files using machine learning
EP3432186B1 (en) System and method of machine learning of malware detection model
RU2654151C1 (ru) Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
CN109948335B (zh) 用于检测计算机系统中的恶意活动的系统和方法
RU2724800C1 (ru) Система и способ обнаружения источника вредоносной активности на компьютерной системе
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
RU2702081C2 (ru) Система и способ обнаружения модификации веб-ресурса
EP3674943A1 (en) System and method of detecting a source of malicious activity in a computer system