(19)
(11)EP 3 819 799 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
27.07.2022 Bulletin 2022/30

(21)Application number: 20205869.9

(22)Date of filing:  05.11.2020
(51)International Patent Classification (IPC): 
G06F 21/55(2013.01)
G06F 21/56(2013.01)
(52)Cooperative Patent Classification (CPC):
G06F 21/554; G06F 21/566

(54)

METHOD OF THREAT DETECTION

VERFAHREN ZUR BEDROHUNGSERKENNUNG

PROCÉDÉ DE DÉTECTION DE MENACES


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR 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: 11.11.2019 GB 201916345

(43)Date of publication of application:
12.05.2021 Bulletin 2021/19

(73)Proprietor: WithSecure Corporation
00180 HELSINKI (FI)

(72)Inventors:
  • PALUMBO, Paolo
    00180 HELSINKI (FI)
  • KOMASHINSKIY, Dmitriy
    00180 HELSINKI (FI)

(74)Representative: Berggren Oy 
P.O. Box 16 Eteläinen Rautatiekatu 10A
00101 Helsinki
00101 Helsinki (FI)


(56)References cited: : 
US-A1- 2017 220 797
US-A1- 2019 182 272
US-A1- 2019 050 561
  
  • PENG GAO ET AL: "SAQL: A Stream-based Query System for Real-Time Abnormal System Behavior Detection", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 25 June 2018 (2018-06-25), XP080894120,
  
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

Technical Field



[0001] The present invention relates to a method of threat detection in a computer network security system and to a computer network security system.

Background



[0002] Computer network security systems such as Managed Detection and Response (MDR) and Endpoint Detection and Response (EDR) products and services have become popular. These systems focus on the detection and monitoring of a breach as it occurs and after it occurs and helps to determine how best to respond. The growth of MDR/EDR has been made possible in part by the emergence of machine learning, big data and cloud computing.

[0003] EDR or other corresponding systems deploy data collectors on selected network endpoints (which can be any element of IT infrastructure). The data collectors observe activities happening at the endpoint and then send the collected data to a central, backend system ("EDR backend"), often located in the cloud. When the EDR backend receives the data, the data is processed (e.g. aggregated and enriched) before being analysed and scanned by the EDR provider for signs of security breaches and anomalies. US2019050561 discloses a prior art method to detect and defend against sophisticated system level security threats that involve multiple processes or applications (e.g., APT attacks) by monitoring and tracking system events, a system event including four attributes: (1) the subject (e.g., the process instance that initiates the interaction); (2) the system object that the subject interacts with; (3) the direction of the data flow (from the subject to the system object or vice versa); and (4) the timestamp of the interaction.

[0004] US2017220797 discloses another prior art malware detection method which comprises running to-be-detected software in a sandbox and comprises adjusting the first delay length parameter of the called interface to a second delay length parameter if the delay duration corresponding to the first delay length parameter is greater than the preset duration. This allows to detect malware that evades detection by delaying malicious operation.

[0005] One problem with these systems is that attackers tend to change their tactics, techniques and procedures constantly and therefore misuse detections lack in efficiency. A known trend of the attacks is to abuse legitimate software applications and the trust in originators thereof.

[0006] Thus there is a need to improve the way in which abnormalities are detected and how complex threats such as hacking and attackers living-off-the-land, exploitation, insider threats and APTs (Advanced Persistent Threats) are controlled. There is also a need to improve detection of sophisticated threats especially in situations where this happens inside a reputable, trustworthy process/executable image.

SUMMARY



[0007] According to a first aspect of the invention there is provided a method of threat detection as specified in claim 1.

[0008] According to a second aspect of the invention, there is provided a computer apparatus as specified in claim 9.

[0009] According to a third aspect of the invention, there is provided a computer program product comprising a computer storage medium having computer code stored thereon, which when executed on a computer system, causes the system to operate as a computer apparatus according to the above second aspect of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS



[0010] 

Figure 1 illustrates schematically a network architecture.

Figure 2 is a flow diagram illustrating a method according to an embodiment.


DETAILED DESCRIPTION



[0011] Figure 1 illustrates schematically a part of a first computer network 1 into which a computer system, for example an EDR system, has been installed. Also any other computer system that is able to implement the embodiments of the invention can be used instead or in addition to the EDR system used in this example. The first computer network is connected to an EDR backend 2 through the cloud 3. The EDR backend 2 forms a node on a second computer network relative to the first computer network. The second computer network is managed by an EDR system provider and may be separated from the cloud 3 by a gateway or other interface (not shown) or other network elements appropriate for an EDR backend 2. The first computer network 1 may also be separated from the cloud 3 by a gateway 4 or other interface. Other network structures are also envisaged. Although in the example of Figure 1, the elements are illustrated as separate or combined entities, it is possible to implement each element in any other combinations whether separate and/or combined.

