RU2724710C1 - Система и способ классификации объектов вычислительной системы - Google Patents

Система и способ классификации объектов вычислительной системы Download PDF

Info

Publication number
RU2724710C1
RU2724710C1 RU2018147230A RU2018147230A RU2724710C1 RU 2724710 C1 RU2724710 C1 RU 2724710C1 RU 2018147230 A RU2018147230 A RU 2018147230A RU 2018147230 A RU2018147230 A RU 2018147230A RU 2724710 C1 RU2724710 C1 RU 2724710C1
Authority
RU
Russia
Prior art keywords
degree
similarity
difference
file
parameters
Prior art date
Application number
RU2018147230A
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 RU2018147230A priority Critical patent/RU2724710C1/ru
Priority to US16/452,734 priority patent/US11188649B2/en
Priority to US16/459,718 priority patent/US11036858B2/en
Priority to EP19204938.5A priority patent/EP3674948B1/en
Priority to CN201911200597.3A priority patent/CN111382430B/zh
Priority to JP2019227463A priority patent/JP7405596B2/ja
Application granted granted Critical
Publication of RU2724710C1 publication Critical patent/RU2724710C1/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
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • 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
    • 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/561Virus type analysis
    • 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
    • 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
    • G06F21/564Static detection by virus signature recognition
    • 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
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

