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

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

Info

Publication number
RU2634178C1
RU2634178C1 RU2016139470A RU2016139470A RU2634178C1 RU 2634178 C1 RU2634178 C1 RU 2634178C1 RU 2016139470 A RU2016139470 A RU 2016139470A RU 2016139470 A RU2016139470 A RU 2016139470A RU 2634178 C1 RU2634178 C1 RU 2634178C1
Authority
RU
Russia
Prior art keywords
file
compound
hash
composite
files
Prior art date
Application number
RU2016139470A
Other languages
English (en)
Inventor
Андрей Владимирович Крюков
Александр Викторович Лискин
Антон Михайлович Иванов
Original Assignee
Акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Priority to RU2016139470A priority Critical patent/RU2634178C1/ru
Priority to US15/411,132 priority patent/US10339312B2/en
Application granted granted Critical
Publication of RU2634178C1 publication Critical patent/RU2634178C1/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/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition

Landscapes

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

Abstract

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

Description

Область техники
Изобретение относится к области защиты вычислительных устройств, а именно к способам обнаружения вредоносных составных файлов.
Уровень техники
С каждым днем количество вредоносных приложений, распространяемых в сети Интернет, становится все больше и больше. Для защиты вычислительных устройств от вредоносных приложений часто используются антивирусные решения, которые, используя один или несколько методов обнаружения (детектирования), например сигнатурный или эвристический анализ, обнаруживают вредоносные приложения, которые, например, загружены из сети Интернет.
Но у методов детектирования также есть ограничения и недостатки: эвристический анализ применим не ко всем типам файлов, а сигнатурный анализ может быть не эффективен при обнаружении полиморфных вредоносных приложений - приложений, выполняющих одни и те же команды, но отличающиеся содержимым соответствующих файлов приложений. Часто такие полиморфные вредоносные приложения (а именно файлы таких приложений) создаются автоматизированным путем (например, генерируются автоматически): создатель вредоносного приложения, как правило, использует специальные среды разработки, которые могут из одного исходного кода вредоносного приложения скомпилировать огромное количество вредоносных файлов, которые будут иметь разное тело файла (содержимое файла), но запущенные из таких файлов приложения будут вести себя одинаково. При этом повышение качества детектирования таких файлов антивирусными решениями часто упирается в определение похожести таких файлов (сходства файлов в соответствии с одной из мер похожести). Стоит отметить, что подобные полиморфные вредоносные файлы могут быть не только файлами формата РЕ (Portable Executable), но и любыми другими файлами, формат которых позволяет внедрить в файл вредоносный код, который будет исполнен тем или иным образом, например файлы формата Portable Document Format, Microsoft Compound File Binary (OLE2 файлы) или одного из форматов Office Open XML (DOCX, PPTX и т.п.).
Так, в патенте US9396334 описан подход к обнаружению вредоносных файлов, которые могут быть тем или иным образом запущены на стековой виртуальной машине (а именно: файлы содержат код, который может быть интерпретирован). Технология позволяет эффективно обнаруживать, например, вредоносные файлы (группы похожих вредоносных файлов), содержащие Action Script сценарии (или скрипты, англ. script). Однако в приведенной публикации не описаны подходы эффективного обнаружения составных файлов (Compound File), например файлов формата DOC.
Хотя рассмотренные подходы направлены на решение определенных задач в области защиты вычислительных устройств, они не решают задачу обнаружения вредоносных составных файлов или решают недостаточно эффективно. Настоящее изобретение позволяет более эффективно решить задачу обнаружения вредоносных составных файлов.
Раскрытие изобретения
Настоящее изобретение предназначено для обнаружения вредоносных составных файлов.
Технический результат настоящего изобретения заключается в обеспечении защиты вычислительного устройства от вредоносных программ, который достигается за счет обнаружения составного вредоносного файла, при этом составной файл признается вредоносным, если вычисленный хеш составного файла совпадает с хешем вредоносного составного файла. Технический результат достигается при помощи способа обнаружения вредоносных составных файлов, в котором: определяют при помощи средства вычисления, является ли первый файл составным (compound file); выделяют при помощи средства вычисления первый набор признаков из заголовка первого составного файла, если ранее этапе было определено, что первый файл является составным; выделяют при помощи средства вычисления второй набор признаков из по меньшей мере одной директории (directory entry) первого составного файла, если ранее этапе было определено, что файл является составным; вычисляют при помощи средства вычисления хеш (hash) первого составного файла с использованием по меньшей мере первого и второго набора признаков; признают при помощи средства сравнения составной файл вредоносным, если вычисленный хеш составного файла совпадает с хешем вредоносного составного файла; при этом хеш вредоносного составного файла хранится в базе данных хешей.
В частном случае реализации способа составным файлом является файл формата Microsoft Compound File Binary File Format.
В еще одном частном случае реализации способа составным файлом является файл формата OLE или OLE2.
В другом частном случае реализации способа первый набор признаков включает в себя поля структуры заголовка составного файла.
В еще одном частном случае реализации способа второй набор признаков включает в себя поля структуры директории составного файла.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 показывает пример компонентов системы, с помощью которой может быть реализован способ настоящего изобретения.
Фиг. 2 иллюстрирует элементы системы, участвующие формировании базы данных хешей.
Фиг. 3 иллюстрирует примерный вариант реализации способа изобретения.
Фиг. 4 показывает пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является не чем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Вредоносное приложение - приложение, способное нанести вред компьютеру или данным пользователя компьютера, например: сетевой червь, клавиатурный шпион, компьютерный вирус. В качестве нанесенного вреда может выступать неправомерный доступ к ресурсам компьютера, в том числе к данным, хранящимся на компьютере, с целью хищения, а также неправомерное использование ресурсов, в том числе для хранения данных, проведения вычислений и т.п.
Доверенное приложение - приложение, которое не наносит вреда компьютеру или его пользователю. Доверенным приложением может считаться приложение, разработанное доверенным производителем ПО, загруженное из доверенного источника (например, сайт, занесенный в базу данных доверенных сайтов) или приложение, идентификатор которого (например, MD5 файла приложения) хранится в базе данных доверенных приложений. Идентификатор производителя, например, цифровой сертификат, может также храниться в базе данных доверенных приложений.
Недоверенное приложение - приложение, которое не является доверенным, но также не признано вредоносным, например, при помощи антивирусного приложения.
Вредоносный файл - файл, являющийся компонентом вредоносного приложения.
Недоверенный файл - файл, являющийся компонентом недоверенного приложения.
Доверенный файл - файл, являющийся компонентом доверенного приложения.
Сигнатурный анализ - технология поиска совпадений какого-либо участка кода программы с известным кодом - сигнатурой - из базы данных сигнатур вредоносных программ с целью обнаружения вредоносной программы. Стоит отметить, что данная технология может применяться как для обнаружения файлов вредоносной программы, так и для обнаружения вредоносного кода в оперативной памяти вычислительного устройства.
Эвристический анализ - технология, заключающаяся в эмуляции работы программы (выполнение кода программы, предназначенного для выполнения с использованием одних программно-аппаратных средств, с использованием других программно-аппаратных средств, отличных от первых), создании журнала вызовов API-функций и поиске совпадений данных из созданного журнала вызова API-функций с данными из базы данных эмуляций вредоносных программ с целью обнаружения вредоносной программы.
Антивирусная запись - информация, необходимая антивирусному приложению для обнаружения вредоносных файлов. Может быть представлена, например, в виде сигнатуры, эвристического правила (которое, например, может быть использовано эвристическим и проактивным анализом), контрольной суммы файла - хеша (в том числе и гибкого хеша - англ. locality sensitive hash - хеша файла, инвариантного к небольшим изменениям файла).
Составной файл (файл-контейнер) - файл формата Microsoft Compound File Binary File Format (MS-CFB), например файл формата OLE или OLE2. Примерами составных файлов могут являться файлы форматов: DOC, PPT, XLS (на ОС Windows файлы имеют расширения .doc, .ppt и .xls соответственно).
Под средствами системы обнаружения вредоносных составных файлов в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips). Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 4). При этом компоненты системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.
Фиг. 1 изображает примерный набор компонентов системы, необходимых для реализации способа изобретения. Система обнаружения вредоносных составных файлов в частном случае реализации включает в себя следующие компоненты: средство вычисления 110, средство сравнения 120 и базу данных хешей 130. В предпочтительном варианте реализации изобретения средство вычисления 110 расположено на вычислительном устройстве пользователя, а средство сравнения 120 и база данных хешей 130 - на удаленном сервере (не показано на Фиг. 1). В еще одном варианте реализации средство сравнения 120 и база данных хешей 130 расположены также на вычислительном устройстве пользователя.
Средство вычисления 110 предназначено для вычисления хеша (англ. hash, hash sum) составного файла 105. В общем случае средство вычисления 110 вычисляет хеш составного файла 105, входящий в множество похожих составных файлов, таким образом, чтобы для каждого составного файла из множества похожих составных файлов значение такого хеша совпадало. В частном случае реализации составные файлы являются похожими, если расстояние между составными файлами не превышает порогового значения. Расстояние между файлами - мера похожести, вычисленная одним из известных из уровня техники способов. При этом расстояние между составными файлами может быть Евклидовым расстоянием, Хемминговым расстоянием или любой другой мерой расстояния, примененной, например, к байтовому представлению составного файла или к блокам байт заданного размера. В еще одном частном случае реализации составные файлы являются похожими, если коэффициент сходства между такими файлами превышает пороговое значение. При этом коэффициентом сходства может являться один из известных из уровня техники коэффициентов сходства, например коэффициент Жаккара. В еще одном частном случае реализации составные файлы являются похожими, если они признаны таковыми специалистом в области информационных технологий.
В частном случае реализации составные файлы являются похожими, если они созданы путем применения средств автоматизированной генерации (создания) файлов к одним и тем же исходным данным. Примером использования такой автоматизированной генерации может быть создание множества составных файлов, например документов формата DOC, на основании одного и того же текста (созданные файлы будут содержать один и тот же текст). Еще одним примером может являться создание множества вредоносных файлов приложения при помощи, например, среды разработки с использованием одного и того же исходного кода вредоносного приложения. Такие вредоносные файлы также называются полиморфными (англ. polymorph malware).
Особенностью использования вышеупомянутых средств автоматизированной генерации является то, что созданные из одних и тех же исходных данных файлы имеют разное байтовое представление, однако полезная нагрузка (англ. payload) остается неизменной. В частном случае реализации под полезной нагрузкой файла подразумевается последовательность команд, исполняющаяся при открытии файла. В еще одном частном случае под полезной нагрузкой файла подразумевается информация, отображаемая пользователю при открытии файла приложением, предназначенным для открытия таких файлов. Соответственно, в частном случае реализации предназначение средства вычисления 110 - вычислять хеши составных файлов, полученных путем автоматизированной генерации, таким образом, чтобы хеши таких сгенерированных файлов совпадали.
Для вычисления хеша, удовлетворяющего вышеуказанному условию (один и тот же хеш для похожих, например сгенерированных, файлов), средство вычисления 110 извлекает из составного файла 105 признаки файла в два этапа.
На первом этапе средство вычисления 110 выделяет из составного файла 105 первый набор признаков. Первый набор признаков состоит из признаков, расположенных в заголовке составного файла 105 (Compound File Header). Признаками, расположенными в заголовке составного файла 105, в частном случае реализации являются поля структуры заголовка составного файла 105 в соответствии со спецификацией формата MS-CFB (можно ознакомиться на странице https://msdn.microsoft.com/en-us/library/dd941946.aspx). В частном случае реализации первый набор признаков включает в себя полный перечень полей структуры заголовка составного файла 105 (например, поля "Header Signature", "Minor Version", "Major Version" и другие). В еще одном частном случае реализации первый набор признаков включает в себя все поля структуры заголовка составного файла 105, начинающиеся с поля "Number of FAT Sectors", которое находится по смещению
Figure 00000001
от начала заголовка (поля заголовка, начинающиеся по смещению
Figure 00000001
и заканчивающиеся в конце заголовка составного файла 105).
На втором этапе средство вычисления 110 выделяет из составного файла 105 второй набор признаков. Второй набор признаков состоит из признаков, расположенных в по меньшей мере одной директории составного файла 105 (Compound File Directory Entry). В частном случае реализации под такими признаками понимают полный перечень полей структуры директории составного файла 105 (например, поля " Directory Entry Name", "Color Flag" и другие). В частном случае реализации изобретения второй набор признаков состоит из признаков, расположенных в первой директории из массива директорий составного файла 105 (Compound File Directory Array). В еще одном частном случае реализации изобретения второй набор признаков состоит из признаков, расположенных в первых четырех директориях (по порядку из массива директорий) составного файла 105 (Compound File Directory Array).
Полученные на вышеописанных этапах (первом и втором) результаты средство вычисления 110 использует для вычисления хеша составного файла 105. В частном случае реализации средство вычисления 110 вычисляет хеш составного файла 105 с использованием первого и второго набора признаков следующим образом: байтовое представление (конкатенация байтовых значений каждого признака из набора признаков) первого набора признаков объединяется с байтовым представлением второго набора признаков при помощи конкатенации, в результате чего формируется байтовое представление признаков составного файла 105. В частном случае реализации упомянутое байтовое представление признаков составного файла 105 дополняется (посредством конкатенации) размером составного файла 105 (байтовое представление значения размера). Далее применяется хеш-функция к полученному байтовому представлению признаков составного файла 105. В частном случае реализации в качестве хеш-функции применяется MD5. В еще одном частном случае реализации применяется SHA-0, SHA-1 или одна из хеш-функций семейства AES. Полученное после применения вышеупомянутой хеш-функции значение (пусть размер полученного значения - N бит) разбивается на две части равного размера (в битах) - одна часть, характеризующая первые N/2 бит полученного значения, и вторая, характеризующая вторые N/2 бит значения (например, для хеш-функции MD5 такими частями будут первые и вторые 8 байт значения, полученного в результате вычисления хеш-функции). Средство вычисления 110 применяет логическую операцию XOR к двум упомянутым частям. Результат вычисления операции XOR средством вычисления 110 является хешем составного файла 105.
Характерной особенность хеша составного файла 105, вычисленного в соответствии с вышеописанным алгоритмом (выделение признаков заголовка составного файла 105, а также признаков первых четырех директорий из массива директорий составного файла 105 с последующим применением хеш-функции) является то, что хеши полученных путем автоматизированной генерации составных файлов 105 совпадают. Эта особенность вытекает из того, что составные файлы, полученные путем автоматизированной генерации, имеют разное байтовое представление содержимого (а именно секторов составных файлов, содержащих полезную нагрузку файла -секторов FAT, Mini FAT и DIFAT), но структура таких файлов, которая описывается директориями составных файлов (данные, хранящиеся в по крайней мере первых четырех директориях из массива директорий составного файла), идентична. При этом вычисление хеша вышеупомянутым способом является более быстрой операцией, чем вычисление MD5 файла, т.к. даже на этапе использование MD5 (или аналогичных хеш-функций) хеш-функция применяется не ко всему телу файла, а лишь к данным небольшого размера.
Средство сравнения 120 предназначено для сравнения хешей составных файлов 105. В частном случае реализации изобретения, если сравниваемые хеши двух составных файлов 105 совпадают, то средство сравнения 120 признает эти составные файлы 105 похожими. В еще одном частном случае реализации, если хеш составного файла 105 (хеш первого составного файла 105), вычисленный при помощи средства вычисления 110, совпадает с хешем вредоносного составного файла 105, то первый составной файл 105 признается вредоносным. В еще одном частном случае реализации, если хеш составного файла 105 (хеш первого составного файла 105), вычисленный при помощи средства вычисления 110, совпадает с хешем доверенного составного файла 105, то первый составной файл 105 признается доверенным. В еще одном частном случае реализации, если хеш составного файла 105 (хеш первого составного файла 105), вычисленный при помощи средства вычисления 110, совпадает с хешем недоверенного составного файла 105, то первый составной файл 105 признается недоверенным. Хеши вредоносных, доверенных и недоверенных составных файлов хранятся в базе данных хешей 130.
На Фиг. 2 изображены средства, которые используются для формирования данных, хранящихся в базе данных хешей 130. База данных хешей 130 предназначена для хранения хешей составных файлов 105, а также информации о том, какой составной файл 105 использовался для вычисления хеша составного файла 105. Упомянутая информация о составном файле 105 - является ли он вредоносным, доверенным или недоверенным. Таким образом, если при вычислении хеша составного файла 105 использовался вредоносный составной файл из базы данных файлов 210, то полученный хеш будем называть хешем вредоносного составного файла 105. Если при вычислении хеша составного файла 105 использовался доверенный составной файл 105 из базы данных файлов 210, то полученный хеш будем называть хешем доверенного составного файла 105. Если при вычислении хеша составного файла 105 использовался недоверенный составной файл 105 из базы данных файлов 210, то полученный хеш будем называть хешем недоверенного составного файла 105. Для вычисления хешей составных файлов 105 средство вычисления 110 использует составные файлы 105 из базы данных файлов 210. База данных файлов 210 содержит составные файлы 105, а также информацию о каждом составном файле 105 - является ли он вредоносным, доверенным или недоверенным. В частном случае реализации изобретения данные (составные файлы и информация о них), которые хранятся в базе данных файлов 210, вносятся в базу данных файлов 210 человеком, например специалистом в области информационных технологий. В еще одном частном случае реализации изобретения данные сохраняются в базу данных файлов 210 антивирусным приложением (не показано на Фиг. 2), которое анализирует набор составных файлов, например составных файлов, хранящихся на удаленном сервере, с целью обнаружения вредоносных составных файлов и записывает в базу данных файлов 210 файлы и информацию о них, полученную в результате анализа - являются ли они, например, вредоносными, доверенными или недоверенными. Средство вычисления 110 получает из базы данных файлов 210 составной файл 105 и информацию о нем, вычисляет для этого составного файла 105 хеш составного файла 105 и сохраняет полученную информацию в базе данных хешей 130: хеш составного файла 105 и информацию о файле 105, использованном для вычисления хеша.
Стоит отметить, что в частном случае реализации этап наполнения базы данных хешей 130 вышеупомянутым способом предшествует шагам, раскрытым при описании Фиг. 1.
На Фиг. 3 изображен пример способа обнаружения вредоносного составного файла 105. На этапе 301 средство вычисления 110 выделяет из составного файла 105 первый набор признаков из составного файла 105. В частном случае реализации таким составным файлом 105 может быть любой из составных файлов 105, хранящихся, например, на устройстве хранения данных, расположенном на вычислительном устройстве пользователя. В еще одном частном случае реализации информация о таком составном файле 105 не хранится в базе данных файлов 210. В частном случае реализации будем считать, что относительно такого составного файла 105 не известно, является ли он похожим на файлы из базы данных файлов 210 или же является ли он вредоносным, доверенным или недоверенным. На этапе 302 средство вычисления 110 выделяет из составного файла 105 второй набор признаков составного файла 105. Далее, на этапе 303, средство вычисления 110 вычисляет хеш составного файла 105 на основании первого и второго набора признаков составного файла 105. На этапе 306 средство сравнения 120 сравнивает вычисленный хеш составного файла 105 с хешем второго составного файла. Составной файл 105, хеш которого был вычислен на этапе 303, будем называть первым составным файлом 105, соответственно его хеш - хеш первого составного файла 105. В частном случае реализации хеш второго составного файла 105 вычисляется путем выполнения этапов 301 -303 в отношении второго составного файла 105. В частном случае реализации вторым составным файлом 105 может быть любой из составных файлов 105, хранящихся, например, на устройстве хранения данных на вычислительном устройстве пользователя, и отличный от первого составного файла 105 (в частном случае реализации под отличием понимают по меньшей мере различие каталогов расположения файлов на устройстве хранения данных). В еще одном частном случае реализации второй составной файл 105 - файл, хеш и информация о котором (например, является ли составной файл вредоносным или доверенным) хранятся в базе данных хешей 130 (в частном случае реализации такой файл присутствует в базе данных файлов 210). Если хеши первого и второго составных файлов 105 совпадают, то средство сравнения 120 на этапе 307 признает первый и второй составные файлы 105 похожими. При этом, если хеш второго составного файла 105 хранится в базе данных хешей 130 и является хешем вредоносного составного файла 105, то первый составной файл 105 признается вредоносным. В еще одном частном случае реализации, если хеш второго составного файла 105 хранится в базе данных хешей 130 и является хешем доверенного составного файла 105, то первый составной файл 105 признается доверенным. В еще одном частном случае реализации, если хеш второго составного файла 105 хранится в базе данных хешей 130 и является хешем недоверенного составного файла 105, то первый составной файл 105 признается недоверенным. Если же хеши первого и второго составных файлов 105 не совпадают, то средство сравнения 120 на этапе 308 не признает первый и второй составные файлы 105 похожими.
В частном случае реализации после признания составного файла 105 вредоносным средство сравнения 120 удаляет данный составной файл 105 на устройстве хранения данных, расположенном на вычислительном устройстве пользователя. В еще одном частном случае реализации средство сравнения 130 не удаляет вредоносный составной файл 105, но помещает его в карантин.
В частном случае реализации система дополнительно включает средство контроля приложений (application control - известно из уровня техники), которое при доступе к составным файлам 105 на вычислительных устройствах пользователей передает составной файл средству вычисления 110, которое в свою очередь вычисляет хеш составного файла 105. Затем этот хеш сравнивается средством сравнения 120 с хешами составных файлов из базы данных хешей 130. Результаты сравнения - присутствует ли соответствующий хеш в базе данных 130, а также информация о том, является ли найденный (в случае, если таковой есть) хеш хешем вредоносного, доверенного или недоверенного составного файла 105 - передается средством сравнения 120 средству контроля приложений. При этом средство контроля приложений предоставляет пользователю вычислительного устройства доступ к упомянутому составному файлу 105 только в том случае, если средство сравнения 120 нашло в базе данных хешей 130 вычисленный хеш составного файла 105, и найденный хеш является хешем доверенного составного файла 105.
В еще одном частном случае реализации поучаемые при помощи средства вычисления 110 хеши составных файлов 105 могут использоваться в рамках технологии, описанной в патенте RU2415471 - для определения необходимости проведения антивирусной проверки составного файла. В этом случае получаемые при помощи средства вычисления 110 хеши составного файла 105 используются для определения изменений в составных файлах 105. Соответственно, при очередной антивирусной проверке, которая производится, например, антивирусным приложением (например, проверка устройства хранения данных с целью найти вредоносные файлы), средство вычисления 110 вычисляет хеш каждого просканированного (проверенного антивирусным приложением) составного файла 105. Если при следующей антивирусной проверке антивирусное приложение начнет проверку составного файла 105 и его хеш будет совпадать с ранее вычисленным хешем (вычисленным при предыдущей антивирусной проверке), то проверка в отношении этого составного файла 105 производиться не будет, т.е. необходимость в антивирусной проверке (проверка файла антивирусным приложением) отсутствует.
В частном случае реализации средство вычисления 110 может в рамках любого из вариантов функционирования получить (на вход, в качестве входных данных) любой файл (не обязательно составной файл 105). В таком случае, прежде чем выделять наборы признаков составного файла 105, средство вычисления 110 определяет формат файла, полученного средством вычисления 110. Дальнейшее выделение наборов признаков осуществляется средством вычисления 110 только в том случае, если средство вычисления 110 определит, что полученный средством вычисления 110 файл является составным. В частном случае реализации изобретения определение того, является ли полученный файл составным или нет, производится на основании данных из файла: если файл начинается с последовательности байт "d0 cf 11 e0 a1 b1 1a e1" или " 0е 11 fc 0d d0 cf 11 0e", то файл считается составным. В другом частном случае реализации для определения того, является ли файл составным, может быть использован любой из известных из уровня техники способов определения составного файла.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Claims (10)

1. Способ обнаружения вредоносных составных файлов, в котором
a) определяют при помощи средства вычисления, является ли файл составным;
b) выделяют при помощи средства вычисления первый набор признаков из заголовка составного файла, если ранее на этапе было определено, что файл является составным;
c) выделяют при помощи средства вычисления второй набор признаков из по меньшей мере одной директории составного файла, если ранее на этапе было определено, что файл является составным;
d) вычисляют при помощи средства вычисления хеш составного файла с использованием по меньшей мере первого и второго набора признаков;
e) признают при помощи средства сравнения составной файл вредоносным, если вычисленный хеш составного файла совпадает с хешем вредоносного составного файла; при этом хеш вредоносного составного файла хранится в базе данных хешей.
2. Способ по п. 1, в котором составным файлом является файл формата Microsoft Compound File Binary File Format.
3. Способ по п. 2, в котором составным файлом является файл формата OLE или OLE2.
4. Способ по п. 1, в котором первый набор признаков включает в себя поля структуры заголовка составного файла.
5. Способ по п. 1, в котором второй набор признаков включает в себя поля структуры директории составного файла.
RU2016139470A 2016-10-10 2016-10-10 Способ обнаружения вредоносных составных файлов RU2634178C1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2016139470A RU2634178C1 (ru) 2016-10-10 2016-10-10 Способ обнаружения вредоносных составных файлов
US15/411,132 US10339312B2 (en) 2016-10-10 2017-01-20 System and method for detecting malicious compound files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016139470A RU2634178C1 (ru) 2016-10-10 2016-10-10 Способ обнаружения вредоносных составных файлов

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2017133844A Division RU2659739C1 (ru) 2017-09-29 2017-09-29 Способ контроля доступа к составным файлам