[0012] The first computer network 1 is formed of a plurality of interconnected network nodes 5a-5h, each representing an element in the computer network 1 such as a computer, smartphone, tablet, laptop, or other piece of network enabled hardware. Each network node 5a-5h shown in the computer network also represents an EDR endpoint onto which a data collector (or "sensor") 6a-6h has been installed. Data collectors may also be installed on any other element of the computer network, such as on the gateway or other interface. A data collector 4a has been installed on the gateway 4 in Figure 1. The data collectors, 6a-6h, 4a collect various types of data at the network nodes 5a-5h or gateway 4 including, for example, program or file hashes, files stored at the nodes 5a-5h, logs of network traffic, process logs, binaries or files carved from memory (e.g. DLL, EXE, or memory forensics artefacts), and/or logs from monitoring actions executed by programs or scripts running on the nodes 5a-5h or gateway 4 (e.g. tcp dumps).

[0013] It is envisaged that any type of data which can assist in detecting and monitoring a security breach may be collected by the data collectors 6a-6h, 4a during their lifecycle and that the types of data which are observed and collected may be set according to rules defined by the EDR system provider upon installation of the EDR system or in response to instructions from the EDR backend 2. For example, the data collectors 6a-6h, 4a may collect data about the behaviour of programs running on an EDR endpoint and can observe when new programs are started. Where suitable resources are available, the collected data may be stored permanently or temporarily by the data collectors 6a-6h, 4a at their respective nodes or at a suitable storage location on the first computer network 1 (not shown).

[0014] The data collectors 6a-6h, 4a may also perform some simple, preliminary processing steps on the collected data but this is limited by the computing and network resources available at each network node 5a-5h or gateway 4.

[0015] The data collectors 6a-6h, 4a are set up such that they may send information such as the data they have collected or send and receive instructions to/from the EDR backend 2 through the cloud 3. This allows the EDR system provider to remotely manage the EDR system without having to maintain a constant human presence at the organisation which administers the first computer network 1.

[0016] The modules 6a-6h, 4a may be further configured to use the collected data and information received from the network for generating and adapting models related to the respective network nodes 5a-5h. For example, in case a known security threat is detected, the modules 6a-6h, 4a may be configured to generate and send a security alert to the network nodes in the local computer network and to activate security measures for responding to the detected security threat. Further, in case an anomaly that is estimated very likely to be a new threat is identified, the module 6a-6h, 4a may be configured to verify and contain the threat, generate a new threat model on the basis of the collected data and received information and share the generated new threat model in the computer network.

[0017] Figure 2 is a flow diagram illustrating a method according to an embodiment. The method steps described in this example can be processed by a security server backend, by one or more network nodes (endpoints) of a computer network or by the combination thereof.

[0018] The method starts in S201 where computer processes of a network node, such as an endpoint node of a computer network, are being monitored.

[0019] In S202, if a new process start is detected at the network node, then S203 is entered. Otherwise, S201 is remained and monitoring of the computer processes is continued.

[0020] In S203, it is determined whether the detected new process requires external code modules. In an embodiment, usage of the external code modules can be determined by using differential analysis. For example, by processing the file contents of the executable image associated with the process, a list of external code modules that could be used by this process can be retrieved. This may mean, but is not limited to, processing import tables (Import Table, Delayed Import Table, .dynsym/.dynstr sections, etc.), processing the code and extracting various artefacts (e.g. strings, resource tables, etc.).

[0021] In an embodiment, information about the new code modules being loaded and unloaded may be collected through dynamic analysis methods such as F-Secure's xDR sensor, Sandviper, debuggers, emulators or dynamic instrumentation.

[0022] In an embodiment, on every new code module load or unload the following may take place: if the code module is not in the list of expected code module load list, it is marked as a delayed (implicit) load event and the suspiciousness level of the original event is increased; if the loaded module is knowingly clean and prevalent and it is used for a specific, not mainstream purpose, the level of suspiciousness of the original event is increased again; the event is marked for further investigation.

[0023] In case in S203 it is determined that the new process requires external code modules, then S204 is entered, where the times at which one or more of the external code modules required by the new process are loaded relative to the start time of the new process are observed.

[0024] In S205, in case the time elapsed between the start of the new process and loading of the external code module lies outside predetermined expected boundaries, then S206 is entered where it is determined that the usage of the external code module required by the new process is anomalous. If the time elapsed between the start of the new process and loading of the external code module does not exceed predetermined expected boundaries, then S208 is entered where it is determined that the usage of the external code module required by the new process is not anomalous.