Область техники
Изобретение относится к технологиям анализа данных, а более конкретно к системам и способам классификации объектов вычислительной системы.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами, включающей в себя обнаружение вредоносных программ, предотвращение заражения и восстановление работоспособности вычислительных устройств, зараженных вредоносными программами, применяются специализированные программы - антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:
• статический анализ - анализ программ на вредоносность, исключающий запуск или эмуляцию работы анализируемых программ, на основании данных содержащихся в файлах, составляющих анализируемые программы, при этом при статистическом анализе могут использоваться:
Figure 00000001
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемых программ известному коду (сигнатуре) из базы данных сигнатур вредоносных программ; о белые и черные списки - поиск вычисленных контрольных сумм от анализируемых программ (или их частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм безопасных программ (белые списки);
• динамический анализ - анализ программ на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемых программ, при этом при динамическом анализе могут использоваться:
Figure 00000001
эвристический анализ - эмуляция работы анализируемых программ, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных поведенческих сигнатур вредоносных программ;
Figure 00000001
проактивная защита - перехват вызовов API-функций запущенных анализируемых программ, создания журналов поведения анализируемых программ (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ.
И статический, и динамический анализ обладают своими плюсами и минусами. Статический анализ менее требователен к ресурсам вычислительного устройства, на котором выполняется анализ, а поскольку он не требует исполнения или эмуляции анализируемой программы, статистический анализ более быстрый, но при этом менее эффективен, т.е. имеет более низкий процент обнаружения вредоносных программ и более высокий процент ложных срабатываний (т.е. вынесения решения о вредоносности файла, анализируемого средствами программы-антивируса, при том, что анализируемый файл является безопасным). Динамический анализ из-за того, что использует данные, получаемые при исполнении или эмуляции работы анализируемой программы, более медленный и предъявляет более высокие требования к ресурсам вычислительного устройства на котором выполняется анализ, но при этом и более эффективен. Современные антивирусные программы используют комплексный анализ, включающий в себя как элементы статического, так и динамического анализа.
Поскольку современные стандарты информационной безопасности требуют оперативного реагирования на вредоносные программы (в особенности на новые), на первый план выходят автоматические средства обнаружения вредоносных программ. Для эффективной работы упомянутых средств зачастую применяются элементы искусственного интеллекта и разнообразные методы машинного обучения моделей обнаружения вредоносных программ (т.е. совокупности правил принятия решения о вредоносности файла на основании некоторого набора входных данных, описывающих вредоносный файл), позволяющие эффективно обнаруживать не только хорошо известные вредоносные программы или вредоносные программы с хорошо известным вредоносным поведением, но и новые вредоносные программы, обладающие неизвестным или слабо исследованным вредоносным поведением, а также оперативно адоптироваться (обучаться) к обнаружению новых вредоносных программ.
В патентной публикации US 9288220B2 описана технология обнаружения вредоносного ПО в сетевом трафике. С этой целью из данных, выбранных из сетевого трафика, выделяют характерные признаки (признаки, характеризующие тип исполняемого файла, поведение исполняемого файла, тип передаваемых по компьютерной сети данных, например тип и размер передаваемых по компьютерной сети данных, действия, выполняемые при исполнении файла, наличие заранее заданных сигнатур в файле и т.д.), в качестве которых может выступать признаковое описание выбранных данных, т.е. вектор (англ. feature vector), составленный из значений, соответствующих некоторому набору признаков для объекта, содержащего выбранные данные. Применяя модели обнаружения безопасных файлов, обнаружения вредоносных файлов и определения типов вредоносных файлов, предварительно обученные с использованием методов машинного обучения на основании шаблонов, составленных из схожих с упомянутыми характерных признаков, определяют, с каким весом и к какому типу вредоносного ПО относятся выбранные данные, и выносят решение об обнаружении вредоносного ПО в сетевом трафике.
Хотя описанная выше технология хорошо справляется с обнаружением вредоносных файлов, обладающих некоторыми характерными признаками (т.е. данными, описывающими некоторые особенности файлов из некоторой совокупности файлов, например, наличие графического интерфейса, шифрования данных, передачи данных по компьютерной сети и т.д.), схожими с характерными признаками уже известных вредоносных файлов, она не способна справиться с обнаружением вредоносных файлов, имеющих отличные характерные признаки (хотя и схожее поведение) от характерных признаков уже известных вредоносных файлов, кроме того описанная выше технология не раскрывает такие аспекты машинного обучения моделей, как тестирование и переобучение моделей, а также формирование и переформирование (в зависимости от результатов упомянутого выше тестирования) характерных признаков.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов.
Раскрытие изобретения
Изобретение предназначено для классификации объектов вычислительной системы.
Технический результат настоящего изобретения заключается в увеличении точности классификации объектов вычислительной системы за счет использования двух степеней оценки принадлежности объектов вычислительной системы к классам.
Данный результат достигается с помощью использования системы, классификации объектов вычислительной системы, которая содержит: средство сбора, предназначенное для сбора данных, описывающих объект вычислительной системы (далее, объект); средство формирования сверток, предназначенное для формирования на основании собранных средством сбора данных о состоянии объекта вектора признаков, характеризующего состояние объекта; средство вычисления степеней схожести, предназначенное для вычисления на основании сформированного средством формирования сверток вектора признаков с использованием обученной модели вычисления параметров степень схожести, представляющую численное значение, характеризующее вероятность того, что классифицируемый объект может принадлежать к заданному классу, и предельную степень отличия, представляющую собой численное значение, характеризующее вероятность того, что классифицируемый объект гарантированно окажется принадлежащим к другому заданному классу; средство анализа, предназначенное для вынесения решения о принадлежности объекта к заданному классу, в случае, когда собранные до срабатывания заданного правила сбора данные о состоянии объекта удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных средством вычисления степеней схожести степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта по установленной взаимосвязи между степенью схожести и предельной степени отличия.
В другом частном случае реализации системы вектор признаков представляет собой свертку собранных данных, сформированную в виде совокупности чисел.
Еще в одном частном случае реализации системы в случае, если в течении периода, определяемого заданным правилом сбора, было вычислено по меньшей мере две степени схожести и предельные степени отличия, совокупность последовательно вычисленных степеней схожести и предельных степеней отличия описывается заранее заданным временным законом.
В другом частном случае реализации системы в качестве правила сбора выступает по меньшей мере: интервал времени между различными состояниями объекта удовлетворяет заданному значению; изменение параметра вычислительной системы, приводящего к изменению состояния объекта, удовлетворяет заданному значению.
Еще в одном частном случае реализации системы модель вычисления параметров была предварительно обучена методом машинного обучения на по меньшей мере двух объектах, принадлежащих разным классам.
В другом частном случае реализации системы в качестве метода машинного обучения модели вычисления параметров выступает по меньшей мере: градиентный бустинг на деревьях принятия решений; решающие деревья; метод ближайших соседей kNN; метод опорных векторов.
Еще в одном частном случае реализации системы данные о состоянии объекта включают по меньшей мере: действия, выполняемые вычислительной системой над объектом; действия, выполняемые объектом над вычислительной системой; параметры вычислительной системы, изменения которых приводит к изменению состояния объекта; статические параметры объекта.
В другом частном случае реализации системы по меньшей мере вычисляемая степень схожести или предельная степень отличия зависят от степени схожести и соответственно предельной степени отличия, вычисленных по меньшей мере: в момент создания объекта; в момент первого изменения состояния объекта; на основании анализа статических параметров объекта.
Еще в одном частном случае реализации системы обученная модель вычисления параметров представляет собой совокупность правил вычисления степени схожести объекта и предельной степени отличия объекта, зависящих от определенных данных о динамике изменения состояния объекта.
В другом частном случае реализации системы временные законы, описывающие совокупность последовательно вычисленных степеней схожести и совокупность последовательно вычисленных предельных степеней отличия, имеют монотонных характер.
Еще в одном частном случае реализации системы в качестве взаимосвязи между степенью схожести и предельной степени отличия выступает по меньшей мере: отличие расстояния между степенью схожести и предельной степени отличия от заданного порогового значения; отличие площади, ограниченной в заданном временном интервале между степенью схожести и предельной степени отличия, от заранее заданного порогового значения; отличие скорости взаимного роста кривой, описывающей изменение степени вредоносности и предельной степени отличия, от заранее заданного значения.
В другом частном случае реализации системы дополнительно содержит средство корректировки параметров, предназначенное для переобучения модели вычисления параметров на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
Еще в одном частном случае реализации системы модель вычисления параметров переобучают таким образом, чтобы при использовании упомянутой модели, сформированный впоследствии критерий обеспечивал по меньшей мере: точность определения степени схожести и предельной степени отличия была выше, чем при использовании необученной модели вычисления параметров; использование вычислительных ресурсов были ниже, чем при использовании необученной модели вычисления параметров.
Данный результат достигается с помощью использования способа классификации объектов вычислительной системы, при этом способ содержит этапы, которые реализуются с помощью средств из системы классификации объектов вычислительной системы и на которых: собирают данные, описывающие состояние объекта вычислительной системы (далее, объект); формируют на основании собранных данных о состояниях объекта, вектор признаков, характеризующий состояние объекта; вычисляют на основании сформированного вектора признаков с использованием обученной модели вычисления параметров степень схожести, представляющую численное значение, характеризующее вероятность того, что классифицируемый объект может принадлежать к заданному классу, и предельную степень отличия, представляющую собой численное значение, характеризующее вероятность того, что классифицируемый объект гарантированно окажется принадлежащим к другому заданному классу; выносят решение о принадлежности объекта к заданному классу, в случае, когда собранные в течении периода, определяемого заданным правилом сбора на предыдущих этапах данные о состоянии объекта удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных на предыдущем этапе степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта по установленной взаимосвязи между степенью схожести и предельной степени отличия.
В другом частном случае реализации способа вектор признаков представляет собой свертку собранных данных, сформированную в виде совокупности чисел.
Еще в одном частном случае реализации способа в случае, если в течении периода, определяемого заданным правилом сбора, было вычислено по меньшей мере две степени схожести и предельные степени отличия, совокупность последовательно вычисленных степеней схожести и предельных степеней отличия описывается заранее заданным временным законом.
В другом частном случае реализации способа в качестве правила сбора выступает по меньшей мере: интервал времени между различными состояниями объекта удовлетворяет заданному значению; изменение параметра вычислительной системы, приводящего к изменению состояния объекта, удовлетворяет заданному значению.
Еще в одном частном случае реализации способа модель вычисления параметров была предварительно обучена методом машинного обучения на по меньшей мере двух объектах, принадлежащих разным классам.
В другом частном случае реализации способа в качестве метода машинного обучения модели вычисления параметров выступает по меньшей мере: градиентный бустинг на деревьях принятия решений; решающие деревья; метод ближайших соседей kNN; метод опорных векторов.
Еще в одном частном случае реализации способа данные о состоянии объекта включают по меньшей мере: действия, выполняемые вычислительной системой над объектом; действия, выполняемые объектом над вычислительной системой; параметры вычислительной системы, изменения которых приводит к изменению состояния объекта; статические параметры объекта.
В другом частном случае реализации способа по меньшей мере вычисляемая степень схожести или предельная степень отличия зависят от степени схожести и, соответственно, предельной степени отличия, вычисленных по меньшей мере: в момент создания объекта; в момент первого изменения состояния объекта; на основании анализа статических параметров объекта.
Еще в одном частном случае реализации способа обученная модель вычисления параметров представляет собой совокупность правил вычисления степени схожести объекта и предельной степени отличия объекта, зависящих от определенных данных о динамике изменения состояния объекта.
В другом частном случае реализации способа временные законы, описывающие совокупность последовательно вычисленных степеней схожести и совокупность последовательно вычисленных предельных степеней отличия, имеют монотонных характер.
Еще в одном частном случае реализации способа в качестве взаимосвязи между степенью схожести и предельной степени отличия выступает по меньшей мере: отличие расстояния между степенью схожести и предельной степени отличия от заданного порогового значения; отличие площади, ограниченной в заданном временном интервале между степенью схожести и предельной степени отличия, от заранее заданного порогового значения; отличие скорости взаимного роста кривой, описывающей изменение степени вредоносности и предельной степени отличия, от заранее заданного значения.
В другом частном случае реализации способа дополнительно переобучают модель вычисления параметров на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
Еще в одном частном случае реализации способа модель вычисления параметров переобучают таким образом, чтобы при использовании упомянутой модели, сформированный впоследствии критерий обеспечивал по меньшей мере: точность определения степени схожести и предельной степени отличия была выше, чем при использовании необученной модели вычисления параметров; использование вычислительных ресурсов были ниже, чем при использовании необученной модели вычисления параметров.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.
Фиг. 4 представляет пример схемы связей между элементами шаблонов поведения.
Фиг. 5 представляет структурную схему системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.
Фиг. 6 представляет структурную схему способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.
Фиг. 7 представляет структурную схему системы обнаружения вредоносного файла.
Фиг. 8 представляет структурную схему способа обнаружения вредоносного файла.
Фиг. 9 представляет примеры динамики изменения степени вредоносности и предельной степени безопасности от количества шаблонов поведения.
Фиг. 10 представляет структурную схему системы классификации объектов вычислительной системы.
Фиг. 11 представляет структурную схему способа классификации объектов вычислительной системы.
Фиг. 12 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Вредоносный файл - файл, исполнение которого заведомо способно привести к несанкционированному уничтожению, блокированию, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации.
Вредоносное поведение исполняемого файла - совокупность действий, которые могут быть выполнены при исполнении упомянутого файла и которые заведомо способны привести к несанкционированному уничтожению, блокированию, модификации, копированию информации или нейтрализации средств защиты компьютерной информации.
Вредоносная активность исполняемого файла - совокупность действий, выполненных упомянутым файлом в соответствии с его вредоносным поведением.
Вычислительное устройство среднестатистического пользователя -гипотетическое (теоретическое) вычислительное устройство, обладающее усредненными характеристиками вычислительных устройств заранее выбранной группы пользователей, на котором исполняются те же приложения, что и на вычислительных устройствах упомянутых пользователей.
Команда, исполняемая вычислительным устройством - совокупность машинных инструкций или инструкций сценариев, исполняемых вычислительным устройством на основании параметров упомянутых инструкций, называемых параметрами команды или параметрами, описывающими упомянутую команду.
Лексический анализ («токенизация», от англ. tokenizing) - процесс аналитического разбора входной последовательности символов на распознанные группы (далее - лексемы), с целью формирования на выходе идентификационных последовательностей (далее - токены).
Токен - идентификационная последовательность, формируемая из лексемы в процессе лексического анализа.
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.
Структурная схема системы машинного обучения состоит из средства подготовки обучающих выборок 111, средства формирования журналов поведения 112, средства формирования шаблонов поведения 121, средства формирования функций свертки 122, средства создания модели обнаружения 131, средства машинного обучения модели обнаружения 132, средства вычисления степени вредоносности, средства управления ресурсами.
В одном из вариантов реализации системы упомянутая система машинного обучения модели обнаружения представляет собой клиент серверную архитектуру, в которой средство подготовки обучающих выборок 111, средство формирования журналов поведения 112, средство формирования шаблонов поведения 121, средство формирования функций свертки 122, средство создания модели обнаружения 131 и средство машинного обучения модели обнаружения 132 работают на стороне сервера, а средство формирования шаблонов поведения 121, средство вычисления степени вредоносности и средство управления ресурсами работают на стороне клиента.
Например, в качестве клиента могут выступать вычислительные устройства пользователя такие, как персональный компьютер, ноутбук, смартфон и т.д., а в качестве сервера могут выступать вычислительные устройства антивирусной компании такие, как распределенные системы серверов, с помощью которых кроме всего прочего предварительно осуществляют сбор и антивирусный анализ файлов, создание антивирусных записей и т.д., при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для обнаружения вредоносных файлов на клиенте, тем самым повышая эффективность антивирусной защиты упомянутого клиента.
Еще в одном примере в качестве как клиента, так и сервера могут выступать вычислительные устройства только антивирусной компании, при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для автоматизированного антивирусного анализа файлов и создания антивирусных записей, тем самым повышая эффективность работы антивирусной компании.
Средство подготовки обучающих выборок 111 предназначено для:
• выборки по меньшей мере одного файла из базы файлов согласно заранее заданным правилам формирования обучающей выборки файлов, впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения;
• передачи выбранных файлов средству формирования журналов поведения 112.
В одном из вариантов реализации системы в базе файлов хранится по меньшей мере один безопасный файл и один вредоносный файл.
Например, в базе файлов в качестве безопасных файлов могут храниться файлы операционной системы «Windows», а в качестве вредоносных - файлы бэкдоров (англ. backdoor), приложений, осуществляющих несанкционированный доступ к данным и удаленному управлению операционной системой и компьютером в целом. При этом обученная на упомянутых файлах с помощью методов машинного обучения модель обнаружения вредоносных файлов будет способна с высокой точностью (точность тем выше, чем больше файлов было использовано для обучения упомянутой модели обнаружения) обнаруживать вредоносные файлы, обладающие функционалом, схожим с функционалом упомянутых выше бэкдоров.
Еще в одном из вариантов реализации системы дополнительно в базе файлов хранятся по меньшей мере:
• подозрительные файлы (англ. riskware) - файлы, не являющиеся вредоносными, но способные выполнять вредоносные действия;
• неизвестные файлы - файлы, вредоносность которых не была определена и остается неизвестной (т.е. файлы, не являющиеся безопасными, вредоносными, подозрительными и т.д.).
Например, в базе файлов в качестве подозрительных файлов могут выступать файлы приложений удаленного администрирования (к примеру, RAdmin), архивации или шифрования данных (к примеру, WinZip) и т.д.
Еще в одном из вариантов реализации системы в базе файлов хранятся файлы по меньшей мере:
• собранные антивирусными поисковыми роботами (англ. web crawler);
• переданные пользователями. При этом упомянутые файлы анализируются антивирусными экспертами, в том числе с помощью автоматических средств анализа файлов, для последующего вынесения решение о вредоносности упомянутых файлов.
Например, в базе файлов могут храниться файлы, переданные пользователями со своих вычислительных устройств антивирусным компаниям для проверки на вредоносность, при этом переданные файлы могут быть как безопасными, так и вредоносными, при этом распределение между количеством упомянутых безопасных и вредоносных файлов близко к распределению между количеством всех безопасных и вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей (т.е. отношение количества упомянутых безопасных к количеству упомянутых вредоносных файлов отличается от отношения количества всех безопасных к количеству всех вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей на величину меньше заданного порогового значения
Figure 00000002
). В отличии от файлов, переданных пользователями (т.е. файлов, субъективно подозрительных), файлы, собранные антивирусными поисковыми роботами, созданными для поиска подозрительных и вредоносных файлов, чаще оказываются вредоносными.
Еще в одном из вариантов реализации системы в качестве критериев, согласно которым выбираются файлы из базы файлов, выступает по меньшей мере одно из условий:
• распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя;
• распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, собранными с помощью антивирусных поисковых роботов;
• параметры файлов, выбранных из базы файлов, соответствуют параметрам файлов, расположенных на вычислительном устройстве среднестатистического пользователя;
• количество выбранных файлов соответствует заранее заданному значению, а сами файлы выбраны случайным образом.
Например, база файлов содержит 100000 файлов, среди которых 40% безопасных файлов и 60% вредоносных файлов. Из базы файлов выбирают 15000 файлов (15% от общего количества файлов, хранящихся в базе файлов) таким образом, чтобы распределение между выбранными безопасными и вредоносными файлами соответствовало распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя и составляло 95 к 5. С этой целью из базы файлов случайным образом выбирают 14250 безопасных файлов (35,63% от общего числа безопасных файлов) и 750 вредоносных файлов (1,25% от общего числа вредоносных файлов).
Еще в одном примере база файлов содержит 1250000 файлов, среди которых 95% безопасных файлов и 5% вредоносных файлов, т.е. распределение между безопасными и вредоносными файлами, хранящимися в базе файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя. Среди упомянутых файлов случайным образом выбирают 5000 файлов, среди которых с большой вероятностью окажется ~4750 безопасных файлов и ~250 вредоносных файлов.
Еще в одном из вариантов реализации системы в качестве параметров файла выступает по меньшей мере:
• вредоносность файла, характеризующая, является ли файл безопасным, вредоносным, потенциально опасным или поведение вычислительной системы при исполнении файла не определено и т.д.;
• количество команд, выполненных вычислительным устройством во время исполнения файла;
• размер файла;
• приложения, использующие файл.
Например, из базы файлов выбирают вредоносные файлы, представляющие собой сценарии на языке «ActionScript», выполняемые приложением «Adobe Flash», и не превышающие размер в 5КБ.
Еще в одном из вариантов реализации системы дополнительно средство подготовки обучающих выборок 111 предназначено для:
• выборки по меньшей мере еще одного файла из базы файлов согласно заранее заданным правилам формирования тестовой выборки файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения;
• передачи выбранных файлов средству формирования журналов поведения 112.
Например, база файлов содержит 75000 файлов, среди которых 20% безопасных файлов и 80% вредоносных файлов. Изначально из базы файлов выбирают 12500 файлов, среди которых 30% безопасных файлов и 70% вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения, затем из оставшихся 62500 файлов выбирают 2500 файлов, среди которых 60% безопасных файлов и 40% вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения. Данные, сформированные описанным выше образом, называется набором данных для перекрестной проверки (англ. cross-validation set of data).
Средство формирования журналов поведения 112 предназначено для:
• перехвата по меньшей мере одной исполняемой команды по меньшей мере во время:
Figure 00000001
исполнения полученного файла,
Figure 00000001
эмуляции исполнения полученного файла, при этом эмуляция исполнения файла включает в том числе открытие упомянутого файла (например, открытие сценария интерпретатором);
• определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду;
• формирования на основании перехваченных команд и определенных параметров журнала поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр).
Например, перехваченные во время исполнения вредоносного файла, собирающего пароли и передающего их по компьютерной сети, команды и вычисленные параметры упомянутых команд могут иметь вид:
Figure 00000003
В одном из вариантов реализации системы перехват команд из файла осуществляется с помощью по меньшей мере:
• специализированного драйвера;
• средства отладки (англ. debugger);
• гипервизора (англ. hypervisor).
Например, перехват команд при исполнении файла и определение их параметров осуществляется с помощью драйвера, использующего перехват сплайсингом (англ. splicing) точки входа (англ. entry point) WinAPI-функции.
Еще в одном примере перехват команд при эмуляции работы файла осуществляется непосредственно средствами эмулятора, выполняющего упомянутую эмуляцию, который определяет параметры команды, которую требуется эмулировать.
Еще в одном примере перехват команд при исполнении файла на виртуальной машине осуществляется средствами гипервизора, который определяет параметры команды, которую требуется эмулировать.
Еще в одном из вариантов реализации системы в качестве перехваченных команд из файла выступают по меньшей мере:
• API-функции;
• совокупности машинных инструкций, описывающих заранее заданный набор действий (макрокоманд).
Например, очень часто вредоносные программы осуществляют поиск некоторых файлов и модификацию их атрибутов, для чего выполняется последовательность команд, таких как:
Figure 00000004
, что может быть в свою очередь описано лишь одной командой
Figure 00000005
Еще в одном из вариантов реализации системы каждой команде ставится в соответствие свой уникальный идентификатор.
Например, всем WinAPI функциям могут быть поставлены в соответствие числа в диапазоне от 0x0000 до 0x8000, при этом каждой WinAPI-функции соответствует свое уникальное число (к примеру,
Figure 00000006
)•
Еще в одном из вариантов реализации системы нескольким командам, описывающим схожие действия, ставится в соответствие единый идентификатор.
Например, всем командам, таким как
Figure 00000007
Figure 00000008
и т.д., описывающим чтение данных из файла, ставится в соответствие идентификатор
Figure 00000009
(0x70F0).
Средство формирования шаблонов поведения 121 предназначено для:
• формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора (далее - элементы шаблона поведения);
• передачи сформированных шаблонов поведения средству формирования функций свертки 122;
Например, из журнала поведения выбирают следующие команды q (от англ. command) и параметры pt (от англ. parameter):
1,p1,p2,p3},
2,p1,p4},
{c3,p5},
(c2,p5},
{c1,p5,p6},
{c3,p2}.
На основании выбранных команд и параметров формируют шаблоны поведения, содержащие по одной команде и одному параметру, описывающему упомянутую команду:
{c1, p1}, {c1, р2}, {c1, p3}, {с1, р5}, {c1, р6},
{c2,p1}, {с24}, {c2,p5},
{c3,p2), {с35}.
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по одному параметру и все команды, описываемые упомянутым параметром:
{c1,c2,p1},
{c1, с3, р2},
{c1,c2,c3,p5},
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по несколько параметров и все команды, одновременно описываемые упомянутыми параметрами:
{c1,c2,p1,p5}.
В одном из вариантов реализации системы команды и параметры из журнала поведения выбирают на основании правил, по которым по меньшей мере выбирают:
• последовательно каждую i-ую команду и описывающие ее параметры, при этом шаг i является заранее заданным;
• команды, выполненные через заранее заданный промежуток времени (например, каждую десятую секунду) после предыдущей выбранной команды, и описывающие их параметры;
• команды и описывающие их параметры, выполненные в заранее заданном временном диапазоне с начала исполнения файла;
• команды из заранее заданного списка и описывающие их параметры;
• параметры из заранее заданного списка и описываемые упомянутыми параметрами команды;
• первые или случайные к параметров команд, в случае, когда количество параметров команд больше заранее заданного порогового значения.
Например, из журнала поведения выбирают все команды для работы с жестким диском (такие как, CreateFile, ReadFile, WriteFile, DeleteFile, GetFileAttribute и т.д.) и все параметры, описывающие выбираемые команды.
Еще в одном примере из журнала поведения выбирают каждую тысячную команду и все параметры, описывающие выбираемые команды.
В одном из вариантов реализации системы журналы поведения заранее сформированы из по меньшей мере двух файлов, один из которых - безопасный файл, а другой - вредоносный файл.
Еще в одном из вариантов реализации системы каждому элементу шаблона поведения ставится в соответствие такая характеристика, как тип элемента шаблона поведения. В качестве типа элемента шаблона поведения (команды или параметра) выступает по меньшей мере:
• в случае, если элемент шаблона поведения может быть выражен в виде числа - «численный диапазон»
например, для элемента шаблона поведения, представляющего собой параметр porthtml=80 команды connect, тип упомянутого элемента шаблона поведения может быть «численное значение от 0x0000 до 0xFFFF»,
• в случае, если элемент шаблона поведения может быть выражен в виде строки - «строка»
например, для элемента шаблона поведения, представляющего собой команду connect, тип упомянутого элемента шаблона поведения может быть «строка размером менее 32 символов»,
• в случае, если элемент шаблона поведения может быть выражен в виде данных, описываемых заранее заданной структурой данных, тип упомянутого элемента шаблона поведения может быть «структура данных»
например, для элемента шаблона поведения, представляющего собой параметр src=0x336b9a480d490982cdd93e2e49fdeca7 команды find_record, тип упомянутого элемента шаблона поведения может быть «структура данных MD5».
Еще в одном из вариантов реализации системы дополнительно в шаблон поведения в качестве элементов шаблона поведения включаются токены, сформированные на основании лексического анализа упомянутых элементов шаблона поведения с использованием по меньшей мере:
• заранее заданных правил формирования лексем,
• заранее обученной рекурсивной нейронной сети (англ. recurrent neural network).
Например, с помощью лексического анализа параметра
Figure 00000010
на основании правил формирования лексем:
• если строка содержит путь к файлу, определить диск, на котором расположен файл;
• если строка содержит путь к файлу, определить папки, в которых расположен файл;
• если строка содержит путь к файлу, определить расширение файла;
где в качестве лексем выступают:
• пути к файлу;
• папки, в которых расположены файлы;
• имена файлов;
• расширения файлов; могут быть сформированы токены:
«пути к файлу» →
Figure 00000011
«папки, в которых расположены файлы» →
Figure 00000012
«расширения файлов» ->
Figure 00000013
Еще в одном примере с помощью лексического анализа параметров
Figure 00000014
на основании правила формирования лексемы:
• если параметры представляют собой IP-адреса, определить битовую маску (или ее аналог, выраженный через метасимволы), описывающую упомянутые IP-адреса (т.е. такую битовую маску М, для которой верно равенство
Figure 00000015
для всех упомянутых IP);
может быть сформирован токен:
Figure 00000016
Еще в одном примере из всех доступных параметров, в качестве которых выступают числа, формируют токены чисел в заранее заданных диапазонах:
23, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52,
2625, 3732, 812, 3671, 80, 3200
сортируют по диапазонам чисел: от 0 до 999
→ {16, 23, 52, 80,512,812},
от 1000 до 9999
→ {2625, 3200, 3671, 7224},
от 10000
→ {737382, 2662162, 363627632, 6125152186}
Еще в одном из вариантов реализации системы токены формируются из элементов шаблона поведения, в качестве которых выступают строки.
Например, шаблон поведения представляет собой путь к файлу, содержащему названия диска, директории, файла, расширения файла и т.д. В этом случае токен может представлять собой название диска и расширение файла.
Figure 00000017
Средство формирования функций свертки 122 предназначено для:
• формирования такой функции свертки от шаблона поведения, что обратная функция свертки от результата такой функции свертки над полученным шаблоном поведения будет иметь степень схожести с полученным шаблоном поведения больше заданного значения, т.е.
r~g-1(g(r))
где:
ri - шаблон поведения,
g - функция свертки,
g-1 - обратная функция свертки.
• передачи сформированной функции свертки средству машинного обучения модели обнаружения 132.
В одном из вариантов реализации системы средство формирования функций свертки дополнительно предназначено для:
• вычисления признакового описания (англ. feature vector) шаблона поведения на основании полученного шаблона поведения, при этом признаковое описание шаблона поведения может быть выражено как сумма хэш-сумм от элементов шаблона поведения;
• формирования функции свертки от признакового описания шаблона поведения, при этом функция свертки представляет собой хэш-функцию, такую, что степень схожести вычисленного признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания больше заранее заданного значения.
Еще в одном из вариантов реализации системы функция свертки формируется методом метрического обучения (англ. metric learning), т.е. таким образом, что расстояние между свертками, полученными с помощью упомянутой функции свертки для шаблонов поведения имеющих степень схожести больше заранее заданного порогового значения было меньше заранее заданного порогового значения, а для шаблонов поведения имеющих степень схожести менее заранее заданного порогового значения - больше заранее заданного порогового значения.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
• предварительно создают пустой битовый вектор, состоящий из 100000 элементов (где для каждого элемента вектора зарезервирован один бит информации);
• для хранения данных о командах q из шаблона поведения r отводят 1000 элементов, оставшиеся 99000 элементов отводят для параметров ci из шаблона поведения r, при этом для строковых параметров отводят 50000 элементов (с 1001 элемента по 51000 элемент), для численных - 25000 элементов (с 51001 элемента по 76000 элемент);
• каждой команде ci из шаблона поведения r ставят в соответствие некоторое число xi от 0 до 999, и устанавливают соответствующий бит в созданном векторе
ν[xi]=true;
• для каждого параметра р^ из шаблона поведения г вычисляют хэш-сумму по формуле:
Figure 00000018
, и в зависимости от вычисленной хэш-суммы устанавливают
соответствующий бит в созданном векторе
ν[yi]=true;
Описанный битовый вектор с установленными элементами представляет собой признаковое описание шаблона поведения r.
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения вычисляется согласно формуле:
Figure 00000019
где:
b - основание позиционной системы счисления (например,
для бинарного вектора b=2, для вектора, представляющего собой строку, т.е. совокупность символов, b=8),
ri - i-ый элемент шаблона поведения,
h - хэш-функция, при этом 0≤h(ri)<b.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
• предварительно создают еще один (отличный от предыдущего примера) пустой битовый вектор, состоящий из 1000 элементов (где для каждого элемента вектора зарезервирован один бит информации);
• для каждого элемента шаблона ri из шаблона поведения r вычисляют хэш-сумма по формуле:
Figure 00000020
, и в зависимости от вычисленной хэш-суммы устанавливают соответствующий бит в созданном векторе
ν[xi]=true;
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения представляет собой фильтр Блума.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
• предварительно создают еще один (отличный от предыдущих примеров) пустой вектор, состоящий из 100000 элементов;
• для каждого элемента шаблона ri из шаблона поведения r вычисляют по меньшей мере две хэш-суммы с помощью набора хэш-функций {hj} по формуле:
xij=hj(ri)
где:
hj(ri)=crc32(ri),
hj(0)=constj
, и в зависимости от вычисленных хэш-сумм устанавливают соответствующие элементы в созданном векторе
ν[xij]=true.
Еще в одном из вариантов реализации системы размер результата сформированной функции свертки от признакового описания шаблона поведения меньше размера упомянутого признакового описания шаблона поведения.
Например, признаковое описание представляет собой битовый вектор, содержащий 100000 элементов, и тем самым имеет размер 12500 байт, а результат функции свертки от упомянутого признакового описания представляет собой набор из 8 MD5 хэш-сумм и тем самым имеет размер 256 байт, т.е. ~2% от размера признакового описания.
Еще в одном из вариантов реализации системы степень схожести признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания представляет собой численное значение в диапазоне от 0 до 1 и вычисляется согласно формуле:
Figure 00000021
где:
h(ri)∧gi обозначает совпадение h(ri) с gi
и
{h(ri)} - совокупность результатов хэш-функций от элементов шаблона поведения,
{gi} - совокупность результатов обратной хэш-функции от результата хэш-функции от элементов шаблона поведения,
ri - i-ый элемент шаблона поведения,
h - хэш-функция,
w - степень схожести. Например, вычисленное признаковое описание представляет собой битовый вектор
Figure 00000022
, результат функции свертки от упомянутого признакового описания
Figure 00000023
, а результат обратной функции свертки от полученного выше результата
Figure 00000024
(где жирным шрифтом отмечены элементы, отличные от признакового описания). Таким образом, схожесть признакового описания и результата обратной функции свертки составляет 0,92.
Еще в одном из вариантов реализации системы упомянутая хэш-функция, принимающая в качестве параметра элемент шаблона поведения, зависит от типа элемента шаблона поведения:
Figure 00000025
Например, для вычисления хэш-суммы от параметра из шаблона поведения, представляющего собой строку, содержащую путь к файлу, используется хэш-функция CRC32, любую другую строку - алгоритм Хаффмана, набор данных - хэш-функция MD5.
Еще в одном из вариантов реализации системы формирование функции свертки от признакового описания шаблона поведения выполняется через автокодировщик (англ. autoencoder), при этом в качестве входных данных выступают элементы упомянутого признакового описания шаблона поведения, а в качестве выходных данных - данных, имеющие коэффициент схожести с входными данными выше заранее заданного порогового значения.
Средство создания модели обнаружения 131 предназначено для:
• создания модели обнаружения вредоносных файлов, которое включает в себя по меньшей мере:
Figure 00000001
выбор метода машинного обучения модели обнаружения;
Figure 00000001
инициализации параметров модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпарамерами (англ. hyperparameter);
в зависимости от параметров файлов, выбранных средством подготовки обучающих выборок 111;
• передачи созданной модели обучения средству машинного обучения модели обнаружения 132.
Например, при выборе метода машинного обучения модели обнаружения вначале выносится решение следует ли использовать в качестве модели обнаружения искусственную нейронную сеть или случайные леса (англ. random forest), затем, в случае выбора случайного леса, выбирается разделяющий критерий для узлов случайного леса; или в случае выбора искусственной нейронной сети, выбирается метод численной оптимизации параметров искусственной нейронной сети. При этом решение о выборе того или иного метода машинного обучения принимается на основании эффективности упомянутого метода при обнаружении вредоносных файлов (т.е. количества ошибок первого и второго рода, возникающих при обнаружении вредоносных файлов) с использованием входных данных (шаблонов поведения) заранее заданного вида (т.е. структуры данных, количества элементов шаблонов поведения, производительности вычислительного устройства на котором выполняется поиск вредоносных файлов, доступных ресурсов вычислительного устройства и т.д.).
Еще в одном примере метод машинного обучения модели обнаружения выбирают на основании по меньшей мере:
• перекрестной проверки, скользящего контроля, кросс-валидации (англ. cross-validation, CV);
• математического обоснования критериев AIC, BIC и т.д.;
• А/В тестирования (англ. А/В testing, split testing);
• стекинга.
Еще в одном примере в случае невысокой производительности вычислительного устройства выбирают случайные леса, в противном случае -искусственную нейронную сеть.
В одном из вариантов реализации системы выполняется машинное обучение заранее созданной необученной модели обнаружения (т.е. модели обнаружения, у которой параметры упомянутой модели не позволяют получить на основании анализа входных данных выходных данных с точностью выше заранее заданного порогового значения).
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:
• градиентный бустинг на деревьях принятия решений (англ. decision-tree-based gradient boosting);
• деревья принятия решений (англ. decision trees);
• ближайших соседей kNN (англ. K-nearest neighbor method);
• опорных векторов (англ. support vector machine, SVM).
Еще в одном из вариантов реализации системы дополнительно средство создания модели обнаружения 131 предназначено для создания модели обнаружения по запросу от средства машинного обучения 132, при этом определенные гиперпараметры и методы машинного обучения выбираются отличными от гиперпараметров и методов машинного обучения, выбранных для предыдущей модели обнаружения.
Средство машинного обучения модели обнаружения 132 предназначено для обучения модели обнаружения, в которой параметры модели обнаружения вычисляются с использованием полученной функции свертки над полученными шаблонами поведения, где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.
Например, модель обнаружения обучают на известном наборе файлов, выбранных средством подготовки обучающих выборок 111, при этом упомянутый набор файлов содержит 60% безопасных файлов и 40% вредоносных файлов.
В одном из вариантов реализации системы степень вредоносности файла представляет собой численное значение от 0 до 1, при этом 0 означает, что упомянутый файл безопасный, 1 - вредоносный.
Еще в одном из вариантов реализации системы выбирается метод обучения модели обнаружения, обеспечивающий монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
Например, монотонное изменение степени вредоносности файла приводит к тому, что при анализе каждого последующего шаблона поведения, вычисленный степень вредоносности оказывается не меньше чем, вычисленный ранее степень вредоносности (к примеру, после анализа 10ого шаблона поведения вычисленный степень вредоносности равен 0,2, после анализа 50ого шаблона поведения - 0,4, а после анализа 100ого шаблона поведения - 0,7).
Еще в одном из вариантов реализации системы дополнительно средство машинного обучения модели обнаружения 132 предназначено для:
• выполнения проверки обученной модели обнаружения на полученных журналах поведения, сформированных на основании анализа файлов из тестовой выборки файлов, с целью определить корректность определения вредоносности файлов из тестовой выборки файлов;
• в случае отрицательного результата проверки передачи запроса по меньшей мере:
Figure 00000001
средству подготовки обучающих выборок 111 для подготовки выборки файлов, отличной от текущей, на которой производилось обучение модели обнаружения;
Figure 00000001
средству создания модели обнаружения 131 для создания новой модели обнаружения, отличной от текущей.
При этом проверка обученной модели обнаружения заключается в следующем. Упомянутая модель обнаружения была обучена на основании набора выбранных средством подготовки обучающих выборок 111 файлов для которых было известно являются ли они безопасными или вредоносными. Для того, чтобы проверить, что модель обнаружения вредоносных файлов была обучена корректно, т.е. упомянутая модель обнаружения сможет обнаруживать вредоносные файлы и пропускать безопасные файлы выполняется проверка упомянутой модели. С этой целью с помощью упомянутой модели обнаружения определяют являются ли файлы из другого набора выбранных средством подготовки обучающих выборок 111 файлов вредоносными, при этом являются ли упомянутые файлы вредоносными известно заранее. Таким образом, определяют сколько вредоносных файлов было «пропущено» и сколько безопасных файлов было обнаружено. Если количество пропущенных вредоносных и обнаруженных безопасных файлов больше заранее заданного порогового значения, то упомянутая модель обнаружения считается некорректно обученной и требуется выполнить ее повторное машинное обучение (например, на другой обучающей выборке файлов, с использованием отличных от предыдущих значений параметров модели обнаружения и т.д.).
Например, при выполнении проверки обученной модели проверяется количество ошибок первого и второго рода при обнаружении вредоносных файлов из тестовой выборки файлов. Если количество упомянутых ошибок превышает заранее заданное пороговое значение, то выбирается новая обучающая и тестовая выборка файлов и создается новая модель обнаружения.
Еще в одном примере обучающая выборка файлов содержала 10000 файлов из которых 8500 было вредоносными, а 1500 - безопасными. После того как модель обнаружения была обучена, ее проверили на тестовой выборке файлов, содержащей 1200 файлов, из которых 350 было вредоносными, а 850 - безопасными. По результатам выполненной проверки 15 из 350 вредоносных файлов обнаружить не удалось (4%), в тоже время 102 из 850 безопасных файлов (12%) ошибочно было признано вредоносными. В случае, когда количество не обнаруженных вредоносных файлов превышает 5% или случайно обнаруженных безопасных файлов превышает 0,1% обученная модель обнаружения признается некорректно обученной.
В одном из вариантов реализации системы дополнительно журнал поведения системы формируется на основании ранее сформированного журнала поведения системы и команд, перехваченных после формирования упомянутого журнала поведения системы.
Например, после начала исполнения файла, для которого требуется вынести вердикт о вредоносности или безопасности упомянутого файла, перехваченные выполняемые команды и описывающие их параметры записываются в журнал поведения. На основании анализа упомянутых команд и параметров вычисляется степень вредоносности упомянутого файла. Если по результатам анализа решения о признании файла вредоносным или безопасным вынесено не было, перехват команд может быть продолжен. Перехваченные команды и описывающие их параметры дописываются в старый журнал поведения или в новый журнал поведения. В первом случае степень вредоносности вычисляется на основании анализа всех команда и параметров, записанных в журнале поведения, т.е. и тех, которые ранее использовались для вычисления степени вредоносности.
Средство вычисления степени вредоносности предназначено для:
• вычисления степени вредоносности на основании полученного от средства формирования журнала поведения 112 журнала поведения и от средства машинного обучения модели обнаружения 132 модели обнаружения, при этом степень вредоносности файла представляет собой количественную характеристику (например, лежащую в диапазоне от 0 - файл обладает исключительно безопасным поведением до 1 - упомянутый файл обладает заранее заданным вредоносным поведением), описывающую вредоносное поведение исполняемого файла;
• передачи вычисленного степени вредоносности средству управления ресурсами.
Средство управления ресурсами предназначено для на основании анализа полученного степени вредоносности выделения вычислительных ресурсов компьютерной системы для использования их при обеспечении безопасности компьютерной системы.
В одном из вариантов реализации системы в качестве вычислительных ресурсов компьютерной системы выступают по меньшей мере:
• объем свободной оперативной памяти;
• объем свободного места на жестких дисках;
• свободное процессорное время (кванты процессорного времени), которое может быть потрачено на антивирусную проверку (например, с большей глубиной эмуляции).
Еще в одном из вариантов реализации системы анализ степени вредоносности заключается в определении динамики изменения значения степени вредоносности после каждого из предыдущих вычислений степени вредоносности и в случае по меньшей мере:
• увеличение значения степени вредоносности - выделения дополнительных ресурсов компьютерной системы;
• уменьшение значения степени вредоносности - освобождение ранее выделенных ресурсов компьютерной системы.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.
Структурная схема способа машинного обучения модели обнаружения вредоносных файлов содержит этап 211, на котором подготавливают обучающие выборки файлов, этап 212, на котором формируют журналы поведения, этап 221, на котором формируют шаблоны поведения, этап 222, на котором формируют функции свертки, этапа 231, на котором создают модель обнаружения, этапа 232, на котором обучаю модель обнаружения, этапа, на котором отслеживают поведение компьютерной системы, этапа, на котором вычисляют степень вредоносности, этап, на котором управляют ресурсами компьютерной системы.
На этапе 211 с помощью средства подготовки обучающих выборок 111 выбирают по меньшей мере один файл из базы файлов согласно заранее заданным критериям, при этом на основании выбранных файлов на этапе 232 будут выполнять обучение модели обнаружения.
На этапе 212 с помощью средства формирования журналов поведения 112:
• перехватывают по меньшей мере одну команду по меньшей мере во время:
Figure 00000001
исполнения выбранного на этапе 211 файла,
Figure 00000001
эмуляции работы выбранного на этапе 211 файла;
• определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду;
• формируют на основании перехваченных команд и определенных параметров журнал поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр).
На этапе 221 с помощью средства формирования шаблонов поведения 121 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения, сформированного на этапе 212, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.
На этапе 222 с помощью средства формирования функций свертки 122 формируют такую функцию свертки от шаблона поведения, сформированного на этапе 221, что обратная функция свертки от результата такой функции свертки над упомянутым шаблоном поведения будет иметь степень схожести с упомянутым шаблоном поведения больше заданного значения.
На этапе 231 с помощью средства создания модели обнаружения 131 создают модель обнаружения для чего по меньшей мере:
• выбирают метод машинного обучения модели обнаружения;
• инициализируют параметры модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпарамерами (англ. hyperparameter),
в зависимости от параметров файлов, выбранных на этапе 211.
На этапе 232 с помощью средства машинного обучения модели обнаружения 132 обучают модель обнаружения, созданную на этапе 231, в которой параметры упомянутой модели обнаружения вычисляются с использованием функции свертки, сформированной на этапе 222, над шаблонами поведения, сформированными на этапе 221, где модель обнаружения где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.
С помощью средства отслеживания поведения:
• перехватывают по меньшей мере одну команду, исполняемую файлами, работающими в компьютерной системе;
• формируют на основании перехваченных команд журнал поведения системы.
С помощью средства вычисления степени вредоносности вычисляют степень вредоносности на основании журнала поведения системы, сформированного на предыдущем этапе, и модели обнаружения, обученной на этапе 232.
С помощью средства управления ресурсами на основании анализа степени вредоносности, вычисленного на предыдущем этапе, выделяют вычислительные ресурсы для использования их при обеспечении безопасности компьютерной системы.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.
Примеры динамики изменения степени вредоносности от количества шаблонов поведения содержит график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 311, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 312, график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 321, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 322.
В одном из вариантов реализации системы степень вредоносности исполняемого файла принимает значение в диапазоне от 0 (упомянутый файл обладает исключительно безопасным поведением) до 1 (упомянутый файл обладает заранее заданным вредоносным поведением).
На графике 311 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленный степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент А). В определенный момент степень вредоносности становится больше критерия вредоносности (момент В) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.
При этом момент признания файла вредоносным может произойти значительно позже начала роста вредоносной активности, поскольку описанный подход хорошо реагирует на резкий рост степени вредоносности, что происходит чаще всего при длительной, явно выраженной вредоносной активности исполняемого файла.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 311), вычисленный степень вредоносности может не достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и, следовательно, вредоносности самого исполняемого файла.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность), и не будет вычислен в момент В (когда происходит вредоносная активность), из-за чего вычисленные степени вредоносности не превысят критерия вредоносности, активность исполняемого файла не будет признана вредоносной и, следовательно, вредоносный файл не будет обнаружен.
На графики 312 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленный степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти. В определенный момент степень вредоносности становится больше критерия вредоносности (момент D) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.
При этом момент признания файла вредоносным может произойти сразу после выявления вредоносной активности, поскольку описанный подход хорошо реагирует на плавный рост степени вредоносности, что происходит как при длительной, явно выраженной вредоносной активности исполняемого файла, так и при частых эпизодической слабовыраженной вредоносной активности.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 312), вычисленный степень вредоносности со временем может достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и вредоносности самого исполняемого файла.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность), и не будет вычислен в момент В (когда происходит вредоносная активность), тем, не менее, поскольку степень вредоносности меняется монотонно вычисленные степени вредоносности только увеличивают свои значения и в момент С степень вредоносности превысит критерий вредоносности, активность исполняемого файла будет признана вредоносной и, следовательно, вредоносный файл будет обнаружен.
На графике 321 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» действия, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленный степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), но может превышать критерий безопасности, таким образом файл может перестать считаться безопасным и стать «подозрительным».
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент С).
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислен в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), из-за чего вычисленный степень вредоносности превысит критерий безопасности, активность исполняемого файла будет признана «подозрительной» (не будет признана безопасной) и, следовательно, безопасный файл не будет признан безопасным.
На графике 322 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» действия, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленный степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), а также может не превышать критерий безопасности, таким образом файл будет продолжать считаться безопасным.
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти, но при этом не превышать коэффициент безопасности, таким образом активность исполняемого файла будет считаться безопасной и, следовательно, упомянутый файл будет считаться безопасным.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислен в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), тем, не менее, поскольку степень вредоносности меняется монотонно вычисленные степени вредоносности только увеличивают свои значения, в моменты А, В, С степени вредоносности не превысят критерия безопасности, активность исполняемого файла будет признана безопасной и, следовательно, безопасный файл будет признан безопасным.
При этом момент признания файла «подозрительным» может не произойти после выявления «подозрительной» активности, поскольку описанный подход обеспечивает на плавный рост степени вредоносности, что позволяет избежать резких пиков при росте степени вредоносности.
Фиг.4 представляет пример схемы связей между элементами шаблонов поведения.
Пример схемы связей между элементами шаблонов поведения содержит команды 411 (пустые кружки), параметры 412 (штрихованные кружки), пример шаблона поведения с одним параметром 421, пример шаблона поведения с одной командой 422.
Во время исполнения файла были перехвачены команды 411 и определены описывающие им параметры 412:
Figure 00000026
Figure 00000027
На основании упомянутых команд 411 и параметров 412 формируют шаблоны поведения (421, 422) и определяют связи между элементами шаблонов поведения.
На первом этапе формируют шаблоны, содержащие одну команду 411 и один параметр 412, описывающий упомянутую команду:
Figure 00000028
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было сформировано 19 шаблонов поведения.
На втором этапе формируют шаблоны, содержащие один параметр 412 и все команды 411, описываемые упомянутым параметром 412:
Figure 00000029
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 7 шаблонов поведения.
На третьем этапе формируют шаблоны, содержащие несколько параметров 412 и все команды 411, описываемые упомянутыми шаблонами 412:
Figure 00000030
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 3 шаблона поведения.
Фиг. 5 представляет структурную схему системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.
Структурная схема системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов состоит из анализируемого файла 501, средства формирования журналов поведения 112, средства выбора моделей обнаружения 520, базы моделей обнаружения 521, средства анализа журнала поведения 530, средства вычисления степени вредоносности 540, базы шаблонов решений 541 и средства анализа 550.
В одном из вариантов реализации системы упомянутая система дополнительно содержит средство формирования журналов поведения 112 исполняемого файла, предназначенное для:
Figure 00000001
перехвата по меньшей мере одной команды по меньшей мере во время:
Figure 00000001
исполнения файла 501,
Figure 00000001
эмуляции исполнения файла 501;
Figure 00000001
определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду;
Figure 00000001
формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла, при этом перехваченные команды и описывающие их параметры записываются в журнал поведения в хронологическом порядке от более ранней перехваченной команды к более поздней перехваченной команды (далее - запись в журнале поведения);
Figure 00000001
передачи сформированного журнала поведения средству анализа журнала поведения 530 и средству выбора моделей обнаружения 520.
Еще в одном из вариантов реализации системы журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла 501, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
Еще в одном из вариантов реализации системы перехват команд исполняемого файла 501 и определение параметров перехваченных команд осуществляется на основании анализа производительности вычислительного устройства, на котором работает система обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов, что включает в себя по меньшей мере:
Figure 00000001
определения, возможно ли проанализировать исполняемый файл 501 на вредоносность (осуществляемое с помощью средства анализа журнала поведения 530, средства вычисления степени вредоносности 540 и средства анализа 550) до момента, когда будет перехвачена следующая команда;
Figure 00000001
определения, не приведет ли анализ исполняемого файла 501 на вредоносность к снижению вычислительных ресурсов упомянутого вычислительного устройства ниже заранее заданного порогового значения, при этом в качестве ресурсов вычислительного устройства выступает по меньшей мере:
Figure 00000001
производительность упомянутого вычислительного устройства;
Figure 00000001
объем свободной оперативной памяти упомянутого вычислительного устройства;
Figure 00000001
объем свободного места на носителях информации упомянутого вычислительного устройства (например, жестких дисках);
Figure 00000001
пропускная способность компьютерной сети к которой подключено упомянутое вычислительное устройство.
Для повышения производительности системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов может потребоваться анализировать журнал поведения, содержащего не все выполняемые команды исполняемого файла 501, поскольку вся последовательность действий, выполняемых для анализа файла 501 на вредоносность занимает времени больше, чем промежуток времени между двумя последовательно выполняемыми командами исполняемого файла 501.
Например, команды исполняемого файла 501 выполняются (а, следовательно, и перехватываются) каждую 0,001 сек, но анализ файла 501 на вредоносность занимает 0,15 сек, таким образом все команды, перехваченные в течении упомянутого промежутка времени, будут проигнорированы, таким образом достаточно перехватывать лишь каждую 150 команду.
Средство выбора моделей обнаружения 520 предназначено для:
• выборки из базы моделей обнаружения 521 по меньшей мере двух моделей обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности;
• передачи всех выбранных моделей обнаружения вредоносных файлов средству вычисления степени вредоносности 540.
В одном из вариантов реализации системы модели обнаружения вредоносных файлов, хранящиеся в базе моделей обнаружения 521, были предварительно обучены методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
Более подробно модель обнаружения вредоносных файлов описана на Фиг. 1-Фиг. 4.
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:
• градиентный бустинг на деревьях принятия решений;
• деревья принятия решений;
• ближайших соседей kNN;
• опорных векторов.
Еще в одном из вариантов реализации системы метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
Например, вычисленная степень вредоносности файла 501 может только монотонно возрастать или не изменяться в зависимости от количества шаблонов поведения, сформированных на основании анализа журнала поведения упомянутого файла 501. В начале исполнения файла 501 количество сформированных шаблонов поведения незначительно, а вычисленная степень вредоносности упомянутого файла 501 незначительно отличается от 0, со временем количество сформированных шаблонов растет и вычисленная степень вредоносности упомянутого файла 501 также растет или если вредоносная активность упомянутого файла 501 отсутствует - вычисленная степень вредоносности остается неизменной, таким образом в какой-бы момент исполнения вредоносного файла 501 (или с какой бы записи из журнала поведения ни началось бы формирование шаблонов поведения) ни была бы вычислена степень вредоносности файла, она будет отражать, имела ли место вредоносная активность файла 501 или нет до момента вычисления упомянутой степени вредоносности.
Еще в одном из вариантов реализации системы каждая выбранная из базы моделей обнаружения 521 модель обнаружения вредоносных файлов обучена для обнаружения вредоносных файлов с заранее заданными уникальными характерными признаками.
Например, модели обнаружения, хранящиеся в базе моделей обнаружения 521, могут быть обучены для обнаружения файлов:
• обладающих графическим интерфейсом (англ. GUI - graphical user interface);
• обменивающиеся данными по компьютерной сети;
• шифрующих файлы (например, вредоносные файлы семейства «Trojan-Cryptors»);
• использующие для распространения сетевые уязвимости (например, вредоносные файлы семейства «Net-Worms»), Р2Р сети (например, вредоносные файлы семейства «P2P-Worms») и т.д.
Таким образом, вредоносный файл может быть обнаружен с использованием нескольких обученных моделей обнаружения вредоносных файлов. Например, вредоносный файл «WannaCry.exe» во время своего исполнения шифрующий данные на вычислительном устройстве пользователя и пересылающий свои копии другим вычислительным устройствам, подключенным к той же компьютерной сети, что и упомянутое вычислительное устройство пользователя, на котором исполняется упомянутый файл, может быть обнаружен с помощью модели обнаружения #1, обученной для обнаружения файлов, использующих уязвимости, модели обнаружения #2, обученной для обнаружения файлов, предназначенных для шифрования файлов и модели обнаружения #3, обученной для обнаружения файлов, содержащих текстовую информацию, интерпретируемую как выдвигаемые требования (например, о форме оплаты, денежных суммах и т.п.). При этом степени вредоносности, вычисленная с помощью упомянутых моделей, а также моменты времени, когда вычисленные степени вредоносности превысят заранее заданное пороговое значение, могут различаться. Например, результаты использования моделей обнаружения вредоносных файлов с помощью которых удалось обнаружить вредоносный файл 501 могут быть выражены в следующей таблице:
Figure 00000031
Файл 501 признается вредоносным в случае, когда вычисленная степень вредоносности превосходит 0,78. При этом степень вредоносности (например, 0,78) характеризует вероятность того, что файл для которого вычислена степень вредоносности может оказаться вредоносным (78%) или безопасным (22%). Если файл 501 может быть признан вредоносным с использованием нескольких моделей обнаружения вредоносных файлов, то вероятность того, что файл 501 окажется вредоносным возрастает. Например для моделей обнаружения вредоносных файлов, по которым приведены данные в Таблице #1, итоговая степень вредоносности может быть вычислена по формуле
Figure 00000032
где
wtotal - итоговая степень вредоносности,
wi - степень вредоносности, вычисленная с использованием с модели i,
n - количество моделей обнаружения вредоносных файлов, использованных для вычисления итоговой степени вредоносности.
Таким образом полученная итоговая степень вредоносности (0,999685) значительно выше, чем заранее заданное пороговое значение, при превышении вычисленной степенью вредоносности которого (0,78) файл признается вредоносным. Т.е. использование нескольких моделей обнаружения вредоносных файлов позволяет значительно повысить точность определения вредоносных файлов, уменьшить ошибки первого и второго рода, возникающие при обнаружении вредоносных файлов.
Еще в одном примере использование нескольких моделей обнаружения вредоносных файлов позволяет итоговой степени вредоносности достичь заранее заданное пороговое значение, при превышении вычисленной степенью вредоносности которого файл признается вредоносным, гораздо раньше, чем при использовании каждой из моделей обнаружения вредоносных файлов по отдельности. Например для моделей обнаружения вредоносных файлов, по которым приведены данные в Таблице #1, при условии, что вычисляемые степени вредоносности монотонно изменяются, №команды из журнала поведения, после которого файл будет признан вредоносным может быть вычислен по формуле
Figure 00000033
где
Idetect - № команды из журнала поведения, после анализа которой файл признается вредоносным,
Ii - № команды из журнала поведения, после анализа которой с использованием с модели i файл признается вредоносным,
wi - степень вредоносности, вычисленная с использованием с модели i,
n - количество моделей обнаружения вредоносных файлов, использованных для вычисления № команды из журнала поведения, после анализа которой файл признается вредоносным.
Таким образом полученный итоговый № команды из журнала поведения (207) значительно меньше, чем самый ранний №команды из журнала поведения (288), после анализа которой файл был признан вредоносным одной из моделей обнаружения вредоносных файлов (модель #2). Т.е. использование нескольких моделей обнаружения вредоносных файлов позволяет значительно повысить скорость (т.е. оперативность) определения вредоносных файлов.
Еще в одном примере разные модели обнаружения, хранящиеся в базе моделей обнаружения 521, могут быть обучены для обнаружения вредоносных файлов с несколькими не обязательно уникальными заранее заданными характерными признаками, т.е. модель обнаружения #1, может обнаруживать файлы, обладающие графическим интерфейсом и обменивающиеся данными по компьютерной сети, а модель #2, может обнаруживать файлы, обменивающиеся данными по компьютерной сети и распространяющиеся по упомянутой компьютерной сети с использованием сетевых уязвимостей. Обе упомянутые модели обнаружения могут обнаружить упомянутый вредоносный файл «WannaCry.exe» за счет общего характерного признака распространения файла по компьютерной сети с использованием сетевых уязвимостей.
Еще в одном из вариантов реализации системы выбирают из базы моделей обнаружения 521 такую модель обнаружения вредоносных файлов, которая обучалась на файлах, при исполнении которых по меньшей мере:
• выполнялись те же команды, что и команды, выбранные из журнала поведения исполняемого файла 501;
• использовались те же параметры, что и параметры, выбранные журнала поведения исполняемого файла 501.
Например из журнала поведения были выбраны команды «CreateFileEx», «ReadFile», «WriteFile», «CloseHandle», которые используются для модификации файлов, в том числе для шифрования файлов. Из базы моделей обнаружения 521 выбирают модель обнаружения, обученную для использования для обнаружения вредоносных файлов семейства «Trojan-Cryptors».
Еще в одном примере из журнала поведения были выбраны параметры «8080», «21», описывающие команды работы с компьютерной сетью (например, connect, где описанные выше параметры представляют собой порты соединения к электронному адресу). Из базы моделей обнаружения 521 выбирают модель обнаружения, обученную для использования для обнаружения файлов, обеспечивающих обмен данными по компьютерной сети.
Средство анализа журнала поведения 530 предназначено для:
• формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора;
• вычисления свертки от всех сформированных шаблонов поведения;
• передачи сформированной свертки средству вычисления степени вредоносности 540 исполняемого файла.
В одном из вариантов реализации системы вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного порогового значения.
Более подробно формирование и использование функций свертки (вычисление свертки) описана на Фиг. 1, Фиг. 2.
Средство вычисления степени вредоносности 540 предназначено для:
• вычисления степени вредоносности исполняемого файла 501 на основании анализа полученной свертки с помощью каждой полученной модели обнаружения вредоносных файлов;
• передачи каждой вычисленной степени вредоносности средству анализа 550.
В одном из вариантов реализации системы шаблон решения представляет собой композицию степеней вредоносности.
Например, композиция степеней вредоносности, вычисленных на основании моделей #1, #2, #3, описанных выше, может быть представлена в виде совокупности пар {0.95, 374}, {0.79, 288}, {0.87, 302}.
Еще в одном примере композиция степеней вредоносности, вычисленных на основании моделей #1, #2, #3, описанных выше, может представлять меру центральной тенденции вычисленных степеней вредоносности (например, среднее арифметическое, в данном случае 0,87).
Еще в одном примере композиция степеней вредоносности представляет собой зависимость изменения степеней вредоносности от времени или количества шаблонов поведения, используемых для вычисления степени вредоносности.
Средство анализа 550 предназначено для:
• формирования на основании полученных степеней вредоносности шаблона решения;
• признания исполняемого файла 501 вредоносным, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541, предварительно сформированных на основании анализа вредоносных файлов, превышает заранее заданное пороговое значение.
В одном из вариантов реализации системы шаблон решения представляет собой совокупность степеней вредоносности, полученных от средства вычисления степеней вредоносности 540.
Еще в одном из вариантов реализации системы шаблон решения представляет собой зависимость степени вредоносности от времени или количества шаблонов поведения, используемых для вычисления упомянутой степени вредоносности.
Еще в одном из вариантов реализации системы шаблонов решения из базы шаблонов решения 541 формируются на основании анализа вредоносных файлов, использованных для обучения моделей из базы моделей обнаружения 521.
Например, на основании 100000 файлов, из которых 75000 безопасных файлов и 25000 вредоносных файлов обучают (включая тестирование) модели обнаружения, которые затем сохраняют в базу моделей обнаружения 521. После того как модели обнаружения вредоносных файлов были обучены, они используются для формирования шаблонов решений для некоторых (или всех) из 25000 упомянутых вредоносных файлов, которые затем записывают в базу шаблонов решений 541. Т.е. первоначально на обучающей и тестовой выборке файлов выполняют машинное обучение моделей обнаружения вредоносных файлов. В итоге может быть обучено несколько моделей обнаружения вредоносных файлов, каждая из которых будет обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками. После того, как все модели обнаружения будут обучены, определяют какие из обученных моделей обнаружения вредоносных файлов обнаруживают те или иные вредоносные файлы (из описанного выше примера - 25000 вредоносных файлов), может оказаться, что один вредоносный файл может быть обнаружен с использованием одного набора моделей обнаружения вредоносных файлов, другой - с использованием другого набора моделей обнаружения вредоносных файлов, третий - с использованием некоторых моделей обнаружения вредоносных файлов из упомянутых выше наборов моделей обнаружения вредоносных файлов. На основании полученных данных о том с помощью каких моделей обнаружения вредоносных файлов какие вредоносных файлы могут быть обнаружены формируются шаблоны решения.
Еще в одном из вариантов реализации системы дополнительно средство анализа 550 предназначено для переобучения по меньшей мере одной модели обнаружения из базы моделей обнаружения 521 на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла, не превышают заранее заданного порогового значения.
Фиг. 6 представляет структурную схему способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.
Структурная схема способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов содержит этап 610, на котором исполняют анализируемый файл, этап 620, на котором формируют журнал поведения, этап 630, на котором формируют шаблоны поведения, этап 640, на котором вычисляют свертку, этап 650, на котором выбирают модель обнаружения, этап 660, на котором вычисляют степень вредоносности, этап 670, на котором формируют шаблон решения, этап 680, на котором признают файл вредоносным и этап 690, на котором переобучают модель обнаружения.
На этапе 610 с помощью средства формирования журналов поведения 112 по меньшей мере:
Figure 00000001
исполняют анализируемый файл 501;
Figure 00000001
эмулируют исполнение анализируемого файла 501.
На этапе 620 с помощью средства формирования журналов поведения 112 формируют журнал поведения для анализируемого файла 501 для чего:
Figure 00000001
перехватывают по меньшей мере одну выполняемую команду;
Figure 00000001
определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду;
Figure 00000001
формируют на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла 501. На этапе 630 с помощью средства анализа журнала поведения 530 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.
На этапе 640 с помощью средства анализа журнала поведения 530 вычисляют свертку от всех сформированных на этапе 630 шаблонов поведения.
На этапе 650 с помощью средства выбора моделей обнаружения 520 выбирают из базы моделей обнаружения 521 по меньшей мере две модели обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности.
На этапе 660 с помощью средства вычисления степени вредоносности 540 вычисляют степень вредоносности исполняемого файла 501 на основании анализа вычисленной на этапе 640 свертки с помощью каждой выбранной на этапе 650 модели обнаружения вредоносных файлов.
На этапе 670 с помощью средства анализа 550 формируют на основании полученных на этапе 660 степеней вредоносности шаблона решения;
На этапе 680 с помощью средства анализа 550 признают исполняемый файл 501 вредоносным, в случае, когда степень схожести между сформированным на этапе 670 шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение.
На этапе 690 с помощью средства анализа 550 переобучают по меньшей мере одну модель обнаружения из базы моделей обнаружения 521 на основании команд и параметров, выбранных из журнала поведения исполняемого файла, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла не превышают заранее заданного порогового значения.
Фиг. 7 представляет пример системы обнаружения вредоносного файла.
Структурная схема системы обнаружения вредоносного файла состоит из анализируемого файла 501, средства анализа файла 112, базы модулей обнаружения 521, средства сбора данных 710, данных о поведении файла 711, средства вычисления параметров 720, модели вычисления параметров 721, средства анализа 730, модели формирования критериев 731, средства корректировки параметров 740.
Более подробно описание средства анализа файла 112, файла 501, базы моделей 521, средства анализа 730 (как вариант реализации средства анализа 550) раскрыты на Фиг. 1, Фиг. 2, Фиг. 5, Фиг. 6.
Средство сбора данных 710 предназначено для формирования на основании собранных средством анализа файлов 112 данных о поведении 711 выполнения файла 501, вектора признаков, характеризующих упомянутое поведение, при этом вектор признаков представляет собой свертку собранных данных 711, сформированную в виде совокупности чисел.
Пример формирование свертки собранных данных приведен в описании работы средства формирования шаблонов поведения 121 на Фиг. 1.
В одном из вариантов реализации системы данные о поведении 711 исполнения файла 501 включают по меньшей мере:
Figure 00000001
содержащиеся в исполняемом файле 501 или интерпретируемые в процессе исполнения файла 501 команды, передаваемые упомянутым командам атрибуты и возвращаемые значения;
Figure 00000001
данные участков оперативной памяти, модифицируемые при выполнении файла 501;
Figure 00000001
статические параметры файла 501.
Например, в качестве команд могут выступать как инструкции (или совокупности инструкций) процессора компьютера, так и функции WinAPI или функции из сторонних динамических библиотек.
Еще в одном примере в файле 501 могут содержаться необработанные данные (англ. raw data), которые в процессе исполнения файла 501 интерпретируются как команды процессора (или некоторого процесса, как в случае с dll библиотеками) и (или) параметры, передаваемые командам. В частном случае упомянутые данные могут представлять собой промежуточный код (англ. portable code).
Еще в одном примере в качестве данных участков оперативной памяти могут выступать:
Figure 00000001
свертки упомянутых участков памяти (например, с использованием гибких хэшей (англ. fuzzy hash));
Figure 00000001
результатов лексического анализа упомянутых участков памяти, на основании которого из участка памяти выделяются лексемы и собирается статистика по их использованию (например, частота использования, весовые характеристики, связи с другими лексемами и т.д.);
Figure 00000001
статические параметры упомянутых участков памяти, такие как размер, владелец (процесс), права использования и т.д.
В качестве статических параметров файла 501 выступают параметры, характеризующие файл (идентифицирующие его) и которые остаются неизменными в процессе исполнения, анализа или изменения упомянутого файла 501, либо характеризующие файл 501 до момента его исполнения.
В частном случае статические параметры файла 501 могут содержать информацию о характеристиках его исполнения или поведения (т.е. позволяющие предсказать результат исполнения файла 501).
Еще в одном примере в качестве статических параметров файла выступает размер файла, время создания, изменение, владелец файла, источник получения файла (электронный или IP адрес) и т.д.
Еще в одном из вариантов реализации системы данные о поведении 711 исполнения файла 501 собираются из разных источников (каналов входных данных), которые включат по меньшей мере:
Figure 00000001
журнал команд, выполненных анализируемым файлом 501;
Figure 00000001
журнал команд, выполненных операционной системой или приложениями, исполняемыми под управлением операционной системой (за исключением анализируемого файла 501);
Figure 00000001
данные, полученные по компьютерной сети.
Средство вычисления параметров 720 предназначено для вычисления на основании сформированного средством сбора данных 710 вектора признаков с использованием обученной модели вычисления параметров 711 степени вредоносности, представляющей численное значение, характеризующего вероятность того, что файл 501 может оказаться вредоносным, и предельной степени безопасности, представляющей собой численное значение, характеризующее вероятность того, что файл 501 гарантированно окажется вредоносным при выполнении заранее заданных условий, зависящих от степени вредоносности и предельной степени безопасности (см. Фиг. 9), при этом совокупность последовательно вычисленных упомянутых степеней описывается заранее заданным временным законом.
В одном из вариантов реализации системы для каждого канала входных данных (источника входных данных или отфильтрованных по заранее заданному критерию данных от источника выходных данных) создается система выделения признаков (вектора вещественных чисел длины N):
Figure 00000001
если данный канал предполагает последовательное получение информации (например, лог или последовательность распакованных исполняемых файлов), то дополнительно создается система агрегации признаков для входной последовательности в единый вектор;
Figure 00000001
создается система преобразования признаков с данного канала в новый вектор длины K. При этом значения в данном векторе могут только монотонно увеличиваться по мере обработки новых элементов входной последовательности.
Еще в одном из вариантов реализации системы система выделения, агрегации и преобразования признаков может зависеть от параметров для обучения, которые будут настроены позже на этапе обучения всей модели:
Figure 00000001
вектора длины K, поступившие со всех активных каналов монотонно агрегируются в 1 вектор фиксированной длины (например, берется поэлементный максимум);
Figure 00000001
агрегированный монотонно растущий вектор преобразуется в 1 вещественное число, характеризующее подозрительность исследуемого процесса (например, упомянутый вектор преобразуется путем сложения элементов упомянутого вектора или выполнением над элементами вектора действий по заранее заданному алгоритму, например, вычислением нормы упомянутого вектора).
Еще в одном из вариантов реализации системы модель вычисления параметров 721 была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели вычисления параметров 721 выступает по меньшей мере:
Figure 00000001
градиентный бустинг на деревьях принятия решений;
Figure 00000001
решающие деревья;
Figure 00000001
метод ближайших соседей kNN;
Figure 00000001
метод опорных векторов.
Еще в одном из вариантов реализации системы по меньшей мере вычисляемая степень вредоносности или предельная степень безопасности зависят от степени вредоносности и соответственно предельной степени безопасности, вычисленных в момент запуска файла 501 на основании анализа статических данных файла 501.
Например, степень вредоносности и предельная степень безопасности могут вычисляться по формулам:
(ω)=ω0+ω(t)
ϕ=ω0+ω(t)
где
ω, ϕ - степень вредоносности и предельная степень безопасности соответственно,
ω0, ϕ0 - начальные значения степени вредоносности и предельной степени безопасности не зависящие от параметров исполнения файла 501, но зависящие от внешних условий (параметров работы операционной системы и т.д.),
ω(t), ϕ(t) - временные законы, на основании которых вычисляются степень вредоносности и предельная степень безопасности соответственно.
При этом упомянутые временные законы могут бы зависимы друг от друга, т.е. от степени вредоносности и предельной степени безопасности, вычисленных ранее:
ω(tn)=ω(t,ϕ(tn-1))
ϕ(tn)=ϕ(t,ω(tn-1))
Более подробно описанный выше вариант реализации системы раскрыт на Фиг. 9.
Еще в одном из вариантов реализации системы обученная модель вычисления параметров 721 представляет собой совокупность правил вычисления степени вредоносности файла и предельной степени безопасности файла, зависящих от определенных данных о поведении 711 исполнения файла 501.
Еще в одном из вариантов реализации системы временные законы, описывающие совокупность последовательно вычисленных степеней вредоносности и совокупность последовательно вычисленных предельных степеней безопасности, имеют монотонных характер.
Например, кривая изменения степени вредоносности от времени может описываться монотонно возрастающей функцией (к примеру, ƒ(x)=ax+b).
Еще в одном из вариантов реализации системы временные законы, описывающие совокупность последовательно вычисленных степеней вредоносности и совокупность последовательно вычисленных предельных степеней безопасности, имеют кусочно-монотонный характер, т.е. обладают монотонным характером на заданных временных интервалах.
Часто при работе описываемой системы не имеется возможности (из-за ограничений вычислительных ресурсов, компьютерного времени, наличия требований к минимальной производительности и т.д.) определять степень вредоносности постоянно (непрерывно или с заданной периодичностью), поэтому степень вредоносности и предельная степень безопасности может вычисляться через вычисляемые (не заранее заданные, а через вычисляемые в процессе исполнения файла 501 промежутки времени). Такие вычисления так же основаны на заранее заданных некоторых временных законах, для которых в процессе исполнения файла вычисляются входные параметры, т.е. для времени вычисления файла можно записать:
tn=τ(tn-1)
При этом время вычисления степени вредоносности и предельной степени безопасности может зависеть от ранее вычисленных степени вредоносности и предельной степени безопасности:
tn=τ(tn-1,ω(tn-1),ϕ(tn-1))
Например, при запуске файла 501 первые 10 секунд степень вредоносности упомянутого файла монотонно возрастает, после 10-ой секунды степень вредоносности упомянутого файла уменьшается вдвое и затем начинает опять монотонно возрастать.
Средство анализа 730 предназначена для вынесения решения об обнаружении вредоносного файла 501, в случае, когда собранные данные о поведении 711 выполнения файла 501 удовлетворяют заранее заданному критерию определения вредоносности, сформированному на основании вычисленных средством вычисления параметров 720 степени вредоносности и предельной степени безопасности, при этом в качестве упомянутого критерия выступает правило классификации файла (предоставляемого моделью формирования критериев 731) по установленной взаимосвязи между степенью вредоносности и предельной степени безопасности.
В одном из вариантов реализации системы в качестве взаимосвязи между степенью вредоносности и предельной степени безопасности выступает по меньшей мере:
Figure 00000001
разница в расстоянии между степенью вредоносности и граничными условиями вредоносности от заранее заданного порогового значения;
Figure 00000001
разница в площадях, ограниченных в заданном временном интервале между кривыми, описывающими степень вредоносности и предельную степень безопасности, от заранее заданного порогового значения;
Figure 00000001
разница в скоростях взаимного роста кривой, описывающей изменение степени вредоносности и граничных условий вредоносности от времени, от заранее заданного значения.
Например, самые характерные случаи описанной взаимосвязи отображены на Фиг. 9.
Средство корректировки параметров 740 предназначено для переобучения модели вычисления параметров 721 на основании анализа (см. Фиг. 9) вычисленных степени вредоносности и предельной степени безопасности, в результате которого изменения во временных законах, описывающих степень вредоносности и предельную степень безопасности, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
В одном из вариантов реализации системы модель вычисления параметров 721 переобучают таким образом, чтобы при использовании упомянутой модели, сформированный впоследствии критерий обеспечивал по меньшей мере:
Figure 00000001
точность определения степени вредоносности и предельной степени безопасности была выше, чем при использовании необученной модели вычисления параметров;
Figure 00000001
использование вычислительных ресурсов были ниже, чем при использовании необученной модели вычисления параметров.
Например, после переобучения (или дообучения) коэффициент корреляции между значениями кривых степени вредоносности и предельной степени безопасности становится больше (стремится к 1).
В результате при постоянном переобучении модели вычисления параметров 721 вероятность возникновения ошибок первого и второго рода (ложных срабатываний) постоянно уменьшается. При этом использование разных приведенных выше критериев переобучения способствует тому, что система обнаружения вредоносного файла с переобученной моделью 721 вначале (в начальные этапы переобучения) показывает очень большую скорость уменьшения ошибок первого и второго рода, таким образом при незначительном количестве итераций переобучения модели вычисления параметров 721 эффективность системы обнаружения вредоносного файла резко возрастает, стремясь к 100%.
Фиг. 8 представляет пример способа обнаружения вредоносного файла.
Структурная схема способа обнаружения вредоносного файла содержит этап 810, на котором формируют вектор признаков, этап 820, на котором вычисляют параметры, этап 830, на котором выносят решение об обнаружении вредоносного файла, этап 840, на котором модель вычисления параметров.
На этапе 810 формируют на основании собранных данных о поведении 711 исполнения файла 501, вектор признаков, характеризующих упомянутое поведение, при этом вектор признаков представляет собой свертку собранных данных, сформированную в виде совокупности чисел.
На этапе 820 вычисляют на основании сформированного вектора признаков с использованием обученной модели вычисления параметров 721 степени вредоносности, представляющей численное значение, характеризующего вероятность того, что файл 501 может оказаться вредоносным, и предельной степени безопасности, представляющей собой численное значение, характеризующее вероятность того, что файл 501 гарантированно окажется вредоносным, при этом совокупность последовательно вычисленных упомянутых степеней описывается заранее заданным временным законом.
Выполняют этапы 810-820 для разных последовательных временных интервалов исполнения анализируемого файла 501.
На этапе 830 выносят решение об обнаружении вредоносного файла 501, в случае, когда собранные данные о поведении 711 исполнения файла 501 удовлетворяют заранее заданному критерию определения вредоносности (см. Фиг. 9), сформированному на основании вычисленных на этапе 820 степени вредоносности и предельной степени безопасности, при этом в качестве упомянутого критерия выступает правило классификации файла по установленной взаимосвязи между степенью вредоносности и предельной степени безопасности.
На этапе 840 дополнительно переобучают модель вычисления параметров 721 на основании анализа вычисленных степени вредоносности и предельной степени безопасности, в результате которого изменения во временных законах, описывающих степень вредоносности и предельную степень безопасности, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
Фиг. 9 представляет примеры динамики изменения степени вредоносности и предельной степени безопасности от количества шаблонов поведения:
На схеме 911 изображена ситуация, при которой со временем (по сути с увеличением количества сформированных шаблонов поведения) наблюдается рост степени вредоносности анализируемого файла 501. При этом наблюдается также и рост предельной степени безопасности (общий случай критерия вредоносности, показанного на Фиг. 3).
Решение об обнаружении вредоносного файла 501 принимается, если степень вредоносного файла 501 начинает превышать предельную степень безопасности файла 501 (точка 911.В).
Такая ситуация наблюдается в случае, если и при выполнении файла 501, и при анализе состояния операционной системы в целом регистрируется «подозрительная» активность. Таким образом, достигается уменьшение вероятности возникновения ошибки первого рода. Несмотря на то, что в работе системы регистрируется подозрительная активность (т.е. активность, которая еще не может быть признана вредоносной, но уже не может быть признана и безопасной, например, упаковка в архив с последующим удалением исходных файлов), упомянутая активность учитывается при вычислении степени вредоносности файла 501 таким образом, чтобы вынесение положительного вердикта об обнаружении вредоносного файла не было принято основываясь большей части на подозрительную активность в работе системы, а не при исполнении файла 501, т.е. вклад в итоговое решение о признании файла 501 вредоносным активности исполнения файла 501 должен превышать вклад активности системы.
Например, подобная ситуация может наблюдаться, когда пользователь производить архивацию данных на компьютере, в результате которых происходит многократное считывание данных с жесткого диска и последующее переименование или удаление файлов, что для системы рядового пользователя (например, офисного работника) может считаться подозрительной активностью работы вредоносных программ-шифровальщиков, поскольку такая активность (на основе статистических данных, полученных от пользователей) у упомянутых пользователей не наблюдается или наблюдается очень редко.
Например, стандартное антивирусное приложение при анализе активности программного обеспечения на компьютере пользователя может выдавать предупреждения (не предпринимая никаких активных действий) о том, что то или иное приложение ведет себя «подозрительно», т.е. поведение упомянутого приложения не соответствует заранее заданным правилам антивирусного приложения. Описываемая же система не оперирует заранее заданными правилами, а динамически оценивает изменение активность, что для вредоносного, но неизвестного файла 501 заканчивается его обнаружением (признанием вредоносным).
Еще в одном примере изменение активности при исполнении файла 501 может быть следствием передачи данных по компьютерной сети, при этом в зависимости от характеристик передаваемых данных (частотных, количественных и т.д.), которые могут указывать на то, что имеет место вредоносная активность (к примеру, работает вредоносная программа удаленного администрирования (англ. backdoor)). Чем дольше такая активность происходит, тем выше шанс, что она будет признана вредоносной, поскольку заметно отличается от обычной сетевой активности на компьютере пользователя.
На схеме 912 изображена ситуация, при которой со временем наблюдается рост степени вредоносности анализируемого файла 501 и уменьшение предельной степени безопасности.
Решение об обнаружении вредоносного файла 501 принимается, если степень вредоносного файла 501 начинает превышать предельную степень безопасности файла 501 (точка 912.В).
Такая ситуация наблюдается в случае, обратном от описанного на схеме 911, когда при анализе состояния операционной системы «подозрительная» активность не выявляется. Таким образом, достигается уменьшение вероятности возникновения ошибки второго рода (пропуск вредоносного файла). Подозрительная активность «сильнее» влияет на вынесение положительного вердикта об обнаружении вредоносного файла, если остальное поведение при исполнении файла в частности ли операционной системы в целом не похожа на «подозрительную».
Например, подобная ситуация может наблюдаться при работе на компьютере пользователя вредоносных программ удаленного администрирования, в результате которых вредоносная активность проявляется лишь эпизодически, а значит каждый последующий эпизод должен анализироваться более «пристально», т.е. критерий, после которого активность будет считаться вредоносной должен постоянно снижаться. Однако в случае, если на компьютере пользователя начинают выполняться доверенные приложения, поведение которых могло бы быть признано подозрительных, но не признается таковым из-за того, что приложения являются доверенным (т.е. проверенными ранее на вредоносность), то предельная степень вредоносности может быть увеличена, что защитит от признания поведения легальных файлов вредоносным и лишь отодвинет во времени обнаружение вредоносного поведения вредоносного файла.
На схеме 913 изображена ситуация, при которой со временем наблюдается рост степени вредоносности анализируемого файла 501, при этом рост начинается не с нулевой отметки, а с некоторой рассчитанной величины, в результате критерий вредоносности будет достигнут раньше, чем в изначальном случае или будет достигнут, при том, что в изначальном случае достигнут бы не был.
Решение об обнаружении вредоносного файла 501 принимается, если разница между степенью вредоносного файла 501 и предельной степени безопасности файла 501 становится меньше заранее заданного порогового значения (точка 913.В). При этом в частном случае такое решение может быть принято, только если ранее разница между степенью вредоносного файла 501 и предельной степени безопасности файла 501 становилась меньше другого заранее заданного порогового значения (точка 913.А) (при этом эта разница между точками 913.А и 913.В могла расти).
Например, при выполнении файла 501, полученного от неизвестного источника, или сформированного на компьютере «подозрительными» способами (к примеру, записью данных из памяти процесса на диск) степень вредоносности может изначально выставляться выше, чем степень вредоносность файлов, полученных менее «подозрительными» способами.
На схеме 914 изображена ситуация, аналогичная ситуации, отображенной на схеме 911, с тем лишь исключением, что кривые, описывающие степень вредоносности и предельную степень безопасности имеют несколько последовательных точек пересечения. В такой ситуации решение о признании файла 501 вредоносным выносится не по факту пересечения этих кривых, а по превышению кол-ва пересечений заранее заданного порогового значения или превышения площади, отсекаемой этими кривыми заранее заданного порогового значения.
Указанные схемы способствуют повышению эффективности обнаружения вредоносных файлов и уменьшают ошибки первого и второго рода при обнаружении вредоносных файлов 501.
Описание взаимоотношения между вычисленными степенью вредоносности, предельной степенью безопасности и решением о признании файла 501 вредоносным может быть выражено следующим математическим или алгоритмическим образом:
ω(t)>ω(t)
Figure 00000034
Фиг. 10 представляет структурную схему системы классификации объектов вычислительной системы.
Структурная схема системы классификации объектов вычислительной системы состоит из объекта вычислительной системы 1001, средства сбора 1010, данных об объекте вычислительной системы 1011, средства формирования сверток 1020, вектора признаков 1021, средства вычисления степеней схожести 1030, модели вычисления параметров, средства анализа 1040, средства корректировки параметров 1050 и модели формирования критериев 1051.
Средство сбора 1010 предназначено для сбора данных 1011, описывающих объект вычислительной системы 1001 (далее, объект).
В одном из вариантов реализации системы в качестве вычислительных систем выступают по меньшей мере:
Figure 00000001
персональные компьютеры,
Figure 00000001
ноутбуки,
Figure 00000001
планшеты,
Figure 00000001
смартфоны,
Figure 00000001
контроллеры,
Figure 00000001
серверные вычислительные средства,
Figure 00000001
средства хранения данных.
Еще в одном из вариантов реализации системы в качестве объектов вычислительной системы 1001 выступают по меньшей мере:
Figure 00000001
файлы,
Figure 00000001
процессы,
Figure 00000001
потоки,
Figure 00000001
объекты синхронизации,
Figure 00000001
приложения,
Figure 00000001
архивы (файлы, содержащие другие файлы),
Figure 00000001
записи в базах данных.
Еще в одном из вариантов реализации системы в качестве данных, описывающих объект 1001 выступают по меньшей мере:
Figure 00000001
данные, идентифицирующие объект 1001 (например, имя файла или хэш, посчитанный по файлу),
Figure 00000001
данные, описывающие логические и функциональные связи между указанным объектом 1001 и другими объектами 1001 (например, какие файлы содержит архив, какие потоки относительно указанного являются порожденными и т.д.),
Figure 00000001
данные, описывающие отличие указанного объекта 1001 от других объектов 1001 (например, размер файла, тип исполняемого файла, способ использования объекта и т.д.),
Figure 00000001
тип объекта 1001.
Более подробно данные, описывающие объект 1001 (или параметры, характеризующие объект 1001) описаны на Фиг. 1, Фиг. 2, Фиг. 5 - Фиг. 8.
Например, в качестве вычислительной системы может выступать персональный компьютер пользователя, а в качестве объектов вычислительной системы 1001 - файлы. Классификация файлов упомянутого персонального компьютера заключается в определении какие файлы являются вредоносными, а какие файлы - безопасными (выполняется антивирусная проверка).
Еще в одном из вариантов реализации данные, описывающие объект 1001 собираются и анализируются в соответствии с условиями, устанавливаемыми заданными правилами сбора. В результате перед анализом, выполняемым средством анализа 1040 могут собираться данные о нескольких (зачастую отличающихся) состояниях объекта 1001. Это в свою очередь приводит к увеличению точности классификации объекта 1001 и уменьшению ошибок первого и второго рода, которые могут возникнуть при упомянутой классификации.
Еще в одном из вариантов реализации системы анализ данных об объекте 1001 может выполняться параллельно со сбором данных об объекте 1001, таким образом два результата анализа могут быть основаны в некоторой степени на общих данных. Это в свою очередь приводит к увеличению точности классификации объекта 1001 и уменьшению ошибок первого и второго рода, которые могут возникнуть при упомянутой классификации, а также увеличивает скорость проведения классификации и уменьшает использованные при такой классификации вычислительные ресурсы.
Еще в одном из вариантов реализации системы в качестве состояния объекта 1001 выступает совокупность параметров и свойств (которые можно выделить из собранных данных, характеризующих объект 1001), по меньшей мере:
Figure 00000001
однозначно идентифицирующих объект 1001 среди прочих объектов,
Figure 00000001
однозначно идентифицирующих группу объектов 1001, имеющих идентичные или схожие параметры или свойства;
Figure 00000001
отличающих объект 1001 от прочих объектов с заданной степенью схожести.
Еще в одном из вариантов реализации системы в качестве правила сбора выступает по меньшей мере:
Figure 00000001
интервал времени между различными состояниями объекта 1001 удовлетворяет заданному значению;
Figure 00000001
интервал изменения параметра, описывающего состояние объекта 1001, удовлетворяет заданному значению;
Figure 00000001
интервал изменения параметра вычислительной системы, приводящего к изменению состояния объекта 1001, удовлетворяет заданному значению.
Вместо изменения состояния системы во времени (как указано в п.1 приведенного выше абзаца) можно рассматривать изменение состояния системы с учетом динамики изменения другого выбранного параметра объекта 1001 или вычислительной системы. В этом случае объект 1001 анализируется в многомерном пространстве, где заданные параметры являются независимыми величинами (базисы указанного пространства), а время является зависимой от указанных параметров величиной.
Например, состояния объектов 1001 определяется каждые 100 мс (т.е. интервал времени между двумя состояниями объекта 1001 составляет 100 мс).
Еще в одном примере состояния объектов 1001 определяется после того, как изменяется размер указанных объектов (или объем данных, содержащихся объекте 1001) на 1 КБ (т.е. изменяется параметр, описывающий состояние объектов 1001).
Еще в одном примере состояния объектов 1001 определяется после того, как изменяется объем используемой памяти или средства хранения данных (к примеру, жесткого диска) на 1 МБ (т.е. изменяется параметр вычислительной системы).
Еще в одном из вариантов реализации системы сбор данных 1011 об объекте 1001 осуществляется за счет перехвата данных 1011 (об объекте 1001 или передаваемых объекту 1001 или передаваемых от объекта 1001) на вычислительном устройстве с помощью внедренного в вычислительное устройство драйвера или иного программного обеспечения.
Например, для получения данных о файлах 1001 на персональном компьютере, применяется драйвер, перехватывающий вызовы WinAPI функций от приложений для работы с указанными файлами 1001.
Средство формирования сверток 1020 предназначено для формирования на основании собранных средством сбора 1010 данных о состоянии объекта 1011 вектора признаков 1021, характеризующего состояние объекта 1001.
В одном из вариантов реализации системы вектор признаков 1021 представляет собой свертку собранных данных 1011, сформированную в виде совокупности чисел.
Более подробно о формировании вектора признаков 1021 описано на Фиг. 1 и Фиг. 2.
Еще в одном из вариантов реализации системы вектор признаков 1021 содержит по меньшей мере одну хэш-сумму, вычисленную по меньшей мере по собранных данных 1011:
Figure 00000001
заданного типа (например, хэш-сумма вычисляется только по данным, характеризующим события, связанные с объектом 1001);
Figure 00000001
заданного диапазона значений (например, хэш-сумма вычисляется только по файлам, размером от 4096 КБ до 10240 КБ).
Например, все собранные данные об объекте 1001 в качестве которого выступает установочный пакет, содержащий другие файлы (которые будут на компьютере пользователя) и инструкции установки (сценарии и т.д.) могут быть разделены на 2 категории - исполняемые файлы и сценарии и вспомогательные данные. По исполняемым файлам вычисляется хэш-сумма MD5, по сценариям - CRC32, а также считается кол-во указанных объектов в каждом классе. Итоговая хэш-сумма представляет собой совокупность вычисленных хэш-сумм и подсчитанного кол-ва объектов.
Еще в одном из вариантов реализации системы модель вычисления параметров 1022 была предварительно обучена методом машинного обучения на по меньшей мере двух объектах 1001, принадлежащих разным классам.
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели вычисления параметров 1022 выступает по меньшей мере:
Figure 00000001
градиентный бустинг на деревьях принятия решений;
Figure 00000001
решающие деревья;
Figure 00000001
метод ближайших соседей kNN;
Figure 00000001
метод опорных векторов.
Еще в одном из вариантов реализации системы обученная модель вычисления параметров 1022 представляет собой совокупность правил вычисления степени схожести объекта 1001 и предельной степени отличия объекта 1001, зависящих от определенных данных о динамике изменения состояния объекта 1001.
Еще в одном из вариантов реализации системы в качестве классов объектов вычислительной системы 1001 выступают по меньшей мере классы:
Figure 00000001
безопасности объектов вычислительной системы:
• вредоносный объект вычислительной системы;
• подозрительный объект вычислительной системы;
• безопасный объект вычислительной системы;
Figure 00000001
приоритета использования объектов вычислительной системы (т.е. какой объект вычислительной системы использовать раньше и насколько раньше, или какому объекту вычислительной системы выделить какие вычислительные ресурсы, к примеру память);
Figure 00000001
производительности объектов вычислительной системы.
Например, при анализе файлов 1001 на персональном компьютере пользователя выполняется антивирусная проверка, задачей которой является классификация всех анализируемых файлов 1001 на две группы - вредоносные файлы и безопасные файлы. При этом каждому файлу в указанных классах может ставиться в соответствие некоторая степень схожести (т.е. вероятность того, что файл 1001 должен принадлежать одному из указанных классов). Более подробно подобный пример описан в Фиг. 1 - Фиг. 9.
Еще в одном примере в качестве классов могут выступать не разные отдельные сущности (как в приведенном выше примере), а одна сущность, но в разных диапазонах, к примеру - приоритет распределения вычислительных ресурсов (оперативной памяти) объектов вычислительной системы может оцениваться численно от 0% до 100% и формировать 4 класса - 1: от 0% до 25%, 2: от 26% до 50%, 3: от 51% до 75%, 4: от 76% до 100%. В данном примере происходит распределение оперативной памяти из пула в 1 ГБ между объектами вычислительной системы, объектам с минимальным приоритетом (0%) выделяется 1 МБ оперативной памяти, объектам с максимальным приоритетом (100%0 выделяется 100 МБ, остальным объектам - в соответствующих пропорциях.
Средство вычисления степеней схожести 1030 предназначено для вычисления на основании сформированного средством формирования сверток 1020 вектора признаков 1021 с использованием обученной модели вычисления параметров степень схожести 1022, представляющую численное значение, характеризующее вероятность того, что классифицируемый объект 1001 может принадлежать к заданному классу, и предельную степень отличия, представляющую собой численное значение, характеризующее вероятность того, что классифицируемый объект 1001 гарантированно окажется принадлежащим к другому заданному классу. При этом указанные степень схожести и предельная степень отличия являются независимыми характеристиками, описывающими объект 1001 исходя из различных подходов к классификации объектов. Преимущество такого подхода заключается в том, что каждый способ классификации (или способ сравнения) имеет свою точность и всегда существует вероятность возникновения ошибок первого и второго рода. При использовании нескольких независимых способов такая вероятность снижается в соответствии с законами теории вероятности. При этом в зависимости от выбранных способов (насколько коррелируют между собой получаемые с помощью них степени схожести или отличия) изменяется (снижается) итоговая вероятность возникновения ошибок первого и второго рода. Таким образом, зная критерии «стабильности» системы, т.е. зная максимально приемлемый для работы (в данном случае, для классификации) системы уровень ошибок можно выбрать соответствующие способы получения степеней схожести или отличия.
В одном из вариантов реализации системы в случае, если в течении периода, определяемого заданным правилом сбора, было вычислено по меньшей мере две степени схожести и предельные степени отличия, совокупность последовательно вычисленных степеней схожести и предельных степеней отличия описывается заранее заданным временным законом.
Еще в одном из вариантов реализации системы несколько степеней схожести и предельных степеней отличия вычисляются для одного объекта 1001, на основании данных о по меньшей мере двух состояниях указанного объекта 1001.
Еще в одном из вариантов реализации системы данные о состоянии объекта 1001 включают по меньшей мере:
Figure 00000001
действия, выполняемые вычислительной системой над объектом 1001;
Figure 00000001
действия, выполняемые объектом 1001 над вычислительной системой;
Figure 00000001
параметры вычислительной системы, изменения которых приводит к изменению состояния объекта 1001;
Figure 00000001
статические параметры объекта 1001 (параметры объекта 1001 не изменяемые при изменении состояния объекта 1001, например, размер файла, хранящегося в архиве или имя исполняемого файла).
Например, если в качестве объекта 1001 выступает исполняемый файл, то в качестве команд, выполняемых указанным исполняемым файлом над операционной системой, могут выступать вызовы WinAPI функций.
Еще в одном примере, если в качестве объекта 1001 выступает запись в базе данных, то в качестве команды, выполняемой средством работы с базами данных над указанной записью, могут выступать команды SQL запроса.
Еще в одном из вариантов реализации системы по меньшей мере вычисляемая степень схожести или предельная степень отличия зависят от степени схожести и соответственно предельной степени отличия, вычисленных по меньшей мере:
Figure 00000001
в момент создания объекта 1001;
Figure 00000001
в момент первого изменения состояния объекта 1001;
на основании анализа статических параметров объекта 1001.
Например, если при начале исполнения файла степень схожести с классом вредоносных объектов у файла 0,0, а со временем работы она повышается до 0,4, то для файла, созданного указанным файлом уже в момент его создания степень схожести с вредоносным объектом назначается равной 0,4, и в процессе его работы увеличивается. Более подробно описанный процесс описан в Фиг. 7 - Фиг. 9.
Еще в одном из вариантов реализации системы в которой временные законы, описывающие совокупность последовательно вычисленных степеней схожести и совокупность последовательно вычисленных предельных степеней отличия, имеют монотонных характер.
Например, изменение степени схожести (при анализе файла на вредоносность - степени вредоносности) анализируемого файла 1001 может только возрастать, а предельная степень отличия (при анализе файла на вредоносность - предельная степень безопасности) - только уменьшаться. Таким образом, рано или поздно анализируемый файл будет признан вредоносным, когда совокупность его "подозрительных действий" превысит установленный предел.
Еще в одном из вариантов реализации системы степень схожести определяется по меньшей мере:
Figure 00000001
с помощью алгоритмом Хирчберга;
Figure 00000001
через расстояния Дамерау-Левенштейна (англ. Damerau-Levenshtein distance);
Figure 00000001
через расстояния Иенцена-Шаннона;
Figure 00000001
через расстояния Хэмминга (англ. Hamming distance);
Figure 00000001
с помощью алгоритма сходства Джаро-Винклера (англ. Jaro-Winkler distance).
Например, указанные выше способы определения степени схожести могут использоваться в зависимости от того, какие объекты 1001 анализируются. Если в качестве объектов 1001 выступают текстовые файлы, то используется алгоритм Хирчберга, если лексемы - расстояния Хэмминга.
Средство анализа 1040 предназначено для вынесения решения о принадлежности объекта 1001 к заданному классу, в случае, когда собранные до срабатывания заданного правила сбора данные о состоянии объекта 1001 удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных средством вычисления степеней схожести 1030 степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта по установленной взаимосвязи между степенью схожести и предельной степени отличия.
В одном из вариантов реализации системы средство анализа 1040 включается в работу после того, как будут собраны и обработаны данные, характеризующие объект 1001 с помощью средства сбора 1010, средства формирования сверток 1020 и средства вычисления степеней схожести 1030. Этот факт определяется с помощью правила сбора данных (т.е. правила, когда прекратить сбор данных об объекте 1001 и начать анализ эти х данных).
Более подробно анализ описан на Фиг. 7 - Фиг. 9.
В одном из вариантов реализации системы в качестве взаимосвязи между степенью схожести и предельной степени отличия выступает по меньшей мере:
Figure 00000001
отличие расстояния между степенью схожести и предельной степени отличия от заданного порогового значения;
Figure 00000001
отличие площади, ограниченной в заданном временном интервале между степенью схожести и предельной степени отличия, от заранее заданного порогового значения;
Figure 00000001
отличие скорости взаимного роста кривой, описывающей изменение степени вредоносности и предельной степени отличия, от заранее заданного значения.
Более подробно взаимосвязи описаны в Фиг. 7 - Фиг. 9.
Средство корректировки параметров 1050 предназначено для переобучения модели вычисления параметров 1022 на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
В одном из вариантов реализации системы модель вычисления параметров 1022 переобучают таким образом, чтобы при использовании упомянутой модели 1022, сформированный впоследствии критерий обеспечивал по меньшей мере:
Figure 00000001
точность определения степени схожести и предельной степени отличия была выше, чем при использовании необученной модели вычисления параметров 1022;
Figure 00000001
использование вычислительных ресурсов были ниже, чем при использовании необученной модели вычисления параметров.
Более подробно технология машинного обучения описана в Фиг. 1, Фиг. 2, Фиг. 5, Фиг. 6. Хотя выше описано обучение модели вычисления параметров 1022 для классификации объектов вычислительной системы 1001, а в указанных фигурах - модели обнаружения вредоносных файлов, эти технологии алгоритмически похожи, а обнаружение вредоносных файлов является частным случаем модели вычисления параметров, поскольку в указанном случае происходит классификация файлов по двум классам -«безопасные файлы» и «вредоносные файлы».
Фиг.11 представляет структурную схему способа классификации объектов вычислительной системы.
Структурная схема способа классификации объектов вычислительной системы содержит этап 1110, на котором собирают данные об объекте вычислительной системы, этап 1120, на котором формируют вектор признаков, этап 1130, на котором вычисляют степени схожести, этап 1140, на котором классифицируют объект вычислительной системы и этап 1150, на котором переобучают модель вычисления параметров.
На этапе 1110 собирают данные 1011, описывающие состояние объекта вычислительной системы 1001 (далее, объект).
На этапе 1120 формируют на основании собранных данных 1011 о состояниях объекта 1001, вектор признаков 1021, характеризующий состояние объекта 1001.
На этапе 1130 вычисляют на основании сформированного вектора признаков 1021 с использованием обученной модели вычисления параметров 1022 степень схожести, представляющую численное значение, характеризующее вероятность того, что классифицируемый объект 1001 может принадлежать к заданному классу, и предельную степень отличия, представляющую собой численное значение, характеризующее вероятность того, что классифицируемый объект 1001 гарантированно окажется принадлежащим к другому заданному классу.
На этапе 1140 выносят решение о принадлежности объекта 1001 к заданному классу, в случае, когда собранные в течении периода, определяемого заданным правилом сбора на этапах 1110-1130 данные 1011 о состоянии объекта 1001 удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных на предыдущем этапе степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта 1001 по установленной взаимосвязи между степенью схожести и предельной степени отличия.
На этапе 1150 переобучают модель вычисления параметров 1022 на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов стремится к максимальной.
Фиг. 12 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 12. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Claims (68)

1. Система классификации объектов вычислительной системы, которая содержит:
а) средство сбора, предназначенное для сбора данных, описывающих объект вычислительной системы (далее, объект);
б) средство формирования сверток, предназначенное для формирования на основании собранных средством сбора данных о состоянии объекта вектора признаков, характеризующего состояние объекта;
в) средство вычисления степеней схожести, предназначенное для вычисления на основании сформированного средством формирования сверток вектора признаков с использованием обученной модели вычисления параметров степени схожести, представляющей численное значение, характеризующее вероятность того, что классифицируемый объект может принадлежать к заданному классу, и предельной степени отличия, представляющей собой численное значение, характеризующее вероятность того, что классифицируемый объект гарантированно окажется принадлежащим к другому заданному классу;
г) средство анализа, предназначенное для вынесения решения о принадлежности объекта к заданному классу, в случае, когда собранные до срабатывания заданного правила сбора данные о состоянии объекта удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных средством вычисления степеней схожести степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта по установленной взаимосвязи между степенью схожести и предельной степенью отличия.
2. Система по п. 1, в которой вектор признаков представляет собой свертку собранных данных, сформированную в виде совокупности чисел.
3. Система по п. 1, в которой в случае, если в течение периода, определяемого заданным правилом сбора, было вычислено по меньшей мере две степени схожести и предельные степени отличия, совокупность последовательно вычисленных степеней схожести и предельных степеней отличия описывается заранее заданным временным законом.
4. Система по п. 1, в которой в качестве правила сбора выступает, по меньшей мере:
Figure 00000035
интервал времени между различными состояниями объекта удовлетворяет заданному значению;
Figure 00000035
изменение параметра вычислительной системы, приводящего к изменению состояния объекта, удовлетворяет заданному значению.
5. Система по п. 1, в которой модель вычисления параметров была предварительно обучена методом машинного обучения на по меньшей мере двух объектах, принадлежащих разным классам.
6. Система по п. 1, в которой в качестве метода машинного обучения модели вычисления параметров выступает по меньшей мере:
Figure 00000036
градиентный бустинг на деревьях принятия решений;
Figure 00000037
решающие деревья;
Figure 00000038
метод ближайших соседей kNN;
Figure 00000039
метод опорных векторов.
7. Система по п. 1, в которой данные о состоянии объекта включают, по меньшей мере:
Figure 00000040
действия, выполняемые вычислительной системой над объектом;
Figure 00000041
действия, выполняемые объектом над вычислительной системой;
Figure 00000042
параметры вычислительной системы, изменение которых приводит к изменению состояния объекта;
Figure 00000043
статические параметры объекта.
8. Система по п. 1, в которой, по меньшей мере, вычисляемая степень схожести или предельная степень отличия зависят от степени схожести и соответственно предельной степени отличия, вычисленных, по меньшей мере:
Figure 00000035
в момент создания объекта;
Figure 00000044
в момент первого изменения состояния объекта; на основании анализа статических параметров объекта.
9. Система по п. 1, в которой обученная модель вычисления параметров представляет собой совокупность правил вычисления степени схожести объекта и предельной степени отличия объекта, зависящих от определенных данных о динамике изменения состояния объекта.
10. Система по п. 1, в которой временные законы, описывающие совокупность последовательно вычисленных степеней схожести и совокупность последовательно вычисленных предельных степеней отличия, имеют монотонных характер.
11. Система по п. 1, в которой в качестве взаимосвязи между степенью схожести и предельной степенью отличия выступает, по меньшей мере:
Figure 00000035
отличие расстояния между степенью схожести и предельной степенью отличия от заданного порогового значения;
Figure 00000035
отличие площади, ограниченной в заданном временном интервале между степенью схожести и предельной степенью отличия, от заранее заданного порогового значения; отличие скорости взаимного роста кривой, описывающей изменение степени вредоносности и предельной степени отличия, от заранее заданного значения.
12. Система по п. 1, которая дополнительно содержит средство корректировки параметров, предназначенное для переобучения модели вычисления параметров на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов, стремится к максимальной.
13. Система по п. 12, в которой модель вычисления параметров переобучают таким образом, чтобы при использовании упомянутой модели сформированный впоследствии критерий обеспечивал, по меньшей мере:
Figure 00000035
точность определения степени схожести и предельной степени отличия была выше, чем при использовании необученной модели вычисления параметров;
Figure 00000035
использование вычислительных ресурсов было ниже, чем при использовании необученной модели вычисления параметров.
14. Способ классификации объектов вычислительной системы, при этом способ содержит этапы, которые реализуются с помощью средств из системы по п. 1 и на которых
а) собирают данные, описывающие состояние объекта вычислительной системы (далее, объект);
б) формируют на основании собранных данных о состояниях объекта вектор признаков, характеризующий состояние объекта;
в) вычисляют на основании сформированного вектора признаков с использованием обученной модели вычисления параметров степень схожести, представляющую численное значение, характеризующее вероятность того, что классифицируемый объект может принадлежать к заданному классу, и предельную степень отличия, представляющую собой численное значение, характеризующее вероятность того, что классифицируемый объект гарантированно окажется принадлежащим к другому заданному классу;
г) выносят решение о принадлежности объекта к заданному классу, в случае, когда собранные в течение периода, определяемого заданным правилом сбора на этапах а)-в), данные о состоянии объекта удовлетворяют заданному критерию определения класса, сформированному на основании вычисленных на предыдущем этапе степени схожести и предельной степени отличия, при этом в качестве упомянутого критерия выступает правило классификации объекта по установленной взаимосвязи между степенью схожести и предельной степенью отличия.
15. Способ по п. 14, по которому вектор признаков представляет собой свертку собранных данных, сформированную в виде совокупности чисел.
16. Способ по п. 14, по которому в случае, если в течение периода, определяемого заданным правилом сбора, было вычислено по меньшей мере две степени схожести и предельные степени отличия, совокупность последовательно вычисленных степеней схожести и предельных степеней отличия описывается заранее заданным временным законом.
17. Способ по п. 14, по которому в качестве правила сбора выступает, по меньшей мере:
Figure 00000035
интервал времени между различными состояниями объекта удовлетворяет заданному значению;
Figure 00000035
изменение параметра вычислительной системы, приводящего к изменению состояния объекта, удовлетворяет заданному значению.
18. Способ по п. 14, по которому модель вычисления параметров была предварительно обучена методом машинного обучения на по меньшей мере двух объектах, принадлежащих разным классам.
19. Способ по п. 14, по которому в качестве метода машинного обучения модели вычисления параметров выступает, по меньшей мере:
Figure 00000035
градиентный бустинг на деревьях принятия решений;
Figure 00000035
решающие деревья;
Figure 00000035
метод ближайших соседей kNN;
Figure 00000035
метод опорных векторов.
20. Способ по п. 14, по которому данные о состоянии объекта включают, по меньшей мере:
Figure 00000035
действия, выполняемые вычислительной системой над объектом;
Figure 00000035
действия, выполняемые объектом над вычислительной системой;
Figure 00000035
параметры вычислительной системы, изменение которых приводит к изменению состояния объекта;
Figure 00000035
статические параметры объекта.
21. Способ по п. 14, по которому, по меньшей мере, вычисляемая степень схожести или предельная степень отличия зависят от степени схожести и соответственно предельной степени отличия, вычисленных, по меньшей мере:
Figure 00000035
в момент создания объекта;
Figure 00000035
в момент первого изменения состояния объекта;
на основании анализа статических параметров объекта.
22. Способ по п. 14, по которому обученная модель вычисления параметров представляет собой совокупность правил вычисления степени схожести объекта и предельной степени отличия объекта, зависящих от определенных данных о динамике изменения состояния объекта.
23. Способ по п. 14, по которому временные законы, описывающие совокупность последовательно вычисленных степеней схожести и совокупность последовательно вычисленных предельных степеней отличия, имеют монотонных характер.
24. Способ по п. 14, по которому в качестве взаимосвязи между степенью схожести и предельной степенью отличия выступает, по меньшей мере:
Figure 00000035
отличие расстояния между степенью схожести и предельной степенью отличия от заданного порогового значения;
Figure 00000035
отличие площади, ограниченной в заданном временном интервале между степенью схожести и предельной степенью отличия, от заранее заданного порогового значения;
Figure 00000035
отличие скорости взаимного роста кривой, описывающей изменение степени вредоносности и предельной степени отличия, от заранее заданного значения.
25. Способ по п. 14, по которому дополнительно переобучают модель вычисления параметров на основании анализа вычисленных степени схожести и предельной степени отличия, в результате которого изменения во временных законах, описывающих степень схожести и предельную степень отличия, приводят к тому, что взаимосвязь между значениями, полученными на основании упомянутых законов, стремится к максимальной.
26. Способ по п. 25, по которому модель вычисления параметров переобучают таким образом, чтобы при использовании упомянутой модели сформированный впоследствии критерий обеспечивал, по меньшей мере:
Figure 00000035
точность определения степени схожести и предельной степени отличия была выше, чем при использовании необученной модели вычисления параметров;
Figure 00000035
использование вычислительных ресурсов было ниже, чем при использовании необученной модели вычисления параметров.
RU2018147230A 2018-12-28 2018-12-28 Система и способ классификации объектов вычислительной системы RU2724710C1 (ru)

Priority Applications (6)

Application Number Priority Date Filing Date Title
RU2018147230A RU2724710C1 (ru) 2018-12-28 2018-12-28 Система и способ классификации объектов вычислительной системы
US16/452,734 US11188649B2 (en) 2018-12-28 2019-06-26 System and method for classification of objects of a computer system
US16/459,718 US11036858B2 (en) 2018-12-28 2019-07-02 System and method for training a model for detecting malicious objects on a computer system
EP19204938.5A EP3674948B1 (en) 2018-12-28 2019-10-23 System and method for classification of objects of a computer system
CN201911200597.3A CN111382430B (zh) 2018-12-28 2019-11-29 用于对计算机系统的对象进行分类的系统和方法
JP2019227463A JP7405596B2 (ja) 2018-12-28 2019-12-17 コンピュータシステムのオブジェクト分類のためのシステムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018147230A RU2724710C1 (ru) 2018-12-28 2018-12-28 Система и способ классификации объектов вычислительной системы

Publications (1)

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

Family

ID=71122200

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018147230A RU2724710C1 (ru) 2018-12-28 2018-12-28 Система и способ классификации объектов вычислительной системы

Country Status (4)

Country Link
US (2) US11188649B2 (ru)
JP (1) JP7405596B2 (ru)
CN (1) CN111382430B (ru)
RU (1) RU2724710C1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
RU2801825C2 (ru) * 2021-07-07 2023-08-16 Кузнецов Яков Михайлович Способ, комплекс обработки информации об отказах устройств беспроводных сенсорных сетей передачи данных и связанных сетей

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321462B2 (en) 2018-04-10 2022-05-03 Raytheon Company Device behavior anomaly detection
US11436537B2 (en) 2018-03-09 2022-09-06 Raytheon Company Machine learning technique selection and improvement
US11507847B2 (en) 2019-07-25 2022-11-22 Raytheon Company Gene expression programming
US11340603B2 (en) * 2019-04-11 2022-05-24 Raytheon Company Behavior monitoring using convolutional data modeling
WO2019199769A1 (en) 2018-04-10 2019-10-17 Raytheon Company Cyber chaff using spatial voting
US11200318B2 (en) * 2018-12-28 2021-12-14 Mcafee, Llc Methods and apparatus to detect adversarial malware
RU2739865C2 (ru) * 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного файла
US11341235B2 (en) 2019-02-21 2022-05-24 Raytheon Company Anomaly detection with adaptive auto grouping
US20210200955A1 (en) * 2019-12-31 2021-07-01 Paypal, Inc. Sentiment analysis for fraud detection
US11886586B1 (en) * 2020-03-06 2024-01-30 Trend Micro, Inc. Malware families identification based upon hierarchical clustering
US12093396B2 (en) * 2020-07-16 2024-09-17 Bank Of America Corporation System and method for associating a common vulnerability and exposures (CVE) with a computing device and applying a security patch
CN112288025B (zh) * 2020-11-03 2024-04-30 中国平安财产保险股份有限公司 基于树结构的异常案件识别方法、装置、设备及存储介质
CN112560063A (zh) * 2020-12-21 2021-03-26 中建安装集团有限公司 一种用于bim族库平台的加密方法
US11822459B2 (en) * 2021-05-25 2023-11-21 Oracle International Corporation Automated function category detection
EP4396712A1 (en) * 2021-09-01 2024-07-10 B.G. Negev Technologies and Applications Ltd., at Ben-Gurion University Systems and methods for detecting unknown portable executables malware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU114538U1 (ru) * 2011-10-17 2012-03-27 Константин Сергеевич Артемьев Система вероятностного антивирусного анализа объектов
US20120323829A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Graph-based classification based on file relationships
US20130326625A1 (en) * 2012-06-05 2013-12-05 Los Alamos National Security, Llc Integrating multiple data sources for malware classification
US9288220B2 (en) * 2013-11-07 2016-03-15 Cyberpoint International Llc Methods and systems for malware detection

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
CN101459537A (zh) * 2008-12-20 2009-06-17 中国科学技术大学 基于多层次多角度分析的网络安全态势感知系统及方法
CN101604363B (zh) * 2009-07-10 2011-11-16 珠海金山软件有限公司 基于文件指令频度的计算机恶意程序分类系统及分类方法
CN101996292B (zh) * 2010-12-10 2012-05-23 北京理工大学 一种基于序列聚类的软件安全特性分析方法
CN102495978B (zh) * 2011-11-09 2015-03-04 南京邮电大学 开放计算环境下任务执行体与执行点可信指数计算方法
US11126720B2 (en) * 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
RU2541120C2 (ru) * 2013-06-06 2015-02-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных исполняемых файлов на основании сходства ресурсов исполняемых файлов
US10062008B2 (en) * 2013-06-13 2018-08-28 Sicpa Holding Sa Image based object classification
US9628507B2 (en) * 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
CN103617393A (zh) * 2013-11-28 2014-03-05 北京邮电大学 一种基于支持向量机的移动互联网恶意应用软件检测方法
JP6106340B2 (ja) * 2014-06-06 2017-03-29 日本電信電話株式会社 ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
US9690933B1 (en) * 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US20160191550A1 (en) * 2014-12-29 2016-06-30 Fireeye, Inc. Microvisor-based malware detection endpoint architecture
US10708296B2 (en) * 2015-03-16 2020-07-07 Threattrack Security, Inc. Malware detection based on training using automatic feature pruning with anomaly detection of execution graphs
US10104107B2 (en) 2015-05-11 2018-10-16 Qualcomm Incorporated Methods and systems for behavior-specific actuation for real-time whitelisting
EP3113065B1 (en) * 2015-06-30 2017-07-05 Kaspersky Lab AO System and method of detecting malicious files on mobile devices
RU2614557C2 (ru) * 2015-06-30 2017-03-28 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов на мобильных устройствах
US20170024663A1 (en) * 2015-07-24 2017-01-26 Ebay Inc. Category recommendation using statistical language modeling and a gradient boosting machine
US10176321B2 (en) * 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10284575B2 (en) * 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10685112B2 (en) * 2016-05-05 2020-06-16 Cylance Inc. Machine learning model for malware dynamic analysis
RU2634181C1 (ru) 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных компьютерных систем
EP3252645B1 (en) 2016-06-02 2019-06-26 AO Kaspersky Lab System and method of detecting malicious computer systems
US10372910B2 (en) * 2016-06-20 2019-08-06 Jask Labs Inc. Method for predicting and characterizing cyber attacks
EP3475822B1 (en) * 2016-06-22 2020-07-22 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
US10372909B2 (en) * 2016-08-19 2019-08-06 Hewlett Packard Enterprise Development Lp Determining whether process is infected with malware
US10503901B2 (en) * 2016-09-01 2019-12-10 Cylance Inc. Training a machine learning model for container file analysis
US10565513B2 (en) * 2016-09-19 2020-02-18 Applied Materials, Inc. Time-series fault detection, fault classification, and transition analysis using a K-nearest-neighbor and logistic regression approach
US10652252B2 (en) * 2016-09-30 2020-05-12 Cylance Inc. Machine learning classification using Markov modeling
US10826934B2 (en) * 2017-01-10 2020-11-03 Crowdstrike, Inc. Validation-based determination of computational models
CN108319853B (zh) * 2017-01-18 2021-01-15 腾讯科技(深圳)有限公司 病毒特征码处理方法及装置
US10534909B2 (en) * 2017-03-02 2020-01-14 Fortinet, Inc. Multi-tiered sandbox based network threat detection
CN107153789B (zh) * 2017-04-24 2019-08-13 西安电子科技大学 利用随机森林分类器实时检测安卓恶意软件的方法
US11080596B1 (en) * 2017-06-14 2021-08-03 Amazon Technologies, Inc. Prediction filtering using intermediate model representations
US10726128B2 (en) * 2017-07-24 2020-07-28 Crowdstrike, Inc. Malware detection using local computational models
RU2654151C1 (ru) 2017-08-10 2018-05-16 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
US11108809B2 (en) * 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US20190156024A1 (en) * 2017-11-20 2019-05-23 Somansa Co., Ltd. Method and apparatus for automatically classifying malignant code on basis of malignant behavior information
US10915631B2 (en) * 2017-12-28 2021-02-09 Intel Corporation Deep learning on execution trace data for exploit detection
US10963566B2 (en) * 2018-01-25 2021-03-30 Microsoft Technology Licensing, Llc Malware sequence detection
CN108304584A (zh) * 2018-03-06 2018-07-20 百度在线网络技术(北京)有限公司 非法页面检测方法、装置、入侵检测系统及存储介质
US10956568B2 (en) * 2018-04-30 2021-03-23 Mcafee, Llc Model development and application to identify and halt malware
US11204998B2 (en) * 2018-08-07 2021-12-21 Mcafee, Llc Detection and mitigation of fileless security threats
US11062024B2 (en) * 2018-11-15 2021-07-13 Crowdstrike, Inc. Computer-security event security-violation detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120323829A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Graph-based classification based on file relationships
RU114538U1 (ru) * 2011-10-17 2012-03-27 Константин Сергеевич Артемьев Система вероятностного антивирусного анализа объектов
US20130326625A1 (en) * 2012-06-05 2013-12-05 Los Alamos National Security, Llc Integrating multiple data sources for malware classification
US9288220B2 (en) * 2013-11-07 2016-03-15 Cyberpoint International Llc Methods and systems for malware detection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
RU2801825C2 (ru) * 2021-07-07 2023-08-16 Кузнецов Яков Михайлович Способ, комплекс обработки информации об отказах устройств беспроводных сенсорных сетей передачи данных и связанных сетей

Also Published As

Publication number Publication date
US11188649B2 (en) 2021-11-30
CN111382430A (zh) 2020-07-07
CN111382430B (zh) 2023-06-30
JP7405596B2 (ja) 2023-12-26
US20200210570A1 (en) 2020-07-02
US11036858B2 (en) 2021-06-15
JP2020115328A (ja) 2020-07-30
US20200210573A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
RU2724710C1 (ru) Система и способ классификации объектов вычислительной системы
RU2739865C2 (ru) Система и способ обнаружения вредоносного файла
RU2679785C1 (ru) Система и способ классификации объектов
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
US10929534B2 (en) System and method detecting malicious files using machine learning
US10878090B2 (en) System and method of detecting malicious files using a trained machine learning model
US10795996B2 (en) System and method of machine learning of malware detection model
RU2654151C1 (ru) Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
EP3474175B1 (en) System and method of managing computing resources for detection of malicious files based on machine learning model
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
EP3674948B1 (en) System and method for classification of objects of a computer system