RU2624552C2 - Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины - Google Patents

Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины Download PDF

Info

Publication number
RU2624552C2
RU2624552C2 RU2015125974A RU2015125974A RU2624552C2 RU 2624552 C2 RU2624552 C2 RU 2624552C2 RU 2015125974 A RU2015125974 A RU 2015125974A RU 2015125974 A RU2015125974 A RU 2015125974A RU 2624552 C2 RU2624552 C2 RU 2624552C2
Authority
RU
Russia
Prior art keywords
data
function
section
virtual machine
file
Prior art date
Application number
RU2015125974A
Other languages
English (en)
Other versions
RU2015125974A (ru
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 RU2015125974A priority Critical patent/RU2624552C2/ru
Priority to US14/833,620 priority patent/US9396334B1/en
Priority to EP15184122.8A priority patent/EP3136276B8/en
Priority to CN201610113527.4A priority patent/CN106326737B/zh
Priority to JP2016093094A priority patent/JP6277224B2/ja
Priority to US15/182,083 priority patent/US10013555B2/en
Publication of RU2015125974A publication Critical patent/RU2015125974A/ru
Application granted granted Critical
Publication of RU2624552C2 publication Critical patent/RU2624552C2/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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов.
Уровень техники
Введем ряд определений и понятий, которые будут использованы при описании вариантов осуществления изобретения.
Антивирусная программа - специализированная программа для обнаружения вредоносных программ и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики - предотвращения заражения (модификации) файлов или операционной системы вредоносной программой.
Безопасная программа - программа, не предназначенная для несанкционированного пользователем уничтожения, блокирования, модификации или копирования информации, нарушения работы компьютеров или компьютерных сетей.
Безопасный файл - файл, представляющий собой компонент безопасной программы.
Вредоносная программа - программа, предназначенная специально для несанкционированного пользователем уничтожения, блокирования, модификации или копирования информации, нарушения работы компьютеров или компьютерных сетей.
Вредоносный файл - файл, представляющий собой компонент вредоносной программы.
Виртуальная машина - программная или аппаратная система, эмулирующая аппаратное обеспечение некоторой целевой платформы (англ. target) и исполняющая программы для целевой платформы на хост-платформе (англ. host) или необходимая для обеспечения виртуализации аппаратной части платформы и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы.
Стековая виртуальная машина - виртуальная машина, в которой все операнды выполняемых функций размещаются лишь в одной структуре данных, в качестве которой выступает стек виртуальной машины. Примерами стековых виртуальных машин могут служить виртуальная машина Java, виртуальная машина Adobe Flash или общеязыковая исполняющая среда. NET.
Кластер - объединение нескольких однородных элементов (например, названий секций файлов), которое может рассматриваться как самостоятельная единица, обладающая определенными свойствами.
Кластеризация - процедура сбора данных, содержащих информацию о выборке объектов, и последующего упорядочивания объектов в сравнительно однородные группы.
Контрольная сумма (англ. hash) - значение, рассчитанное по набору данных путем применения определенного алгоритма (например, циклический избыточный код CRC32 или криптостойкий алгоритм MD5) и используемое для проверки целостности данных при их передаче или хранении.
Нечеткая контрольная сумма (англ. fuzzy hash) - значение, рассчитанное по набору данных, и представляющее собой совокупность контрольных сумм (например, MD5 или SHA256), рассчитанных по некоторым выбранным частям этого набора данных.
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования этих устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для атак таких как отказ в обслуживании (англ. DDOS) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами (то есть для обнаружения вредоносных программ, предотвращения заражения и восстановления компьютерных систем, зараженных вредоносными программами) применяются специализированные программы - антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:
- сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемой программы известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;
- эвристический анализ - эмуляция работы анализируемой программы, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемой программы и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных эмуляций вредоносных программ
- белые и черные списки - поиск вычисленной контрольной суммы от анализируемой программы (или ее частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм легальных программ (белые списки);
- проактивную защиту - перехват вызовов API-функций запущенной в системе анализируемой программы, создания журналов работы анализируемой программы (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемой программы и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ.
В свою очередь, вредоносные программы все чаще и чаще используют методы противодействия обнаружению антивирусными программами своего присутствия на зараженных компьютерных системах, такие как:
- обфускация кода для борьбы с сигнатурным анализом - приведение исходного текста (например, сценариев, таких как JavaScript) или исполняемого кода программ к виду, сохраняющему их функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции;
- усложнение поведения для борьбы с эвристическим анализом -использование большого количества операций или вызовов API-функций, применение которых не влияет на результаты работы ввода-вывода программы, но мешающее ее эмуляции антивирусными программами;
- отслеживание поведения сторонних программ для борьбы с проактивной защитой - постоянное отслеживание поведения сторонних программ в операционной системе, поиск антивирусных программ и противодействие им (например, сокрытие или подмена своего кода для анализа).
Используя разнообразные средства, такие как генераторы кода (программы-конструкторы, позволяющие автоматически создавать вредоносные программы, обладающие заданным функционалом), обфускаторы (программы, позволяющие изменять исполнимый код программ, тем самым усложняя их анализ, без изменения их функциональности), упаковщики (программные модули, внедряемые в программы, шифрующие исполнимый код программ и расшифровывающие его при запуске) и так далее, злоумышленники получают возможность быстро и без лишних усилий создавать и распространять большое количество новых, не обнаруживаемых антивирусами, версий своих вредоносных программ.
Для эффективного обнаружения вредоносных программ, полученных описанными выше методами, применяется технология, по которой:
- собирается группа вредоносных программ (кластер) с определенными характеристиками (например, файлы вредоносных программ, упакованные одной версией упаковщика, вредоносные программы, имеющие схожее поведение и так далее);
- в файлах собранного кластера ищутся схожие участки кода, данные из журналов эмуляции или поведения (например, последовательность вызовов API-функций);
- создаются правила обнаружения, которые позволяют, зная данные одной вредоносной программы (например, участки кода) из кластера, обнаруживать и другие вредоносные программы этого кластера.
Основной недостаток такого подхода заключается в том, что отсутствует универсальное решение для обнаружения вредоносных файлов вне зависимости от платформы, на которой работает вредоносная программа (например, мобильная архитектура ARM) или типа данных, который представляет собой вредоносная программа (например, сценарий JavaScipt, байт-код JavaScipt или скомпилированный код С++). В связи с этим часто приходится применять индивидуальные для платформы и типа данных алгоритмы кластеризации и создания правил обнаружения вредоносных программ.
Существует большое количество вредоносных программ, активно использующих для своего распространения и деструктивной деятельности на компьютерах пользователей виртуальные машины (и их уязвимости), и особенно стековые виртуальные машины (например, виртуальную машину Adobe Flash или Java). Обнаружение таких вредоносных программ сопряжено с дополнительными трудностями по сравнению с обнаружением обычных вредоносных программ, работающих на ПК, поскольку стандартные методы обнаружения или неприменимы (из-за архитектурных особенностей виртуальных машин) или медленны или неэффективны (обеспечивают слишком низкий уровень обнаружения).
Например, в публикации US 8881286 B2 описана технология автоматической кластеризации вредоносных файлов по внутренней структуре файлов. Для кластеризации производится анализ структуры файлов, определяются характеристики структур (например, названия и размеры секций файлов, размеры и позиции блоков исполнимого кода). После успешного создания кластеров анализируемых файлов, то есть определения тех характеристик, которые дают возможность создать кластер с заданными параметрами (например, кластер должен содержать количество файлов больше заданного предела), по используемым для кластеризации характеристикам вычисляют их контрольные суммы, которые впоследствии будут служить для обнаружения вредоносных файлов, обладающих идентичными характеристиками. Таким образом, изначально создав кластер вредоносных файлов и вычислив его характеристики, можно обнаруживать новые вредоносные файлы. Недостатком данной технологии является то, что она плохо работает с обфусцированными файлами - обладающими схожим функционалом, но имеющими совершенно отличные характеристики внутренней структуры.
В другой публикации US 20150096023 А1 описана технология вычисления нечетких контрольных сумм (англ. fuzzy hashes) от анализируемых программ и использования их для обнаружения вредоносных программ. Нечеткие контрольные суммы используются в качестве идентификаторов вредоносных программ и, в отличие от обычных контрольных сумм (таких как MD5 или SHA256), позволяют описывать не только содержимое вредоносной программы, но и ее поведение (например, нечеткая контрольная сумма включает в себя части, отвечающие за исполнимый код вредоносной программы, ресурсы, журналы системных вызовов). Таким образом, появляется возможность обнаруживать вредоносные программы, у которых лишь часть ресурсов используется для вредоносной деятельности (например, зараженные вирусами файлы). Недостатком данной технологии является то, что использование контрольных сумм или нечетких контрольных сумм применимо лишь на узком, уже известном диапазоне вредоносных программ. Новые версии вредоносных программ с измененными ресурсами описанная выше технология обнаруживать не будет или эффективность обнаружения будет низкая (т.е. большое количество ложных срабатываний или низкое количество обнаруженных вредоносных файлов).
Хотя описанные выше способы работы хорошо справляются с задачами кластеризации и обнаружения вредоносных программ, исполняемых на персональных компьютерах, они зачастую не помогают при обнаружении вредоносных программ, исполняемых с помощью стековой виртуальной машины (такой как виртуальная машина Adobe Flash или виртуальная машина Java).
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Раскрытие изобретения
Изобретение предназначено для обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Технический результат настоящего изобретения заключается в обеспечении безопасности компьютерной системы посредством обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, работающей на этой компьютерной системе, за счет создания и использования кластеров данных анализируемых файлов с использованием данных из кластеров, найденных в базе кластеров безопасных файлов.
Данный результат достигается с помощью использования способа обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, в которой все операнды выполняемых функций размещаются лишь в одной структуре данных, в качестве которой выступает стек виртуальной машины, в котором выделяют данные по меньшей мере из одного файла, исполняемого с помощью стековой виртуальной машины; осуществляют поиск по меньшей мере одного кластера в базе кластеров безопасных файлов по данным, выделенным на предыдущем этапе; выделяют данные по меньшей мере из одного найденного на предыдущем этапе кластера; создают по меньшей мере один кластер из выделенных на предыдущих этапах данных при помощи правил кластеризации; вычисляют контрольную сумму по меньшей мере одного созданного кластера; осуществляют поиск вычисленной контрольной суммы в базе контрольных сумм кластеров вредоносных файлов; выносят вердикт об обнаружении по меньшей мере одного вредоносного файла в случае обнаружения в результате поиска, осуществленного на предыдущем этапе, в базе контрольных сумм кластеров вредоносных файлов вычисленной контрольной суммы.
В другом частном случае реализации способа в качестве данных, выделяемых из файла, исполняемого с помощью стековой виртуальной машины, выступает по меньшей мере: параметры секции файла, такие как: код секции, название секции, тип заголовка секции, смещение на данные в секции, размер данных секции; параметры функции, выполняемой с помощью стековой виртуальной машины, такие как: индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции, количество операндов, возвращаемый тип данных.
Еще в одном частном случае реализации способа в качестве данных, выделяемых из кластера, найденного в базе кластеров безопасных файлов, выступает по меньшей мере: параметры секции файла, такие как: код секции, название секции, тип заголовка секции, смещение на данные в секции, размер данных секции; параметры функции, выполняемой с помощью стековой виртуальной машины, такие как: индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции, количество операндов, возвращаемый тип данных.
В другом частном случае реализации способа осуществляется поиск в базе кластеров безопасных файлов по данным, выделенным из файла, исполняемого с помощью стековой виртуальной машины, кластера, содержащего по меньшей мере значение одного из параметров секций файла, превышающего заданный порог; значение одного из параметра функций, выполняемых с помощью стековой виртуальной машины, превышающего заданный порог.
Еще в одном частном случае реализации способа в качестве правил кластеризации, при помощи которых создают кластер из данных, собранных из файла, исполняемого с помощью стековой виртуальной машины, выступает по меньшей мере правило по которому: собранные данные размещаются в кластере последовательно в порядке их выделения из файла; параметры секции файла не участвуют в формировании кластера в случае, когда размер данных секции файла равен нулю; параметры функции, выполняемой с помощью стековой виртуальной машины, не участвуют в формировании кластера в случае, когда количество используемых функцией локальных переменных равно нулю; данные, выделенные из кластера, найденного в базе кластеров безопасных файлов, не участвуют в формировании кластера.
В другом частном случае реализации способа в качестве контрольной суммы, вычисленной по созданному кластеру, выступает нечеткая контрольная сумма от созданного кластера.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Фиг. 2 представляет структурную схему способа обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Фиг. 1 представляет структурную схему системы обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Структурная схема системы обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, состоит из средства анализа структуры файла 110, средства кластеризации 120, средства вычисления контрольных сумм 130, средства проверки 140, базы данных кластеров безопасных файлов 150 и базы данных контрольных сумм кластеров вредоносных файлов 160.
Средство анализа структуры файла 110 предназначено для:
- выделения данных из файла, исполняемого с помощью стековой виртуальной машины;
- осуществления поиска кластеров в базе кластеров безопасных файлов 150 по выделенным из файла, исполняемого с помощью стековой виртуальной машины, данным;
- выделения данных из найденных в базе кластеров безопасных файлов 150 кластеров;
- передачи выделенных из файла, исполняемого с помощью стековой виртуальной машины, и кластеров, найденных в базе кластеров безопасных файлов, данных средству кластеризации 120.
В качестве данных, выделяемых из файла, исполняемого с помощью стековой виртуальной машины, выступают:
- параметры секции файла, такие как:
- код,
- название,
- тип заголовка,
- смещение на данные в секции,
- размер данных секции;
- параметры функции, выполняемой с помощью стековой виртуальной машины, такие как:
- индекс тела функции,
- позиция и длина кода функции в секции,
- индекс описателя функции,
- максимальная глубина стека при исполнении функции,
- количество используемых функцией локальных
переменных,
- название функции,
- количество операндов,
- возвращаемый тип данных.
В качестве данных, выделяемых из кластеров, найденных в базе кластеров безопасных файлов 150, выступают:
- параметры секции файла, такие как:
- код секции,
- название секции,
- тип заголовка секции,
- смещение на данные в секции,
- размер данных секции;
- параметры функции, выполняемой с помощью стековой виртуальной машины, такие как:
- индекс тела функции,
- позиция и длина кода функции в секции,
- индекс описателя функции,
- максимальная глубина стека при исполнении функции,
- количество используемых функцией локальных переменных,
- название функции,
- количество операндов,
- возвращаемый тип данных.
Средством анализа структуры файла 110 выполняется поиск в базе кластеров безопасных файлов 150 по данным, выделенным из исполняемого с помощью стековой виртуальной машины файла, кластера, содержащего:
- значение одного из параметров секций файла, превышающее заданный порог (например, количество типов секций файла);
- значение одного из параметров функций, выполняемых с помощью стековой виртуальной машины, превышающее заданный порог (например, количество используемых функцией локальных переменных).
Средство кластеризации 120 предназначено для:
- создания кластеров из полученных от средства анализа 110 данных при помощи правил кластеризации;
- передачи созданных кластеров средству вычисления контрольных сумм 130.
В качестве правил кластеризации, при помощи которых создают кластеры из данных, собранных из исполняемого с помощью стековой виртуальной машины файла, выступают правила, по которым:
- собранные данные размещаются в кластерах последовательно в порядке их выделения из файла;
- параметры секции файла не участвуют в формировании кластеров в случае, когда размер данных секции файла равен нулю;
- параметры функции, выполняемой с помощью стековой виртуальной машины, не участвуют в формировании кластеров в случае, когда количество используемых функцией локальных переменных равно нулю;
- данные, выделенные из кластеров, найденных в базе кластеров безопасных файлов, не участвуют в формировании кластера.
Средство вычисления контрольных сумм 130 предназначено для:
- вычисления контрольных сумм, полученных от средства кластеризации 120 кластеров;
- передачи вычисленных контрольных сумм средству проверки 140.
В качестве контрольных сумм, вычисленных по созданным кластерам, выступают нечеткие контрольные суммы от созданных кластеров.
В качестве нечетких контрольных сумм, вычисленных по созданным кластерам, выступают контрольные суммы (например, MD5 или SHA256) от данных разного типа (например, набор MD5 от названий секций файла и от названий функции, выполняемых с помощью стековой виртуальной машины), полученных от средства анализа 110.
Средство проверки 140 предназначено для:
- осуществления поиска контрольных сумм, полученных от средства вычисления контрольных сумм 130, в базе контрольных сумм кластеров вредоносных файлов 160;
- вынесения вердикта об обнаружении вредоносного файла в случае обнаружения в результате поиска в базе контрольных сумм кластеров вредоносных файлов 160 полученных от средства вычисления контрольных сумм 130 контрольных сумм.
В качестве условия обнаружения нечеткой контрольной суммы, полученной от средства вычисления контрольных сумм 130 в базе контрольных сумм кластеров вредоносных файлов 160, выступает условие, при котором количество совпадающих контрольных сумм, составляющих нечеткую контрольную сумму, полученную от средства вычисления контрольных сумм 130, и составляющих нечеткую контрольную сумму, хранящуюся в базе контрольных сумм кластеров вредоносных файлов 160, превышает заданный порог.
Рассмотрим работу системы обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, на примере обнаружения вредоносного файла Adobe Flash.
Для анализа с целью обнаружения вредоносного файла, поступил файл launchme.swf, содержащий кроме мультимедиа ресурсов (таких как изображения, аудио и видео ролики) еще и код на языке ActionScript3.
Средство анализа структуры файла 110 выделяет из полученного для анализа файла данные:
- параметры секций (код, название и тип заголовка секции, смещение на данные и размер данных секции);
Figure 00000001
- параметры функций содержащегося в flash-файле кода на языке ActionScript3, выполняемых с помощью стековой виртуальной машины (индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции);
Figure 00000002
После этого средство анализа структуры файла 110 осуществляет поиск в базе кластеров безопасных файлов 150 кластеров, у которых ряд параметров секций файлов (например, code=69, type=short) и функций, исполняемых с помощью стековой виртуальной машины, (например, script0$init()) совпадает с параметрами секций и функций, выделенных из анализируемого файла launchme.swf.
У найденных кластеров безопасных файлов средство анализа структуры файла 110 выделяет:
- параметры секций (код, название и тип заголовка секции, смещение на данные и размер данных секции);
Figure 00000003
- параметры функций, выполняемых с помощью стековой виртуальной машины (индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции);
Figure 00000004
После чего выделенные данные передаются средству кластеризации 120.
Средство кластеризации 120 создает из полученных от средства анализа 110 данных три кластера:
- кластер, содержащий типы заголовков секций и размеры данных секции;
Figure 00000005
- кластер, содержащий количество локальных переменных, используемых функциями, выполняемыми с помощью стековой виртуальной машины;
Figure 00000006
- кластер, содержащий имена функций, выполняемых с помощью стековой виртуальной машины;
Figure 00000007
Созданные кластеры содержат данные (параметры секций и функций, выполняемых с помощью стековой виртуальной машины) в порядке их выделения из анализируемого файла, за исключением данных, выделенных из кластеров, найденных в базе кластеров безопасных файлов 150, которые в создаваемые кластера не включались. После чего передают созданные кластера средству вычисления контрольных сумм 130.
Средство вычисления контрольных сумм 130 вычисляет нечеткую контрольную сумму для полученных от средства кластеризации 120 кластеров, то есть вычисляет набор MD5, состоящий из MD5 от кластера, содержащий типы заголовков секций и размеры данных секции, кластера, содержащий количества используемых функцией локальных переменных, и кластера, содержащего имена функций, выполняемых с помощью стековой виртуальной машины.
Figure 00000008
После чего передает вычисленную нечеткую контрольную сумму средству проверки 140.
Средство проверки 140 осуществляет поиск в базе контрольных сумм кластеров вредоносных файлов 160 такой нечеткой контрольной суммы, которая представляла бы собой набор из минимум трех MD5 контрольных сумм, минимум две из которых совпадали бы с MD5 контрольных сумм от полученной от средства вычисления контрольных сумм 130 нечеткой контрольной суммы. В случае, если такая нечеткая сумма была найдена, выносится вердикт о том, что анализируемый файл launchme.swf является вредоносным.
Фиг. 2 представляет структурную схему способа обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины.
Структурная схема способа обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, состоит из следующих этапов: этап 210, на котором с помощью средства анализа структуры файла 110 выделяют данные из анализируемого файла; этап 220, на котором с помощью средства анализа структуры файла 110 осуществляют поиск кластеров в базе данных кластеров безопасных файлов 150; этап 230, на котором с помощью средства кластеризации 120 собирают кластеры анализируемого файла; этап 240, на котором с помощью средства вычисления контрольных сумм 130 вычисляют контрольную сумму по собранным кластерам; этап 250, на котором с помощью средства проверки 140 проверяют контрольную сумму в базе данных контрольных сумм вредоносных файлов 150; и этап 260, на котором с помощью средства проверки 140 выносят вердикт о том, является ли файл вредоносным.
На этапе 210 выделяют данные из анализируемого файла, исполняемого с помощью стековой виртуальной машины.
В качестве данных, выделяемых на этапе 210 из анализируемого файла, исполняемого с помощью стековой виртуальной машины, выступают:
- параметры секции файла;
- параметры функции, выполняемой с помощью стековой виртуальной машины.
На этапе 220 выполняется поиск в базе кластеров безопасных файлов 150 по данным, выделенным на этапе 210 из анализируемого файла, исполняемого с помощью стековой виртуальной машины, кластеров, содержащих:
- значение одного из параметров секций файла, превышающего заданный порог (например, количество типов секций файла);
- значение одного из параметра функций, выполняемых с помощью стековой виртуальной машины, превышающего заданный порог (например, количество используемых функцией локальных переменных).
и выделение данных из найденных кластеров.
В качестве данных, выделяемых из кластера, найденного в базе кластеров безопасных файлов 150, выступают:
- параметры секции файла;
- параметры функции, выполняемой с помощью стековой виртуальной машины.
На этапе 230 при помощи правил кластеризации создают кластеры анализируемого файла. В качестве правил кластеризации, при помощи которых создают кластер из данных, собранных из анализируемого файла, исполняемого с помощью стековой виртуальной машины, выступает правило, по которому:
- собранные данные размещаются в кластере последовательно в порядке их выделения из файла;
- параметры секции файла не участвуют в формировании кластера в случае, когда размер данных секции файла равен нулю;
- параметры функции, выполняемой с помощью стековой виртуальной машины, не участвуют в формировании кластера в случае, когда количество используемых функцией локальных переменных равно нулю;
- данные, выделенные из кластера, найденного в базе кластеров безопасных файлов, не участвуют в формировании кластера.
На этапе 240 вычисляют контрольную сумму по созданным на этапе 230 кластерам. В качестве контрольной суммы, вычисленной по созданному на этапе 230 кластеру, выступает нечеткая контрольная сумма от созданного кластера. В качестве нечеткой контрольной суммы, вычисленной по созданному на этапе 230 кластеру, выступает набор контрольных сумм (например, MD5 или SHA256) от выделенных на этапе 210 данных разного типа (например, набор MD5 от названий секций файла и от названий функции, выполняемых с помощью стековой виртуальной машины).
На этапе 250 проверяют контрольную сумму в базе данных контрольных сумм вредоносных файлов 160. В качестве условия обнаружения нечеткой контрольной суммы, полученной на этапе 240, в базе контрольных сумм кластеров вредоносных файлов 160 выступает условие, при котором количество совпадающих контрольных сумм, составляющих нечеткую контрольную сумму, полученную на этапе 240, и составляющих нечеткую контрольную сумму, хранящуюся в базе контрольных сумм кластеров вредоносных файлов 160, превышает заданный порог.
На этапе 260 выносят вердикт о том, является ли анализируемый файл вредоносным. В случае обнаружения на этапе 250 нечеткой контрольной суммы, полученной на этапе 240, в базе контрольных сумм кластеров вредоносных файлов 160 выносится вердикт о том, что анализируемый файл является вредоносным.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, то есть в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Claims (47)

1. Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины, в которой все операнды выполняемых функций размещаются лишь в одной структуре данных, в качестве которой выступает стек виртуальной машины, в котором:
а) выделяют данные по меньшей мере из одного файла, исполняемого с помощью стековой виртуальной машины, при этом в качестве данных, выделяемых из файла, исполняемого с помощью стековой виртуальной машины, выступают по меньшей мере:
параметры секции файла, в качестве которых выступают по меньшей мере:
код секции,
название секции,
тип заголовка секции,
смещение на данные в секции,
размер данных секции;
параметры функции, выполняемой с помощью стековой виртуальной машины, в качестве которых выступают по меньшей мере:
индекс тела функции,
позиция и длина кода функции в секции,
индекс описателя функции,
максимальная глубина стека при исполнении функции,
количество используемых функцией локальных переменных,
название функции,
количество операндов,
возвращаемый тип данных;
б) осуществляют поиск в базе кластеров безопасных файлов по данным, выделенным на этапе а), по меньшей мере одного кластера, который содержит:
значение одного из параметров секций файла, превышающее заданный порог;
значение одного из параметров функций, выполняемых с помощью стековой виртуальной машины, превышающее заданный порог;
в) у каждого найденного на этапе б) кластера выделяют данные, при этом в качестве данных выступают по меньшей мере:
параметры секции файла, такие как:
код секции,
название секции,
тип заголовка секции,
смещение на данные в секции,
размер данных секции;
параметры функции, выполняемой с помощью стековой виртуальной машины, такие как:
индекс тела функции,
позиция и длина кода функции в секции,
индекс описателя функции,
максимальная глубина стека при исполнении функции,
количество используемых функцией локальных переменных,
название функции,
количество операндов,
возвращаемый тип данных;
г) создают при помощи правил кластеризации по меньшей мере один кластер из выделенных на этапе а) данных за исключением данных, которые соответствуют данным, выделенным на этапе в);
д) вычисляют контрольную сумму по меньшей мере одного созданного кластера;
е) осуществляют поиск вычисленной контрольной суммы в базе контрольных сумм кластеров вредоносных файлов;
ж) выносят вердикт об обнаружении по меньшей мере одного вредоносного файла в случае обнаружения в результате поиска, осуществленного на этапе е), в базе контрольных сумм кластеров вредоносных файлов вычисленной контрольной суммы.
2. Способ по п. 1, в котором осуществляется поиск в базе кластеров безопасных файлов по данным, выделенным из файла, исполняемого с помощью стековой виртуальной машины, кластера, содержащего по меньшей мере:
значение одного из параметров секций файла, превышающего заданный порог;
значение одного из параметра функций, выполняемых с помощью стековой виртуальной машины, превышающего заданный порог.
3. Способ по п. 1, в котором в качестве правил кластеризации, при помощи которых создают кластер из данных, собранных из файла, исполняемого с помощью стековой виртуальной машины, выступает по меньшей мере правило, по которому:
а) собранные данные размещаются в кластере последовательно в порядке их выделения из файла;
б) параметры секции файла не участвуют в формировании кластера в случае, когда размер данных секции файла равен нулю;
в) параметры функции, выполняемой с помощью стековой виртуальной машины, не участвуют в формировании кластера в случае, когда количество используемых функцией локальных переменных равно нулю.
RU2015125974A 2015-06-30 2015-06-30 Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины RU2624552C2 (ru)