[0025] In S207, further action is taken to protect the network node and/or the computer network based on determining that the usage of an external code module required by the detected new process is anomalous.

[0026] In an embodiment, the detection of anomalous external module load is thus based on the process's timeline analysis. Based on detecting that the time difference between the observed times (start time of new process vs. external code module load time) exceeds a predetermined limit, a threat can be identified. Delayed external code module loads may also be detected without prior knowledge of the external code modules required by the process. For this purpose, relevant information related to past observations can be used. The realization that a similar code module is used by a similar process can be used in the determination. The similarity between processes may be defined by looking at a variety of attributes. For this purpose, it may be defined whether the file names of the executable images for these processes are sufficiently similar or if the portions of the content of the executable images are strong enough match (e.g. using SSDEEP, IMPHASH, SHA256 and similar). The similarity between code modules may also be defined by any criteria valid for executables of the process. Further, the times at which additional code modules were loaded relative to the beginning of the process execution are determined. This data can be retrieved using a dynamic analysis method, for example.

[0027] In an embodiment, the detection of delayed external code modules may be arranged by applying various machine learning anomaly detection approaches where the model may represent: time delay distributions for the process and module or similar processes and modules (time scales are to be normalized in case different dynamic frameworks/data collection approaches are applied), module usage distributions for the process or similar processes and/or process use distributions for the module or similar modules.

[0028] In an embodiment, the new process comprises the execution of one or more of: a code module, a dynamic load library, a shared object.

[0029] In an embodiment, the method further comprises determining whether the related executable image for the new process is known clean by determining whether the executable image satisfies one or more predetermined whitelisting criteria. In an embodiment, for those processes whose associated executable image is known clean, i.e. the executable image satisfies one or more explicit whitelisting criteria (e.g. a file bearing a valid Authenticode signature from a vetted, trustworthy manufacturer or a file being a part of a major operating system), it is determined whether the usage of external code modules for this process is anomalous or not. This determination may be implemented in a variety of different ways as described above.

[0030] In an embodiment, the method further comprises processing the file contents of the related executable image for retrieving a list of expected external code modules that could be used by the new process. Processing the file contents may comprise one or more of: processing the import tables, processing code, extracting various artefacts.

[0031] In an embodiment, the method further comprises collecting information about new code modules being loaded or unloaded and in relation to every new code module load or unload the method further comprises increasing the level of suspiciousness of the new process if the new code module load/unload is not in the list of expected external code modules.

[0032] In an embodiment, the step of determining whether the usage of an external code module required by the new process is anomalous is further based on determining that the external code module required by the new process belongs to a group of known processes having sufficiently similar properties on the basis of comparing file names of the executable images for the processes and/or comparing portions of the content of the executable images for the processes.

[0033] In an embodiment, the step of taking further action to secure the computer network and/or any related network node comprises one or more of the list of: preventing one or more of the network nodes from being switched off, switching on a firewall at one or more of the network nodes, warning a user of one or more of the network nodes that signs of a security breach have been detected, and/or sending a software update to one or more of the network nodes.

[0034] In an embodiment, the further actions taken based on determining that the usage of an external code module required by the new process is anomalous, may include taking immediate action by changing the settings of the network node(s) in order to ensure an attacker is stopped and any traces of their activity is not destroyed. Changing the settings may include, for example, one or more nodes (which may be computers or other devices) being prevented from being switched off in order to preserve information in RAM, a firewall may be switched on at one or more nodes to cut off the attacker immediately, users of the one or more nodes may be warned that a breach has been detected and that their workstation is under investigation, and/or a system update or software patch may be sent from the EDR backend 2 to the nodes in response to detecting a sign of a breach. It is envisaged that one or more of these actions may be initiated automatically by the above-described algorithms. For example, using the above described methods, data may be collected and sent from the nodes in the computer network 1 to the EDR backend 2. The analysis algorithm has determined that a threat was detected. As soon as the algorithm makes the determination that a sign of a threat was detected, it may generate and issue a command to the related network nodes without human intervention to automatically initiate one or more of the above-described actions at the nodes. By doing this, a possible breach can be stopped and/or the damage minimised automatically at very high speeds and without human intervention.

[0035] Generally, the proposed approach introduces a number of improvements to conventional threat detection schemes. Such improvements comprise, for example, being able to detect sophisticated threats that load code dynamically at a later stage of execution and especially in situations where this happens inside a reputable, trustworthy process or executable image.

