Method and device for identifying security threats, storage medium, processor and terminal

A method, device, storage medium, processor and terminal are for identifying security threats. In an embodiment, the method includes collecting a plurality of security-related security events, each security event containing a plurality of fields; for a first security event of the plurality of security events, searching one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event, one or more second security events and the first security event forming event graphs; calculating the weights of the event graphs; and sorting the event graphs according to the weights.

PRIORITY STATEMENT

The present application hereby claims priority under 35 U.S.C. § 119 to Chinese patent application number CN 201811061492.X filed Sep. 12, 2018, the entire contents of which are hereby incorporated herein by reference.

FIELD

Embodiments of the invention generally relate to the field of identification of security threats in an operation environment, and in particular relates to a method and device for identifying security threats, a storage medium, a processor and a terminal.

BACKGROUND ART

The operational technology (OT) relates to the hardware and software which detect or cause changes caused by directly monitoring and/or controlling physical equipment, processes and events in an enterprise. The OT uses computers to monitor or change the physical states of systems, especially industrial control systems (ICSs), and these systems are computer-based facilities, systems and equipment and are used to remotely control and/or control key processes and physical functions. The OT has generally revealed the technical and functional differences between the traditional IT system environment and the ICS environment. The OT involves a supervisory control and data acquisition (SCADA) system, a distributed control system (DCS), a computer numeric control (CNC) system comprising computerized processing tools, and scientific equipment (for example, digital oscilloscope).

OT systems are traditionally closed systems designed to realize the production efficiency, operation efficiency and reliability, and security is not concerned. These systems rely on dedicated networks and hardware and have long been considered free from network attacks. With the development of the automatic manufacturing technology and the process control technology, the protection requirements for the computer environment of ICS/OT systems have become more and more important over the past years, however. The wide application of the information technology (IT), the evolution of the IT to an open system, the increase of the number of joint ventures, the increase of joint partners and outsourcing services, the increase of intelligent ICS equipment, the increase of connections with other equipment/software, and the increase of external connections and the rapid increase of network intrusion events will all cause the threats of network attacks to increase.

Currently, various security technologies are available, for example, intrusion detection system (IDS)/intrusion prevention system (IPS) and security information and event management (SIEM) system. As supplements to firewall or antivirus software, these technologies are used to cope with the ever-increasing network security events. However, the IDS/IPS/SIEM system has a high rate of false alarms, that is to say, a legal behavior or mode may be identified as an attack behavior or mode. Since a large number of false reports are generated in a real network environment, security engineers or analysts have to spend a lot of energy and time in verifying the falsely reported information or selectively ignoring excessive false reports, even if some true attack alarms exist in these false reports.

Owing to the scarcity of security professionals who can identify true attacks or security risks from false alarms in an operational environment (for example, ICS), this problem becomes more serious when the IDS/IPS or SIEM is applied to the operational environment.

SUMMARY

Embodiments of the present invention provide a method and device for identifying security threats, a storage medium, a processor and a terminal to at least improve upon or even solve the problem with a high rate of false reports caused when security attacks or illegal behaviors in an operational environment are identified.

According to one aspect of the embodiments of the present application, a method for identifying security threats is provided. The method comprises: collecting a plurality of security-related security events, wherein each security event contains a plurality of fields; for a first security event of the plurality of security events, searching one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event, wherein one or more second security events and the first security event form event graphs; calculating the weights of the event graphs; sorting the event graphs according to the weights.

According to one aspect of the embodiments of the present application, a method for identifying security threats is provided. The method, comprises:collecting a plurality of security-related security events, wherein each security event of the plurality of security-related security events, contains a plurality of fields;searching, for a first security event of the plurality of security-related security events, one or more second security events related to the first security event from the plurality of security-related security events according to one or more fields of the plurality of fields of the first security event, wherein the one or more second security events and the first security event form event graphs;calculating weights of the event graphs; andsorting the event graphs according to the weights calculated.

