RU2747464C2 - Способ обнаружения вредоносных файлов на основании фрагментов файлов - Google Patents

Способ обнаружения вредоносных файлов на основании фрагментов файлов Download PDF

Info

Publication number
RU2747464C2
RU2747464C2 RU2019122428A RU2019122428A RU2747464C2 RU 2747464 C2 RU2747464 C2 RU 2747464C2 RU 2019122428 A RU2019122428 A RU 2019122428A RU 2019122428 A RU2019122428 A RU 2019122428A RU 2747464 C2 RU2747464 C2 RU 2747464C2
Authority
RU
Russia
Prior art keywords
file
data
fragment
malicious
fragments
Prior art date
Application number
RU2019122428A
Other languages
English (en)
Other versions
RU2019122428A (ru
RU2019122428A3 (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 RU2019122428A priority Critical patent/RU2747464C2/ru
Priority to US16/580,015 priority patent/US11366902B2/en
Priority to EP20177212.6A priority patent/EP3767510A1/en
Priority to CN202010637037.0A priority patent/CN112241531B/zh
Publication of RU2019122428A publication Critical patent/RU2019122428A/ru
Publication of RU2019122428A3 publication Critical patent/RU2019122428A3/ru
Application granted granted Critical
Publication of RU2747464C2 publication Critical patent/RU2747464C2/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

Изобретение относится к области защиты информации, а именно к системам и способам обнаружения вредоносных файлов на основании фрагментов файлов.
Уровень техники
Большое количество вредоносных файлов, появляющихся каждый день, стимулирует развитие антивирусных технологий. Антивирусное программное обучение использует все более и более сложные технологии для качественной защиты вычислительных устройств. Однако вместе с этим развиваются и подходы злоумышленников к разработке вредоносного программного обеспечения (далее ПО), в частности исполняемых файлов, которые прибегают к всевозможным техникам сокрытия присутствия вредоносного ПО на вычислительном устройстве или же техникам, усложняющим анализ такого ПО.
Особенно тщательно подходят к использованию вышеупомянутых техник при разработке вредоносного ПО, используемого для целенаправленных атак (иногда «целевых атак», англ. advanced persistent threat, APT). Вредоносные файлы такого ПО, особенно обфусцированные, сложно анализировать и использовать для классифицирующих моделей, используемых в антивирусном ПО.
Для решения задач классификации таких файлов существуют подходы, основанные на классификации по последовательностям инструкций заданной длины. Например, в публикации ЕР 3198507 А1 описан подход, в соответствии с которым исполняемый файл декомпилируется, и из него выделяются последовательности инструкций заданного размера. На основании присутствия в файле последовательностей инструкций, которые также встречаются в известных вредоносных файлах, выносится вердикт относительно того, является ли анализируемый файл вредоносным или нет. Однако у такого подхода есть большой недостаток - низкая скорость работы, связанная с обработкой большого количества последовательностей инструкций, требующей декомпиляции исполняемого файла.
Настоящее изобретение призвано решить задачу обнаружения вредоносных файлов более эффективно, чем существующие аналоги.
Раскрытие изобретения
Настоящее изобретение предназначено для обнаружения вредоносных файлов.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.
Еще один технический результат настоящего изобретения заключается в уменьшении времени, необходимого для признания файла вредоносным.
Способ признания файла вредоносным, реализуемый при помощи электронного вычислительного устройства, согласно которому: выделяют набор фрагментов данных из файла; при этом фрагментом данных является непрерывная последовательность байт файла фиксированной длины, которая удовлетворяет правилам выделения фрагментов; при этом правило выделения фрагмента предназначено для выделения только таких фрагментов данных, которые удовлетворяют правилам выделения; для каждого фрагмента данных из выделенного набора определяют категорию фрагмента; при этом фрагмент относится к категории вредоносных фрагментов, если относительно него известно, что он встречается во вредоносных файлах; осуществляют поиск правила обнаружения, соответствующего набору вредоносных фрагментов данных файла, если количество фрагментов из набора, относящихся к категории вредоносных, превышает пороговое значение; признают файл вредоносным, если было найдено правило, предписывающее признать файл вредоносным.
В другом варианте реализации способа правило выделения фрагментов содержит требования к фрагменту данных, удовлетворение фрагмента данных всем требованиям правила означает удовлетворение фрагмента данных данному правилу выделения фрагментов.
В другом варианте реализации способа поиск правила осуществляется в базе данных правил обнаружения.
В другом варианте реализации способа фрагмент данных файла может относиться к одной из категорий: доверенный, вредоносный, недоверенный.
В другом варианте реализации способа известность присутствия фрагмента данных в файле одной из категорий - вредоносный, доверенный или недоверенный - осуществляется путем поиска соответствующей маски фрагмента в базе данных фрагментов, при этом каждая маска в такой базе данных помечена идентификатором категории файлов, фрагменты данных которых соответствуют упомянутой маске.
В другом варианте реализации способа выделение фрагмента данных не требует декомпиляции файла.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 иллюстрирует примерную схему компонентов системы настоящего изобретения.
Фиг. 2 иллюстрирует примерный вариант реализации способа настоящего изобретения.
Фиг. 3 иллюстрирует вариант схемы компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является не чем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Вредоносное приложение - приложение, способное нанести вред вычислительному устройству или данным пользователя вычислительного устройства (иными словами, компьютерной системы: персонального компьютера, сервера, мобильного телефона и т.п.), например: сетевой червь, клавиатурный шпион, компьютерный вирус. В качестве нанесенного вреда может выступать неправомерный доступ к ресурсам компьютера, в том числе к данным, хранящимся на компьютере, с целью хищения, а также неправомерное использование ресурсов, в том числе для хранения данных, проведения вычислений и т.п.
Доверенное приложение - приложение, которое не наносит вреда компьютеру или его пользователю. Доверенным приложением может считаться приложение, разработанное доверенным производителем ПО (программного обеспечения), загруженное из доверенного источника (например, сайт, занесенный в базу данных доверенных сайтов) или приложение, идентификатор (или другие данные, по которым можно однозначно определить приложение) которого (например, хеш-сумма файла приложения) хранится в базе данных доверенных приложений. Идентификатор производителя, например, цифровой сертификат, может также храниться в базе данных доверенных приложений.
Недоверенное приложение - приложение, которое не является доверенным, но также не признано вредоносным, например, при помощи антивирусного приложения. При этом недоверенное приложение может впоследствии быть признано вредоносным, например, при помощи антивирусной проверки.
Вредоносный файл - файл, являющийся компонентом вредоносного приложения и содержащий программный код (исполняемый или интерпретируемый код).
Недоверенный файл - файл, являющийся компонентом недоверенного приложения и содержащий программный код (исполняемый или интерпретируемый код).
Доверенный файл - файл, являющийся компонентом доверенного приложения.
Предопределенные категории приложений - по меньшей мере категория доверенных приложений, категория недоверенных приложений, категория вредоносных приложений.
Фрагмент данных (упрощенно «фрагмент») - непрерывная последовательность байт фиксированной длины. Фрагмент данных файла - фрагмент данных, содержащийся в файле. Фрагмент данных файла может относиться к одной из категорий: доверенный, вредоносный, недоверенный. В одном из вариантов реализации изобретения фрагмент относится к категории доверенных, если он встречается только в доверенных файлах. В одном из вариантов реализации изобретения фрагмент относится к категории вредоносных, если он встречается только во вредоносных файлах. При этом известность присутствия фрагмента данных в файле некоторой категории осуществляется путем поиска в базе данных фрагментов соответствующей (подходящей) информации о фрагменте, которая содержит последовательность байт фрагмента, где один и более байт могут быть заменены подстановочными символами (англ. wildcard characters). Такие последовательности байт будем называть маской фрагмента, при этом каждая маска в упомянутой базе данных помечена идентификатором категории фрагмента. При этом выделение фрагмента данных не требует декомпиляции файла.
Правило выделения фрагмента - правило для выделения фрагмента данных, в частности из файла, содержащее требования. Удовлетворение фрагмента данных всем требованиям правила означает удовлетворение фрагмента данных данному правилу выделения фрагментов. Использование правила выделения фрагментов для выделения фрагментов данных из файла позволяет выделить из файла только те фрагменты данных, которые удовлетворяют требованиям правила.
Под средствами системы двухэтапной классификации файлов в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 3). При этом компоненты системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.
На Фиг. 1 изображена схема компонентов системы обнаружения вредоносных файлов на основании фрагментов данных. Упомянутая система состоит из средства выделения фрагментов 120 и средства принятия решения 140. В одном из вариантов реализации изобретения средства системы расположены на одном вычислительном устройстве. В другом варианте реализации изобретения эти средства разнесены: средство выделения фрагментов 120 располагается на электронном вычислительном устройстве пользователя, например компьютере, а средство 140 - на удаленном электронном вычислительном устройстве, например сервере.
Средство выделения фрагментов 120 предназначено для выделения фрагментов данных. В частности, средство выделения фрагментов 120 способно выделять фрагменты данных из файла 110. Таким файлом 110 может быть любой файл на компьютерной системе, например, загруженный из сети иди с переносного носителя информации. В одном из вариантов реализации изобретения файл 110 - файл, принадлежность которого к одной из категорий файлов неизвестна. В одном из вариантов реализации изобретения файл 110 является исполняемым файлом. В еще одном варианте реализации изобретения файлом 110 является файл или часть файла (более точно - образа файла), загруженного в оперативную память компьютерной системы.
Средство выделения фрагментов 120 способно выделять фрагменты данных 105 из файла 110. При этом для выделения фрагментов данных средство 120 использует правила выделения (например, все вместе или только выбранные), которые хранятся в базе данных 130. В одном из вариантов реализации примерами таких правил являются:
• Размер фрагмента данных последовательность байт фиксированной длины (например, 16 байт).
• Фрагмент данных следует после байта с одним из следующих значений: 0x90, 0хСС, 0хС2, 0хС3. При этом сам фрагмент данных не начинается с байта с одним из этих значений.
• Фрагмент данных начинается с байта со значением 0x5*, где * - любое значение, пример - 0x55.
В еще одном варианте реализации средство 120 использует дополнительно правила, уменьшающие количество фрагментов 105, выделяемых из файла 110. Примерами таких правил являются:
• Фрагмент данных не начинается с байта со значением 0xFF.
• Фрагмент данных не содержит более чем 8 байт с одним значением.
• Фрагмент не должен иметь с уже выделенным фрагментом более 8 общих байт (общих в понимании расположения в файле - с идентичными адресами байт).
Выделенный фрагмент можно представить в виде последовательности инструкций:
Figure 00000001
Стоит отметить, что даже несмотря на то, что фрагмент можно представить (интерпретировать) в виде инструкций ассемблера, средство выделения фрагментов 120 работает так, что выделение фрагментов 105 из исполняемого файла 110 не требует его дизассемблирования, что является ресурсоемкой операцией. Инструкции, соответствующие значениям байт, которыми оперируют правила выделения, являются инструкциями длиной в один байт, поэтому в дизассемблировании нет необходимости, чтобы определить место начала исполняемой инструкции в файле.
В одном из вариантов реализации изобретения фрагментом данных 105 также может являться строка. При этом для определения строк в файле 110 может использоваться любой из известных из уровня техники способов, например приложение Sysinternals Strings.
Выделенные фрагменты данных 105 файла 110 средство 120 передает средству принятия решения 140.
Средство принятия решения 140 предназначено для определения категорий фрагментов, а также для обнаружения вредоносных файлов на основании информации о принадлежности фрагментов этих файлов к различным категориям фрагментов данных. Для определения категории фрагмента данных 105 средство принятия решения 140 производит поиск информации о фрагменте данных в базе данных фрагментов 135. При этом база данных фрагментов 135 содержит информацию о фрагментах - сами фрагменты, то есть последовательности байт, и связанные с ними идентификаторы категорий фрагментов (т.е. фрагментов, информация о которых хранится в базе данных 135). В одном из вариантов реализации информация о фрагменте вместо самого фрагмента может содержать последовательность байт, которая содержит подстановочные символы (англ. wildcard characters). Поиск считается успешным, если средство 140 нашло в базе данных 135 информацию о фрагменте, которая содержит последовательность байт, совпадающую с фрагментом данных 105, при этом при сравнении последовательностей в рамках поиска подстановочный символ совпадает с любым другим значением байта. Например, последовательность «0x00 . 0x20», содержащая подстановочный символ «.», совпадает с последовательностью «0x00 0x50 0x20».
В случае успешного поиска некоторого фрагмента 105 в базе данных 135 средство принятия решения 140 определяет категорию упомянутого фрагмента в качестве категории, указанной в найденной информации о фрагменте в базе данных 135. В одном из вариантов реализации изобретения в случае неуспешного поиска фрагмента 105 средство принятия решения 140 определяет категорию фрагмента 105 как недоверенную.
В одном из вариантов реализации изобретения средство принятия решения 140 определяет вышеописанным образом категории всех фрагментов 105 файла 110, которые ему передает средство выделения фрагментов 120.
Если количество фрагментов данных 105 файла 110, признанных средством принятия решения 140 вредоносными, не превышает пороговое значение, например 2, то средство принятия решения 140 не признает файл 110 вредоносным. Более того, в одном из вариантов реализации изобретения, если все выделенные фрагменты данных 105 файла 110 были признаны средством 140 доверенными, то средство принятия решения 140 признает файл 110 доверенным.
Если количество фрагментов данных 105 файла 110, признанных средством принятия решения 140 вредоносными, превышает пороговое значение, например 90%, то средство 140 признает файл 110 вредоносным.
Стоит отметить, что пороговое значение может быть выражено как в абсолютных единицах, например 10 или 20, так и в относительных, например 5%.
В еще одном варианте реализации изобретения, если суммарный рейтинг вредоносности файла 110 вычисленный как сумма рейтингов вредоносности всех фрагментов данных 105 файла 110, признанных вредоносными, превышает установленное пороговое значение, например 80, то средство 140 признает файла 110 вредоносным.
В еще одном варианте реализации, если количество фрагментов данных 105 файла 110, признанных средством принятия решения 140 вредоносными, превышает пороговое значение, то средство принятия решения выполняет дополнительные шаги с целью признания (или же непризнания) файла 110 вредоносным. В этом случае средство принятия решения 140 осуществляет поиск правил обнаружения вредоносных файлов в базе данных 145. На этапе поиска средство 140 ищет такие правила обнаружения вредоносных файлов, которым бы удовлетворял бы набор фрагментов данных 105 файла 110. Правило обнаружения вредоносного файла представляет собой эвристическое правило, которое содержит критерии, которым должен удовлетворять файл, в частности информация о фрагментах файла 105, чтобы файл 110 был бы признан средством принятия решения 140 вредоносным.
Примером такого правила обнаружения вредоносных файлов может быть правило формализованное в виде XML-объекта следующим образом:
Figure 00000002
Такое правило предписывает признать файл, который содержит фрагменты данных «некоторый фрагмент данных №1», «некоторый фрагмент данных №2» и т.д. вредоносным. В одном из вариантов реализации изобретения такое правило обнаружения может быть формализовано при помощи YARA-правил1 (1 https://github.com/VirusTotal/yara.). Также правило обнаружения может содержать дополнительные критерии, например значение хеша файла или его части, например MD5, его размер или другие параметры, которые может получить из заголовка исполняемого файла средство принятия решения 140. В еще одном варианте реализации изобретения правилом обнаружения может быть формализовано при помощи сигнатуры или эвристического правила.
Под поиском правила обнаружения вредоносного файла в базе данных правил обнаружения 145 понимают поиск правил, всем критериям которых удовлетворяет файл 110 (в частности, если файл 110 содержит фрагменты данных 105, которые упомянуты в правиле обнаружения).
В случае, если в базе данных правил для обнаружения 145 средством принятия решения 140 найдено правило обнаружения, критериям которого удовлетворяют выделенные из файла 110 фрагменты данных 105, средство 140 признает файл 110 вредоносным.
Файл 110, признанный вредоносным средством принятия решения 140, может быть помещен средством 140 на карантин или удален с компьютерной системы пользователя, чтобы обезопасить упомянутое вычислительное устройство и данные, хранящиеся на нем.
Стоит отметить, что базы данных - база данных правил выделения 130, база данных фрагментов 135 и база данных правил обнаружения 145 - могут быть реализованы как в виде раздельных баз данных, которые могут быть разнесены между одним или несколькими вычислительными устройствами, так и в виде единой базы данных, которая может располагаться как на вычислительном устройстве пользователя, так и на удаленном сервере. При этом обновление, внесение изменений, добавление или удаление данных, хранящихся в упомянутых базах данных, может быть осуществлено удаленно, например специалистом в области информационной безопасности.
В одном из вариантов реализации изобретения идентификаторы категорий известных фрагментов (т.е. фрагментов, информация о которых хранится в базе данных 135), хранящиеся в базе данных 135, могут быть получены (назначены при помощи средства выделения фрагментов 120) на этапе обучения следующим образом. Этап обучения предназначен для формирования содержимого базы данных фрагментов 135. Фрагмент относится к категории вредоносных фрагментов (считается вредоносным), если относительно него известно, что он встречается во вредоносных файлах. В еще одном варианте реализации изобретения фрагмент относится к категории вредоносных фрагментов, если относительно него известно, что он встречается только во вредоносных файлах. Фрагмент относится к категории доверенных (считается доверенным), если относительно него известно, что он встречается только в доверенных файлах. Фрагмент относится к категории недоверенных (считается недоверенным), если он не является ни доверенным, ни вредоносным.
На этапе обучения используется база данных файлов для обучения, каждый файл из которых отнесен к категории или доверенных, или вредоносных. При помощи правил выделения, например хранящихся в базе данных правил выделения 130, средство выделения фрагментов 120 выделяет фрагменты из каждого файла из базы данных файлов для обучения. Далее выделенным фрагментам средство принятия решения назначает категорию (относит фрагмент к некоторой категории) следующим образом: если фрагмент встречается (присутствует) только в доверенных файлах, то фрагмент относится к категории доверенных; если фрагмент встречается только во вредоносных файлах, то фрагмент относится к категории вредоносных. В других случаях фрагмент может относиться средством 140 к категории недоверенных.
В одном из вариантов реализации изобретения для фрагментов, относящихся к категории вредоносных, назначается рейтинг вредоносности. В одном из вариантов реализации в качестве такого рейтинга может выступать количество вредоносных файлов из базы данных файлов для обучения, в которых встречается упомянутый вредоносный фрагмент данных.
Фиг. 2 отображает примерный вариант реализации способа обнаружения вредоносных файлов на основании фрагментов файлов. На этапе 201 средство выделения фрагментов 120 выделяет из файла 110 фрагменты данных 105. При этом для выделения используются правила из базы данных правил для выделения 130, а сам процесс выделения фрагментов данных 105 из файла 110 не требует декомпиляции исполняемого файла 110. Выделенные фрагменты данных 105 файла 110 средство выделения 120 передает средству принятия решения 140. На этапе 202 средство принятия решения определяет категорию для каждого фрагмента данных 105 файла 110, полученного от средства выделения фрагментов. При этом для определения категории фрагмента используется база данных фрагментов 135. Если количество фрагментов 105, отнесенных к категории вредоносных средством принятия решения 140, не превышает установленное значение, то средство принятия решения 140 не признает файл вредоносным на этапе 203. Если же количество вредоносных фрагментов 105 файла 110 превышает пороговое значение, то средство принятия решения 140 осуществляет поиск на этапе 204 подходящего правила обнаружения в базе данных правил обнаружения 145, которое, в частности бы соответствовало фрагментам 105 файла 110 (его критериям бы удовлетворяли упомянутые фрагменты 110). Если такое правило найдено, то средство принятия решения 140 признает файл 110 вредоносным на этапе 206. В противном случае средство принятия решения 140 не признает файл 110 вредоносным на этапе 207.
При обнаружении вредоносных файлов при помощи вышеописанного метода проявляется полезный технический эффект - отсутствие необходимости декомпилирования инструкций файла позволяет признавать (или же не признавать) файл вредоносным быстрее, с меньшими затратами ресурсов вычислительной системы, то есть, обнаружение вредоносных файлов осуществляется быстрее, а, соответственно, и принятие мер для защиты вычислительного устройства.
Фиг. 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 (21)

1. Способ признания файла вредоносным, реализуемый при помощи электронного вычислительного устройства, согласно которому:
a. выделяют набор фрагментов данных из файла при помощи правил выделения фрагментов;
при этом фрагментом данных является непрерывная не декомпилированная последовательность байт файла фиксированной длины;
b. сокращают количество фрагментов данных файла в выделенном наборе фрагментов данных файла при помощи правил, уменьшающих количество фрагментов;
c. для каждого фрагмента данных из выделенного набора определяют категорию фрагмента путем поиска последовательности байт, которая содержит подстановочные символы, совпадающей с ранее известными фрагментами файлов;
d. осуществляют поиск правила обнаружения, соответствующего набору вредоносных фрагментов данных файла, если количество фрагментов из набора, относящихся к категории вредоносных, превышает пороговое значение;
e. признают файл вредоносным на основании применения найденного правила.
2. Способ по п.1, в котором правило выделения фрагментов содержит требования к фрагменту данных, при выполнении которых фрагмент данных попадает в набор.
3. Способ по п. 2, в котором под требованиями к фрагменту данных понимают по меньшей мере одно из:
размер фрагмента данных - последовательность в 16 байт;
фрагмент данных следует после байта с одним из следующих значений: 0x90, 0хСС, 0хС2, 0хС3;
фрагмент данных не начинается с одного из следующих значений: 0x90, 0хСС, 0хС2, 0хС3;
фрагмент данных начинается с байта со значением 0x5*, где * - любое значение.
4. Способ по п. 1, в котором дополнительное правило содержит требования к фрагменту данных, при выполнении которых фрагмент данных исключают из сформированного набора.
5. Способ по п. 4, в котором под требованиями к фрагменту данных понимают по меньшей мере одно из:
фрагмент данных начинается с байта со значением OxFF;
фрагмент данных содержит более чем 8 байт с одним значением;
фрагмент имеет с уже выделенным фрагментом данных более 8 общих байт с идентичными адресами байт.
6. Способ по п. 1, в котором правило обнаружения вредоносного файла представляет собой эвристическое правило, которое содержит критерии, которым должен удовлетворять файл, чтобы быть признанным вредоносным.
7. Способ по п. 1, в котором последовательность байт, которая содержит подстановочные символы, помечена идентификатором категории фрагмента.
8. Способ по п. 1, в котором фрагмент данных файла может относиться к одной из категорий: доверенный, вредоносный, недоверенный.
RU2019122428A 2019-07-17 2019-07-17 Способ обнаружения вредоносных файлов на основании фрагментов файлов RU2747464C2 (ru)

Priority Applications (4)

Application Number Priority Date Filing Date Title
RU2019122428A RU2747464C2 (ru) 2019-07-17 2019-07-17 Способ обнаружения вредоносных файлов на основании фрагментов файлов
US16/580,015 US11366902B2 (en) 2019-07-17 2019-09-24 System and method of detecting malicious files based on file fragments
EP20177212.6A EP3767510A1 (en) 2019-07-17 2020-05-28 System and method of detecting malicious files based on file fragments
CN202010637037.0A CN112241531B (zh) 2019-07-17 2020-07-03 基于文件片段检测恶意文件的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019122428A RU2747464C2 (ru) 2019-07-17 2019-07-17 Способ обнаружения вредоносных файлов на основании фрагментов файлов

Publications (3)

Publication Number Publication Date
RU2019122428A RU2019122428A (ru) 2021-01-18
RU2019122428A3 RU2019122428A3 (ru) 2021-01-18
RU2747464C2 true RU2747464C2 (ru) 2021-05-05

Family

ID=74185018

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019122428A RU2747464C2 (ru) 2019-07-17 2019-07-17 Способ обнаружения вредоносных файлов на основании фрагментов файлов

Country Status (2)

Country Link
US (1) US11366902B2 (ru)
RU (1) RU2747464C2 (ru)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115935361B (zh) * 2023-01-09 2023-06-16 北京微步在线科技有限公司 Java内存马检测方法及装置
CN116992449B (zh) * 2023-09-27 2024-01-23 北京安天网络安全技术有限公司 一种相似样本文件确定方法及装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260343A1 (en) * 2006-09-19 2012-10-11 Microsoft Corporation Automated malware signature generation
US20160072833A1 (en) * 2014-09-04 2016-03-10 Electronics And Telecommunications Research Institute Apparatus and method for searching for similar malicious code based on malicious code feature information
US20160203318A1 (en) * 2012-09-26 2016-07-14 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
RU2660643C1 (ru) * 2017-09-29 2018-07-06 Акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносного CIL-файла
US20190108338A1 (en) * 2017-10-06 2019-04-11 Invincea, Inc. Methods and apparatus for using machine learning on multiple file fragments to identify malware

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478431B1 (en) * 2002-08-02 2009-01-13 Symantec Corporation Heuristic detection of computer viruses
WO2007117636A2 (en) * 2006-04-06 2007-10-18 Smobile Systems, Inc. Malware detection system and method for comprssed data on mobile platforms
US8312546B2 (en) 2007-04-23 2012-11-13 Mcafee, Inc. Systems, apparatus, and methods for detecting malware
US9135442B1 (en) * 2008-05-30 2015-09-15 Symantec Corporation Methods and systems for detecting obfuscated executables
US8302193B1 (en) * 2008-05-30 2012-10-30 Symantec Corporation Methods and systems for scanning files for malware
US10262136B1 (en) * 2008-08-04 2019-04-16 Zscaler, Inc. Cloud-based malware detection
US9292689B1 (en) * 2008-10-14 2016-03-22 Trend Micro Incorporated Interactive malicious code detection over a computer network
EP2494484A4 (en) * 2009-10-31 2016-05-18 Hewlett Packard Development Co IDENTIFICATION OF POOR CODES
US9454658B2 (en) * 2010-12-14 2016-09-27 F-Secure Corporation Malware detection using feature analysis
CN102930206B (zh) * 2011-08-09 2015-02-25 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
US8635700B2 (en) * 2011-12-06 2014-01-21 Raytheon Company Detecting malware using stored patterns
US8745760B2 (en) * 2012-01-30 2014-06-03 Cisco Technology, Inc. Malware classification for unknown executable files
US9830452B2 (en) * 2012-11-30 2017-11-28 Beijing Qihoo Technology Company Limited Scanning device, cloud management device, method and system for checking and killing malicious programs
US9349002B1 (en) * 2013-05-29 2016-05-24 Trend Micro Inc. Android application classification using common functions
US20160094564A1 (en) 2014-09-26 2016-03-31 Mcafee, Inc Taxonomic malware detection and mitigation
US10200391B2 (en) * 2015-09-23 2019-02-05 AVAST Software s.r.o. Detection of malware in derived pattern space
CN106878240B (zh) * 2015-12-14 2020-06-02 阿里巴巴集团控股有限公司 僵尸主机识别方法及装置
RU2634178C1 (ru) * 2016-10-10 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных составных файлов
US10567399B2 (en) * 2017-03-28 2020-02-18 Cisco Technology, Inc. Fragmented malware hash lookup in cloud repository
US20180285565A1 (en) 2017-03-30 2018-10-04 AVAST Software s.r.o. Malware detection in applications based on presence of computer generated strings
US10484419B1 (en) * 2017-07-31 2019-11-19 EMC IP Holding Company LLC Classifying software modules based on fingerprinting code fragments
US10929534B2 (en) 2017-10-18 2021-02-23 AO Kaspersky Lab System and method detecting malicious files using machine learning
US11108809B2 (en) * 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11580219B2 (en) * 2018-01-25 2023-02-14 Mcafee, Llc System and method for malware signature generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260343A1 (en) * 2006-09-19 2012-10-11 Microsoft Corporation Automated malware signature generation
US20160203318A1 (en) * 2012-09-26 2016-07-14 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US20160072833A1 (en) * 2014-09-04 2016-03-10 Electronics And Telecommunications Research Institute Apparatus and method for searching for similar malicious code based on malicious code feature information
RU2660643C1 (ru) * 2017-09-29 2018-07-06 Акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносного CIL-файла
US20190108338A1 (en) * 2017-10-06 2019-04-11 Invincea, Inc. Methods and apparatus for using machine learning on multiple file fragments to identify malware

Also Published As

Publication number Publication date
US11366902B2 (en) 2022-06-21
RU2019122428A (ru) 2021-01-18
US20210019407A1 (en) 2021-01-21
RU2019122428A3 (ru) 2021-01-18

Similar Documents

Publication Publication Date Title
EP1751649B1 (en) Systems and method for computer security
RU2614557C2 (ru) Система и способ обнаружения вредоносных файлов на мобильных устройствах
EP3420489B1 (en) Cybersecurity systems and techniques
US10417420B2 (en) Malware detection and classification based on memory semantic analysis
US9935972B2 (en) Emulator-based malware learning and detection
RU2607231C2 (ru) Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга
US8375450B1 (en) Zero day malware scanner
RU2454705C1 (ru) Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
US9454658B2 (en) Malware detection using feature analysis
RU2617654C2 (ru) Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
RU2708356C1 (ru) Система и способ двухэтапной классификации файлов
RU2523112C1 (ru) Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
RU2739830C1 (ru) Система и способ выбора средства обнаружения вредоносных файлов
KR101851233B1 (ko) 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체
CN110414236B (zh) 一种恶意进程的检测方法及装置
CN1550950A (zh) 防护计算机系统使之免受恶意软件破坏的方法和系统
US10839074B2 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
RU2706883C1 (ru) Система и способ снижения количества ложных срабатываний классифицирующих алгоритмов
RU2587429C2 (ru) Система и способ оценки надежности правила категоризации
US11003772B2 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems
RU2747464C2 (ru) Способ обнаружения вредоносных файлов на основании фрагментов файлов
EP3758330B1 (en) System and method of determining a trust level of a file
EP3767510A1 (en) System and method of detecting malicious files based on file fragments
Niraj et al. Performance analysis of signature based and behavior based malware detection