[0036] Another improvement according to an embodiment is that anomalous and potentially malicious activity can be detected based on the timing of dynamic code loads. This is beneficial especially in situations where the entities under monitoring are trusted and other data is lacking or too expensive to compute. Thus, the invention provides a highly effective threat detection scheme while at the same time enabling reducing the amount of data required in threat detection and consequently saving resources of the computer system and saving costs.

[0037] Further, since the proposed threat detection scheme is able to detect anomalies in how external modules are being used, it is extremely helpful for example in cases such as recently seen supply chain attacks and in cases where shellcode or external payloads are used by the attackers.

[0038] Any suitable computer network system, servers, endpoint nodes/devices and computer apparatus, as described herein each may perform or contribute to the threat detection method according to the embodiments of the invention. The processors of such systems are configured to execute computer program instructions based on the methods and processes described herein, such instructions being contained in a non-transitory computer-readable medium, such as memory. The computer program instructions may be read into memory from another computer-readable medium or from another device via a communication interface. The instructions contained in memory cause the processor of a computer apparatus to perform processes or methods as described herein. Alternatively, or in addition to, hardwired circuitry may be used in place of or in combination with the computer program instructions to implement processes and methods consistent with the present invention. Examples of hardware circuitry may include, but are not limited to, semiconductor chips, integrated circuits, field programmable gate arrays, application-specific integrated circuits, electronically programmable integrated circuits and the like. Thus, the present invention is not limited to any specific combination of hardware circuitry and/or software.

[0039] The non-transitory computer readable medium may include computer program instructions stored thereon, which when executed on one or more processors of a server, server system, or other computing system, performs the processes or method steps of threat detection and taking further action to protect the network node and/or the computer network based on determining that the usage of the external code module required by the new process is anomalous as described herein with reference to figures 1-2.

[0040] Although the invention has been described in terms of preferred embodiments as set forth above, it should be understood that these embodiments are illustrative only and that the claims are not limited to those embodiments. Those skilled in the art will be able to make modifications and alternatives in view of the disclosure which are contemplated as falling within the scope of the appended claims. Each feature disclosed or illustrated in the present specification may be incorporated in the invention, whether alone or in any appropriate combination, with any other feature disclosed or illustrated herein.


Claims

1. A method of threat detection, the method comprising:

detecting a new process start at a network node of a computer network;

determining that said process requires external code modules;

observing the times at which one or more external code modules required by the new process are loaded relative to the process starting time, the method being characterised in that it further comprises

determining that the usage of an external code module required by the new process is anomalous when the time elapsed between the start of the process and loading of said external code module lies outside predetermined expected boundaries; and

taking further action to protect the network node and/or the computer network based on determining that the usage of the external code module required by the detected new process is anomalous.


 
2. The method according to claim 1, wherein the new process comprises the execution of one or more of: a code module, a dynamic load library, a shared object.
 
3. The method according to claim 1, further comprising determining whether the related executable image for the new process is known clean, wherein the step of determining whether the related executable image for the new process is known clean comprises determining whether the executable image satisfies one or more predetermined whitelisting criteria.
 
4. The method according to claim 1, the method further comprising: processing the file contents of the related executable image for retrieving a list of expected external code modules that could be used by the new process.
 
5. The method according to claim 4, wherein the step of processing the file contents comprises one or more of: processing the import tables, processing code, extracting various artefacts.
 
6. The method according to claim 4, the method further comprising collecting information about new code modules being loaded or unloaded and in relation to every new code module load or unload the method further comprises increasing the level of suspiciousness of the new process if the new code module load/unload is not in the list of expected external code modules.
 
7. The method according to claim 1, wherein the step of determining whether the usage of an external code module required by the new process is anomalous is further based on determining that the external code module required by the new process belongs to a group of known processes having sufficiently similar properties on the basis of comparing file names of the executable images for the processes and/or comparing portions of the content of the executable images for the processes.
 
8. The method according to claim 1, wherein the step of taking further action to secure the computer network and/or any related network node comprises one or more of the list of:

preventing one or more of the network nodes from being switched off;

switching on a firewall at one or more of the network nodes;

warning a user of one or more of the network nodes that signs of a security breach have been detected; and/or

sending a software update to one or more of the network nodes.


 
9. A computer apparatus comprising:
one or more processors configured to:

detect a new process start at a network node of a computer network;

determine that said process requires external code modules;

observe the times at which one or more external code modules required by the new process are loaded relative to the process starting time, the apparatus being characterised in that the one or more processors are further configured to :

determine that the usage of an external code module required by the new process is anomalous when the time elapsed between the start of the process and loading of said external code module lies outside predetermined expected boundaries; and