According to another aspect of the embodiments of the present application, a device for identifying security threats is provided. In an embodiment, the device comprises a collecting unit, used to collect a plurality of security-related security events, wherein each security event contains a plurality of fields; a searching unit, used to search one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event for a first security event of the plurality of security events, wherein one or more second security events and the first security event form event graphs; a calculating unit, used to calculate the weights of the event graphs; a sorting unit, used to sort the event graphs according to the weights.

According to a further aspect of the present application, a storage medium is provided and is characterized in that the storage medium contains a stored program, wherein the program controls the execution of an embodiment of the above-mentioned method by the equipment where the storage medium is located when the program is run.

According to a further aspect of the present application, a non-transitory storage medium is provided, storing a stored program, the program, when run on equipment where the non-transitory storage medium is located including at least one processor, configuring the at least one processor to control execution of a method for identifying a security threat by the equipment where the non-transitory storage medium is located, the method comprising:collecting a plurality of security-related security events, wherein each security event of the plurality of security-related security events, contains a plurality of fields;searching, for a first security event of the plurality of security-related security events, one or more second security events related to the first security event from the plurality of security-related security events according to one or more fields of the plurality of fields of the first security event, wherein the one or more second security events and the first security event form event graphs;calculating weights of the event graphs; andsorting the event graphs according to the weights calculated.

According to a fourth aspect of the present application, a processor is provided and is characterized in that the processor is used to run a program, wherein the program executes an embodiment of the above-mentioned method when the program is run.

According to a fifth aspect of the present application, a terminal is provided and the terminal comprises one or more processors, a storage and one or more programs, wherein one or more programs are stored in the storage and are configured to be executed by one or more processors, and one or more programs execute an embodiment of the above-mentioned method.

According to another aspect of the embodiments of the present application, a terminal for identifying security threats is provided. The terminal comprises:one or more processors;a storage storing one or more programs, wherein the one or more programs are executable by the one or more processors, and once executed, the one or more programs configure the one or more processors to perform at least:collecting a plurality of security-related security events, wherein each security event of the plurality of security-related security events, contains a plurality of fields;searching, for a first security event of the plurality of security-related security events, one or more second security events related to the first security event from the plurality of security-related security events according to one or more fields of the plurality of fields of the first security event, wherein the one or more second security events and the first security event form event graphs;calculating weights of the event graphs; andsorting the event graphs according to the weights calculated.

According to a sixth aspect of the present application, a computer program product is provided, the computer program product is tangibly stored in a computer readable medium and comprises computer executable instructions, and at least one processor executes an embodiment of the above-mentioned method when computer executable instructions are executed.

DETAILED DESCRIPTION OF THE EXAMPLE EMBODIMENTS

Most of the aforementioned components, in particular the identification unit, can be implemented in full or in part in the form of software modules in a processor of a suitable control device or of a processing system. An implementation largely in software has the advantage that even control devices and/or processing systems already in use can be easily upgraded by a software update in order to work in the manner according to at least one embodiment of the invention.

According to one aspect of the embodiments of the present application, a method for identifying security threats is provided. The method comprises: collecting a plurality of security-related security events, wherein each security event contains a plurality of fields; for a first security event of the plurality of security events, searching one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event, wherein one or more second security events and the first security event form event graphs; calculating the weights of the event graphs; sorting the event graphs according to the weights.

At least one embodiment of the present invention provides an association analysis solution which can determine the relationship between linked security events and identify the really related key behaviors to reduce the rate of false reports. The solution can provide a method of effectively monitoring the security in an operational environment to improve the security situation of the operational environment. A highly dynamic IT environment is based on interactions between human beings and therefore is highly unpredictable, while an operational environment is based on interactions between machines and therefore is determinable in essence. In the operational environment, the security alarms which are actually falsely reported are usually isolated random events. Real attacks or illegal behaviors consist of events which are linked to each other. These behaviors trigger security monitoring to generate security alarms or warnings, and meanwhile, these security events are represented by sequences or graphs of correlated security events. In the correlated event graphs, security events caused by threat behaviors consist of linked causalities. For this purpose, the present invention provides a method of associating security events into recurrent causalities of event graphs so as to identify security attacks or illegal behaviors in the operational environment and then to reduce the rate of false reports. The method according to the present invention can directly be integrated into IDS/IPS and SIEM solutions.

