RU2624552C2 - Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины - Google Patents
Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test 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)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (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 выделяет из полученного для анализа файла данные:
- параметры секций (код, название и тип заголовка секции, смещение на данные и размер данных секции);
- параметры функций содержащегося в flash-файле кода на языке ActionScript3, выполняемых с помощью стековой виртуальной машины (индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции);
После этого средство анализа структуры файла 110 осуществляет поиск в базе кластеров безопасных файлов 150 кластеров, у которых ряд параметров секций файлов (например, code=69, type=short) и функций, исполняемых с помощью стековой виртуальной машины, (например, script0$init()) совпадает с параметрами секций и функций, выделенных из анализируемого файла launchme.swf.
У найденных кластеров безопасных файлов средство анализа структуры файла 110 выделяет:
- параметры секций (код, название и тип заголовка секции, смещение на данные и размер данных секции);
- параметры функций, выполняемых с помощью стековой виртуальной машины (индекс тела функции, позиция и длина кода функции в секции, индекс описателя функции, максимальная глубина стека при исполнении функции, количество используемых функцией локальных переменных, название функции);
После чего выделенные данные передаются средству кластеризации 120.
Средство кластеризации 120 создает из полученных от средства анализа 110 данных три кластера:
- кластер, содержащий типы заголовков секций и размеры данных секции;
- кластер, содержащий количество локальных переменных, используемых функциями, выполняемыми с помощью стековой виртуальной машины;
- кластер, содержащий имена функций, выполняемых с помощью стековой виртуальной машины;
Созданные кластеры содержат данные (параметры секций и функций, выполняемых с помощью стековой виртуальной машины) в порядке их выделения из анализируемого файла, за исключением данных, выделенных из кластеров, найденных в базе кластеров безопасных файлов 150, которые в создаваемые кластера не включались. После чего передают созданные кластера средству вычисления контрольных сумм 130.
Средство вычисления контрольных сумм 130 вычисляет нечеткую контрольную сумму для полученных от средства кластеризации 120 кластеров, то есть вычисляет набор MD5, состоящий из MD5 от кластера, содержащий типы заголовков секций и размеры данных секции, кластера, содержащий количества используемых функцией локальных переменных, и кластера, содержащего имена функций, выполняемых с помощью стековой виртуальной машины.
После чего передает вычисленную нечеткую контрольную сумму средству проверки 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, в котором в качестве правил кластеризации, при помощи которых создают кластер из данных, собранных из файла, исполняемого с помощью стековой виртуальной машины, выступает по меньшей мере правило, по которому:
а) собранные данные размещаются в кластере последовательно в порядке их выделения из файла;
б) параметры секции файла не участвуют в формировании кластера в случае, когда размер данных секции файла равен нулю;
в) параметры функции, выполняемой с помощью стековой виртуальной машины, не участвуют в формировании кластера в случае, когда количество используемых функцией локальных переменных равно нулю.
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)
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)
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 |
WO2020183828A1 (ja) | 2019-03-12 | 2020-09-17 | 日本電気株式会社 | ホワイトリスト生成装置、制御方法、及びプログラム |
US11636208B2 (en) * | 2019-07-19 | 2023-04-25 | Palo Alto Networks, Inc. | Generating models for performing inline malware detection |
US11374946B2 (en) * | 2019-07-19 | 2022-06-28 | Palo Alto Networks, Inc. | 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)
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)
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 |
JP6019484B2 (ja) * | 2010-08-25 | 2016-11-02 | ルックアウト、アイエヌシー. | サーバで結合されたマルウェア防止のためのシステムと方法 |
AU2011336466C1 (en) * | 2010-12-01 | 2017-01-19 | Cisco Technology, Inc. | Detecting malicious software through contextual convictions, generic signatures and machine learning techniques |
US9454658B2 (en) * | 2010-12-14 | 2016-09-27 | F-Secure Corporation | Malware detection using feature analysis |
WO2013009713A2 (en) * | 2011-07-08 | 2013-01-17 | Uab Research Foundation | Syntactical fingerprinting |
CN102930206B (zh) | 2011-08-09 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 病毒文件的聚类划分处理方法和装置 |
CN102664875B (zh) * | 2012-03-31 | 2014-12-17 | 华中科技大学 | 基于云模式的恶意代码类别检测方法 |
US9146767B2 (en) | 2012-06-19 | 2015-09-29 | Raytheon Company | Secure cloud hypervisor monitor |
CN102810138B (zh) * | 2012-06-19 | 2015-12-02 | 北京奇虎科技有限公司 | 一种用户端文件的修复方法和系统 |
US9245120B2 (en) * | 2012-07-13 | 2016-01-26 | Cisco Technologies, 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 |
-
2015
- 2015-06-30 RU RU2015125974A patent/RU2624552C2/ru active
- 2015-08-24 US US14/833,620 patent/US9396334B1/en active Active
- 2015-09-07 EP EP15184122.8A patent/EP3136276B8/en active Active
-
2016
- 2016-02-29 CN CN201610113527.4A patent/CN106326737B/zh active Active
- 2016-05-06 JP JP2016093094A patent/JP6277224B2/ja active Active
- 2016-06-14 US US15/182,083 patent/US10013555B2/en active Active
Patent Citations (5)
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)
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 |
---|---|
EP3136276B1 (en) | 2017-10-25 |
JP6277224B2 (ja) | 2018-02-07 |
EP3136276B8 (en) | 2018-03-07 |
EP3136276A1 (en) | 2017-03-01 |
US9396334B1 (en) | 2016-07-19 |
CN106326737B (zh) | 2019-05-21 |
RU2015125974A (ru) | 2017-01-11 |
US10013555B2 (en) | 2018-07-03 |
US20170004310A1 (en) | 2017-01-05 |
CN106326737A (zh) | 2017-01-11 |
JP2017021777A (ja) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2624552C2 (ru) | Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины | |
RU2606564C1 (ru) | Система и способ блокировки выполнения сценариев | |
CN109271780B (zh) | 机器学习恶意软件检测模型的方法、系统和计算机可读介质 | |
RU2614557C2 (ru) | Система и способ обнаружения вредоносных файлов на мобильных устройствах | |
RU2739865C2 (ru) | Система и способ обнаружения вредоносного файла | |
RU2679785C1 (ru) | Система и способ классификации объектов | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
CN109684836B (zh) | 使用经训练的机器学习模型检测恶意文件的系统和方法 | |
RU2617654C2 (ru) | Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя | |
Bayer et al. | Scalable, behavior-based malware clustering. | |
RU2659737C1 (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) | Система и способ выбора средства обнаружения вредоносных файлов | |
Naz et al. | Review of machine learning methods for windows malware detection | |
RU2673708C1 (ru) | Система и способ машинного обучения модели обнаружения вредоносных файлов | |
Bakour et al. | A deep camouflage: evaluating android’s anti-malware systems robustness against hybridization of obfuscation techniques with injection attacks | |
RU2614929C1 (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) | Система и способ оценки приложения на вредоносность | |
RU2659739C1 (ru) | Способ контроля доступа к составным файлам |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
HE9A | Changing address for correspondence with an applicant |