take further action to protect the network node and/or the computer network based on determining that the usage of the external code module required by the detected new process is anomalous.


 
10. The computer apparatus according to claim 9, wherein the new process comprises the execution of one or more of: a code module, a dynamic load library, a shared object.
 
11. The computer apparatus according to claim 9, the processor being further configured to determine whether the related executable image for the new process is known clean, wherein the step of determining whether the related executable image for the new process is known clean comprises determining whether the executable image satisfies one or more predetermined whitelisting criteria.
 
12. The computer apparatus according to claim 9, the processor being further configured to process the file contents of the related executable image for retrieving a list of expected external code modules that could be used by the new process.
 
13. The computer apparatus according to claim 12, wherein the processing of the file contents comprises one or more of: processing the import tables, processing code, extracting various artefacts.
 
14. The computer apparatus according to claim 12, the processor being further configured to collect information about new code modules being loaded or unloaded and in relation to every new code module load or unload increase the level of suspiciousness of the detected new process if the new code module load/unload is not in the list of expected external code modules.
 
15. The computer apparatus according to claim 9, the processor being further configured to determine whether the usage of an external code module required by the new process is anomalous based on determining that the external code module required by the new process belongs to a group of known processes having sufficiently similar properties on the basis of comparing file names of the executable images for the processes and/or comparing portions of the content of the executable images for the processes.
 
16. The computer apparatus according to claim 9, wherein the step of taking further action to secure the computer network and/or any related network node comprises one or more of the list of:

preventing one or more of the network nodes from being switched off;

switching on a firewall at one or more of the network nodes;

warning a user of one or more of the network nodes that signs of a security breach have been detected; and/or

sending a software update to one or more of the network nodes.


 
17. A computer program comprising computer readable code which, when run on a computer apparatus or server, causes the computer apparatus or server to act as a computer apparatus or server according to claim 9.
 
18. A computer program product comprising a non-transitory computer readable medium and a computer program according to claim 17, wherein the computer program is stored on the computer readable medium.
 


Ansprüche

1. Verfahren zur Gefährdungsdetektion, wobei das Verfahren Folgendes umfasst:

Detektieren eines Starts eines neuen Prozesses bei einem Netzknoten eines Computernetzes;

Bestimmen, dass der Prozess externe Codemodule anfordert;

Beobachten der Anzahl, in der ein oder mehrere externe Codemodule, die durch den neuen Prozess angefordert werden, geladen werden, mit Bezug auf die Prozessstartzeit, wobei das Verfahren dadurch gekennzeichnet ist, dass es ferner Folgendes umfasst:

Bestimmen, dass die Nutzung eines externen Codemoduls, das durch den neuen Prozess angefordert wird, anomal ist, wenn die Zeit, die zwischen dem Start des Prozesses und dem Laden des externen Codemoduls verstrichen ist, außerhalb vorgegebener erwarteter Grenzen liegt; und

Ausführen einer weiteren Aktion, um den Netzknoten und/oder das Computernetz zu schützen, auf der Grundlage des Bestimmens, dass die Nutzung des externen Codemoduls, das durch den detektierten neuen Prozess angefordert wird, anomal ist.


 
2. Verfahren nach Anspruch 1, wobei der neue Prozess die Ausführung eines oder mehrere des Folgenden umfasst: ein Codemodul, eine dynamische Ladebibliothek, ein gemeinsam genutztes Objekt.
 
3. Verfahren nach Anspruch 1, das ferner das Bestimmen, ob das verwandte ausführbare Bild für den neuen Prozess als sauber bekannt ist, umfasst, wobei der Schritt des Bestimmens, ob das verwandte ausführbare Bild für den neuen Prozess als sauber bekannt ist, das Bestimmen, ob das ausführbare Bild ein oder mehrere vorgegebene Whitelist-Kriterien erfüllt, umfasst.
 
4. Verfahren nach Anspruch 1, wobei das Verfahren ferner Folgendes umfasst: Verarbeiten der Dateiinhalte des verwandten ausführbaren Bildes, um eine Liste erwarteter externer Codemodule, die durch den neuen Prozess verwendet werden könnten, wiederzugewinnen.
 
5. Verfahren nach Anspruch 4, wobei der Schritt des Verarbeitens der Dateiinhalte eines oder mehrere des Folgenden umfasst: Verarbeiten der Importtabellen, Verarbeiten von Code, Extrahieren verschiedene Artefakte.
 
6. Verfahren nach Anspruch 4, wobei das Verfahren ferner das Sammeln von Informationen über neue Codemodule, die geladen oder entladen werden, umfasst, wobei das Verfahren in Bezug auf jedes geladene oder entladene neue Codemodul ferner das Erhöhen des Misstrauensgrades des neuen Prozesses umfasst, falls das geladene oder entladene neue Codemodule nicht in der Liste erwarteter externer Codemodule ist.
 
7. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens, ob die Nutzung eines externen Codemoduls, das durch den neuen Prozess angefordert wird, anomal ist, ferner auf dem Bestimmen anhand des Vergleichens von Dateinamen der ausführbaren Bilder für die Prozesse und/oder des Vergleichens von Abschnitten des Inhalts der ausführbaren Bilder für die Prozesse, dass das externe Codemodul, das durch den neuen Prozess angefordert wird, zu einer Gruppe bekannter Prozesse gehört, die ausreichend ähnliche Eigenschaften haben, beruht.
 
8. Verfahren nach Anspruch 1, wobei der Schritt des Ausführens einer weiteren Aktion, um das Computernetz und/oder irgendeinen verwandten Netzknoten zu sichern, einen oder mehrere Schritte aus der folgenden Liste umfasst:

Verhindern, dass einer oder mehrere der Netzknoten ausgeschaltet werden;

Einschalten einer Firewall bei einem oder mehreren der Netzknoten;

Warnen eines Anwenders eines oder mehrerer der Netzknoten, dass Anzeichen für eine Sicherheitslücke detektiert worden sind; und/oder

Senden eines Software-Updates zu einem oder mehreren der Netzknoten.


 
9. Computervorrichtung, die Folgendes umfasst:
einen oder mehrere Prozessoren, die konfiguriert sind zum:

Detektieren eines Starts eines neuen Prozesses bei einem Netzknoten eines Computernetzes;

Bestimmen, dass der Prozess externe Codemodule anfordert;

Beobachten der Anzahl, in der ein oder mehrere Codemodule, die durch den neuen Prozess angefordert werden, geladen werden, in Bezug auf die Prozessstartzeit, wobei die Vorrichtung dadurch gekennzeichnet ist, dass der eine oder die mehreren Prozessoren ferner konfiguriert sind zum:

Bestimmen, dass die Nutzung eines externen Codemoduls, das durch den neuen Prozess angefordert wird, anomal ist, wenn die Zeit, die zwischen dem Start des Prozesses und dem Laden des externen Codemoduls verstreicht, außerhalb vorgegebener erwarteter Grenzen liegt; und

Ausführen einer weiteren Aktion, um den Netzknoten und/oder das Computernetz zu schützen, auf der Grundlage des Bestimmens, dass die Nutzung des externen Codemoduls, das durch den detektierten neuen Prozess angefordert wird, anomal ist.


 
10. Computervorrichtung nach Anspruch 9, wobei der neue Prozess das Ausführen eines oder mehrere des Folgenden umfasst: ein Codemodul, eine dynamische Ladebibliothek, ein gemeinsam genutztes Objekt.
 
11. Computervorrichtung nach Anspruch 9, wobei der Prozessor ferner konfiguriert ist zum Bestimmen, ob das verwandte ausführbare Bild für den neuen Prozess als sauber bekannt ist, wobei der Schritt des Bestimmens, ob das verwandte ausführbare Bild für den neuen Prozess als sauber bekannt ist, das Bestimmen, ob das ausführbare Bild ein oder mehrere vorgegebene Whitelist-Kriterien erfüllt, umfasst.
 
12. Computervorrichtung nach Anspruch 9, wobei der Prozessor ferner konfiguriert ist zum Verarbeiten der Dateiinhalte des verwandten ausführbaren Bildes, um eine Liste erwarteter externer Codemodule, die durch den neuen Prozess verwendet werden könnten, wiederzugewinnen.
 
13. Computervorrichtung nach Anspruch 12, wobei das Verarbeiten der Dateiinhalte eines oder mehrere des Folgenden umfasst: Verarbeiten der Importtabellen, Verarbeiten von Code, Extrahieren verschiedene Artefakte.
 
14. Computervorrichtung nach Anspruch 12, wobei der Prozessor ferner konfiguriert ist zum Sammeln von Informationen über neue Codemodule, die geladen oder entladen werden, und in Bezug auf jedes geladene oder entladene neue Codemodul Erhöhen des Misstrauensgrades des detektierten neuen Prozesses, falls das geladene/entladene Codemodul nicht in der Liste erwarteter externer Codemodule ist.
 
15. Computervorrichtung nach Anspruch 9, wobei der Prozessor ferner konfiguriert ist zum Bestimmen, ob die Nutzung eines externen Codemoduls, das durch den neuen Prozess angefordert wird, anomal ist, anhand des Bestimmens auf der Grundlage des Vergleichens von Dateinamen der ausführbaren Bilder für die Prozesse und/oder des Vergleichens von Abschnitten des Inhalts der ausführbaren Bilder für die Prozesse, dass das externe Codemodul, das durch den neuen Prozess angefordert wird, zu einer Gruppe bekannter Prozesse gehört, die ausreichend ähnliche Eigenschaften haben.
 
16. Computervorrichtung nach Anspruch 9, wobei der Schritt des Ausführens einer weiteren Aktion, um das Computernetz und/oder irgendeinen verwandten Netzknoten zu sichern, einen oder mehrere Schritte aus der folgenden Liste umfasst:

Verhindern, dass einer oder mehrere der Netzknoten ausgeschaltet werden;

Einschalten einer Firewall bei einem oder mehreren der Netzknoten;

Warnen eines Anwenders eines oder mehrerer der Netzknoten, dass Anzeichen für eine Sicherheitslücke detektiert worden sind; und/oder

Senden eines Software-Updates zu einem oder mehreren der Netzknoten.


 
17. Computerprogramm, das computerlesbaren Code enthält, der dann, wenn er auf einer Computervorrichtung oder auf einem Server läuft, die Computervorrichtung oder den Server dazu veranlasst, als eine Computervorrichtung oder als ein Server nach Anspruch 9 zu arbeiten.
 
18. Computerprogrammprodukt, das ein nicht transitorisches computerlesbares Medium und ein Computerprogramm nach Anspruch 17 umfasst, wobei das Computerprogramm in dem computerlesbaren Medium gespeichert ist.
 


Revendications

1. Procédé de détection de menaces, le procédé comprenant :

la détection du lancement d'un nouveau processus sur un nœud de réseau d'un réseau d'ordinateurs ;

la détermination du fait que ledit processus requiert des modules de code externes ;

l'observation des instants où un ou plusieurs modules de code externes requis par le nouveau processus sont chargés par rapport à l'instant de lancement du processus,

le procédé étant caractérisé en ce qu'il comprend en outre

la détermination du fait que l'utilisation d'un module de code externe requis par le nouveau processus est anormale lorsque le temps écoulé entre le début du processus et le chargement dudit module de code externe se situe en dehors de limites attendues prédéterminées ; et

la prise de mesures supplémentaires pour protéger le nœud de réseau et/ou le réseau d'ordinateurs sur la base de la détermination du fait que l'utilisation du module de code externe requis par le nouveau processus détecté est anormale.


 
2. Procédé selon la revendication 1, dans lequel le nouveau processus comprend l'exécution d'un ou plusieurs : d'un module de code, d'une bibliothèque à chargement dynamique, d'un objet partagé.
 
3. Procédé selon la revendication 1, comprenant en outre la détermination du fait que l'image exécutable associée au nouveau processus est connue comme étant propre, dans lequel l'étape de détermination du fait que l'image exécutable associée au nouveau processus est connue comme étant propre comprend la détermination du fait que l'image exécutable satisfait à un ou plusieurs critères prédéterminés de mise en liste blanche.
 
4. Procédé selon la revendication 1, le procédé comprenant en outre : le traitement du contenu du fichier de l'image exécutable associée pour récupérer une liste de modules de code externes attendus qui pourraient être utilisés par le nouveau processus.
 
5. Procédé selon la revendication 4, dans lequel l'étape de traitement du contenu du fichier comprend un ou plusieurs : du traitement des tables d'importation, du traitement du code, de l'extraction de divers artefacts.
 
6. Procédé selon la revendication 4, le procédé comprenant en outre la collecte d'informations concernant de nouveaux modules de code qui sont chargés ou déchargés et, en relation avec chaque chargement ou déchargement d'un nouveau module de code, le procédé comprend en outre l'augmentation du niveau de suspicion du nouveau processus si le chargement/déchargement du nouveau module de code ne figure pas dans la liste de modules de code externes attendus.
 
7. Procédé selon la revendication 1, dans lequel l'étape de détermination du fait que l'utilisation d'un module de code externe requis par le nouveau processus est anormale est en outre basée sur la détermination du fait que le module de code externe requis par le nouveau processus appartient à un groupe de processus connus ayant des propriétés suffisamment semblables sur la base d'une comparaison de noms de fichiers des images exécutables pour les processus et/ou d'une comparaison de parties du contenu des images exécutables pour les processus.
 
8. Procédé selon la revendication 1, dans lequel l'étape de prise de mesures supplémentaires pour sécuriser le réseau d'ordinateurs et/ou un nœud de réseau quelconque associé comprend un ou plusieurs des éléments de la liste suivante :

le fait d'empêcher la mise hors tension d'un ou plusieurs des nœuds du réseau ;

l'activation d'un pare-feu sur un ou plusieurs nœuds du réseau ;

l'avertissement d'un utilisateur d'un ou plusieurs des nœuds du réseau pour indiquer que des signes d'une violation de sécurité ont été détectés ; et/ou l'envoi d'une mise à jour logicielle à un ou plusieurs des nœuds du réseau.


 
9. Appareil informatique comprenant :
un ou plusieurs processeurs configurés pour :

détecter le lancement d'un nouveau processus sur un nœud de réseau d'un réseau d'ordinateurs ;

déterminer que ledit processus requiert des modules de code externes ;

observer les instants où un ou plusieurs modules de code externes requis par le nouveau processus sont chargés par rapport à l'instant de lancement du processus, l'appareil étant caractérisé en ce qu'un ou plusieurs processeurs sont en outre configurés pour :

déterminer que l'utilisation d'un module de code externe requis par le nouveau processus est anormale lorsque le temps écoulé entre le début du processus et le chargement dudit module de code externe se situe en dehors de limites attendues prédéterminées ; et

prendre des mesures supplémentaires pour protéger le nœud de réseau et/ou le réseau d'ordinateurs sur la base de la détermination du fait que l'utilisation du module de code externe requis par le nouveau processus détecté est anormale.


 
10. Appareil informatique selon la revendication 9, dans lequel le nouveau processus comprend l'exécution d'un ou plusieurs: d'un module de code, d'une bibliothèque à chargement dynamique, d'un objet partagé.
 
11. Appareil informatique selon la revendication 9, le processeur étant en outre configuré pour déterminer si l'image exécutable associée au nouveau processus est connue comme étant propre, dans lequel l'étape consistant à déterminer si l'image exécutable associée au nouveau processus est connue comme étant propre comprend la détermination du fait de savoir si l'image exécutable satisfait à un ou plusieurs critères prédéterminés de mise en liste blanche.
 
12. Appareil informatique selon la revendication 9, le processeur étant en outre configuré pour traiter le contenu du fichier de l'image exécutable associée pour récupérer une liste de modules de code externes attendus qui pourraient être utilisés par le nouveau processus.
 
13. Appareil informatique selon la revendication 12, dans lequel le traitement du contenu du fichier comprend un ou plusieurs : du traitement des tables d'importation, du traitement du code, de l'extraction de divers artefacts.
 
14. Appareil informatique selon la revendication 12, le processeur étant en outre configuré pour collecter des informations concernant des nouveaux modules de code qui sont chargés ou déchargés et, en relation avec chaque nouveau chargement ou déchargement d'un module de code, augmenter le niveau de suspicion du nouveau processus détecté si le nouveau chargement/déchargement du module de code ne figure pas dans la liste de modules de code externes attendus.
 
15. Appareil informatique selon la revendication 9, le processeur étant en outre configuré pour déterminer si l'utilisation d'un module de code externe requis par le nouveau processus est anormale sur la base de la détermination du fait que le module de code externe requis par le nouveau processus appartient à un groupe de processus connus ayant des propriétés suffisamment semblables sur la base d'une comparaison de noms de fichiers des images exécutables pour les processus et/ou d'une comparaison de parties du contenu des images exécutables pour les processus.
 
16. Appareil informatique selon la revendication 9, dans lequel l'étape de prise de mesures supplémentaires pour sécuriser le réseau d'ordinateurs et/ou un nœud de réseau quelconque associé comprend un ou plusieurs des éléments de la liste suivantes :

le fait d'empêcher la mise hors tension d'un ou plusieurs des nœuds du réseau ;

l'activation d'un pare-feu sur un ou plusieurs nœuds du réseau ;

l'avertissement d'un utilisateur d'un ou plusieurs des nœuds du réseau pour indiquer que des signes d'une violation de sécurité ont été détectés ; et/ou

l'envoi d'une mise à jour logicielle à un ou plusieurs des nœuds du réseau.


 
17. Programme d'ordinateur comprenant un code lisible par ordinateur qui, lorsqu'il est exécuté sur un appareil informatique ou un serveur, amène l'appareil informatique ou le serveur à faire office d'appareil informatique ou de serveur selon la revendication 9.
 
18. Produit de programme d'ordinateur comprenant un support lisible par ordinateur non transitoire et un programme d'ordinateur selon la revendication 17, dans lequel le programme d'ordinateur est stocké sur le support lisible par ordinateur.
 




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