The method in the example embodiments of the present application further comprises converting each security event according to conversion rules so as to map a plurality of fields of each security event into one or more feature sets. Through these conversions, the fields of original security events can be processed in turn so as to make preparations for the step of searching associated events.

According to the method in the example embodiments of the present application, one or more feature sets contains context information. The plurality of fields before conversions contain no context information. The one or more feature sets after conversions performed according to conversion rules contain context information, however. The efficiency of searching associated events by use of context information is improved.

According to the method in the example embodiments of the present application, a subject-predicate-object relationship exists between a plurality of feature sets. Therefore, the plurality of feature sets have expected relationships to facilitate the association of causalities of security events in the subsequent step.

According to the method in the example embodiments of the present application, the conversion rules contains at least one of the following: directly using one or more fields as one or more feature sets, explaining one or more fields, and extracting a part of one or more fields as one or more feature sets. The conversion rules are applicable to security events containing fields of different types of information and can successfully convert these fields into a plurality of feature sets having the expected relationship.

According to the method in the example embodiments of the present application, searching one or more second security events related to a first security event from a plurality of security events according to one or more fields of a plurality of fields of the first security event comprises searching one or more second security events related to the first security event by matching one or more features in one or more feature sets of the first security event with one or more features in one or more feature sets of the second security events. Each feature of the security events after the conversion can be used as a basis for searching correlated security events in the database, and these features represent the causalities between correlated security events.

According to the method in the example embodiments of the present application, searching one or more second security events related to the first security event comprises searching one or more cause events triggering the first security event and one or more result events triggered by the first security event. Correlated events having causalities among a plurality of security events are linked together, and the searched cause events and result events and the first security event form a sequence of correlated security events or an event graph.

According to the method in the example embodiments of the present application, features include time information, subject information and object information. Among the previous or later security events, the security events which have causalities can be determined according to the information. For example, among the previous security events, if the subject information of the first security event matches the object information of the second security event, then the second security event may be the cause event causing the first security event; if the object information of the first security event matches the subject information of the second security event, then the second security event may be the result event caused by the first security event.

According to the method in the example embodiments of the present application, calculating the weights of event graphs comprises presetting a plurality of security levels, wherein each security event belongs to a security level of the plurality of security levels and a weight is assigned to each security level in order to calculate the weights of the event graphs according to the weights of the security levels of the plurality of security events. The weight of an event graph depends on the security levels of correlated security events. The larger the weights of the security levels of correlated security events are, the larger the weights of event graphs are.

According to the method in the example embodiments of the present application, calculating the weights of event graphs according to the weights of the security levels of a plurality of security events comprises calculating the weights of event graphs according to the weights of the security levels of one or more second security events. The weight of an event graph depends on the weights of the security levels of the cause event and the result event, that is to say, the larger the weights of the correlated cause event and result event are, the larger the weight of the event graph is. The larger the weight of the event graph is, the higher the probability of a security event being an attack or illegal behavior is. In this case, the security event should be processed first.

According to the method in the example embodiments of the present application, the first security event is a security event belonging to at least a security level of the plurality of security levels. When correlated security events are searched, highly suspected security events of a plurality of security events can be searched to obtain related security events and causalities.

According to the method in the example embodiments of the present application, collecting a plurality of security-related security events comprises collecting a plurality of security logs and aggregating the plurality of collected security logs into a security event. Security logs can come from different hardware or software platforms and a security event is formed by aggregating a plurality of similar or related security logs.

According to another aspect of the embodiments of the present application, a device for identifying security threats is provided. In an embodiment, the device comprises a collecting unit, used to collect a plurality of security-related security events, wherein each security event contains a plurality of fields; a searching unit, used to search one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event for a first security event of the plurality of security events, wherein one or more second security events and the first security event form event graphs; a calculating unit, used to calculate the weights of the event graphs; a sorting unit, used to sort the event graphs according to the weights.