Publications (1)

Publication Number Publication Date
RU2634178C1 true RU2634178C1 (ru) 2017-10-24

Family

ID=60153974

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016139470A RU2634178C1 (ru) 2016-10-10 2016-10-10 Способ обнаружения вредоносных составных файлов

Country Status (2)

Country Link
US (1) US10339312B2 (ru)
RU (1) RU2634178C1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2786352C1 (ru) * 2022-03-17 2022-12-20 Акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносного скрипта на основании набора хэш-кодов

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3839785B1 (en) * 2017-03-02 2023-07-26 X Development LLC Characterizing malware files for similarity searching
US10635813B2 (en) 2017-10-06 2020-04-28 Sophos Limited Methods and apparatus for using machine learning on multiple file fragments to identify malware
WO2019145912A1 (en) * 2018-01-26 2019-08-01 Sophos Limited Methods and apparatus for detection of malicious documents using machine learning
RU2708356C1 (ru) 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Система и способ двухэтапной классификации файлов
EP3588349B1 (en) * 2018-06-29 2022-03-30 AO Kaspersky Lab System and method for detecting malicious files using two-stage file classification
US10242189B1 (en) * 2018-10-01 2019-03-26 OPSWAT, Inc. File format validation
US11947668B2 (en) 2018-10-12 2024-04-02 Sophos Limited Methods and apparatus for preserving information between layers within a neural network
US11574052B2 (en) 2019-01-31 2023-02-07 Sophos Limited Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts
US20200372183A1 (en) * 2019-05-21 2020-11-26 Hewlett Packard Enterprise Development Lp Digitally Signing Software Packages With Hash Values
RU2747464C2 (ru) * 2019-07-17 2021-05-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов на основании фрагментов файлов
US11528276B2 (en) * 2020-04-16 2022-12-13 Bank Of America Corporation System for prevention of unauthorized access using authorized environment hash outputs
CN111881448B (zh) * 2020-07-30 2022-10-14 山石网科通信技术股份有限公司 恶意文件的确定方法及装置
US20220129417A1 (en) * 2020-10-22 2022-04-28 Google Llc Code Similarity Search
US12010129B2 (en) 2021-04-23 2024-06-11 Sophos Limited Methods and apparatus for using machine learning to classify malicious infrastructure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20070266436A1 (en) * 2006-05-11 2007-11-15 Eacceleration Corporation Accelerated data scanning
WO2008054732A2 (en) * 2006-10-31 2008-05-08 Telcordia Technologies, Inc. Virus localization using cryptographic hashing
US20110016530A1 (en) * 2006-12-12 2011-01-20 Fortinet, Inc. Detection of undesired computer files in archives
RU2491623C1 (ru) * 2012-02-24 2013-08-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки файлов на доверенность
US8607335B1 (en) * 2006-12-09 2013-12-10 Gary Gang Liu Internet file safety information center

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851058B1 (en) * 2000-07-26 2005-02-01 Networks Associates Technology, Inc. Priority-based virus scanning with priorities based at least in part on heuristic prediction of scanning risk
US7752632B2 (en) * 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US8997219B2 (en) * 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8695096B1 (en) * 2011-05-24 2014-04-08 Palo Alto Networks, Inc. Automatic signature generation for malicious PDF files
CN102930206B (zh) * 2011-08-09 2015-02-25 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
US9213837B2 (en) * 2011-12-06 2015-12-15 Raytheon Cyber Products, Llc System and method for detecting malware in documents
KR101296716B1 (ko) * 2011-12-14 2013-08-20 한국인터넷진흥원 피디에프 문서형 악성코드 탐지 시스템 및 방법
KR101265173B1 (ko) * 2012-05-11 2013-05-15 주식회사 안랩 비실행 파일 검사 장치 및 방법
CN103679012A (zh) * 2012-09-03 2014-03-26 腾讯科技(深圳)有限公司 一种可移植可执行文件的聚类方法和装置
US20140150101A1 (en) * 2012-09-12 2014-05-29 Xecure Lab Co., Ltd. Method for recognizing malicious file
CN103067364B (zh) * 2012-12-21 2015-11-25 华为技术有限公司 病毒检测方法及设备
US9686304B1 (en) * 2013-06-25 2017-06-20 Symantec Corporation Systems and methods for healing infected document files

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20070266436A1 (en) * 2006-05-11 2007-11-15 Eacceleration Corporation Accelerated data scanning
WO2008054732A2 (en) * 2006-10-31 2008-05-08 Telcordia Technologies, Inc. Virus localization using cryptographic hashing
US8607335B1 (en) * 2006-12-09 2013-12-10 Gary Gang Liu Internet file safety information center
US20110016530A1 (en) * 2006-12-12 2011-01-20 Fortinet, Inc. Detection of undesired computer files in archives
RU2491623C1 (ru) * 2012-02-24 2013-08-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки файлов на доверенность

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DANIEL RENTZ "Microsoft Compound Document File Format", опубл. 31.01.2012 на 25 страницах [найдено 22.06.2017], найдено в Интернет по адресу URL: https://web.archive.org/web/20120131060104/ http://www.openoffice.org/sc/compdocfileformat.pdf. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2786352C1 (ru) * 2022-03-17 2022-12-20 Акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносного скрипта на основании набора хэш-кодов