Priority Applications (6)

Application Number Priority Date Filing Date Title
RU2015125974A RU2624552C2 (ru) 2015-06-30 2015-06-30 Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
US14/833,620 US9396334B1 (en) 2015-06-30 2015-08-24 System and method for detecting harmful files executable on a virtual stack machine
EP15184122.8A EP3136276B8 (en) 2015-06-30 2015-09-07 System and method for detecting harmful files executable on a virtual stack machine
CN201610113527.4A CN106326737B (zh) 2015-06-30 2016-02-29 用于检测可在虚拟堆栈机上执行的有害文件的***和方法
JP2016093094A JP6277224B2 (ja) 2015-06-30 2016-05-06 仮想スタックマシンで実行可能な有害なファイルを検出するためのシステムおよび方法
US15/182,083 US10013555B2 (en) 2015-06-30 2016-06-14 System and method for detecting harmful files executable on a virtual stack machine based on parameters of the files and the virtual stack machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015125974A RU2624552C2 (ru) 2015-06-30 2015-06-30 Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины

Publications (2)

Publication Number Publication Date
RU2015125974A RU2015125974A (ru) 2017-01-11
RU2624552C2 true RU2624552C2 (ru) 2017-07-04

Family

ID=56381665

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015125974A RU2624552C2 (ru) 2015-06-30 2015-06-30 Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины

Country Status (5)

Country Link
US (2) US9396334B1 (ru)
EP (1) EP3136276B8 (ru)
JP (1) JP6277224B2 (ru)
CN (1) CN106326737B (ru)
RU (1) RU2624552C2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2708355C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
RU2757408C1 (ru) * 2020-09-24 2021-10-15 Акционерное общество "Лаборатория Касперского" Система и способ формирования правила проверки файла на вредоносность

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI599905B (zh) * 2016-05-23 2017-09-21 緯創資通股份有限公司 惡意碼的防護方法、系統及監控裝置
US10873590B2 (en) 2017-09-29 2020-12-22 AO Kaspersky Lab System and method of cloud detection, investigation and elimination of targeted attacks
EP3940529A4 (en) 2019-03-12 2022-05-04 Nec Corporation WHITELIST GENERATION DEVICE, CONTROL METHOD AND PROGRAM
US11374946B2 (en) * 2019-07-19 2022-06-28 Palo Alto Networks, Inc. Inline malware detection
US11636208B2 (en) * 2019-07-19 2023-04-25 Palo Alto Networks, Inc. Generating models for performing inline malware detection
US11537523B2 (en) * 2019-07-31 2022-12-27 Red Hat, Inc. Command result caching for building application container images
US11469942B2 (en) 2019-08-15 2022-10-11 At&T Intellectual Property I, L.P. System and method for SDN orchestration validation
US11409868B2 (en) * 2019-09-26 2022-08-09 At&T Intellectual Property I, L.P. Ransomware detection and mitigation
US20230350782A1 (en) * 2022-04-28 2023-11-02 Twilio Inc. Data logging for api usage analytics

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU107621U1 (ru) * 2011-04-25 2011-08-20 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Система для контроля хода выполнения программ
US20110219451A1 (en) * 2010-03-08 2011-09-08 Raytheon Company System And Method For Host-Level Malware Detection
US20130167236A1 (en) * 2011-12-15 2013-06-27 Avira Holding GmbH Method and system for automatically generating virus descriptions
RU2514140C1 (ru) * 2012-09-28 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
RU2523112C1 (ru) * 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618737B2 (en) * 2000-03-09 2003-09-09 International Business Machines Corporation Speculative caching of individual fields in a distributed object system
EP1154356A1 (en) * 2000-05-09 2001-11-14 Alcatel Caching of files during loading from a distributed file system
US7870610B1 (en) * 2007-03-16 2011-01-11 The Board Of Directors Of The Leland Stanford Junior University Detection of malicious programs
US8813222B1 (en) 2009-01-21 2014-08-19 Bitdefender IPR Management Ltd. Collaborative malware scanning
US8621636B2 (en) * 2009-12-17 2013-12-31 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for collecting and reporting sensor data in a communication network
US8683216B2 (en) * 2010-07-13 2014-03-25 F-Secure Corporation Identifying polymorphic malware
CN103180862B (zh) * 2010-08-25 2016-03-02 前景公司 用于服务器耦合的恶意软件防止的***和方法
JP5961183B2 (ja) * 2010-12-01 2016-08-02 シスコ テクノロジー,インコーポレイテッド 文脈上の確からしさ、ジェネリックシグネチャ、および機械学習法を用いて悪意のあるソフトウェアを検出する方法
US9454658B2 (en) * 2010-12-14 2016-09-27 F-Secure Corporation Malware detection using feature analysis
EP2729895B1 (en) * 2011-07-08 2016-07-06 The UAB Research Foundation Syntactical fingerprinting
CN102930206B (zh) 2011-08-09 2015-02-25 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
CN102664875B (zh) * 2012-03-31 2014-12-17 华中科技大学 基于云模式的恶意代码类别检测方法
CN102810138B (zh) * 2012-06-19 2015-12-02 北京奇虎科技有限公司 一种用户端文件的修复方法和***
US9146767B2 (en) 2012-06-19 2015-09-29 Raytheon Company Secure cloud hypervisor monitor
WO2014012106A2 (en) * 2012-07-13 2014-01-16 Sourcefire, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning
EP2688007A1 (en) * 2012-07-15 2014-01-22 Eberhard Karls Universität Tübingen Method of automatically extracting features from a computer readable file
KR101246623B1 (ko) * 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
CN102902925B (zh) * 2012-09-29 2016-08-03 北京奇虎科技有限公司 一种染毒文件的处理方法和***
US9317548B2 (en) * 2013-01-30 2016-04-19 International Business Machines Corporation Reducing collisions within a hash table
EP2819054B1 (en) 2013-06-28 2018-10-31 AO Kaspersky Lab Flexible fingerprint for detection of malware
US9058488B2 (en) * 2013-08-14 2015-06-16 Bank Of America Corporation Malware detection and computer monitoring methods
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110219451A1 (en) * 2010-03-08 2011-09-08 Raytheon Company System And Method For Host-Level Malware Detection
RU107621U1 (ru) * 2011-04-25 2011-08-20 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Система для контроля хода выполнения программ
US20130167236A1 (en) * 2011-12-15 2013-06-27 Avira Holding GmbH Method and system for automatically generating virus descriptions
RU2514140C1 (ru) * 2012-09-28 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
RU2523112C1 (ru) * 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2708355C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
RU2757408C1 (ru) * 2020-09-24 2021-10-15 Акционерное общество "Лаборатория Касперского" Система и способ формирования правила проверки файла на вредоносность