The device according to an embodiment of the present invention can provide a method of effectively monitoring the security in an operational environment to improve the security situation of the operational environment, and can also correlate security events into event graphs so as to identify security attacks or illegal behaviors in the operational environment and then to reduce the rate of false reports.

The device in the example embodiments of the present application further comprises a converting unit, used to convert each security event according to conversion rules so as to map a plurality of fields of each security event into one or more feature sets. Through these conversions, the fields of original security events can be processed in turn so as to make preparations for the step of searching associated events.

According to the device in the example embodiments of the present application, one or more feature sets contains context information. The plurality of fields before conversions contain no context information. The one or more feature sets after conversions performed according to conversion rules contain context information, however. The efficiency of searching associated events by use of context information is improved.

According to the device in the example embodiments of the present application, a subject-predicate-object relationship exists between a plurality of features sets. Therefore, the plurality of feature sets have expected relationships to facilitate the association of causalities of security events in the subsequent step.

According to the device in the example embodiments of the present application, the converting unit is further used to execute at least one of the following: directly using one or more fields as one or more feature sets, explaining one or more fields, and extracting a part of one or more fields as one or more feature sets. The conversion rules are applicable to security events containing fields of different types of information and can successfully convert these fields into a plurality of feature sets having the expected relationship.

According to the device in the example embodiments of the present application, the searching unit is further used to search one or more second security events related to the first security event by matching one or more features in one or more feature sets of the first security event with one or more features in one or more feature sets of the second security events. Each feature of the security events after the conversion can be used as a basis for searching correlated security events in the database, and these features represent the causalities between correlated security events.

According to the device in the example embodiments of the present application, the searching unit is further used to search one or more cause events triggering the first security event and one or more result events triggered by the first security event. Correlated events having causalities among a plurality of security events are linked together, and the searched cause events and result events and the first security event form a sequence of correlated security events or an event graph.

According to the device in the example embodiments of the present application, features include time information, subject information and object information. Among the previous or later security events, the security events which have causalities can be determined according to the information.

According to the device in the example embodiments of the present application, the calculating unit is further used to preset a plurality of security levels, wherein each security event belongs to a security level of the plurality of security levels and a weight is assigned to each security level in order to calculate the weights of the event graphs according to the weights of the security levels of the plurality of security events. The weight of an event graph depends on the security levels of correlated security events. The larger the weights of the security levels of correlated security events are, the larger the weights of event graphs are.

According to the device in the example embodiments of the present application, the calculating unit is further used to calculate the weights of event graphs according to the weights of the security levels of one or more second security events. The weight of an event graph depends on the weights of the security levels of the cause event and the result event, that is to say, the larger the weights of the correlated cause event and result event are, the larger the weight of the event graph is. The larger the weight of the event graph is, the higher the probability of a security event being an attack or illegal behavior is. In this case, the security event should be processed first.

According to the device in the example embodiments of the present application, the first security event is a security event belonging to at least a security level of the plurality of security levels. When correlated security events are searched, highly suspected security events of a plurality of security events can be searched to obtain related security events and causalities.

According to the device in the example embodiments of the present application, the collecting unit is further used to collect a plurality of security logs and aggregating the plurality of collected security logs into a security event. Security logs can come from different hardware or software platforms and then the aggregating unit aggregates a plurality of similar or related security logs into a security event.

According to a further aspect of the present application, a storage medium is provided and is characterized in that the storage medium contains a stored program, wherein the program controls the execution of an embodiment of the above-mentioned method by the equipment where the storage medium is located when the program is run.

According to a fourth aspect of the present application, a processor is provided and is characterized in that the processor is used to run a program, wherein the program executes an embodiment of the above-mentioned method when the program is run.

According to a fifth aspect of the present application, a terminal is provided and the terminal comprises one or more processors, a storage and one or more programs, wherein one or more programs are stored in the storage and are configured to be executed by one or more processors, and one or more programs execute an embodiment of the above-mentioned method.

According to a sixth aspect of the present application, a computer program product is provided, the computer program product is tangibly stored in a computer readable medium and comprises computer executable instructions, and at least one processor executes an embodiment of the above-mentioned method when computer executable instructions are executed.

To let those skilled in the art better understand the technical solutions of the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in combination with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only a part, but not all of the embodiments of the present invention. All other solutions obtained by those skilled in the art on the basis of the embodiments of the present invention without any creative work should fall within the scope of protection of the present invention.

It should be noted that the terms “first” and “second” in the description, claims and the drawings are used to distinguish between similar objects, but not necessarily used to describe a specific order or sequence. It should be understood that the data used in such a way can be interchanged in a proper case so that the described embodiments of the present invention can be implemented in an order other than shown or described here. In addition, the terms “comprise” and “have” and their variants are intended to cover non-exclusive inclusions. For example, the process or method comprising a series of steps, or device, product or equipment comprising a series of units are unnecessarily limited to those clearly listed steps or units, but can comprise other steps or units which are not clearly listed or are intrinsic to the process, method, product or equipment.

FIG. 1shows the flowchart of the method for identifying security threats according to the embodiments of the present invention. The method for identifying security threats according to the embodiments of the present invention comprises:

Step S101: Collect a plurality of security-related security events, wherein each security event contains a plurality of fields. In the embodiments of the present application, security events contain different fields and the fields includes but are not limited to time stamp, host name, IP address, action, state, and file name or process name. Each security event corresponds to an important security activity which has happened. Each security event has a behavior source performing an action on an object or target.

Step S103: For a first security event of the plurality of security events, search one or more second security events related to the first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event, wherein one or more second security events and the first security event form event graphs. Among the collected security events, linked or correlated security events are determined. These security events are not isolated or random events. In addition, the security events which are obtained through searches and are linked to each other constitute a real attack or illegal behavior. The method according to the embodiments of the present application will link the correlated security events to constitute an event chain or behavior chain. The security events obtained through searches will be added to linked security events. The search process is repeated until no new event is correlated into the current event graph.

Step S105: Calculate the weights of event graphs. For example, a preset correlation function is used to calculate the weights of the relationships of potential correlated events so as to obtain the weights of the event graphs formed by associated events and distinguish between a plurality of event graphs in terms of weights. For example, if the number of linked security events is large, and the weights of the relationships between linked security events or event linkages are large, the weights of event graphs may be large, and the probability of these security events being isolated security events or random security events (namely, the rate of false reports) is low.

Step S107: Sort the event graphs according to the weights. Event graphs with different weights will be shown to a professional or security engineer according to different priorities. Therefore, these event graphs will be processed according to the preset priorities. For example, the event graph with the highest priority is first processed. The security engineers and analysts who deal with and monitor security events of operation events can easily decide to process the event graph with a higher weight because the collection of security events in the event graph makes the possibility of false alarms lower.

FIG. 2shows the flowchart of the method for identifying security threats according to an example embodiment of the present invention. As shown inFIG. 2, in step S201, a plurality of security logs are collected and the plurality of collected security logs are aggregated into a security event. For original security logs, for example, Windows event log and syslog of firewalls, network switches, routers or other sources, similar or related security logs are aggregated into a security event in an intuitive manner. For example, a port scanning event can be aggregated from thousands of security logs generated because of the access to different ports of a host. The aggregation rules include but are not limited to different scans, resource enumeration, account violence and denial of service (DoS). In the present embodiment, Windows event logs of workstations (including operator workstations, engineer workstations and other Windows servers) are collected by log collectors, including but not limited to ArcSight SmartConnector, McAfee Receiver, or open-source Logstash. Logs are in the common executable format (CEF). Windows event logs to be processed and associated in the present embodiment include but are not limited to host login, directory service status, host logout, domain login, administrator login, network login, process status, object access status, authentication, service status, login, application status, database, auditing status, user account, security policy status, policy, account change, password change/resetting, account unlocking, system configuration, system status, account deletion/closing, account creation/enabling, priority change, non-administrator, log status, file status, other application events, accounting locking, administrative log, firewall rules/access control list (ACL) and DoS. Therefore, in the present embodiment, the prior method (for example, the method provided by SIEM) can be used to aggregate similar or related Windows security logs into security events. Events include but are not limited to a successive login attempt failure (from the same source to the same target host), a sequential-port connection attempt and a sequential file/directory access.

In step S203, each security event is converted according to conversion rules so that the plurality of fields of each security event is mapped into one or more feature sets. In the present embodiment, the transformation configuration file in the YAML format is adopted to construct a subject-predicate-object relationship. The original fields of a security event are mapped into, for example, a context information containing subject-predicate-object relationship as shown below and the subject-predicate-object relationship is used for causalities: <source, action, target> between security events in subsequent steps, that is to say, each security event has a subject serving as a behavior source performing an action on an object or target. For example, but not limited to this, the source IP address accesses a specific port of another IP address. To convert security events (fields) and construct the context of the subject-predicate-object relationship, the transformation configuration in the mapping rules defined below can be adopted:

Directly map the fields of an event into the features of a source, target or behavior, for example,mapped_field: original_field

Wherein, “original_field” is a field name in an original CEF event log, and “mapped_field” is a new field name after the conversion. If the field name recorded in an original event matches the “original_field” mode during the processing, then the field value is added to the new field name defined by “mapped_field”. In addition, a plurality of original fields are allowed to be mapped into the same mapped field (separated by semicolons).

Inform the conversion function of how to explain the fields of the event, for example, convert the time stamp field from the epoch format to the “year-month-day hour:minute:second” format. The conversion rule not only maps the field name, but also informs how to explain the fields of an event. For example, the mapping rule for time stamp isTime stamp: rt<“EPOCH”>

It means that the original field “rt” is in the epoch format of the Linux system and needs to be converted from the epoch format to the ““year-month-day hour:minute:second”.

