(19)
(11)EP 3 252 645 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
26.06.2019 Bulletin 2019/26

(21)Application number: 16195897.0

(22)Date of filing:  27.10.2016
(51)International Patent Classification (IPC): 
G06F 21/51(2013.01)
H04L 29/06(2006.01)

(54)

SYSTEM AND METHOD OF DETECTING MALICIOUS COMPUTER SYSTEMS

SYSTEM UND VERFAHREN ZUR ERFASSUNG MALIZIÖSER COMPUTERSYSTEME

SYSTÈME ET PROCÉDÉ DE DÉTECTION DE SYSTÈMES INFORMATIQUES MALVEILLANTS


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 02.06.2016 RU 2016121877
20.07.2016 US 201615215116

(43)Date of publication of application:
06.12.2017 Bulletin 2017/49

(73)Proprietor: AO Kaspersky Lab
Moscow 125212 (RU)

(72)Inventors:
  • ANTONOV, Alexey E.
    Moscow 125212 (RU)
  • ROMANENKO, Alexey M.
    Moscow 125212 (RU)

(74)Representative: Sloboshanin, Sergej et al
V. Füner Ebbinghaus Finck Hano Patentanwälte Mariahilfplatz 3
81541 München
81541 München (DE)


(56)References cited: : 
EP-A1- 2 081 356
US-A1- 2016 055 335
US-A1- 2015 082 430
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    Field of Technology



    [0001] The present invention relates generally to antivirus technologies, more specifically, systems and methods of detecting malicious computer systems.

    Background



    [0002] The rapid development of computer technologies in the last decade, as well as the widespread use of various computing devices (personal computers, notebooks, tablets, smart-phones, etc.), have become a great incentive for the use of these devices in various areas of activity and to solve a huge number of problems (from Internet surfing to bank transfers and electronic document circulation). In parallel with the growth in the number of computing devices and software running on these devices, the number of malicious programs has also grown at a rapid pace.

    [0003] Document D1 (US 2016/0055335) discloses a multi-stage event detector using time-dependent variable parameter values to determine the behaviour of the monitored system, and the likelihood of occurrence of hidden system states.

    [0004] Document D2 (US 2015/0082430) discloses dynamic and adaptive detection of suspicious performance-degrading mobile device behaviours by determining the likelihood of problem occurrence.

    [0005] At present, a huge number of kinds of malicious programs exist. Some of them steal personal and confidential user data from the devices of users (such as logins and passwords, banking information, electronic documents). Others turn the devices of users into so-called botnets for attacks, such as denial of service (DDOS) attacks, or to sort through passwords using the brute force method, on other computers or computer networks. Still others propose paid content to users through intrusive advertising, paid subscriptions, sending of SMS to toll numbers, and so on.

    [0006] Specialized programs, or antivirus applications, are used to deal with malicious programs (that is, to detect malicious programs, prevent infection and restore computer systems infected with malicious programs). Antivirus programs employ diverse technologies to detect a whole array of malicious programs, such as:
    • signature analysis - searching for correspondences of a particular code section of a program being analyzed to a known code (signature) from a database of signatures of malicious programs;
    • heuristic analysis - emulation of the working of the program being analyzed, creating emulation logs (containing data on the API function calls, the parameters transmitted, the code sections of the program being analyzed, and so on), and searching for correspondences of the data from the logs so created with data from a database of emulations of malicious programs;
    • white and black lists - searching for a computed check sum of a program being analyzed (or portions thereof) in a database of check sums of malicious programs (black lists) or a database of check sums of legal programs (white lists); and
    • proactive protection - intercepting of application-programming interface (API) function calls of a program being analyzed and running in the system, creating of logs on the working of the program being analyzed (containing data on the API function calls, the parameters transmitted, the code sections of the program being analyzed, and so on), and searching for correspondences of the data from the logs so created with data from a database of calls of malicious programs.


    [0007] In response to these antivirus applications, malicious programs are increasingly making use of methods to counteract detection of their presence on infected computer systems by antivirus programs, such as:
    • code obfuscation to defeat signature analysis - converting the original text (such as JavaScript scripts) or executable code of programs to a form which retains their functionality, yet which impedes analysis, an understanding of the working algorithms, and modification during decompilation;
    • complication of the behavior to defeat heuristic analysis - the use of a large number of API function calls or operations not affecting the program I/O working results, yet interfering with its emulation by antivirus programs; and
    • tracking the behavior of foreign programs to defeat proactive protection - constant tracking of the behavior of foreign programs in the operating system, searching for antivirus programs and counteracting them (for example, concealment or substitution of own code for analysis).


    [0008] By utilizing various resources such as code generators (construction programs able to automatically create malicious programs, having a functionality specified by the hacker), obfuscators (programs able to alter the executable code of programs, thereby complicating their analysis, without altering their functionality), packers (program modules embedded into programs, encrypting the executable code of the programs and decrypting it when the program is launched), and so on, hackers are able to quickly and easily create and disseminate a large number of new versions of their malicious programs undetectable by antiviruses.

    [0009] Thus, even with antiviruses installed, the users' computers may be subjected to an infection, as an antivirus tracking the behavior or structure of all applications installed on the users' computers may not detect new modifications or new varieties of malicious applications. While trying to conceal their presence on the computers of users, malicious programs continue to perform their malicious activity which, even though concealed, is present on the computers and leaves traces. Based on the traces left behind, and by the uncharacteristic behavior of applications individually and the entire computer system as a whole, one may identify malicious applications.

    [0010] In carrying out targeted cyber attacks (Advanced Persistent Threats, APT), which are a technology of attacking selected computer systems (internal networks of major enterprises, corporate databases, personal data of a tremendous number of users stored in centralized manner, such as banking or passport data, and so on), hackers must possess a modern level of expert knowledge and substantial resources, allowing them to create ways of achieving their goals by various attack vectors (such as informational, physical, and deception). These goals usually include installing and propagating their presence inside the computer technology infrastructure of the target organization to achieve the intentions of extracting information, disruption, or creating interference to critical aspects of the task, program, or service being provided, or to take up a position allowing these intentions to be carried out in future. A targeted cyber attack, such as an "advanced persistent threat," accomplishes its goals more than once in the course of a prolonged period of time; adapts to the efforts of the defenders to present resistance to the threat; and aims to preserve its level of penetration in the target infrastructure, which level is needed to accomplish its intentions.

    [0011] For example, in order to sabotage the working of an enterprise, decrease the effectiveness of the working of its information systems or entirely shut them down, hackers must know how those computer systems work, what hardware they are using, which applications are running on the hardware, which defensive means are being used, and what strong and weak points they possess. With such informational preparation, hackers may be able to create malicious programs which will be invisible to the antivirus applications running on the computer system being attacked and employ methods of introducing the created malicious programs not leaving behind any traces of such introduction.

    [0012] The basic principle of detecting such targeted cyber attacks may include the detection of malicious activity being carried out on the protected computer system.

    [0013] The known techniques may handle the tasks of detecting known malicious applications (both in terms of structure and behavior), as well as new malicious applications but with already known behavior. These known techniques may not adequately handle the task of detecting applications which mask themselves and are in no way manifested, and designed to defeat the known means of defense.

    [0014] From US 2016/0055335 A1 a method and apparatus for determining system behavior from observed data is known. In particular, said method relates to detecting a multi-stage event being often an evidence of a malicious cyber-attack like denial of service (DoS). The method provides detecting observable events which are characterized by a set of time-dependent parameters generated by a user. An analysis of the set of parameters allows to determine likely hidden state sequences which are compared with typical attack patterns.

    [0015] US 2015/082430 A1 refers to a technique for detecting suspicious or performance degrading mobile device behaviors. Said technique is based on identifying a critical data resource and an intermediate resource associated with the critical data resource. Further, API calls by a software application are monitored when accessing the critical data resource and the intermediate resource. A comparison of the API calls with the malicious activity allows to determine whether the software application is malicious or benign.

    [0016] EP 2 081 356 A1 refers to a method and apparatus that allow to detect anomalies in Session Initiation Protocol (SIP) IP-Networks such as DoS flooding attacks. Said method provides a technique which models a SIP Proxy Server's server transactions by finite state machines on the basis of passively monitored SIP messages, each state machine modeling a server transaction of the SIP Proxy Server. Statistical evaluation on the modeled state machines is performed and from the statistical evaluation it is detected if an anomaly is present.

    [0017] Accordingly, there is a need to solve the problem of detecting malicious computer systems, i.e., systems on which malicious activity is taking place, even in cases when the sources of the malicious activity remain concealed, and the malicious applications themselves present active countermeasures to the known means of defense.

    Summary



    [0018] Disclosed are systems and method for detecting a malicious computer system. One exemplary method comprises: collecting, via a processor of a computing device, characteristics of a computer system; determining relations between collected characteristics of the computer system; determining a time dependacy of at least one state of the computer system based on determined relations; determining the at least one state of the computer system based at least on determined time dependency; and analyzing the at least one state of the computer system in connection with selected patterns representing a legal or malicious computer system to determine a degree of harmfulness of the computer system.

    [0019] In one example, collecting the characteristics of the computer system comprises collecting characteristics of at least one of: characteristics of computing resources of the computer system, characteristics of software running on the computer system, and characteristics of data being processed on the computer system.

    [0020] In one example, the characteristics of computing resources of the computer system comprise at least one of: characteristics of a main memory of the computer system, performance of the computer system, and characteristics of a network environment with which the computer system is associated.

    [0021] In one example, the characteristics of software running on the computer system comprise at least one of: identifiers of one or more applications running in the computer system and characteristics of files associated the one or more applications, records from configuration files of the one or more applications running in the computer system, and relations between the one or more applications.

    [0022] In one example, the characteristics of data being processed on the computer system comprise at least one of: identifiers of a source and a recipient of the data, type of the data, and a data transmission method.

    [0023] In one example, a relation is configured as a function of a change in values of one characteristic when values of another characteristic are changed, and determining the relations between the collected characteristics of the computer system comprises: using a multidimensional space for representing values of the collected characteristics, and determining the at least one state of the computer system based at least on a projection in the multidimensional space of selected characteristics.

    [0024] In one example, determining the time dependency of the at least one state of the computer system based on the determined relations comprises determining rules for changes in values of the characteristics describing the at least one state of the computer system as a function of time.

    [0025] In one example, determining the at least one state of the computer system based at least on the determined time dependency comprises identifying nonstandard behaviors of the computer system in accordance with an analysis of the determined time dependency and the changes in values of the characteristics.

    [0026] In one example, the selected patterns representing the legal or malicious computer system are configured to be retrieved from at least one database of patterns, each pattern corresponding to a previously triggered rule for a characteristic change of the computer system.

    [0027] In one example, the method further comprises evaluating the degree of harmfulness of the computer system against a selected threshold value to determine whether the computer system is legal or malicious.

    [0028] An exemplary system for detecting at least one malicious computer system, comprising: at least one processor of a computing device configured to: collect characteristics of a computer system; determine relations between collected characteristics of the computer system; determine a time dependency of at least one state of the computer system based on determined relations; determine the at least one state of the computer system based at least on determined time dependency; and analyze the at least one state of the computer system in connection with selected patterns representing a legal or malicious computer system to determine a degree of harmfulness of the computer system.

    Brief Description of the Drawings



    [0029] The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more example aspects of the present disclosure and, together with the detailed description, serve to explain their principles and implementations.

    Fig. 1 presents a structural diagram of a system for detection of malicious computer systems according to aspects of the invention.

    Fig. 2 presents a structural diagram of a method of detecting malicious computer systems according to aspects of the invention.

    Fig. 3 presents an example of a computer system, a personal computer or a server for implementing aspects of the invention.


    Detailed Description



    [0030] Example aspects are described herein in the context of a system, method and computer program product for detecting a malicious computer system. Those of ordinary skill in the art will realize that the following description is illustrative only and is not intended to be in any way limiting. Other aspects will readily suggest themselves to those skilled in the art having the benefit of this disclosure. Reference will now be made in detail to implementations of the example aspects as illustrated in the accompanying drawings. The same reference indicators will be used to the extent possible throughout the drawings and the following description to refer to the same or like items.

    [0031] A number of definitions and concepts are introduced as follows for describing various aspects of the invention.

    [0032] A malicious application (malware, malicious software) may include any software designed to obtain unauthorized access to computing resources of a computer system or to information being stored on the computer system, with the goal of unauthorized use of the resources of the computer system or causing harm (inflicting damage) to the owner of the information, and/or the owner of the computer system, by copying, distorting, deleting or substituting the information.

    [0033] Malicious activity may include actions performed by malicious applications during their execution.

    [0034] Malicious computer system may include a computer system on which malicious activity is being carried out.

    [0035] Legal computer system may include a computer system on which no malicious activity is being carried out.

    [0036] Computer system characteristics may include a collection of various properties of a computer system determining one of the actions being executed by the computer system.

    [0037] For example, according to aspects of the invention, characteristics of a computer system may include the speed of operation of the computer system, meaning how much time the computer system will spend on performing a certain predetermined action. The speed of operation of a computer system may include at least the set of the following properties:
    • the performance of the central processing unit (measured in operations per second);
    • the speed of exchanging data with the main memory (measured in bytes per second); and
    • the speed of exchanging data with external storage media (measured in bytes per second), and it is a nondimensional quantity, normalized with respect to the operating speed of a reference computer system.


    [0038] Another characteristic of a computer system may be the number of applications working at the same time in the computer system. Unlike the previous example, this characteristic may be described by only one property of the computer system, namely, the available main memory (measured in bytes).

    [0039] The computer system state may include the set of characteristics of a computer system capable of describing the actions of the applications running on the computer system, as a function of the available computing resources of the computer system and for a given set of data.

    [0040] The pattern of a computer system state may include a previously prepared set of a portion of the characteristics of a known computer system which is sufficient to describe the set of actions of the applications running on the computer system.

    [0041] Figure 1 presents a structural diagram of a system for detection of malicious computer systems according to aspects of the invention. As depicted, the system may include, among other features, a module for collecting characteristics 101, a module for constructing the space of relations 102, an identification module 103, an analysis module 104, a storage of relations 111, and a storage of patterns 112.

    [0042] In one example, the module for collecting characteristics 101 may be configured to:
    • collect characteristics of the computer system; and
    • send the collected characteristics to the module for constructing the space of relations 102.


    [0043] The characteristics of the computer system may include but not limited to:
    • the characteristics of the computing resources of the computer system;
    • the characteristics of the software running on the computer system; and
    • the characteristics of the data being processed on the computer system.


    [0044] The characteristics of the computing resources of the computer system may include the following but not limited to:
    • the main memory of the computer system;
    • the performance of the computer system; and
    • the characteristics of the network environment.


    [0045] The characteristics of the software running on the computer system may include the following but not limited to:
    • identifiers of applications running in the computer system, as well as of files associated with the identified applications (such as names, complete paths to executable files or check sums of executable files);
    • records from the configuration files of the applications running in the computer system (such as entries in the registry or entries in ini files); and
    • relations between applications characterizing which applications exchange data and how.


    [0046] The characteristics of the data being processed on the computer system may include the following but not limited to:
    • identifiers of the source and recipient of the data (for example, names of applications between which a data exchange is occurring);
    • type of data (for example, database files, images, etc.); and
    • the method of data transmission (for example, data transmitted by computer network or from one application to another using methods of interprocess communication).


    [0047] For example, in accordance with aspects of the invention, a bank employee may use a personal computer to work with databases having client personal data stored thereon. The personal computer may have installed thereon an operating system "Windows 10", an application for working with databases "SQL Server Management Studio", the "Internet Edge" browser, the "Microsoft Office" application package, and a set of additional utilities from various developers. The module for collecting characteristics 101 may be configured to collect the following characteristics:
    • characteristics of various computing resources of the computer system of the user:

      ∘ volume of available main memory (e.g., 8 GB);

      ∘ volume of local and network disks (for example, disk drive C: 120 GB, D: 500 GB, Z: 10 TB);

      ∘ performance of the central processing unit of the computer system (e.g., 10 GFLOP);

      ∘ throughput of the computer network (e.g., 100 Mbit/s);

    • characteristics of software running on the computer system of the user (on the example of "Internet Edge"):

      ∘ installation paths of applications (e.g., C:\Program Files\Internet Edge\edge. exe, etc.);

      ∘ frequency of starting and time of operation of the installed applications (e.g., 30 times a session: 8:30:17 to 8:34:05, 8:46:56 to 9:01:30, etc.);

      ∘ statistics of functions of the installed applications that are executed (e.g., WriteFile:13757, ReadFile: 76446, CreateSocket:5561, etc.); and

      ∘ statistics of use of computing resources of the computer system by the installed applications, including but not limited to:

      ▪ volume of main memory used (e.g., 1034 MB);

      ▪ level of workload of the central processing unit of the computer system (e.g., 7.56%);

      ▪ network addresses with which data exchange is occurring (e.g., 192.168.17.1, 192.168.34.56, etc.); and

      ▪ volume of data being read from storage media or being written to storage media (e.g., data in: 5641 MB, data out: 675 MB);

    • characteristics of the network environment may comprise:

      ∘ network addresses with which data exchange is occurring (e.g., 192.168.17.1, 192.168.34.56, etc.); and

      ∘ speed of data exchange at the network addresses (e.g., 192.168.17.1: 30 MB/s, 192.168.34.56: 15 MB/s);

    • user activity may comprise:

      ∘ which applications were started by the user (e.g., SQL Server Management Studio); and

      ∘ which elements of the graphic interface of the installed applications have been used (e.g., Dialog: ID=12145, Button: ID=17, 87).



    [0048] For example, the module for collecting characteristics 101 at any given moment in time may collect the characteristics which uniquely define or indicate the current state of the computer system, i.e., the module 101 may determine all installed applications, files associated with these applications, and also the processes which have occurred during the working of these applications.

    [0049] The module for constructing the space of relations 102 may be configured to:
    • determine the relations between the obtained characteristics of the computer system, where a relation may be a function of the change in values of one characteristic in response to changing values of another characteristic;
    • determine the time dependency of the state of the computer system based at least on an analysis of the determined relations, where the state of the computer system may be characterized by the set of determined relations, and the time dependency of the state of the computer system including rules describing the changes in the values of the characteristics describing the state of the computer system, as a function of time; and
    • transmit the determined time dependency of the state of the computer system to the identification module 103.


    [0050] The analysis of the previously determined relations between the obtained characteristics of the computer system when determining the time dependency of the state of the computer system may comprise the following but not limited to:
    • identifying the time dependency of the change in values of one characteristic involved in the description of the state of the computer system by using known dependencies of this characteristic on other characteristics for which time dependencies have already been established; and
    • composing rules for the change in values of the mentioned characteristic according to the identified time dependency of the values of the mentioned characteristic.


    [0051] The determined relations may be supplemented with relations obtained from the storage of relations 111, and also the determined relations may be kept in the storage of relations 111, in order to use the stored relations during the next determination of relations (for example, upon change in the state of the computer system).

    [0052] For example, one may save the relations of a legal computer system in the above-described manner and compare them to the relations of a malicious computer system.

    [0053] The values of all characteristics collected by the module 101 may be represented in the form of points of a multidimensional space, in which each dimension represents one characteristic. The collection of these points in such a case may define a certain surface. By selecting one or more characteristics, one may obtain from the surface a projection in the space of selected characteristics. If such projection may characterize the state of the computer system as a whole, the obtained projection may characterize the change in state of the system according to the selected characteristics.

    [0054] For example, the selected characteristics may include but not limited to: a) the volume of main memory, and b) the order of commencement of the working of the application in the computer system. Each application launched according to b) may utilize a certain volume of main memory of a), so that the volume of available main memory decreases with each new application launched. To construct a two-dimensional function of the available volume of main memory in dependence on the number of applications running in the computer system, a characteristic diminishing function of the kind:

    may be obtained, where M is the volume of available main memory, N is the number of applications running in the computer system, and N is the mean number of applications running in the computer system, with which function the computer system can operate. The obtained function may change little if the computer system is unchanged (for example, no new applications are installed) or if the computer system is slightly changed (applications are installed that are not often used or have little influence on the working of the computer system).

    [0055] Each characteristic collected may have several values dependent on the time of operation of the computer system. The relations between the characteristics so determined may also change over time.

    [0056] For example, the volume of main memory may not depend at all on the number of operations being executed by the processor of the computer system until such time as an image processing or password guessing application is launched on the computer system. But after the launching of such application, the dependency of the volume of main memory on the number of operations being executed by the processor may become the reverse (

    where N is the number of operations executed).

    [0057] In one example, an analysis of the time dependencies may enable identifying nonstandard behavior of a computer system, which may indicate that a malicious software is running in the system. For example, a change in the volume of the main memory prior to a particular moment may be characterized by low-period oscillations (e.g., large volumes of main memory were relatively seldom assigned or freed up by the operating system on demand of the running applications), but subsequently these oscillations became high-period ones (e.g., small volumes of main memory began to be often assigned or freed up by the operating system on demand of the running applications). This may indicate that an application has started running in the computer system which performs a small number of operations with memory and then at once transmits the result of the operations to another application or a different application which saves the result to a hard disk, which is not behavior distinctive of legal applications. However, such behavior may be distinctive of certain kinds of malicious applications (such as the so-called Trojan spies - malicious programs involved in collecting confidential data from the computers of users).

    [0058] In one example, the identification module 103 may be configured to:
    • determine the state of a computer system based at least on an analysis of the obtained time dependency of the state of the computer system;
    • select from the storage of patterns 112 patterns of states of the computer system which may represent:

      ∘ the state of a legal computer system; and

      ∘ the state of a malicious computer system;

    • compare the determined state of the computer system with the selected patterns; and
    • send the result of the comparison to the analysis module 104.


    [0059] The state of the computer system may be determined:
    • upon triggering of a number of rules for changes of the computer system:

      ∘ an application has begun to run;

      ∘ an application has finished running; and

      ∘ previously selected API functions have been called up; and

    • periodically, at established points in time.


    [0060] In one example, the storage of patterns 112 may save patterns of states of the computer system including states of the computer system which characterize a previously selected behavior of the computer system.

    [0061] For example, the pattern of states of the computer system may contain only characteristics defining the network activity of the applications, and thus the state of the computer system may characterize only the behavior of the computer system when exchanging data in the computer network.

    [0062] Patterns of states of the computer system may be selected from the storage of patterns 112 in dependence on a previously triggered rule due to a change of the computer system.

    [0063] For example, in the case when an application has begun running in the computer system, a pattern of states of the computer system may be selected which contains characteristics specifying the initialization of an application in the operating system.

    [0064] The result of the comparison of the states of computer systems may be a numerical value from 0 (in the event that both states of the computer system are sets of identical characteristics of the computer system, when the values of these characteristics of the computer system are equal for both states) to 1 (in the event that one state of the computer system is a set of characteristics of the computer system different from the characteristics comprising a second state of the computer system).

    [0065] For example, each state of the computer system may be represented as a multidimensional vector, including components that are the characteristics of the computer system and specify the states of the computer system. In this case, the comparison of two states of the computer system may comprise calculating the scalar product of two multidimensional vectors, each of which may represent one of the states of the computer system, and the result of this comparison may be a number indicating how much one vector differs from the other one (0 - the states of the computer system are identical, ±π - the states of the computer system are maximally different).

    [0066] The analysis means 104 may be configured to:
    • determine the degree of harmfulness of a computer system based at least on an analysis of the obtained result of the comparison of the state of the computer system with selected patterns; and
    • pronounce a verdict recognizing the computer system as malicious based on the results of the comparison of the determined degree of harmfulness of the computer system in connection with a selected threshold value.


    [0067] The degree of harmfulness of a computer system may be a numerical value obtained as a result of the comparison of the states of the computer systems, characterizing:
    • the degree of difference from a previously determined legal computer system; and
    • the degree of similarity to a previously determined malicious computer system.


    [0068] For example, as a result of the comparison of a particular state of a computer system with a previously specified state of a legal computer system on which new software is installed a degree of harmfulness of 0.01 was calculated (e.g., the computer system with a high degree of probability is legal), but on the other hand as a result of a comparison with a previously specified state of a malicious computer system on which a malicious application is running and providing remote control (backdoor) of a victim's computer a degree of harmfulness of 0.5 was calculated (a high indicator, but not enough to determine the computer system as malicious), which together with the fact that a software installation is occurring on the computer system yielded a degree of harmfulness of 0.9, which means that the computer system being analyzed may be determined as malicious.

    [0069] The storage of relations 111 may be configured to:
    • store relations between the characteristics of the computer system gathered by the module for collecting characteristics 101; and
    • provide said the collected relations to the module for constructing the space of relations 102.


    [0070] The storage of patterns 112 may be configured to:
    • store patterns previously determined:

      ∘ states of a legal computer system; and

      ∘ states of a malicious computer system;

    • provide the patterns to the identification module 103.


    [0071] The patterns may comprise:
    • selected in advance from the states of computer systems on the basis of selected security policies (e.g., what is allowed to be done on the computer system, and how);
    • selected in advance from the states of computer systems of users on the basis of the results of an antivirus scanning of users' computers (from computers recognized as being infected with malicious applications, one obtains the states of malicious computer systems, and from computers recognized as being legal, one obtains the states of legal computer systems); and
    • determined in advance as previously obtained states of the computer system being analyzed (for example, if no changes have been made to the computer system for a long time, or the changes made are negligible).


    [0072] In one example, detection of malicious computer systems may be based on an analysis of a computer system on which a user #1 has worked for a long time, processing Microsoft Word documents, while as of a given moment a user #2 (a hacker) has begun working remotely on the computer system, among other things visiting malicious sites and downloading and running malicious applications designed to steal private user data.

    [0073] At the beginning, the computer system was legal, i.e., no malicious activity was being done on it. During the work of user #1 in the computer system with Microsoft Word documents, there may be a regular collection of characteristics of computer systems, such as the volume of main memory being used, the level of workload of the central processing unit in dependence on the actions of the user on the computer system, the properties of the network connections, the network addresses with which data is exchanged, the properties of the data sent through the computer network (volume, type, structure, and so on). From these collected characteristics of the computer system, characteristics were selected that describe the actions performed by user #1, i.e., characteristics related to the processing of Microsoft Word documents (such as characteristics for which a change in values was dependent on a change in values of the characteristics specifying the working of Microsoft Word, such as the volume of data transferred by Microsoft Word to a network disk, the network addresses being visited by the user, the Microsoft Word documents downloaded by him, and so on), by the working of the Microsoft Word application itself (for example, network addresses from which Microsoft Word updates were downloaded). Over time, the state of the legal computer system was determined based on the collected data, being a set of selected characteristics of the computer system.

    [0074] All the values of the selected characteristics obtained at a given point in time may be represented as a set of points situated in a multidimensional space, where each characteristic selected, as discussed the above, may comprise one of the dimensions of that space. This set of points may form a closed surface (which can be called the "surface of the computer system state"), encompassing a region of space whose points characterize one of the legal states of the computer system (which can be called the "region of legal states of the computer system"), i.e., the states of the computer system obtained during the working of user #1, while the points outside the region encompassed by the mentioned surface may comprise states of the computer system whose activity is different from that performed by user #1. Any action of user #1 in the computer system may result in changes in the values of the selected characteristics, which in turn is reflected in the "surface of states of the computer system." As a result, an old state of the computer system may be obtained and described by the "surface of states of the computer system" #t1.1, and a new state of the computer system may be obtained and described by the "surface of states of the computer system" #t1.2. In one example, the degree of difference of the "surface of states of the computer system" #t2 from the "surface of states of the legal computer system" t1 may characterize the degree of harmfulness of the computer system at moment of time t1.2.

    [0075] Alternatively, when user #1 was working in the computer system, the result of the comparison of the state of the computer system with the pattern of the state of the legal computer system may yield a degree of harmfulness of the computer system equal to 0.05, the comparison with the pattern of the state of a malicious computer system may yield a degree of harmfulness of 0.01. Thus, the computer system in which user #1 was working may be determined as being legal.

    [0076] In the case when user #2 was working in the computer system, he may regularly visit malicious sites, and download and run malicious applications from those sites. The change in behavior of the user may also be reflected in the behavior of the computer system, since additional functions began to be used for working with remotely located files (for example, the launching of browsers, entering of malicious sites, and so on). At a certain time, a malicious application may be downloaded from one of the network addresses to the computer system, installed and launched, and begin to collect private data and transmit it through the computer network. Such activity may result in a change in values of many characteristics of the computer system, which in turn was strongly reflected in the resulting state of the computer system. If all values of the characteristics are represented in the form of points of a multidimensional space, where the dimensions are the characteristics of the computer system, as described above, the surface (the "surface of the current state of the computer system") formed from the points at the moment when the aforementioned malicious application was working in the computer system differed significantly from the surface (the "surface of the legal state of the computer system") formed from the points at the time when the computer system was legal. This difference may be reflected in the fact that the "region of legal states of the computer system" and the "region of current states of the computer system" have a common region of small volume as compared to their full volumes.

    [0077] As a result of the comparison of the state of the computer system with the pattern of the state of the legal computer system, a degree of harmfulness of the computer system equal to 0.50 may be determined and calculated, the comparison with the pattern of the state of a malicious computer system may produce a degree of harmfulness of 0.80. Thus, the computer system in which user #2 was working may be determined as being malicious.

    [0078] Fig. 2 shows a diagram of an exemplary method of detection of malicious computer systems. The structural diagram of the method of detection of malicious computer systems may begin with a step 201 in which characteristics of the computer system may be identified and collected, a step 202 in which relations between the characteristics of the computer system may be determined, a step 203 in which the time dependency of the state of the computer system may be determined, a step 204 in which the state of the computer system may be determined, a step 205 in which the characteristics of the computer systems may be compared, a step 206 in which the degree of harmfulness of the computer system may be determined, and a step 207 in which a verdict may be pronounced.

    [0079] More specifically, referring to Fig. 2, in step 201, the characteristics of the computer system may be identified and collected.

    [0080] The characteristics of the computer system may include the following but not limited to:
    • the characteristics of the computing resources of the computer system;
    • the characteristics of the software running on the computer system; and
    • the characteristics of the data being processed on the computer system.


    [0081] The characteristics of the computing resources of the computer system may include the following but not limited to:
    • the main memory of the computer system;
    • the performance of the computer system; and
    • the characteristics of the network environment.


    [0082] The characteristics of the software running on the computer system may include the following but not limited to:
    • identifiers of applications running in the computer system, as well as of files associated with the identified applications (such as names, complete paths to executable files or check sums of executable files);
    • records from the configuration files of the applications running in the computer system (such as entries in the registry or entries in ini files); and
    • relations between applications characterizing which applications exchange data and how.


    [0083] The characteristics of the data being processed on the computer system may include the following but not limited to:
    • identifiers of the source and recipient of the data (for example, names of applications between which a data exchange is occurring);
    • type of data (for example, database files, images, etc.);
    • the method of data transmission (for example, data transmitted by computer network or from one application to another using methods of interprocess communication).


    [0084] In step 202, the relations may be determined between the characteristics of the computer system collected in step 201, where a relation may comprise a dependency of a change in the values of one characteristic upon change in the values of another characteristic.

    [0085] The analysis of the previously determined relations between the characteristics of the computer system collected in step 201 when determining the time dependency of the state of the computer system may comprise:
    • identifying the time dependency of the change in values of one characteristic involved in the description of the state of the computer system by using already known dependencies of this characteristic on other characteristics for which time dependencies have already been established; and
    • composing rules for the change in values of the mentioned characteristic by the identified time dependency of the values of the mentioned characteristic.


    [0086] The determined relations may be supplemented with relations obtained from the storage of relations 111, and the determined relations may be stored in the storage of relations 111, such that the stored relations may be used during the next determination of relations (for example, upon change in the state of the computer system).

    [0087] The values of all characteristics collected in step 201 may be represented in the form of points of a multidimensional space, in which each dimension may represent one characteristic. The collection of the mentioned points in such a case may specify a certain surface. By selecting the necessary characteristics, one may obtain from the specified surface a projection in the space of selected characteristics. If the described projection characterizes the state of the computer system as a whole, the obtained projection may characterize the change in state of the system for the selected characteristics.

    [0088] Each characteristic collected in step 201 may have several values dependent on the time of operation of the computer system. The relations between the characteristics so determined may also change over time.

    [0089] In step 203, the time dependency may be determined for the state of the computer system on the basis of an analysis of the relations determined in step 202, where the state of the computer system may be characterized by the set of relations so determined, and the time dependency of the state of the computer system may comprise rules describing changes in the values of the characteristics describing the state of the computer system as a function of time.

    [0090] An analysis of the time dependencies may enable determining and tracking nonstandard behavior of a computer system, which may indicate that a malicious software is running in the system.

    [0091] In step 204, the state of the computer system may be determined on the basis of an analysis of the time dependency of the state of the computer system as determined in step 203.

    [0092] The state of the computer system may be determined:
    • upon triggering of a number of rules for changes of the computer system:

      ∘ an application has begun to run;

      ∘ an application has finished running; and

      ∘ previously selected API functions have been called up; and

    • periodically, at established moments of time.


    [0093] In step 205, the characteristics of the computer systems may be compared. More specifically:
    • patterns of states of the computer system may be selected from the storage of patterns 112 which may represent:

      ∘ the state of a legal computer system; and

      ∘ the state of a malicious computer system;

    • the state of the computer system determined in step 204 may be compared with the selected patterns.


    [0094] The patterns may comprise:
    • selected in advance from the states of computer systems on the basis of selected security policies (e.g., what may be allowed to be done on the computer system, and how);
    • selected in advance from the states of computer systems of users on the basis of the results of an antivirus scanning of users' computers (from computers recognized as being infected with malicious applications, one obtains the states of malicious computer systems, and from computers recognized as being legal, one obtains the states of legal computer systems);
    • determined in advance as previously obtained states of the computer system being analyzed (for example, if no changes have been made to the computer system for a long time, or the changes made are negligible).


    [0095] In one example, one may store in the storage of patterns 112 patterns of states of the computer system representing states of the computer system including a previously selected behavior of the computer system.

    [0096] One may also select from the storage of patterns 112 patterns of states of the computer system as a function of a previously triggered rule for a change of the computer system.

    [0097] The result of the comparison of the states of computer systems may be a numerical value from 0 (in the event that both states of the computer system are sets of identical characteristics of the computer system, when the values of the mentioned characteristics of the computer system are equal for both states) to 1 (in the event that one state of the computer system is a set of characteristics of the computer system different from the characteristics whose set constitutes a second state of the computer system).

    [0098] In step 206, the degree of harmfulness of the computer system may be determined on the basis of the analysis of the result of the comparison of the states of the computer system obtained in step 205.

    [0099] The degree of harmfulness of the computer system may comprise a numerical value obtained as a result of the comparison of the states of the computer systems, including the following but not limited to:
    • the degree of difference from a previously determined legal computer system; and
    • the degree of similarity to a previously determined malicious computer system.


    [0100] In step 207, a verdict may be determined and pronounced identifying the computer system as malicious based on the results of the comparison of the degree of harmfulness of the computer system as determined in step 206 in connection with a selected threshold value.

    [0101] Fig. 3 illustrates an example of a computer system or computing device on which the disclosed systems and method may be implemented. As shown, the computer system includes a central processing unit 21, a system memory 22 and a system bus 23 connecting the various system components, including the memory associated with the central processing unit 21. The system bus 23 is realized like any bus structure known from the prior art, containing in turn a bus memory or bus memory controller, a peripheral bus and a local bus, which is able to interact with any other bus architecture. The system memory includes permanent memory (ROM) 24 and random-access memory (RAM) 25. The basic input/output system (BIOS) 26 includes the basic procedures ensuring the transfer of information between elements of the personal computer 20, such as those at the time of loading the operating system with the use of the ROM 24.

    [0102] The personal computer 20, in turn, includes a hard disk 27 for reading and writing of data, a magnetic disk drive 28 for reading and writing on removable magnetic disks 29 and an optical drive 30 for reading and writing on removable optical disks 31, such as CD-ROM, DVD-ROM and other optical information media. The hard disk 27, the magnetic disk drive 28, and the optical drive 30 are connected to the system bus 23 across the hard disk interface 32, the magnetic disk interface 33 and the optical drive interface 34, respectively. The drives and the corresponding computer information media are power-independent modules for storage of computer instructions, data structures, program modules and other data of the personal computer 20.

    [0103] The present disclosure provides the implementation of a system that uses a hard disk 27, a removable magnetic disk 29 and a removable optical disk 31, but it should be understood that it is possible to employ other types of computer information media 56 which are able to store data in a form readable by a computer (solid state drives, flash memory cards, digital disks, random-access memory (RAM) and so on), which are connected to the system bus 23 via the controller 55.

    [0104] The computer 20 has a file system 36, where the recorded operating system 35 is kept, and also additional program applications 37, other program modules 38 and program data 39. The user is able to enter commands and information into the personal computer 20 by using input devices (keyboard 40, mouse 42). Other input devices (not shown) can be used: microphone, joystick, game controller, scanner, and so on. Such input devices usually plug into the computer system 20 through a serial port 46, which in turn is connected to the system bus, but they can be connected in other ways, for example, with the aid of a parallel port, a game port or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 across an interface, such as a video adapter 48. In addition to the monitor 47, the personal computer can be equipped with other peripheral output devices (not shown), such as loudspeakers, a printer, and so on.

    [0105] The personal computer 20 is able to operate in a network environment, using a network connection to one or more remote computers 49. The remote computer (or computers) 49 are also personal computers or servers having the majority or all of the aforementioned elements in describing the nature of a personal computer 20. Other devices can also be present in the computer network, such as routers, network stations, peer devices or other network nodes.

    [0106] Network connections can form a local-area computer network (LAN) 50 and a wide-area computer network (WAN). Such networks are used in corporate computer networks and internal company networks, and they generally have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local-area network 50 across a network adapter or network interface 51. When networks are used, the personal computer 20 can employ a modem 54 or other modules for providing communications with a wide-area computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 by a serial port 46. It should be noted that the network connections are only examples and need not depict the exact configuration of the network, i.e., in reality there are other ways of establishing a connection of one computer to another by technical communication modules.

    [0107] In various aspects, the systems and methods described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the methods may be stored as one or more instructions or code on a non-transitory computer-readable medium. Computer-readable medium includes data storage. By way of example, and not limitation, such computer-readable medium can comprise RAM, ROM, EEPROM, CD-ROM, Flash memory or other types of electric, magnetic, or optical storage medium, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processor of a general purpose computer.

    [0108] In various aspects, the systems and methods described in the present disclosure can be addressed in terms of modules. The term "module" as used herein refers to a real-world device, component, or arrangement of components implemented using hardware, such as by an application specific integrated circuit (ASIC) or field-programmable gate array (FPGA), for example, or as a combination of hardware and software, such as by a microprocessor system and a set of instructions to implement the module's functionality, which (while being executed) transform the microprocessor system into a special-purpose device. A module can also be implemented as a combination of the two, with certain functions facilitated by hardware alone, and other functions facilitated by a combination of hardware and software. In certain implementations, at least a portion, and in some cases, all, of a module can be executed on the processor of a user computer or computing device (such as the module for collecting characteristics 101, the module for constructing the space of relation 102, the identification module 103, and the analysis module 104 described in greater detail in Figures 1 and 2 above). Accordingly, each module can be realized in a variety of suitable configurations, and should not be limited to any particular implementation exemplified herein.

    [0109] In the interest of clarity, not all of the routine features of the aspects are disclosed herein. It would be appreciated that in the development of any actual implementation of the present disclosure, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, and these specific goals will vary for different implementations and different developers. It is understood that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art, having the benefit of this disclosure.

    [0110] Furthermore, it is to be understood that the phraseology or terminology used herein is for the purpose of description and not of restriction, such that the terminology or phraseology of the present specification is to be interpreted by the skilled in the art in light of the teachings and guidance presented herein, in combination with the knowledge of the skilled in the relevant art(s). Moreover, it is not intended for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such.

    [0111] The various aspects disclosed herein encompass present and future known equivalents to the known modules referred to herein by way of illustration. Moreover, while aspects and applications have been shown and described, it would be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts disclosed herein.

    [0112] The invention is defined in the appended claims.


    Claims

    1. A computer-implemented method for detecting a malicious computer system, the method comprising:

    collecting (201), by a processor (21), characteristics of a computer system (20);

    determining (202) relations between collected characteristics of the computer system (20), wherein a relation is represented as a function of a change in values of one characteristic when values of another characteristic are changed, wherein determining (202) the relations between the collected characteristics of the computer system (20) comprises: using a multidimensional space for representing values of the collected characteristics, and determining at least one state of the computer system (20) based at least on a projection in the multidimensional space of selected characteristics;

    determining (203) a time dependency for the at least one state of the computer system (20) based on the determined (202) relations, wherein the time dependency comprises rules describing changes in the values of the characteristics as a function of time;

    determining (204) the at least one state of the computer system (20) based at least on determined (203) time dependency; and

    analyzing (205), by the processor (21), the at least one state of the computer system (20) in connection with selected patterns representing a legal or malicious computer system to determine (206) a degree of harmfulness of the computer system (20) by comparing the multidimensional space for the at least one state with a multidimensional space with the selected patterns representing the legal or malicious computer system, wherein the selected patterns comprise at least one pattern characterized by low period oscillations of memory assignments in memory of the computer system (20) followed by high period oscillations of memory assignments in memory of the computer system (20), and matching the at least one pattern indicates that malicious software is running on the computer system (20), wherein the low period oscillations correspond to seldom assigning or freeing up large volumes of the main memory and the high period oscillations correspond to often assigning or freeing up small volumes of the main memory.


     
    2. The computer-implemented method of claim 1, wherein collecting (201) the characteristics of the computer system (20) comprises collecting characteristics of at least one of: characteristics of computing resources of the computer system (20), characteristics of software running on the computer system (20), and characteristics of data being processed on the computer system (20).
     
    3. The computer-implemented method of claim 2, wherein the characteristics of computing resources of the computer system (20) comprise at least one of: characteristics of a main memory of the computer system (20), performance of the computer system (20), and characteristics of a network environment with which the computer system (20) is associated.
     
    4. The computer-implemented method of claim 2, wherein the characteristics of software running on the computer system (20) comprise at least one of: identifiers of one or more applications running in the computer system (20) and characteristics of files associated with the one or more applications, records from configuration files of the one or more applications running in the computer system (20), and relations between the one or more applications.
     
    5. The computer-implemented method of claim 2, wherein the characteristics of data being processed on the computer system (20) comprise at least one of: identifiers of a source and a recipient of the data, type of the data, and a data transmission method.
     
    6. The computer-implemented method of claim 1, wherein determining (203) the time dependency of the at least one state of the computer system (20) based on the determined (202) relations comprises determining rules for changes in values of the characteristics describing the at least one state of the computer system (20) as a function of time.
     
    7. The computer-implemented method of claim 6, wherein determining (204) the at least one state of the computer system (20) based at least on the determined (203) time dependency comprises identifying nonstandard behaviors of the computer system (20) in accordance with an analysis of the determined (203) time dependency and the changes in values of the characteristics.
     
    8. The computer-implemented method of claim 1, wherein the selected patterns representing the legal or malicious computer system (20) are configured to be retrieved from at least one database (112) of patterns, each pattern corresponding to a previously triggered rule for a characteristic change of the computer system (20).
     
    9. The computer-implemented method of claim 1, further comprising evaluating the degree of harmfulness of the computer system (20) against a selected threshold value to determine whether the computer system (20) is legal or malicious.
     
    10. A system for detecting a malicious computer system, comprising:
    at least one hardware processor (21) configured to:

    collect characteristics of a computer system (20);

    determine (202) relations between collected characteristics of the computer system (20), wherein a relation is represented as a function of a change in values of one characteristic when values of another characteristic are changed, wherein determining (202) the relations between the collected characteristics of the computer system (20) comprises: using a multidimensional space for representing values of the collected characteristics, and determining at least one state of the computer system (20) based at least on a projection in the multidimensional space of selected characteristics;

    determine (203) a time dependency for the at least one state of the computer system (20) based on the determined (202) relations, wherein the time dependency comprises rules describing changes in the values of the characteristics as a function of time;

    determine (204) the at least one state of the computer system (20) based at least on determined (203) time dependency; and

    analyze (205) the at least one state of the computer system (20) in connection with selected patterns representing a legal or malicious computer system to determine a degree of harmfulness of the computer system (20) by comparing the multidimensional space for the at least one state with a multidimensional space with the selected patterns representing the legal or malicious computer system, wherein the selected patterns comprise at least one pattern characterized by low period oscillations of memory assignments in memory of the computer system (20) followed by high period oscillations of memory assignments in memory of the computer system (20), and matching the at least one pattern indicates that malicious software is running on the computer system (20), wherein the low period oscillations correspond to seldom assigning or freeing up large volumes of the main memory and the high period oscillations correspond to often assigning or freeing up small volumes of the main memory.


     
    11. The system of claim 10, wherein, to collect the characteristics of the computer system (20), the at least one processor (21) is further configured to collect characteristics of at least one of: characteristics of computing resources of the computer system (20), characteristics of software running on the computer system (20), and characteristics of data being processed on the computer system (20).
     
    12. The system of claim 10, wherein the characteristics of computing resources of the computer system (20) comprise at least one of:

    characteristics of a main memory of the computer system (20), performance of the computer system (20), and characteristics of a network environment with which the computer system (20) is associated,

    wherein the characteristics of software running on the computer system (20) comprise at least one of: identifiers of one or more applications running in the computer system (20) and characteristics of files associated the one or more applications, records from configuration files of the one or more applications running in the computer system (20), and relations between the one or more applications, and

    wherein the characteristics of data being processed on the computer system (20) comprise at least one of: identifiers of a source and a recipient of the data, type of the data, and a data transmission method.


     
    13. The system of claim 10, wherein a relation is configured as a function of a change in values of one characteristic when values of another characteristic are changed,
    wherein the selected patterns representing the legal or malicious computer system (20) are configured to be retrieved from at least one database (112) of patterns, each pattern corresponding to a previously triggered rule for a characteristic change of the computer system (20).
     
    14. The system of claim 13, wherein, to determine (203) the time dependency of the at least one state of the computer system (20) based on the determined (202) relations, the at least one processor (21) is further configured to determine rules for changes in values of the characteristics describing the at least one state of the computer system (20) as a function of time.
     


    Ansprüche

    1. Computerimplementiertes Verfahren zum Erfassen eines schädlichen Computersystems, wobei das Verfahren umfasst:

    Sammeln (201), durch einen Prozessor (21), von Eigenschaften eines Computersystems (20);

    Bestimmen (202) von Beziehungen zwischen gesammelten Eigenschaften des Computersystems (20), wobei eine Beziehung als eine Funktion einer Änderung von Werten einer Eigenschaft dargestellt wird, wenn sich Werte einer anderen Eigenschaft ändern, wobei das Bestimmen (202) der Beziehungen zwischen den gesammelten Eigenschaften des Computersystems (20) umfasst: Verwenden eines mehrdimensionalen Raums zum Darstellen von Werten der gesammelten Eigenschaften, und Bestimmen wenigstens eines Zustands des Computersystems (20) auf der Basis wenigstens einer Projektion von ausgewählten Eigenschaften in dem multidimensionalen Raum;

    Bestimmen (203) einer Zeitabhängigkeit für den wenigstens einen Zustand des Computersystems (20) auf der Basis der bestimmten (202) Beziehungen, wobei die Zeitabhängigkeit Regeln umfasst, die Änderungen der Werte der Eigenschaften als eine Funktion der Zeit beschreiben,

    Bestimmen (204) des wenigstens einen Zustands des Computersystems (20) auf der Basis wenigstens der bestimmten (203) Zeitabhängigkeit; und

    Analysieren (205), durch den Prozessor (21), des wenigstens einen Zustands des Computersystems (20) in Verbindung mit ausgewählten Mustern, die ein legales oder schädliches Computersystem darstellen, um einen Schädlichkeitsgrad des Computersystems (20) zu bestimmen (206), durch Vergleichen des multidimensionalen Raums für den wenigstens einen Zustand mit einem multidimensionalen Raum mit den ausgewählten Mustern, die das legale oder schädliche Computersystem darstellen, wobei die ausgewählten Muster wenigstens ein Muster aufweisen, das durch Oszillationen mit niedriger Periode von Speicherzuweisungen im Speicher des Computersystems (20), gefolgt von Oszillationen mit hoher Periode von Speicherzuweisungen im Speicher des Computersystems (20) gekennzeichnet ist, und ein Zusammenpassen mit dem wenigstens einen Muster anzeigt, dass Schadsoftware auf dem Computersystem (20) läuft, wobei die Oszillationen mit niedriger Periode einem seltenen Zuweisen oder Freigeben von großen Mengen des Hauptspeichers entsprechen, und die Oszillationen mit hoher Periode einem häufigen Zuweisen oder Freigeben von kleinen Mengen des Hauptspeichers entsprechen.


     
    2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Sammeln (201) der Eigenschaften des Computersystems (20) das Sammeln von Eigenschaften von wenigstens einem umfasst von: Eigenschaften von Computerressourcen des Computersystems (20), Eigenschaften von Software, die auf dem Computersystem (20) läuft, und Eigenschaften von Daten, die auf dem Computersystem (20) verarbeitet werden.
     
    3. Computerimplementiertes Verfahren nach Anspruch 2, wobei die Eigenschaften von Computerressourcen des Computersystems (20) wenigstens eine umfassen von: Eigenschaften eines Hauptspeichers des Computersystems (20), Leistung des Computersystems (20) und Eigenschaften einer Netzwerkumgebung, der das Computersystem (20) zugeordnet ist.
     
    4. Computerimplementiertes Verfahren nach Anspruch 2, wobei die Eigenschaften von Software, die auf dem Computersystem (20) läuft, wenigstens eines umfassen von: Identifikatoren von einer oder mehreren Anwendungen, die auf dem Computersystem (20) laufen, und Eigenschaften von Dateien, die der einen oder den mehreren Anwendungen zugeordnet sind, Datensätze von Konfigurationsdateien der einen oder mehreren Anwendungen, die auf dem Computersystem (20) laufen, und Beziehungen zwischen der einen oder den mehreren Anwendungen.
     
    5. Computerimplementiertes Verfahren nach Anspruch 2, wobei die Eigenschaften von Daten, die auf dem Computersystem (20) verarbeitet werden, wenigstens eines umfassen von: Identifikatoren einer Quelle und eines Empfängers der Daten, Art der Daten und ein Datenübertragungsverfahren.
     
    6. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Bestimmen (203) der Zeitabhängigkeit des wenigstens einen Zustands des Computersystems (20) auf der Basis der bestimmten (202) Beziehungen das Bestimmen von Regeln für Änderungen der Werte der Eigenschaften umfasst, die den wenigstens einen Zustand des Computersystems (20) als eine Funktion der Zeit beschreiben.
     
    7. Computerimplementiertes Verfahren nach Anspruch 6, wobei das Bestimmen (204) des wenigstens einen Zustands des Computersystems (20) auf der Basis wenigstens der bestimmten (203) Zeitabhängigkeit das Identifizieren von Nichtstandardverhalten des Computersystems (20) gemäß einer Analyse der bestimmten (203) Zeitabhängigkeit und der Änderungen der Werte der Eigenschaften umfasst.
     
    8. Computerimplementiertes Verfahren nach Anspruch 1, wobei die ausgewählten Muster, die das legale oder schädliche Computersystem (20) darstellen, derart konfiguriert sind, dass sie von wenigstens einer Datenbank (112) von Mustern abgerufen werden, wobei jedes Muster einer vorher erzeugten Regel für eine Eigenschaftsänderung des Computersystems (20) entspricht.
     
    9. Computerimplementiertes Verfahren nach Anspruch 1, das ferner das Bewerten des Schädlichkeitsgrades des Computersystems (20) anhand eines ausgewählten Schwellenwerts umfasst, um zu bestimmen, ob das Computersystem (20) legal oder schädlich ist.
     
    10. System zum Erfassen eines schädlichen Computersystems, umfassend:

    wenigstens einen Hardwareprozessor (21), der konfiguriert ist für ein Sammeln von Eigenschaften eines Computersystems (20);

    Bestimmen (202) von Beziehungen zwischen gesammelten Eigenschaften des Computersystems (20), wobei eine Beziehung als eine Funktion einer Änderung von Werten einer Eigenschaft dargestellt ist, wenn sich Werte einer anderen Eigenschaft ändern, wobei das Bestimmen (202) der Beziehungen zwischen den gesammelten Eigenschaften des Computersystems (20) umfasst: Verwenden eines mehrdimensionalen Raums zum Darstellen von Werten der gesammelten Eigenschaften, und Bestimmen wenigstens eines Zustands des Computersystems (20) auf der Basis wenigstens einer Projektion von ausgewählten Eigenschaften in dem multidimensionalen Raum;

    Bestimmen (203) einer Zeitabhängigkeit für den wenigstens einen Zustand des Computersystems (20) auf der Basis der bestimmten (202) Beziehungen, wobei die Zeitabhängigkeit Regeln umfasst, die Änderungen der Werte der Eigenschaften als eine Funktion der Zeit beschreiben,

    Bestimmen (204) des wenigstens einen Zustands des Computersystems (20) auf der Basis wenigstens der bestimmten (203) Zeitabhängigkeit; und

    Analysieren (205) des wenigstens einen Zustands des Computersystems (20) in Verbindung mit ausgewählten Mustern, die ein legales oder schädliches Computersystem darstellen, um einen Schädlichkeitsgrad des Computersystems (20) zu bestimmen, durch Vergleichen des multidimensionalen Raums für den wenigstens einen Zustand mit einem multidimensionalen Raum mit den ausgewählten Mustern, die das legale oder schädliche Computersystem darstellen, wobei die ausgewählten Muster wenigstens ein Muster aufweisen, das durch Oszillationen mit niedriger Periode von Speicherzuweisungen im Speicher des Computersystems (20), gefolgt von Oszillationen mit hoher Periode von Speicherzuweisungen im Speicher des Computersystems (20) gekennzeichnet ist, und ein Zusammenpassen mit dem wenigstens einen Muster anzeigt, dass Schadsoftware auf dem Computersystem (20) läuft, wobei die Oszillationen mit niedriger Periode einem seltenen Zuweisen oder Freigeben von großen Mengen des Hauptspeichers entsprechen, und die Oszillationen mit hoher Periode einem häufigen Zuweisen oder Freigeben von kleinen Mengen des Hauptspeichers entsprechen.


     
    11. System nach Anspruch 10, wobei, für das Sammeln der Eigenschaften des Computersystems (20), der wenigstens eine Prozessor (21) ferner dazu konfiguriert ist, Eigenschaften von wenigstens einem zu sammeln von: Eigenschaften von Computerressourcen des Computersystems (20), Eigenschaften von Software, die auf dem Computersystem (20) läuft, und Eigenschaften von Daten, die auf dem Computersystem (20) verarbeitet werden.
     
    12. System nach Anspruch 10, wobei die Eigenschaften von Computerressourcen des Computersystems (20) wenigstens eine umfassen von:

    Eigenschaften eines Hauptspeichers des Computersystems (20), Leistung des Computersystems (20) und Eigenschaften einer Netzwerkumgebung, der das Computersystem (20) zugeordnet ist,

    wobei die Eigenschaften von Software, die auf dem Computersystem (20) läuft, wenigstens eines umfassen von: Identifikatoren von einer oder mehreren Anwendungen, die auf dem Computersystem (20) laufen, und Eigenschaften von Dateien, die der einen oder den mehreren Anwendungen zugeordnet sind, Datensätze von Konfigurationsdateien der einen oder mehreren Anwendungen, die auf dem Computersystem (20) laufen, und Beziehungen zwischen der einen oder den mehreren Anwendungen, und wobei die Eigenschaften von Daten, die auf dem Computersystem (20) verarbeitet werden, wenigstens eines umfassen von: Identifikatoren einer Quelle und eines Empfängers der Daten, Art der Daten und ein Datenübertragungsverfahren.


     
    13. System nach Anspruch 10, wobei eine Beziehung als eine Funktion einer Änderung von Werten einer Eigenschaft konfiguriert ist, wenn sich Werte einer anderen Eigenschaft ändern, wobei die ausgewählten Muster, die das legale oder schädliche Computersystem (20) darstellen, derart konfiguriert sind, dass sie von wenigstens einer Datenbank (112) von Mustern abgerufen werden, wobei jedes Muster einer vorher erzeugten Regel für eine Eigenschaftsänderung des Computersystems (20) entspricht.
     
    14. System nach Anspruch 13, wobei, um die Zeitabhängigkeit des wenigstens einen Zustands des Computersystems (20) auf der Basis der bestimmten (202) Beziehungen zu bestimmen (203), der wenigstens eine Prozessor (21) ferner dazu konfiguriert ist, Regeln für die Änderungen von Werten der Eigenschaften zu bestimmen, die den wenigstens einen Zustand des Computersystems (20) als eine Funktion der Zeit beschreiben.
     


    Revendications

    1. Un procédé mis en oeuvre par ordinateur destiné à la détection d'un système informatique malveillant, le procédé comprenant :

    le recueil (201), par un processeur (21), de caractéristiques d'un système informatique (20),

    la détermination (202) de relations entre des caractéristiques recueillies du système informatique (20), une relation étant représentée sous la forme d'une fonction d'une modification des valeurs d'une caractéristique lorsque des valeurs d'une autre caractéristique sont modifiées, la détermination (202) des relations entre les caractéristiques recueillies du système informatique (20) comprenant : l'utilisation d'un espace multidimensionnel destiné à la représentation de valeurs des caractéristiques recueillies et la détermination d'au moins un état du système informatique (20) en fonction au moins d'une projection dans l'espace multidimensionnel de caractéristiques sélectionnées,

    la détermination (203) d'une dépendance temporelle pour le au moins un état du système informatique (20) en fonction des relations déterminées (202), la dépendance temporelle comprenant des règles décrivant des modifications des valeurs des caractéristiques sous la forme d'une fonction du temps,

    la détermination (204) du au moins un état du système informatique (20) en fonction au moins de la dépendance temporelle déterminée (203), et

    l'analyse (205), par le processeur (21), du au moins un état du système informatique (20) en rapport avec des modèles sélectionnés représentant un système informatique malveillant ou réglementaire de façon à déterminer (206) un degré de nocivité du système informatique (20) par la comparaison de l'espace multidimensionnel pour le au moins un état à un espace multidimensionnel avec les modèles sélectionnés représentant le système informatique malveillant ou réglementaire, les modèles sélectionnés comprenant au moins un modèle caractérisé par des oscillations à faible période d'affectations de mémoire dans une mémoire du système informatique (20) suivies par des oscillations à période élevée d'affectations de mémoire dans une mémoire du système informatique (20), et la mise en correspondance du au moins un modèle indique qu'un logiciel malveillant est exécuté sur le système informatique (20), les oscillations à faible période correspondant à une affectation peu fréquente ou à la libération de grands volumes de la mémoire principale et les oscillations à période élevée correspondant à une affectation fréquente ou à la libération de petits volumes de la mémoire principale.


     
    2. Le procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel le recueil (201) des caractéristiques du système informatique (20) comprend le recueil de caractéristiques d'au moins des caractéristiques parmi : des caractéristiques de ressources informatiques du système informatique (20), des caractéristiques d'un logiciel exécuté sur le système informatique (20) et des caractéristiques de données qui sont traitées sur le système informatique (20).
     
    3. Le procédé mis en oeuvre par ordinateur selon la revendication 2, dans lequel les caractéristiques de ressources informatiques du système informatique (20) comprennent au moins des caractéristiques parmi : des caractéristiques d'une mémoire principale du système informatique (20), des performances du système informatique (20) et des caractéristiques d'un environnement de réseau auquel le système informatique (20) est associé.
     
    4. Le procédé mis en oeuvre par ordinateur selon la revendication 2, dans lequel les caractéristiques d'un logiciel exécuté sur le système informatique (20) comprennent au moins un élément parmi : des identifiants d'une ou de plusieurs applications exécutées dans le système informatique (20) et des caractéristiques de fichiers associés aux une ou plusieurs applications, des enregistrements provenant de fichiers de configuration des une ou plusieurs applications exécutées dans le système informatique (20) et des relations entre les une ou plusieurs applications.
     
    5. Le procédé mis en oeuvre par ordinateur selon la revendication 2, dans lequel les caractéristiques de données qui sont traitées sur le système informatique (20) comprennent au moins un élément parmi : des identifiants d'une source et d'un destinataire des données, un type des données et un procédé de transmission de données.
     
    6. Le procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel la détermination (203) de la dépendance temporelle du au moins un état du système informatique (20) en fonction des relations déterminées (202) comprend la détermination de règles relatives à des modifications des valeurs des caractéristiques décrivant le au moins un état du système informatique (20) sous la forme d'une fonction du temps.
     
    7. Le procédé mis en oeuvre par ordinateur selon la revendication 6, dans lequel la détermination (204) du au moins un état du système informatique (20) en fonction au moins de la dépendance temporelle déterminée (203) comprend l'identification de comportements non standard du système informatique (20) conformément à une analyse de la dépendance temporelle déterminée (203) et des modifications des valeurs des caractéristiques.
     
    8. Le procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel les modèles sélectionnés représentant le système informatique malveillant ou réglementaire (20) sont configurés de façon à être récupérés à partir d'au moins une base de données (112) de modèles, chaque modèle correspondant à une règle déclenchée antérieurement pour une modification de caractéristique du système informatique (20).
     
    9. Le procédé mis en oeuvre par ordinateur selon la revendication 1, comprenant en outre l'évaluation du degré de nocivité du système informatique (20) par rapport à une valeur seuil sélectionnée de façon à déterminer si le système informatique (20) est réglementaire ou malveillant.
     
    10. Un système de détection d'un système informatique malveillant, comprenant :
    au moins un processeur matériel (21) configuré de façon à :

    recueillir des caractéristiques d'un système informatique (20),

    déterminer (202) des relations entre des caractéristiques recueillies du système informatique (20), une relation étant représentée sous la forme d'une fonction d'une modification des valeurs d'une caractéristique lorsque des valeurs d'une autre caractéristique sont modifiées, la détermination (202) des relations entre les caractéristiques recueillies du système informatique (20) comprenant : l'utilisation d'un espace multidimensionnel destiné à la représentation de valeurs des caractéristiques recueillies et la détermination d'au moins un état du système informatique (20) en fonction au moins d'une projection dans l'espace multidimensionnel de caractéristiques sélectionnées,

    déterminer (203) une dépendance temporelle pour le au moins un état du système informatique (20) en fonction des relations déterminées (202), la dépendance temporelle comprenant des règles décrivant des modifications des valeurs des caractéristiques sous la forme d'une fonction du temps,

    déterminer (204) le au moins un état du système informatique (20) en fonction au moins de la dépendance temporelle déterminée (203), et

    analyser (205) le au moins un état du système informatique (20) en rapport avec des modèles sélectionnés représentant un système informatique malveillant ou réglementaire de façon à déterminer un degré de nocivité du système informatique (20) par la comparaison de l'espace multidimensionnel pour le au moins un état à un espace multidimensionnel avec les modèles sélectionnés représentant le système informatique malveillant ou réglementaire, les modèles sélectionnés comprenant au moins un modèle caractérisé par des oscillations à faible période d'affectations de mémoire dans une mémoire du système informatique (20) suivies par des oscillations à période élevée d'affectations de mémoire dans une mémoire du système informatique (20), et la mise en correspondance du au moins un modèle indique qu'un logiciel malveillant est exécuté sur le système informatique (20), les oscillations à faible période correspondant à une affectation peu fréquente ou à la libération de grands volumes de la mémoire principale et les oscillations à période élevée correspondant à une affectation fréquente ou à la libération de petits volumes de la mémoire principale.


     
    11. Le système selon la revendication 10, dans lequel, de façon à recueillir les caractéristiques du système informatique (20), le au moins un processeur (21) est configuré en outre de façon à recueillir des caractéristiques d'au moins des caractéristiques parmi : des caractéristiques de ressources informatiques du système informatique (20), des caractéristiques d'un logiciel exécuté sur le système informatique (20) et des caractéristiques de données qui sont traitées sur le système informatique (20).
     
    12. Le système selon la revendication 10, dans lequel les caractéristiques de ressources informatiques du système informatique (20) comprennent au moins des caractéristiques parmi :

    des caractéristiques d'une mémoire principale du système informatique (20), des performances du système informatique (20) et des caractéristiques d'un environnement de réseau auquel le système informatique (20) est associé,

    dans lequel les caractéristiques d'un logiciel exécuté sur le système informatique (20) comprennent au moins un élément parmi : des identifiants d'une ou de plusieurs applications exécutées dans le système informatique (20) et des caractéristiques de fichiers associés aux une ou plusieurs applications, des enregistrements provenant de fichiers de configuration des une ou plusieurs applications exécutées dans le système informatique (20) et des relations entre les une ou plusieurs applications, et

    dans lequel les caractéristiques de données qui sont traitées sur le système informatique (20) comprennent au moins un élément parmi : des identifiants d'une source et d'un destinataire des données, un type des données et un procédé de transmission de données.


     
    13. Le système selon la revendication 10, dans lequel une relation est configurée sous la forme d'une fonction d'une modification des valeurs d'une caractéristique lorsque des valeurs d'une autre caractéristique sont modifiées,
    dans lequel les modèles sélectionnés représentant le système informatique malveillant ou réglementaire (20) sont configurés de façon à être récupérés à partir d'au moins une base de données (112) de modèles, chaque modèle correspondant à une règle déclenchée antérieurement pour une modification de caractéristique du système informatique (20).
     
    14. Le système selon la revendication 13, dans lequel, de façon à déterminer (203) la dépendance temporelle du au moins un état du système informatique (20) en fonction des relations déterminées (202), le au moins un processeur (21) est configuré en outre de façon à déterminer des règles relatives à des modifications des valeurs des caractéristiques décrivant le au moins un état du système informatique (20) sous la forme d'une fonction du temps.
     




    Drawing














    Cited references

    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description