Also Published As

Publication number Publication date
EP3136276A1 (en) 2017-03-01
CN106326737A (zh) 2017-01-11
CN106326737B (zh) 2019-05-21
US9396334B1 (en) 2016-07-19
US20170004310A1 (en) 2017-01-05
JP6277224B2 (ja) 2018-02-07
EP3136276B1 (en) 2017-10-25
EP3136276B8 (en) 2018-03-07
US10013555B2 (en) 2018-07-03
RU2015125974A (ru) 2017-01-11
JP2017021777A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
RU2606564C1 (ru) Система и способ блокировки выполнения сценариев
CN109271780B (zh) 机器学习恶意软件检测模型的方法、***和计算机可读介质
CN109145600B (zh) 使用静态分析元素检测恶意文件的***和方法
RU2679785C1 (ru) Система и способ классификации объектов
CN109684836B (zh) 使用经训练的机器学习模型检测恶意文件的***和方法
RU2614557C2 (ru) Система и способ обнаружения вредоносных файлов на мобильных устройствах
Bayer et al. Scalable, behavior-based malware clustering.
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
RU2617654C2 (ru) Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
RU2739865C2 (ru) Система и способ обнаружения вредоносного файла
US9015814B1 (en) System and methods for detecting harmful files of different formats
RU2634178C1 (ru) Способ обнаружения вредоносных составных файлов
US9147073B2 (en) System and method for automatic generation of heuristic algorithms for malicious object identification
RU2739830C1 (ru) Система и способ выбора средства обнаружения вредоносных файлов
CN108369541B (zh) 用于安全威胁的威胁风险评分的***和方法
Naz et al. Review of machine learning methods for windows malware detection
Bakour et al. A deep camouflage: evaluating android’s anti-malware systems robustness against hybridization of obfuscation techniques with injection attacks
RU2614929C1 (ru) Способ передачи антивирусных записей, используемых для обнаружения вредоносных файлов
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
RU2510530C1 (ru) Способ автоматического формирования эвристических алгоритмов поиска вредоносных объектов
RU2587424C1 (ru) Способ контроля приложений
A. Mawgoud et al. A malware obfuscation AI technique to evade antivirus detection in counter forensic domain
RU2794713C1 (ru) Способ обнаружения вредоносного файла с использованием базы уязвимых драйверов
RU2757265C1 (ru) Система и способ оценки приложения на вредоносность

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant