RU2706883C1 - System and method of reducing number of false triggering of classification algorithms - Google Patents
System and method of reducing number of false triggering of classification algorithms Download PDFInfo
- Publication number
- RU2706883C1 RU2706883C1 RU2018123682A RU2018123682A RU2706883C1 RU 2706883 C1 RU2706883 C1 RU 2706883C1 RU 2018123682 A RU2018123682 A RU 2018123682A RU 2018123682 A RU2018123682 A RU 2018123682A RU 2706883 C1 RU2706883 C1 RU 2706883C1
- Authority
- RU
- Russia
- Prior art keywords
- file
- files
- false positive
- belonging
- malicious
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
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)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Область техникиTechnical field
Изобретение относится к области классификации файлов, а именно к системам и способам снижения количества ложных срабатываний классифицирующих алгоритмов.The invention relates to the field of file classification, and in particular to systems and methods for reducing the number of false positives of classification algorithms.
Уровень техникиState of the art
В настоящий момент вычислительные устройства - смартфоны, компьютеры, планшеты и т.п. - стали обязательным атрибутом практически каждого человека. При помощи таких устройств люди выполняют множество повседневных задач: от общения по электронной почте до оплаты покупок в магазинах. Широкое распространение таких устройств мотивирует злоумышленников создавать и применять вредоносные программы - программы, в частности предназначенные для неправомерного доступа к данным пользователя, а также к ресурсам вычислительных устройств в целом.Currently, computing devices - smartphones, computers, tablets, etc. - have become a mandatory attribute of almost every person. With these devices, people perform many everyday tasks: from communicating by e-mail to paying for purchases in stores. The wide distribution of such devices motivates cybercriminals to create and use malicious programs - programs, in particular those designed for unauthorized access to user data, as well as to the resources of computing devices in general.
На данный момент для борьбы с вредоносными программами широко используются антивирусные приложения - программы, предназначенные для обнаружения вредоносных программ и защиты вычислительных устройств от упомянутых вредоносных программ. Для обеспечения такой защиты применяются различные подходы и технологии: сигнатурный анализ, поведенческий анализ, эвристические правила и т.д. Но по мере развития антивирусных технологий, злоумышленниками совершенствуются и способы обхода этих защитных механизмов. Таким образом развитие антивирусных технологий всегда является актуальной задачей, целью которой является повышение качества обнаружения вредоносных программ - снижение ошибок первого (ложное срабатывание) и второго рода при обнаружении вредоносных программ.Currently, anti-malware programs are widely used to combat malicious programs - programs designed to detect malicious programs and protect computing devices from these malicious programs. To provide such protection, various approaches and technologies are used: signature analysis, behavioral analysis, heuristic rules, etc. But as anti-virus technologies develop, attackers improve ways to bypass these defense mechanisms. Thus, the development of anti-virus technologies is always an urgent task, the purpose of which is to improve the quality of malware detection - to reduce the errors of the first (false positive) and second kind when malware is detected.
Для повышения качества обнаружения вредоносных программ все более часто применяются классифицирующие алгоритмы на основании машинного обучения (англ. Machine Learning). Такие алгоритмы выделяют всевозможные признаки (информация о компиляторах, использованных при создании приложений, информация о размерах исполняемых файлов, наборы машинных инструкций и т.д.) из анализируемых приложений, в частности исполняемых файлов (например РЕ-файлов), и на основании данных признаков относят анализируемое приложение к одному из классов приложений, соответственно обнаружение вредоносного приложения осуществляется при отнесении анализируемого приложения к классу вредоносных приложений. Хорошо обученные классифицирующие алгоритмы неплохо справляются с обнаружением вредоносных приложений, однако количество ложных срабатываний (или другие метрики, основанные на количестве ложных срабатываний) алгоритма также является его важной характеристикой. Поэтому возможность своевременного исправления ложных срабатываний является необходимостью при использовании таких классифицирующих алгоритмов.To improve the quality of malware detection, classification algorithms based on machine learning are increasingly being used. Such algorithms distinguish all kinds of signs (information about the compilers used to create applications, information about the sizes of executable files, sets of machine instructions, etc.) from the analyzed applications, in particular executable files (for example, PE files), and based on these signs they refer the analyzed application to one of the application classes; accordingly, the malicious application is detected when the analyzed application is assigned to the class of malicious applications. Well-trained classification algorithms do a good job of detecting malicious applications, however, the number of false positives (or other metrics based on the number of false positives) of the algorithm is also its important characteristic. Therefore, the possibility of timely correction of false positives is a necessity when using such classification algorithms.
В публикации US 8719935 B2 описан подход к снижению количества ложных срабатываний путем сравнения информации, идентифицирующей файл, признанный вредоносным, с аналогичной информацией доверенной копии файла. В одном из вариантов реализации такой информацией является хеш файла. В случае различия информации принимается решение об обнаружении и исправлении ложного срабатывания.US 8719935 B2 describes an approach to reducing the number of false positives by comparing information that identifies a file that is recognized as malicious with similar information from a trusted copy of the file. In one implementation, such information is a hash of a file. In the event of a difference in information, a decision is made to detect and correct a false positive.
Однако в уровне техники не описаны подходы одновременного исправления ряда ложных срабатываний. Настоящее изобретение призвано быстро и эффективно решать данную проблему.However, the prior art does not describe approaches to simultaneously correct a number of false positives. The present invention is intended to quickly and effectively solve this problem.
Раскрытие изобретенияDisclosure of invention
Настоящее изобретение предназначено для снижения количества ошибок первого рода, осуществляемых при определении категории файлов.The present invention is intended to reduce the number of errors of the first kind, carried out when determining the category of files.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.The technical result of the present invention is to implement the claimed purpose.
Еще одним техническим результатом заявленного изобретения является снижение количества ложных срабатываний методов, обладающих обобщающей способностью, в отношении файлов, в отношении которых еще не проводилась проверка с целью отнесения их к некоторой категории файлов.Another technical result of the claimed invention is the reduction in the number of false positives of methods with a generalizing ability, in relation to files in respect of which has not yet been verified in order to classify them in a certain category of files.
Способ снижения количества ложных срабатываний, согласно которому: признают при помощи средства обнаружения вредоносных файлов файл относящимся к некоторой категории файлов; при этом для признания файла относящимся к некоторой категории файлов используется метод, обладающий обобщающей способностью; обнаруживают при помощи средства оценки ложное срабатывание средства обнаружения вредоносных файлов при признании файла относящимся к некоторой категории файлов путем анализа упомянутого файла; вычисляют при помощи средства исправления ложных срабатываний гибкий хеш файла, признание которого в качестве относящимся к некоторой категории файлов является ложным срабатыванием; при этом значения гибких хешей двух похожих файлов совпадают; добавляют при помощи средства исправления ложных срабатываний вычисленный гибкий хеш в базу данных исключений; применяют средство обнаружения вредоносных файлов для анализа файлов с целью признания файлов относящимся к некоторой категории файлов, при этом средство обнаружения вредоносных файлов исключает из анализа, производимого с целью признания файл относящимся к некоторой категории файлов, файл, если значение гибкого хеша упомянутого файла хранится в базе данных исключений.A way to reduce the number of false positives, according to which: using a means of detecting malicious files, a file is recognized as belonging to a certain category of files; at the same time, a method with generalizing ability is used to recognize a file as belonging to a certain category of files; detect, with the help of an evaluation tool, a false positive of the malware detection tool when a file is recognized as belonging to a certain category of files by analyzing said file; using a means of correcting false positives, they calculate a flexible hash of a file, the recognition of which as belonging to a certain category of files is a false positive; the values of the flexible hashes of two similar files are the same; add the calculated flexible hash to the exception database using the false positive correction tool; they use a malware detection tool to analyze files in order to recognize files as belonging to a certain category of files, while a malware detection tool excludes a file from the analysis performed to recognize a file as belonging to a certain category of files if the value of the flexible hash of the file is stored in the database data exceptions.
В другом варианте способа исправление ложного срабатывания метода, используемого для признания файла вредоносным, является трудоемкой операцией.In another embodiment of the method, correcting the false positive of the method used to recognize the file as malicious is a time-consuming operation.
В другом варианте способа методом, исправление ложного срабатывания которого является трудоемкой операцией, является классифицирующий алгоритм.In another embodiment of the method, the method, the correction of a false positive which is a time-consuming operation, is a classification algorithm.
В другом варианте способа классифицирующими алгоритмами являются:In another embodiment of the method, the classification algorithms are:
- дерево принятия решения;- decision tree;
- градиентный бустинг;- gradient boosting;
- случайный лес;- random forest;
- классифицирующие алгоритмы на основе нейронных сетей.- classification algorithms based on neural networks.
В другом варианте способа исправление ложного срабатывания является трудоемкой операцией если выполнено одно из условий:In another variant of the method, correction of a false positive is a laborious operation if one of the conditions is fulfilled:
- исправления ложного срабатывания такого метода требует существенных временных затрат;- correction of false positives of such a method requires significant time costs;
- исправления ложного срабатывания такого метода требует существенного объема передаваемых по сети данных.- Correction of the false positive of this method requires a significant amount of data transmitted over the network.
В другом варианте способа категорией файлов, к которой может отнести файл средство обнаружения вредоносных файлов, является одна из следующих категорий:In another embodiment of the method, the category of files to which the malware detection tool can relate a file is one of the following categories:
- категория вредоносных файлов;- category of malicious files;
- категория нежелательных файлов.- category of junk files.
Система снижения количества ложных срабатываний, которая содержит: средство обнаружения вредоносных файлов, предназначенное для признания файла относящегося к некоторой категории файлов; при этом средство обнаружения вредоносных файлов исключает из анализа, производимого с целью признания файла относящимся к некоторой категории файлов, файл, если значение гибкого хеша упомянутого файла хранится в базе данных исключений; при этом для признания файла относящимся к некоторой категории файлов используется метод, обладающий обобщающей способностью; средство оценки, предназначенное для обнаружения ложного срабатывания средства обнаружения вредоносных файлов при признании файла относящимся к некоторой категории файлов путем анализа упомянутого файла; средство исправления ложных срабатываний, предназначенное для вычисления гибкого хеша файла, признание которого в качестве относящимся к некоторой категории файлов является ложным срабатыванием, а также для добавления вычисленного гибкого хеша в базу данных исключений; при этом значения гибких хешей двух похожих файлов совпадают.A system for reducing the number of false positives, which contains: a malware detection tool designed to recognize a file belonging to a certain category of files; the malware detection tool excludes the file from the analysis performed to recognize the file as belonging to a certain category of files if the value of the flexible hash of the file is stored in the exception database; at the same time, a method with generalizing ability is used to recognize a file as belonging to a certain category of files; evaluation tool for detecting a false positive of a malicious file detection tool when a file is recognized as belonging to a certain category of files by analyzing said file; a false positive correction tool designed to calculate a flexible hash of a file, recognizing it as belonging to a certain category of files is a false positive, and also to add a calculated flexible hash to the exception database; the values of the flexible hashes of two similar files are the same.
В другом варианте системы исправление ложного срабатывания метода, используемого для признания файла вредоносным, является трудоемкой операцией.In another version of the system, fixing the false positive of the method used to recognize the file as malicious is a time-consuming operation.
В другом варианте системы методом, исправление ложного срабатывания которого является трудоемкой операцией, является классифицирующий алгоритм.In another version of the system, the method, the correction of the false positive of which is a laborious operation, is a classification algorithm.
В другом варианте системы классифицирующими алгоритмами являются:In another embodiment of the system, classification algorithms are:
- дерево принятия решения;- decision tree;
- градиентный бустинг;- gradient boosting;
- случайный лес;- random forest;
- классифицирующие алгоритмы на основе нейронных сетей.- classification algorithms based on neural networks.
В другом варианте системы исправление ложного срабатывания является трудоемкой операцией если выполнено одно из условий:In another version of the system, correcting a false positive is a laborious operation if one of the conditions is met:
- исправления ложного срабатывания такого метода требует существенных временных затрат;- correction of false positives of such a method requires significant time costs;
- исправления ложного срабатывания такого метода требует существенного объема передаваемых по сети данных.- Correction of the false positive of this method requires a significant amount of data transmitted over the network.
В другом варианте системы категорией файлов, к которой может отнести файл средство обнаружения вредоносных файлов, является одна из следующих категорий:In another embodiment of the system, the category of files to which the malware detection tool can relate a file is one of the following categories:
- категория вредоносных файлов;- category of malicious files;
- категория нежелательных файлов.- category of junk files.
Краткое описание чертежейBrief Description of the Drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objectives, features and advantages of the present invention will be apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:
Фиг. 1 иллюстрирует примерную схему компонентов системы снижения количества ложных срабатываний классифицирующих алгоритмов.FIG. 1 illustrates an exemplary diagram of the components of a system for reducing the number of false positives of classification algorithms.
Фиг. 2 иллюстрирует примерный вариант способа снижения количества ложных срабатываний классифицирующих алгоритмов.FIG. 2 illustrates an exemplary embodiment of a method for reducing the number of false positives of classification algorithms.
Фиг. 3 иллюстрирует вариант схемы компьютерной системы общего назначения.FIG. 3 illustrates an embodiment of a general purpose computer system circuit.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to its specific embodiment. On the contrary, the purpose of the description is to cover all changes, modifications that are included in the scope of this invention, as defined by the attached formula.
Описание вариантов осуществления изобретенияDescription of Embodiments
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является не чем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details necessary to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined in the scope of the attached claims.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.We introduce a number of definitions and concepts that will be used in the description of embodiments of the invention.
Вредоносное приложение - приложение, способное нанести вред вычислительному устройству или данным пользователя вычислительного устройства (иными словами, компьютерной системы: персонального компьютера, сервера, мобильного телефона и т.п.), например: сетевой червь, клавиатурный шпион, компьютерный вирус. В качестве нанесенного вреда может выступать неправомерный доступ к ресурсам компьютера, в том числе к данным, хранящимся на компьютере, с целью хищения, а также неправомерное использование ресурсов, в том числе для хранения данных, проведения вычислений и т.п.Malicious application - an application that can harm a computing device or user data of a computing device (in other words, a computer system: personal computer, server, mobile phone, etc.), for example: a network worm, a keylogger, a computer virus. The damage may be caused by unauthorized access to computer resources, including data stored on a computer for theft, as well as unlawful use of resources, including for storing data, performing calculations, etc.
Доверенное приложение - приложение, которое не наносит вреда компьютеру или его пользователю. Доверенным приложением может считаться приложение, разработанное доверенным производителем ПО (программного обеспечения), загруженное из доверенного источника (например, сайт, занесенный в базу данных доверенных сайтов) или приложение, идентификатор (или другие данные, по которым можно однозначно определить приложение) которого (например, хеш-сумма файла приложения) хранится в базе данных доверенных приложений. Идентификатор производителя, например, цифровой сертификат, может также храниться в базе данных доверенных приложений.A trusted application is an application that does not harm the computer or its user. A trusted application can be considered an application developed by a trusted manufacturer of software (software) downloaded from a trusted source (for example, a site listed in the database of trusted sites) or an application whose identifier (or other data by which you can uniquely identify the application) which (for example , the hash of the application file) is stored in the trusted application database. The manufacturer’s identifier, such as a digital certificate, can also be stored in a trusted application database.
Недоверенное приложение - приложение, которое не является доверенным, но также не признано вредоносным, например, при помощи антивирусного приложения. При этом недоверенное приложение может впоследствии быть признано вредоносным, например, при помощи антивирусной проверки.An untrusted application is an application that is not trusted, but is also not considered malicious, for example, using an anti-virus application. In this case, an untrusted application can subsequently be recognized as malicious, for example, by means of an anti-virus scan.
Вредоносный файл - файл, являющийся компонентом вредоносного приложения и содержащий программный код (исполняемый или интерпретируемый код).Malicious file - a file that is a component of a malicious application and contains program code (executable or interpreted code).
Недоверенный файл - файл, являющийся компонентом недоверенного приложения и содержащий программный код (исполняемый или интерпретируемый код).Untrusted file - a file that is a component of an untrusted application and contains program code (executable or interpreted code).
Доверенный файл - файл, являющийся компонентом доверенного приложения.Trusted file - a file that is a component of a trusted application.
Предопределенные категории приложений - по меньшей мере категория доверенных приложений, категория недоверенных приложений, категория вредоносных приложений.Predefined application categories - at least the category of trusted applications, the category of untrusted applications, the category of malicious applications.
Ложное срабатывание - совершение ошибки первого рода.False positive - committing a mistake of the first kind.
Гибкий хеш (англ. "similarity preserving hash"1 (1 Sparse similarity-preserving hashing, Jonathan Masci et al., https://arxiv.org/pdf/1312.5479.pdf), в частности "locality sensitive hash2" (2 Locality Sensitive Hashing, Ravi Kumar, https://users.soe.ucsc.edu/~niejiazhong/slides/kumar.pdf)) - хеш файла, вычисляемый на основании данных, хранящихся в файле, и значение которого остается неизменным при частичном изменении таких данных. В еще одном варианте реализации для вычисления гибкого хеша дополнительно используются данные, полученные в результате обработки данных, хранящихся в файле, например: в качестве данных для вычисления гибкого хеша могут быть использованы записи о вызовах функций из журнала исполнения файла, полученного одним из известных из уровня техники способов, например при исполнении файла или же эмуляции исполнения файла. В одном из вариантов реализации гибкий хеш может быть представлен в виде вектора значений.Flexible hash (English "similarity preserving hash" 1 ( 1 Sparse similarity-preserving hashing, Jonathan Masci et al., Https://arxiv.org/pdf/1312.5479.pdf), in particular "locality sensitive hash 2 " ( 2 Locality Sensitive Hashing, Ravi Kumar, https://users.soe.ucsc.edu/ ~ niejiazhong / slides / kumar.pdf)) - the hash of the file, calculated on the basis of the data stored in the file, and the value of which remains unchanged when partially changed such data. In yet another embodiment, for calculating a flexible hash, additionally used data obtained by processing data stored in a file, for example: as data for calculating a flexible hash, records of function calls from a file execution log obtained by one of the known from the level can be used techniques of methods, for example, when executing a file or emulating file execution. In one embodiment, a flexible hash can be represented as a vector of values.
В одном из вариантов реализации гибкий хеш - хеш, который для двух похожих файлов будет иметь одно и то же значение (значения гибких хешей, вычисленных на основании признаков файлов, совпадает). Под гибким хешем группы файлов (гибкий хеш, соответствующий группе файлов) будем понимать гибкий хеш, значение которого для каждого файла из упомянутой группы одинаково. Файлы с совпадающим значением гибкого хеша, в частности файлы из такой группы, можно считать похожими с некоторой точностью (под точностью в данном контексте можно понимать среднее или среднеквадратичное значение степени сходства, например между каждыми двумя файлами из такой группы), которая определяется точностью самого метода вычисления гибкого хеша.In one embodiment, a flexible hash is a hash that for two similar files will have the same value (the values of flexible hashes calculated based on the characteristics of the files are the same). By a flexible hash of a group of files (a flexible hash corresponding to a group of files) we mean a flexible hash, the value of which is the same for each file from the mentioned group. Files with the matching value of the flexible hash, in particular files from such a group, can be considered similar with some accuracy (accuracy in this context can be understood as the mean or rms value of the degree of similarity, for example, between every two files from such a group), which is determined by the accuracy of the method itself flexible hash calculations.
Два файла будем считать похожими, если степень сходства между ними превышает заранее установленный порог (например, превышает 85%, иными словами превышает 0.85). Степень сходства может быть вычислена при помощи любого из известных подходов, например основанных на вычислении мер:Two files will be considered similar if the degree of similarity between them exceeds a predetermined threshold (for example, exceeds 85%, in other words, exceeds 0.85). The degree of similarity can be calculated using any of the known approaches, for example, based on the calculation of measures:
- Жаккара;- Jacquard;
- Дайса;- Dyce;
- Левенштейна;- Levenshtein;
- Хэмминга;- Hamming;
- и т.п.- etc.
Под средствами системы в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 3). При этом компоненты системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.System means in the present invention are understood to be real devices, systems, components, groups of components implemented using hardware such as integrated circuits (application-specific integrated circuit, ASIC) or programmable gate arrays (English field-programmable gate array , FPGA), or, for example, in the form of a combination of software and hardware, such as a microprocessor system and a set of software instructions, as well as on neuromorphic chips (English neurosynaptic chips) The functionality of these system tools can be implemented exclusively in hardware, as well as in the form of a combination, where part of the functionality of the system is implemented in software, and part in hardware. In some embodiments, part of the means, or all means, may be executed on a processor of a general-purpose computer (for example, which is shown in Fig. 3). At the same time, system components can be implemented within the framework of a single computing device, or spaced between several connected computing devices.
На Фиг. 1 изображена примерная схема компонентов системы снижения количества ложных срабатываний классифицирующих алгоритмов. Система включает в себя следующие компоненты: средство обнаружения вредоносных файлов 110, средство оценки 120, средство исправления ложных срабатываний 130, и базу данных исключений 140. В одном из вариантов реализации изобретения все компоненты системы располагаются на вычислительном устройстве пользователя - клиенте, в другом варианте реализации компоненты системы располагаются на удаленном сервере. В еще одном варианте реализации средство обнаружения вредоносных файлов 110 и база данных исключений 140 расположены на вычислительном устройстве пользователя, а средство оценки 120 и средство исправления ложных срабатываний 130 - на сервере. В еще одном варианте реализации средство обнаружения вредоносных файлов 110, база данных исключений 140 и средство оценки 120 расположены на клиенте, а средство 130 - на сервере. В еще одном варианте реализации средство оценки 120 расположено на сервере, а остальные компоненты системы расположены на клиенте. В еще одном варианте реализации все средства системы расположены на удаленном сервере, а на клиенте расположен агент, способный передавать на удаленный сервер все необходимые для функционирования средств системы данные.In FIG. 1 shows an exemplary diagram of the components of a system for reducing the number of false positives of classification algorithms. The system includes the following components:
Средство обнаружения вредоносных файлов 110 предназначено для обнаружения вредоносных файлов. Стоит отметить, что вредоносные файлы -частный случай категории файлов, обладающих общими характеристиками, а именно тем, что файлы из данной категории могут нанести вред вычислительному устройству или его пользователю. Все алгоритмы, методы и подходы, описанные в рамках данного изобретения, могут относиться не только к вредоносным файлам, но к файлам из определенной категории. Одной из таких категорий является категория вредоносных файлов. В другом случае реализации изобретения такой категорией является категория нежелательных файлов, например относящихся к нежелательному программному обеспечению, такому как рекламное программное обеспечение (с англ. adware), или же к программному обеспечению, изменяющему настройки других приложений, в частности стартовую страницу браузера. В дальнейшем для описания примера реализации настоящего изобретения в качестве примера упомянутой категории будет выступать категория вредоносных файлов, а в качестве файлов, не входящих в данный класс - категория доверенных файлов. Соответственно под ложным срабатыванием будем понимать ошибочное признание файла относящимся к некоторой категории (в частности к классу вредоносных файлов), которые к данной категории не относятся (в частности доверенных файлов).
Обнаружение вредоносного файла осуществляется путем признания анализируемого средством 110 файла вредоносным. Для признания файла вредоносным средство 110 может применять любой известный из уровня техники метод, обладающий особенностью - исправление ложного срабатывания такого метода является трудоемкой операцией, в частности:Detection of a malicious file is accomplished by recognizing the file being analyzed by
- исправление ложного срабатывания такого метода требует существенных временных затрат;- correction of false positives of such a method requires significant time costs;
- или же исправление ложного срабатывания такого метода требует существенного объема передаваемых по сети данных.- or correcting the false positive of such a method requires a significant amount of data transmitted over the network.
В еще одном варианте реализации изобретения метод, используемый для обнаружения вредоносного файла, обладает обобщающей способностью: одна запись (например, эвристическое правило, гибкий хеш и т.п.) для обнаружения вредоносного файла может быть использована для обнаружения множества уникальных файлов. При этом существенными временными затратами для исправления ложного срабатывания является период времени, превышающий установленное пороговое значение, например 1 час и более, а существенным количеством передаваемых по сети данных для исправления ложного срабатывания считается объем данных, превышающий установленное пороговое значение, например 1 мегабайт и более.In yet another embodiment of the invention, the method used to detect a malicious file has a generalizing ability: one record (for example, a heuristic rule, a flexible hash, etc.) for detecting a malicious file can be used to detect many unique files. At the same time, a significant amount of time to correct a false positive is a time period that exceeds a set threshold value, for example 1 hour or more, and a significant amount of data transmitted over a network to correct a false positive is considered a data volume that exceeds a set threshold value, for example 1 megabyte or more.
В одном из вариантов реализации изобретения средство обнаружения вредоносных файлов 110 для обнаружения вредоносных файлов применяет классифицирующий алгоритм, который, соответственно, требует существенного времени для исправления ложного срабатывания, так как для исправления такого ложного срабатывания необходимо переобучить классифицирующий алгоритм, а также обладает обобщающей способностью. В одном из вариантов реализации такими классифицирующими алгоритмами являются:In one embodiment of the invention, the
- дерево принятия решения (англ. "decision tree");- decision tree (English "decision tree");
- градиентный бустинг (англ. "gradient boosting");- gradient boosting (English "gradient boosting");
- случайный лес (англ. "random forest");- random forest (English "random forest");
- классифицирующие алгоритмы на основе нейронных сетей.- classification algorithms based on neural networks.
Процесс обучения (равно как и переобучения) любого классифицирующего алгоритма известен из уровня техники и не будет описан в рамках материалов настоящего изобретения.The learning process (as well as retraining) of any classification algorithm is known from the prior art and will not be described in the framework of the materials of the present invention.
Для проверки файла 105 с целью обнаружения вредоносного файла 105 (иными словами, признания файла 105 вредоносным) средство обнаружения вредоносных файлов 110 применяет классифицирующий алгоритм. Файл 105 - один из множества файлов 115. Множество файлов 115 - множество файлов, относительно которого средство обнаружения вредоносных файлов 110 не выполняло проверку с целью обнаружения вредоносных файлов. В одном из вариантов реализации изобретения такими файлами могут являться файлы на вычислительном устройстве пользователя, в другом варианте - на удаленном сервере. Средство обнаружения вредоносных файлов 110 проверяет файл 105, в результате такой проверки средство 110 либо признает файл 105 вредоносным, либо нет. Если файл 105 признан вредоносным, средство обнаружения вредоносных файлов 110 передает файл 105 (или всю необходимую информацию о нем) средству оценки 120.To check the
Средство оценки 120 предназначено для анализа файла 105 (или информации о файле 105). Цель проводимого средством оценки 120 анализа файла 105 - обнаружение ложного срабатывания средства обнаружения вредоносных файлов 110, в частности при признании файла 105 вредоносным. Для обнаружения ложного срабатывания при признании файла 105 вредоносным средством оценки 120 может быть использован любой известный из уровня техники подход, в частности, средство оценки может сравнить идентификатор файла 105, например контрольную сумму файла (MD5 или SHA-1 и пр.), с идентификаторами доверенных файлов, которые хранятся в базе данных доверенных файлов 125, данная база данных 125 может располагаться как в рамках одного вычислительного устройства со средством оценки 120, так и удаленно относительно средства оценки 120. Если идентификатор файл 105, признанного средством обнаружения вредоносных файлов 110, присутствует в базе данных доверенных файлов 125, то средство оценки 120 обнаруживает ложное срабатывание средства обнаружения вредоносных файлов 110 при признании файла 105 вредоносным. В противном случае средство оценки 120 не обнаруживает ложное срабатывание средства обнаружения вредоносных файлов 110.
В еще одном варианте реализации средство оценки 120 сравнивает сертификат ЭЦП (если подпись присутствует в файле 105) с сертификатами, хранящимися в базе данных доверенных файлов 125. Если в базе данных 125 присутствует сертификат ЭЦП, которой подписан признанный вредоносным файл 105, и ЭЦП валидна, то средство оценки 120 обнаруживает ложное срабатывание средства обнаружения вредоносных файлов 110 при признании файла 105 вредоносным. В противном случае средство оценки 120 не обнаруживает ложное срабатывание средства обнаружения вредоносных файлов 110.In yet another embodiment, the
Данные, хранящиеся в базе данных 125 могут добавляться и модифицироваться силами специалистов в области информационной безопасности, например при помощи удаленного соединения.The data stored in the
После обнаружения средством оценки 120 ложного срабатывания средства обнаружения вредоносных файлов 110, средство 120 передает средству исправления ложных срабатываний 130 файл 105, который был ошибочно признан средством обнаружение вредоносных приложений 110 вредоносным.After detection by the
Средство исправления ложных срабатываний 130 предназначено для вычисления гибкого хеша 135 файла. В одном из вариантов реализации изобретения таким файлом является файл 105, ошибочно признанный средством обнаружения вредоносных файлов 110 вредоносным. Вычисленный гибкий хеш 135 файла 105 передается в базу данных исключений 140.The false
В свою очередь гибкие хеши 135, хранящиеся в базе данных исключений 140 могут быть использованы средством обнаружения вредоносных файлов 110 при проведении проверки файлов: если гибкий хеш файла, предназначенного для проверки, присутствует в базе данных исключений, то такой файл из проверки исключается. В еще одном варианте реализации, если гибкий хеш файла, предназначенного для проверки, представлен в виде вектора значений [x1, х2, х3 …], а в базе данных исключений присутствует такой гибкий хеш [у1, у2, у3 …], для которого указаны индексы элементов I вектора, для которых выполняется одно из следующих условий:In turn, the
- ∀i ∈ I : xi < yi,- ∀i ∈ I: x i <y i ,
- ∃K ⊂ I, ∀i ∈ K : xi < yi,- ∃K ⊂ I, ∀i ∈ K: x i <y i ,
то такой файл из проверки исключается. В одном из вариантов реализации изобретения такой файл признается доверенным. При этом средство обнаружения вредоносных файлов 110 способно вычислять гибкий хеш файла 105, а также сравнивать этот хеш с хешами, хранящимися в базе данных исключений 140 (например, сравнивая значения хешей). then such a file is excluded from the scan. In one embodiment of the invention, such a file is recognized as trusted. Moreover, the
Таким образом, при повторной проверке (которая будет выполнена в рамках применения средства обнаружения вредоносных файлов 110) средством обнаружения вредоносных файлов 110 файла 105 указанный файл 105 не будет признан вредоносным. При этом, если средству обнаружения вредоносных файлов 110 необходимо провести проверку в отношении множества файлов 115, при условии, что было обнаружено ложное срабатывание средства 110, признавшее файл 105 вредоносным, то в таком случае из проверки средством 110 будут исключены все файлы 136, значение гибких хешей которых присутствует в базе данных исключений 140, в частности совпадающих с гибким хешем 135 файла 105. На Фиг. 1 множество таких файлов схематично обозначено окрестностью файла 105 - областью 136, символизирующей множество файлов, похожих на ошибочно признанный вредоносным файл 105, из множества файлов 115.Thus, during a double check (which will be performed as part of the application of the malware detection tool 110) by the
Использование вышеописанного подхода позволяет избежать ситуации, где каждый из похожих на файл 105 файл будет признан вредоносным при помощи средства обнаружения вредоносных файлов 110, что впоследствии потребует внесения изменений в алгоритм признания средством 110 файлов вредоносными с целью избежать ложных срабатываний в будущем. Применение гибкого хеша 135 для исключения файлов из проверки средством 110 позволяет не только избежать повторного ложного срабатывания средства 110 в отношении файла 105, использованного для вычисления гибкого хеша 135, но и в отношении похожих файлов 136 (которые в одном из вариантов реализации изобретения признаются средством 110 доверенными), в отношении которых еще не производилась проверка средством обнаружения вредоносных файлов 110. Таким образом заявленный подход решает техническую задачу - снижение количества ложных срабатываний методов, обладающих обобщающей способностью, в частности, классифицирующих алгоритмов, при этом исключается возможность ложного срабатывания в отношении файлов 136, в отношении которых еще не проводилась проверка на вредоносность (например, при помощи средства обнаружения вредоносных файлов 110). При этом заявленный подход также решает техническую проблему - быстрое (сравнительно), а также не требующее большого количества передаваемых по сети данных исправление ложного срабатывания для методов обнаружения вредоносных файлов, требующих существенных временных затрат или большого количества передаваемых по сети данных для исправления ложных срабатываний. Решение этой технической проблемы обусловлено тем, что исправление ложного срабатывания при помощи гибкого хеша не требует, например, переобучения классифицирующего алгоритма.Using the above-described approach avoids the situation where each file-
На Фиг. 2 изображена схема метода снижения количества ложных срабатываний классифицирующих алгоритмов. На этапе 201 средство обнаружения вредоносных файлов 110 осуществляет анализ файла 105, цель такого анализа - признание файла 105 вредоносным. Если файл 105 признается средством обнаружения вредоносных файлов 110 вредоносным, то на этапе 202 средство оценки 120 осуществляет повторно анализа признанного вредоносным файла 105 для обнаружения ложного срабатывания средства обнаружения вредоносных файлов 110. Если средством оценки 120 не обнаружено ложное срабатывание средства обнаружения вредоносных файлов 110 при признании файла 105 вредоносным, то на этапе 203 решение о признании файла 105 вредоносным не меняется. В противном случае на этапе 204 при помощи средства исправления ложных срабатываний вычисляют гибкий хеш 135 файла 105, ошибочно признанного вредоносным. После этого, на этапе 205, гибкий хеш 135 добавляется в базу данных исключений 140. В одном из вариантов реализации изобретения добавление гибкого хеша 135 в упомянутую базу данных 140 при помощи средства исправления ложных срабатываний 130. После этого, на этапе 206, применяют средство обнаружения вредоносных файлов 110, например с целью анализа других файлов 115, еще не проанализированных средством 110, таким образом, что файлы 115, значение гибких хешей которых присутствует в базе данных исключений 140, исключаются из анализа, проводимого средством 110 с целью признания файлов вредоносными. В частном случае реализации файлы, исключенные из анализа средством 110 признаются доверенными.In FIG. 2 shows a diagram of a method for reducing the number of false positives of classification algorithms. At
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 3 represents an example of a general purpose computer system, a personal computer or server 20 comprising a
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.Computer 20 has a
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018123682A RU2706883C1 (en) | 2018-06-29 | 2018-06-29 | System and method of reducing number of false triggering of classification algorithms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018123682A RU2706883C1 (en) | 2018-06-29 | 2018-06-29 | System and method of reducing number of false triggering of classification algorithms |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2706883C1 true RU2706883C1 (en) | 2019-11-21 |
Family
ID=68652956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018123682A RU2706883C1 (en) | 2018-06-29 | 2018-06-29 | System and method of reducing number of false triggering of classification algorithms |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2706883C1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2722692C1 (en) * | 2020-02-21 | 2020-06-03 | Общество с ограниченной ответственностью «Группа АйБи ТДС» | Method and system for detecting malicious files in a non-isolated medium |
US11250129B2 (en) | 2019-12-05 | 2022-02-15 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11526608B2 (en) | 2019-12-05 | 2022-12-13 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
US11947572B2 (en) | 2021-03-29 | 2024-04-02 | Group IB TDS, Ltd | Method and system for clustering executable files |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300761A1 (en) * | 2008-05-28 | 2009-12-03 | John Park | Intelligent Hashes for Centralized Malware Detection |
US20110004935A1 (en) * | 2008-02-01 | 2011-01-06 | Micha Moffie | Vmm-based intrusion detection system |
US20160335435A1 (en) * | 2015-05-12 | 2016-11-17 | Webroot Inc. | Automatic threat detection of executable files based on static data analysis |
RU2614561C1 (en) * | 2015-12-18 | 2017-03-28 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of similar files determining |
US20180012082A1 (en) * | 2016-07-05 | 2018-01-11 | Nauto, Inc. | System and method for image analysis |
-
2018
- 2018-06-29 RU RU2018123682A patent/RU2706883C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004935A1 (en) * | 2008-02-01 | 2011-01-06 | Micha Moffie | Vmm-based intrusion detection system |
US20090300761A1 (en) * | 2008-05-28 | 2009-12-03 | John Park | Intelligent Hashes for Centralized Malware Detection |
US20160335435A1 (en) * | 2015-05-12 | 2016-11-17 | Webroot Inc. | Automatic threat detection of executable files based on static data analysis |
RU2614561C1 (en) * | 2015-12-18 | 2017-03-28 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of similar files determining |
US20180012082A1 (en) * | 2016-07-05 | 2018-01-11 | Nauto, Inc. | System and method for image analysis |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250129B2 (en) | 2019-12-05 | 2022-02-15 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11526608B2 (en) | 2019-12-05 | 2022-12-13 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
RU2722692C1 (en) * | 2020-02-21 | 2020-06-03 | Общество с ограниченной ответственностью «Группа АйБи ТДС» | Method and system for detecting malicious files in a non-isolated medium |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
US11947572B2 (en) | 2021-03-29 | 2024-04-02 | Group IB TDS, Ltd | Method and system for clustering executable files |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2706883C1 (en) | System and method of reducing number of false triggering of classification algorithms | |
RU2634178C1 (en) | Method of detecting harmful composite files | |
RU2708356C1 (en) | System and method for two-stage classification of files | |
CN109145600B (en) | System and method for detecting malicious files using static analysis elements | |
RU2614557C2 (en) | System and method for detecting malicious files on mobile devices | |
JP6353498B2 (en) | System and method for generating an antivirus record set for detecting malware on user equipment | |
Rathnayaka et al. | An efficient approach for advanced malware analysis using memory forensic technique | |
Zhao et al. | Malicious executables classification based on behavioral factor analysis | |
US10122742B1 (en) | Classifying software modules based on comparisons using a neighborhood distance metric | |
JP6726706B2 (en) | System and method for detecting anomalous events based on the popularity of convolution | |
RU2568285C2 (en) | Method and system for analysing operation of software detection rules | |
RU2587429C2 (en) | System and method for evaluation of reliability of categorisation rules | |
US11042637B1 (en) | Measuring code sharing of software modules based on fingerprinting of assembly code | |
US11663363B2 (en) | System and method of detecting a false positive outcome in classification of files | |
US11275835B2 (en) | Method of speeding up a full antivirus scan of files on a mobile device | |
US11170103B2 (en) | Method of detecting malicious files resisting analysis in an isolated environment | |
US11397812B2 (en) | System and method for categorization of .NET applications | |
EP3113065B1 (en) | System and method of detecting malicious files on mobile devices | |
RU2747464C2 (en) | Method for detecting malicious files based on file fragments | |
RU2747514C2 (en) | System and method for categorizing application on computing device | |
EP3588349B1 (en) | System and method for detecting malicious files using two-stage file classification | |
RU2628922C1 (en) | Method for determining similarity of composite files | |
RU2659739C1 (en) | Method of composite file access control | |
Bhagwat et al. | Behavioural analysis and results of malware and ransomware using optimal behavioural feature set | |
US20240248990A1 (en) | Machine learning-based malware detection for code reflection |