Use a regular expression to extract a part of the fields of an original event as features of a source, destination or action. For example, the mapping rule issrc_ip:ORIGINAL_DATA[“{circumflex over ( )}((2[0-4]\d[25[0-5]\[01]?\d\d?)\){3}(2 [0-4]\d\25[0-5]\[01]?\d\d?)”]

It means that a regular expression is used to extract the IP address from ORIGINAL_DATA.

In the configuration, the fields recorded in an original event (log) are converted into a context information containing subject-predicate-object relationship by mapping original fields into fields with a prefix such as src_, act_ and dst_. The fields not defined in the configuration are mapped into “others” default fields. Based on these conversion rules, the fields of the original event can sequentially be processed and converted into new fields containing subject-predicate-object relationship context information and the new fields are used for subsequent recurrent causalities. A plurality of fields can be mapped into “source”, “action” and “destination”, and therefore, “source”, “action” and “destination” respectively contain the corresponding feature sets. After steps S201and S203, all security events will be stored in ElasticSearch in the <field with a prefix src_, field with a prefix act_, field with a prefix dst_, other fields> format and are searched based on different query conditions.

In the embodiments according to the present application, the above-mentioned execution sequence of steps S201and S203can be changed, that is to say, step S203can be executed first, and then step S201can be executed.

In step S205, a plurality of security levels are preset wherein each security event belongs to a security level of the plurality of security levels and a weight is assigned to each security level in order to calculate the weights of the event graphs according to the weights of the security levels of the plurality of security events. The weights of event graphs are calculated according to the weights of the security levels of one or more second security events. The first security event is a security event belonging to at least a security level of the plurality of security levels. In this step, after a security event conversion, the standard mode match and/or event correlation method (which can be configured from the SIEM) can be adopted to determine suspected events, for example,

suspected security event, which can be resulted from a normal operation, illegal behavior or attack and is labeled as alarm. In the present embodiment, alarm events include but are not limited to a successive login failure and adding a new account.

determined attack event, which is triggered by an attack or illegal behavior and is labeled as warning. In the present embodiment, warning events include but are not limited to use of mimikatz, exploitation of loopholes and execution of malicious programs.

security events other than alarm or warning events. These security events are labeled as general events.

In the present embodiment, an initial weight is assigned to the type of each identified event, for example,1 to a general event,2 to an alarm event, and4 to a warning event.

In step S207, one or more second security events related to the first security event are searched by matching one or more features in one or more feature sets of the first security event with one or more features in one or more feature sets of the second security events. One or more cause events triggering the first security event and one or more result events triggered by the first security event are searched. If more than two security events are linked together to form a tree structured event graph, then

one or more features in the destination feature set of one security event are correlated with the features in the source feature set of a plurality of other security events, or

one or more features in the source feature set of one security event are correlated with the features in the destination feature set of a plurality of other security events.

In this step, the linked security events will be correlated into an event graph based on the causal analysis. For example, for each security event whose security level is alarm or warning, the following correlation will be performed so as to identify the correlated event graph:

The security event is put into an event queue and all security events to be processed are stored in the queue.

The first security event is taken out of the queue.

For each source field (source feature) beginning with “src_” of the first security event, a second security event satisfying the following conditions is searched in the ElasticSearch database:

The time stamp of the second security event is earlier than the time stamp of the first security event, that is to say, the second security event happens before the first security event.

The value of the field (“src_”) of the first security event is equal to or is apart of that of the destination field (beginning with “dst_”) of the second security event.

Therefore, the second security event is the cause event triggering the first security event. In addition, a plurality of second security events which are the cause events of the first security event may exist. One pair or more pairs of linked security events are reserved as a part of the event graph and all correlated second security events are added to the event queue.

For each destination field beginning with “dst_” (namely, destination feature) of the first security event, a third security event satisfying the following conditions is searched in the ElasticSearch database:

The time stamp of the third security event is later than the time stamp of the first security event, that is to say, the third security event happens after the first security event.

The value of the field (“dst_”) of the first security event is equal to or is a part of that of the source field (beginning with “src_”) of the third security event.

Therefore, the third security event is the result event triggered by the first security event. In addition, a plurality of third security events which are the result events triggered by the first security event may exist. One pair or more pairs of linked security events are reserved as a part of the event graph and all correlated third security events are added to the event queue.

Steps S203to S207are repeated until the queue of the security events to be processed is empty. Finally, the security events in the event graph will be linked together.

In step S209, the weights of event graphs are calculated. In this step, the weights of correlated events of different event graphs are calculated. In the present embodiment, the following weighting function is adopted:

For each causality pair, v is the weight of a result event and wiis the weight of a cause event. Since a plurality of cause events may exist, the sum is used to calculate the combined weight of the tree structured event graph.

For example, for the event pair of each causality (cause and result), the weight of the event pair can be calculated in the following way:

if the two security events in a candidate security event pair are both warning events, then the weight of the event pair is 4×4=16;

if one is a warning event and the other is an alarm event, the weight of the event pair is 4×2=8;

if one is a warning event and the other is a general event, the weight of the event pair is 4×1=4;

if the two security events are alarm events, the weight of the event pair is 2×2=4;

if one is an alarm event and the other is a general event, the weight of the event pair is 2×1=2;

if the two security events are general events, the weight of the event pair is 1×1=1.

In the embodiments of the present application, event paths or event graphs with a low weight can be removed by presetting a threshold. If the weight obtained from calculations is less than the first threshold, then security events will not be correlated so as to reduce the amount of calculations. For example, if the combined weight is less than the threshold, the sub-graph is skipped, or not correlated. If the threshold is equal to 2, then a sub-graph containing at least an alarm or warning security event is combined into a larger event graph and normal security events are prevented from being linked into a larger event graph so as to avoid false reports.

In step S211, event graphs are sorted according to the weights of the event graphs. In this step, an event graph with a larger weight will be processed first. Therefore, security engineers or security analysts can more easily decide to process the event graph with a high weight because the possibility of the security events in the event graph being reported falsely is much lower.

FIG. 3shows the structure of the device for identifying security threats according to the embodiments of the present invention. As shown inFIG. 3, the device100comprises a collecting unit101, which collects a plurality of security-related security events, wherein each security event contains a plurality of fields, a searching unit103, which searches one or more second security events related to a first security event from the plurality of security events according to one or more fields of the plurality of fields of the first security event for the first security event of the plurality of security events, wherein one or more second security events and the first security event form event graphs, a calculating unit105, which calculates the weights of the event graphs, and a sorting unit107, which sorts the event graphs according to the weights. The device100described inFIG. 3and the units in the device execute the method for identifying security threats inFIG. 1. Here, the execution of the method is not described again.

FIG. 4shows the structure of the device for identifying security threats according to an example embodiment of the present invention. Compared with the device100shown inFIG. 3, the device100inFIG. 4further comprises a converting unit109, which converts each security event according to conversion rules so as to map a plurality of fields of each security event into one or more feature sets. In addition, the converting unit109is further used to execute at least one of the following: directly using one or more fields as one or more feature sets, explaining one or more fields, and extracting a part of one or more fields as one or more feature sets. In the example embodiment shown inFIG. 4, the searching unit103is further used to search one or more cause events triggering the first security event and one or more result events triggered by the first security event. The calculating unit105is further used to preset a plurality of security levels, wherein each security event belongs to a security level of the plurality of security levels and a weight is assigned to each security level in order to calculate the weights of the event graphs according to the weights of the security levels of the plurality of security events. The device100described inFIG. 4and the units in the device execute the method for identifying security threats inFIG. 2. Here, the execution of the method is not described again.

According to another embodiment of the present application, a storage medium is provided and the storage medium contains a stored program, wherein the program controls the execution of the above-mentioned method for identifying security threats by the equipment where the storage medium is located when the program is run.

According to a further embodiment of the present application, a processor is provided and the processor is used to run a program, wherein the program executes the above-mentioned method for identifying security threats when the program is run.

According to a fourth embodiment of the present application, a terminal is provided and the terminal comprises one or more processors, a storage and one or more programs, wherein one or more programs are stored in the storage and are configured to be executed by one or more processors, and one or more programs execute the above-mentioned method for identifying security threats.

According to a fifth embodiment of the present application, a computer program product is provided, the computer program product is tangibly stored in a computer readable medium and comprises computer executable instructions, and at least one processor executes the above-mentioned method for identifying security threats when computer executable instructions are executed.

It should be understood that the technical content disclosed in the embodiments of the present application can be realized in other ways. The above-described embodiments of the device are given only for the example purpose. The division of units or modules is only a logical function division, and other division methods can be used in the actual realization. For example, a plurality of units or modules or components can be combined or integrated into another system, or some features can be ignored or cannot be executed. In addition, the shown or discussed couplings, or direct couplings or communication connections between them can be indirect couplings or communication connections, electrical or otherwise, through some interfaces, modules or units.

The unit or module described as a separate part can be or cannot be physically separated, and the part shown as a unit or module can be or cannot be a physical unit or module, that is to say, it can be located at one place or can be distributed to a plurality of network units or modules. Part or all of the units or modules can be selected to realize the solutions of the embodiments according to the actual requirement.

In addition, the functional units or modules in each embodiment of the present application can be integrated into a processing unit or module, or each unit or module physically exists separately, or two or more units or modules are integrated into a unit or module. The above-mentioned integrated unit or module can be realized in the form of hardware or in the form of a software functional unit or module.

The integrated unit can be stored in a computer-accessible storage medium if it is realized in the form of a software functional unit and is marketed or used as an independent product. Based on such an understanding, the technical solutions of the present application or the part which makes contributions to the prior art, or all or part of the technical solutions can essentially be embodied in the form of a software product, and the computer software product is stored in a storage medium and comprises a plurality of instructions to enable a computer (PC, server or network equipment) to execute all or part of the steps of the method described in the embodiments of the present application. The previously-mentioned storage medium include USB disk, read-only memory (ROM), random access memory (RAM), mobile hard disk, magnetic disk or compact disc and other various media which can store program codes.

Only preferred embodiments of the present application are described above. It should be noted that those skilled in the art can make improvements and modifications without departing from the principle of the present application and these improvements and modifications should also fall within the scope of protection of the present application.