Also Published As

Publication number Publication date
US10339312B2 (en) 2019-07-02
US20180101682A1 (en) 2018-04-12

Similar Documents

Publication Publication Date Title
RU2634178C1 (ru) Способ обнаружения вредоносных составных файлов
US10511616B2 (en) Method and system for detecting and remediating polymorphic attacks across an enterprise
JP6670907B2 (ja) スクリプトの実行をブロックするシステム及び方法
RU2614557C2 (ru) Система и способ обнаружения вредоносных файлов на мобильных устройствах
CN109145600B (zh) 使用静态分析元素检测恶意文件的***和方法
RU2617654C2 (ru) Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
US9015814B1 (en) System and methods for detecting harmful files of different formats
US9135443B2 (en) Identifying malicious threads
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
US8621625B1 (en) Methods and systems for detecting infected files
US11275835B2 (en) Method of speeding up a full antivirus scan of files on a mobile device
US9202050B1 (en) Systems and methods for detecting malicious files
RU2706883C1 (ru) Система и способ снижения количества ложных срабатываний классифицирующих алгоритмов
US9489513B1 (en) Systems and methods for securing computing devices against imposter processes
US8448243B1 (en) Systems and methods for detecting unknown malware in an executable file
EP3113065B1 (en) System and method of detecting malicious files on mobile devices
US9519780B1 (en) Systems and methods for identifying malware
RU2628922C1 (ru) Способ определения похожести составных файлов
US11170103B2 (en) Method of detecting malicious files resisting analysis in an isolated environment
RU2659739C1 (ru) Способ контроля доступа к составным файлам
RU2614561C1 (ru) Система и способ определения похожих файлов
EP3151149B1 (en) System and method for blocking execution of scripts
BR102014026608A2 (pt) método para comparar arquivos binários