EP4523111A1 - Detection of malicious activity - Google Patents
Detection of malicious activityInfo
- Publication number
- EP4523111A1 EP4523111A1 EP23736585.3A EP23736585A EP4523111A1 EP 4523111 A1 EP4523111 A1 EP 4523111A1 EP 23736585 A EP23736585 A EP 23736585A EP 4523111 A1 EP4523111 A1 EP 4523111A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- masked
- value
- logs
- values
- log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Definitions
- Cloud networks and applications enable private users and/or enterprises to utilize remote computing resources to store large amounts of data or perform demanding computational tasks.
- data and software is stored on a remote server accessed over publicly accessible networks, cloud systems are a common target for malicious activity such as cyber-attacks.
- a method of detecting malicious activity on cloud applications comprises receiving a log of an event comprising a plurality of values, the plurality of values comprising known values corresponding to each of a plurality of attributes of the event and generating a masked log by masking a value in the received log, the masked value corresponding to one of the attributes.
- the method further comprises, based on the masked log and a trained machine learning model, generating a distribution of probabilities for possible values of the masked value, wherein the trained machine learning model is based on a plurality of masked logs of events, and determining that the event is an anomalous event based on a comparison of the known value of the masked value and the distribution of probabilities.
- FIG. 1 is a flow diagram of a method for detecting malicious activity (e g. cyber-attacks) on cloud applications;
- FIG. 2 is a flow diagram of a method for training a machine learning model for use in the detection of malicious activity (e.g. cyber-attacks) on cloud applications;
- malicious activity e.g. cyber-attacks
- FIG. 3 is schematic diagram of a system configured to detect malicious activity (e.g. cyber-attacks) on cloud applications;
- FIG. 4 is a schematic diagram of a first example machine learning model for use in the detection of malicious activity (e.g. cyber- attacks) on cloud applications;
- malicious activity e.g. cyber- attacks
- FIG. 5 is a schematic diagram of a second example machine learning model for use in the detection of malicious activity (e.g. cyber-attacks) on cloud applications;
- malicious activity e.g. cyber-attacks
- FIG. 6 is a flow diagram of another method for detecting malicious activity (e.g. cyber-attacks) on cloud applications which is a variation on that shown in FIG. 1 ;
- FIG. 7 is a flow diagram showing a filtering operation from the method of FIG. 6 in more detail.
- a cyber-attack may, for example, involve any of the following activities: disrupting an enterprise’s network, stealing (or otherwise misusing) private data, destroying data, altering data or implementing ransom software.
- a cyber-attack may originate from within an organization or external to the organization.
- Anomalous activities serve as indicators for potential cyber-attacks that a cyber-attack detection system may use to prevent malicious activity on a cloud application.
- a cyber-attack detection system For a cyber-attack detection system to be successful it is desirable that it can respond to threats rapidly such that any malicious or suspicious activity (e.g. any potential cyber-attack) can be blocked or identified before data breaches or major disruption is caused.
- any malicious or suspicious activity e.g. any potential cyber-attack
- the cyber-attack detection system may have to process in excess of tens of billions of events per day. Therefore, it is a requirement of the system to be able to handle this large amount of data in an, ideally, unsupervised manner.
- event on a cloud application is used herein to refer to an interaction with an application that is running on a remote server or otherwise using remote resources (e.g. remote memory), for example a user interaction or an external program interaction (e.g., an API interaction).
- remote resources e.g. remote memory
- An example of an event on a cloud application is a user accessing a video streaming service using a browser and via a particular internet service provider (ISP) or using a particular browser (user- agent).
- ISP internet service provider
- user- agent user- agent
- the cyber-attack detection system it is also desirable for the cyber-attack detection system to be adaptive such that it can change to changes in user or organization preferences or configurations. For example, the threat detection system would not be effective if it raised alarms following an entire organization switching to a different internet service provider to access cloud applications.
- the method involves inputting a log of an event on a cloud application, with the value of an attribute in the log masked, into a trained machine learning model.
- the log comprises a plurality of values of attributes of the event (e.g. in the form of name-value pairs or a series of values corresponding to different attributes in a predefined sequence or arrangement).
- the attributes included in the log of the event may comprise one or more of: the user’s identity (e.g. their user ID), the ISP, the nature of the activity (e.g. accessing the particular video streaming service), the user agent (e.g.
- the trained machine learning model generates a distribution of probabilities for the candidate (i.e. potential) values of the masked value (which may also be referred to as the ‘masked attribute’ as it is a value that corresponds to an attribute of the event) and then makes a determination as to whether the event is an anomalous event (e.g. whether an anomalous event has occurred) using the known value of the masked value (i.e. the actual value of the attribute before it was masked) and the distribution of probabilities (e g. by extracting, from the distribution of probabilities, the probability of the masked value corresponding to an attribute having the known value of that attribute and comparing the extracted probability to a predefined threshold or otherwise analyzing the extracted probability).
- values identifying each of these 10 different ISPs are the candidate values of the masked value (where the corresponding attribute is the ISP) and the distribution of probabilities comprises a probability for each of the candidate values (i.e. a probability for each of the 10 options for the ISP).
- the probabilities may be provided in any form, such as negative log likelihoods or percentages.
- the trained machine learning model described herein is trained without requiring any human labelling or external labels, but by extracting the labels from the data itself.
- the training process may be referred to as ‘selfsupervised learning’ (as opposed to either supervised or unsupervised learning).
- the trained machine learning model described herein may be a neural network model. As described in more detail below, data comprising a plurality of logs of events is received and the training data is generated by masking a value that corresponds to an attribute in each log (e.g. the same attribute or a selected attribute).
- Each value of an attribute of an event may be expressed as a number, based on a dictionary (e.g. a look-up table) that maps candidate values (which may be in the form of strings) to numbers, such that the log of the event is represented as a vector. It will be appreciated that for different attributes there may be different numbers of candidate values (e.g. there may only be a small number of candidate values for the attribute ‘ISP’ and there may be a large number of candidate values for the attribute ‘user ID’).
- a dictionary e.g. a look-up table
- the candidate values are representations of the possible ISPs with which an activity in an event could have been performed and the distributions of probabilities indicate the probability that each of the possible ISPs was used and hence also indicates which of the ISPs is most likely to be used during the activity. It will be appreciated that there may be a single most likely ISP or there may be more than one ISP that has a high probability of having been used (e.g. where more than one ISP has been used previously for a similar or identical activity in similar or identical circumstances, as captured in one of the logs used for training). Further detail regarding the training of the trained machine learning model is described later in relation to FIG. 2. It will be appreciated that the training of the model may be implemented by a different entity to that which implements FIG. 1, or the same entity may perform the training (as shown in FIG. 2) and the inference (as shown in FIG. 1).
- the comparison may be made using a predefined threshold, whereby if the probability, from the distribution of probabilities, for the known value of the masked value falls above or below the threshold (dependent upon the nature of the probability used), then the event is deemed anomalous. Where the probability is expressed as a percentage, then the comparison may identify an anomalous event if the percentage falls below a threshold and where the probability is expressed as a negative log likelihood, then the comparison may identify an anomalous event if the percentage exceeds a threshold.
- the threshold may be fixed or it may be updated periodically or on an ad hoc basis (e.g. based on an update trigger event, such as a high rate of false positives).
- the threshold may be updated periodically based on a number of detected anomalous events in a preceding time period (e.g. the number of detected anomalous events in the previous day or the previous 24 hour period).
- an adaptive threshold re. a threshold that is not fixed but is updated based on data generated by the method of FIG. 1
- the method of FIG. 1 is more flexible and can adapt to changes in circumstances (e.g. to reduce a number of false positives).
- Blocks 110 and 112 are displayed as optional operations and neither, one or both may be performed.
- an alert is generated in response to determining that the event is an anomalous event.
- the alert may be used to bring an anomalous event to the attention of the owner of the data concerned or an administrator for the cloud application, or otherwise to log the detection of an anomalous event.
- a remedial action is automatically performed in response to determining an anomalous event.
- An example of a remedial action is to block the access to the cloud application for the user responsible for the event or to block access to the particular cloud application for a period of time (e.g. while other investigation is performed).
- Another example of a remedial action is to surface the data to allow the owner of the data or the administrator for the cloud application to investigate the anomalous event.
- FIG. 2 is a flow diagram describing the training of the machine learning model utilized in FIG. 1.
- a plurality of masked logs of events are generated from a plurality of logs of events (in block 202, with the plurality of logs of events received at block 201).
- the plurality of masked logs are generated by masking a value in each of the logs of events in the plurality of logs of events.
- the value corresponding to the same attribute may be masked in all the logs (i.e. the same attribute that corresponds to the value that is masked at the inference stage using the method of FIG. 1) or the value that is masked (or the corresponding attribute) may be selected systematically or randomly (e.g. such that in at least some of the training data, the value corresponding to the same attribute is masked as at the inference stage using the method of FIG. 1) .
- training data in which values corresponding to different attributes are masked in some of the logs, values of any of these different attributes may be masked at the inference stage when using the method of FIG. 1.
- values corresponding to a first attribute are masked when generating some of the plurality of masked logs of events and values corresponding to a second attribute are masked when generating others of the plurality of masked logs of events
- either the value corresponding to the first attribute or the value corresponding to the second attribute may be masked at the inference stage when using the trained machine learning model in the method of FIG 1.
- the plurality of logs of events may be collected from past (e.g. historical) events associated with the cloud application.
- the plurality of logs of events may comprise all events over a preceding time period, such as a week.
- the plurality of logs of events that are received (in block 201) and used to generated masked logs for training (in block 202) may be limited in some way, for example such that they correspond to activities performed by a particular tenant (e.g., an individual user or an individual organization) and as a result, the trained machine learning model generated using the method of FIG. 2 is tailored for that particular tenant.
- the detection of anomalous events will likely be more accurate for that particular tenant, rather than other tenants, unless the general behavior of both tenants is similar.
- separate machine learning models may be trained for different tenants (using the method of FIG. 2) and used by those different tenants to detect cyber-attacks (using the method of FIG. 1).
- the log of events that is received (in block 201) and used to generate masked logs for training (in block 202) are associated with activities performed by a plurality of tenants (e.g. two or more tenants).
- a distribution of probabilities for possible (i.e. candidate) values of the masked value are generated by inputting the plurality of masked logs of events into a machine learning model (block 204).
- the probabilities represent the likelihood of the different possible values of an attribute based on the values of the values of the other attributes in the event.
- the distribution of probabilities may define the probability of each of the possible values for the ISP occurring in the log (i.e., the likelihood each ISP was used in the particular event to which the log relates) based on the values for the user ID, the organization ID and activity type (where ISP, user ID, organization ID and activity type are attributes).
- the machine learning model is updated based on the distribution of probabilities generated (in block 206) from a masked log and a corresponding known value of the masked value from the original, unmasked log (as received in block 201) from which the masked log was generated (in block 202).
- This operation may involve back propagation of the training results and the probability, from the distribution of probabilities, corresponding to the known value of the masked value may be used as a cross-entropy loss.
- One or more of the other probabilities, from the distribution of probabilities may also be used in the back propagation.
- the comparison of the probabilities for each candidate value of a masked value and the known value of the masked attribute provides a way of assessing the accuracy of the generated predictions (i.e. the accuracy of the generated distribution of probabilities).
- accuracy of the generated predictions i.e. the accuracy of the generated distribution of probabilities.
- it may be that there is more than one candidate value of a masked value that has a high probability of occurring e.g. where a user regularly uses one of two different browsers to access a particular streaming service there may be high probabilities of values corresponding to both of these browsers).
- Repeating this process for each of the plurality of logs of events (as received in block 201) incrementally improves the machine learning model’s ability to accurately predict the value of the masked value, based on the values of the other attributes in an event.
- the method of FIG. 2 is used to initially train a machine learning model for use in the method of FIG. 1 and that model may remain unchanged.
- the method of FIG. 2 may be used to periodically refine the trained machine learning model, as indicated by the dotted arrow between blocks 206 and 201.
- a new plurality of logs are received (in block 201) and used to generate a new plurality of masked logs of events (in block 202) which are input into the machine learning model (in block 204) to enable the updating of the machine learning model (in block 206).
- the new plurality of logs that are received (in block 201) and used (in block 202) may comprise a log of events that have occurred in a previous time period (e.g. the previous day or 24 hour period) or that have occurred since the previous training I re-training of the model (in a previous iteration of the method of FIG. 2).
- the methods illustrated in FIG. 1 and FIG. 2 provide a plurality of desirable characteristics for detecting malicious activity on cloud applications.
- the method in FIG. 1 enables large numbers of events to be processed quickly in an efficient manner by inputting the logs of the events into the trained machine learning model.
- a corpus of historic data which might be userspecific
- the methods described herein do not require large amounts of storage for the historic data as it is used in training the machine learning model only (in FIG. 2) and not in the inference stage (in FIG. 1).
- historic knowledge e.g. correlations between the values of different attributes
- the use of a machine learning model, as described herein, provides a robust method which is not easy for an attacker to work around and perform malicious activities whilst being undetected.
- the method of FIG. 1 achieves this because the trained machine learning model is configured to produce a probability distribution for the value of a masked value based on the other values in the log of the event (where these other values are values corresponding to other attributes, different from the attribute that corresponds to the masked value) as opposed to comparing values of attributes directly to common values of the same attributes in previous historical events.
- Basing a cyber-attack detection system on direct comparisons to historical events means it may be easy for an attacker to pose as an authorized user by mimicking an authorized user or by operating with different attributes under a user ID over an extended period of time such that the system adapts to accept the new values of the attributes as the norm, leaving the cloud application open for a cyber-attack.
- the attacker may perform minor low risk activities using a different ISP or IP address for a month, leading the system to believe this is normal behavior, before a cyber-attack is attempted using the different ISP or IP address.
- it is more difficult for an attacker to reverse engineer a cyber-attack detection system which is based on a trained machine learning model which has had its parameters set by processing a plurality of masked logs of events, compared to a rule-based approach.
- the method described above with reference to FIG. 1 provides a detection system which reduces the number of erroneous anomalous events being identified (compared to rule-based approaches), thus reducing the number of false alarms being raised and preventing authorized users from being regularly locked out of the cloud application.
- the trained machine learned model generates a probability distribution for each possible value of a masked value, some values of attributes (which may not be very common in previous events) may still have relatively high probabilities due to the influence of the values of other attributes in the event.
- the trained machine learning model may indicate that the alternative ISP is a likely choice for a user performing a particular activity during a particular part of the day and thus not indicate the event as anomalous.
- FIG. 3 shows an illustration of a system which may perform the methods illustrated in FIG. 1 and FIG. 2 and facilitate the detection of cyberattacks on cloud applications.
- the system comprises a first server 302 which hosts a cloud application and a second server 310 which hosts a cyber-attack detection system 316 and the trained machine learning model 320 used by the cyber-attack detection system.
- the system may also comprise additional servers hosting other cloud applications.
- the system further comprises a plurality of client devices 322.
- the server 302 which hosts the cloud application 304 and hence may be referred to as a ‘cloud server’.
- the term ‘cloud application’ is used herein to refer to any kind of application that runs on a remote server (i.e.
- the cloud application comprises a data storage program, document editing program, video streaming service, authentication services, exchange and mail services, etc.
- the server 302 that hosts the cloud application comprises one or more processor(s) 306 which are configured to perform operations associated with the cloud application.
- the server 302 also comprises a memory 308 which may store data and executable instructions associated with the cloud application.
- An event logger 318 which records events taking place on the cloud application 304 is illustrated as being situated in a separate server 310 in FIG. 3.
- the event logger 318 records the events in a series of logs, e.g. one log per event.
- the log of an event records a plurality of values of attributes associated with the event.
- a list of exemplary attributes includes but is not limited to: a user ID, an organization ID, the time of the event, the activity type, the IP address and an ISP.
- the server 310 that hosts the cyber-attack detection system 316 comprises one or more processor(s) 312 which are configured to perform operations associated with the cyber-attack detection system.
- the server 310 also comprises a memory 314 which may store data and executable instructions associated with the cyber-attack detection system.
- the cyber-attack detection system 316 is configured to perform the detection of an anomalous event, as described herein (e.g. with reference to FIGs. 1 and 6).
- it is configured to receive a log of an event on the cloud application 304, wherein the log comprises a plurality of values of different attributes; generate a masked log by masking one of the values in the received log; generate a distribution of probabilities for the possible values of the masked value by inputting the masked log into a trained machine learning model 320 based on a plurality of masked logs of events; and determining an anomalous event based on a comparison of the known value of the masked value in the received log and the distribution of probabilities.
- the cyber-attack detection system 316 utilizes the processor(s) 312 situated on the server 310 to perform operations.
- the processor(s) 312 may also be configured to perform the training of a machine learning model 320 (as described above with reference to FIG. 2) or this may be performed separately (e.g. by another server) and then the trained machine learning model 320 may be uploaded to the server 310.
- the cloud server comprises a memory 314 which is arranged to store the trained machine learning model 320. Whilst FIG. 3 shows a single trained machine learning model 320, it will be appreciated that there may be more than one trained machine learning model 320, e.g.
- the cloud application 304 is accessible by a client device 314 via a network connection wherein the actions performed by the client device 314 on the cloud application (e.g. by a user operating the client device or by software running autonomously on the client device) are recorded by the event logger 318 in logs of events.
- one server 302 hosts the cloud application 304 and a different server 310 hosts the machine learning model 312 and cyber-attack detection system 316.
- the cyber-attack detection system 316 (using methods of FIG. 1), the cloud application 304 may be hosted on a single server.
- FIG. 3 shows a single cloud application 304, it will be appreciated that the system may comprise many cloud applications 304 which may run on the same server 302 or on different servers.
- the event logger which is separate from the cloud apphcation(s) may monitor events associated with more than one cloud application hosted on one or more servers. Whilst the event logger is shown in FIG. 3 as running on the same server as the cyber-attack detection system, in other examples it may be located on a server separate from both the cloud applications and the cyber-attack detection system, but may monitor the activity on the cloud applications and provide event logs to the cyber-attack detection system.
- FIG. 4 shows a schematic diagram of a machine learning model (such as the machine learning model 312 in FIG. 3) which may be used in the method of FIG. 1 and trained using the method of FIG. 2.
- the model e.g. a neural network
- the model comprises an embeddings layer 402 (which is the first hidden layer in the model) and two linear layers with a hyperbolic tangent (tanh) activation function between them 404.
- a hyperbolic tangent (tanh) activation function between them 404.
- other activation functions and/or hyper parameters may be used.
- the masked log of an event 406 is input to the model (e.g. to an input layer of the model not shown in FIG. 4).
- the embeddings layer 402 generates a plurality of attribute vectors 408, one for each of the attributes, wherein the masked attribute vector is void/null (e.g. it may comprise only zeros).
- each attribute vector comprises the same number of elements, e.g. 100 elements.
- a query vector 410 is used to compute weights 412 for the attribute vectors 408 and then these weights 412 are applied to each of the attribute vectors 408 to generate weighted attribute vectors 414, as indicated by arrows 416 and 417.
- the weights are generated by calculating a score per attribute 418 and then normalizing these scores.
- the score per attribute comprises a scalar product of the query vector 410 and the attribute vector 408 associated with the attribute.
- the weight applied to an attribute to generate the weighted attribute 414 therefore corresponds to the normalized score and indicates the influence of the particular attribute in generating the distribution of probabilities 420 and hence its influence on the determination of whether an event is considered anomalous or not.
- the second attribute is 30% responsible for the generation of the distribution of probabilities 420.
- the query vector 410 that is used to compute the weights 412 may be trained as part of the machine learning (in FIG. 2), e g., along with the weights 412 associated with the embeddings and linear network layers 402, 404, and/or may be specified by the operator of the cyber-attack detection system or the tenant organization.
- the query vector 410 may be randomly initialized and subsequently trained.
- the weighted attribute vectors 414 are summed to generate a summed vector 422 and this summed vector 422 is input to the first of the linear layers of the pair of linear layers 404.
- the output of the model is the distribution of probabilities 420 which defines a probability of each of the candidate values of the masked value occurring in the original log of the event which was used to generate the masked log of the event 406.
- the distribution of probabilities 420 over the candidate values of the masked value is used in the training stage in conjunction with the known value of the masked attribute, as shown in FIG. 2, to compute a suitable loss function (e.g. a cross-entropy loss corresponding to the probability, in the distribution 420, of the occurrence of the known value) for refining the model (e.g. to update the coefficients used in the, embeddings layer, linear layers 404, and/or query vector 410) using back propagation.
- the distribution of probabilities 420 is used in the inference stage, as shown in FIG. 1, to determine whether the event that corresponds to the masked log is an anomalous event.
- the machine learning model may be trained using masked logs of events 406 in which values corresponding to the same attribute is masked in each log, e.g. the value that identifies the ISP is always masked.
- Such a machine learning model can only be used in the inference stage (i.e. in the method of FIG. 1) if the value corresponding to the same attribute is masked in the log of the event (in block 104).
- the log of an event may be a log of an event on a cloud application.
- the log may be a log of an event on an operating system or on-premise application (i.e. a log of an interaction with an operating system or on-premise application).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| LU502287A LU502287B1 (en) | 2022-06-15 | 2022-06-15 | Detection of malicious activity |
| PCT/US2023/068425 WO2023245052A1 (en) | 2022-06-15 | 2023-06-14 | Detection of malicious activity |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP4523111A1 true EP4523111A1 (en) | 2025-03-19 |
| EP4523111B1 EP4523111B1 (en) | 2026-03-11 |
Family
ID=82156551
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23736585.3A Active EP4523111B1 (en) | 2022-06-15 | 2023-06-14 | Detection of malicious activity |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250168183A1 (en) |
| EP (1) | EP4523111B1 (en) |
| LU (1) | LU502287B1 (en) |
| WO (1) | WO2023245052A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4562804B1 (en) * | 2022-07-26 | 2026-04-15 | Telefonaktiebolaget LM Ericsson (publ) | Authorized side-channel monitoring |
| US12619717B2 (en) * | 2023-12-17 | 2026-05-05 | Acronis International Gmbh | Systems and methods for detecting malicious activity using a machine learning model tuned to a specific endpoint device |
| US20250379884A1 (en) * | 2024-06-07 | 2025-12-11 | Microsoft Technology Licensing, Llc | Cyber-attack detection in a logging system |
-
2022
- 2022-06-15 LU LU502287A patent/LU502287B1/en active IP Right Grant
-
2023
- 2023-06-14 US US18/868,065 patent/US20250168183A1/en active Pending
- 2023-06-14 EP EP23736585.3A patent/EP4523111B1/en active Active
- 2023-06-14 WO PCT/US2023/068425 patent/WO2023245052A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023245052A1 (en) | 2023-12-21 |
| LU502287B1 (en) | 2023-12-15 |
| EP4523111B1 (en) | 2026-03-11 |
| US20250168183A1 (en) | 2025-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4235523B1 (en) | Identifying and correcting vulnerabilities in machine learning models | |
| EP4523111B1 (en) | Detection of malicious activity | |
| US11269978B2 (en) | Detection of slow brute force attacks based on user-level time series analysis | |
| US11522873B2 (en) | Detecting network attacks | |
| US11991191B2 (en) | Detecting a missing security alert using a machine learning model | |
| EP2069993B1 (en) | Security system and method for detecting intrusion in a computerized system | |
| US11514173B2 (en) | Predicting software security exploits by monitoring software events | |
| EP3523743B1 (en) | Detection of compromised devices via user states | |
| US11770409B2 (en) | Intrusion management with threat type clustering | |
| US20260095469A1 (en) | Malicious message quarantine systems for enhanced security via deep packet inspection | |
| Thomas | Machine learning applications for cybersecurity | |
| US20190026448A1 (en) | Cognitive behavioral security controls | |
| US20230306106A1 (en) | Computer Security Systems and Methods Using Self-Supervised Consensus-Building Machine Learning | |
| US20240073241A1 (en) | Intrusion response determination | |
| EP4660854A1 (en) | Cyber-attack detection in a logging system | |
| Wen et al. | The application of rnn-based api data security detection in government cloud service | |
| Srinivasan | Keylogger malware detection using machine learning model for platform-independent devices | |
| KR102872245B1 (en) | Prompt-based detection cloud infrastructure entitlement management solution utilizing generative ai | |
| Engemann et al. | 10 Implications of artificial intelligence in cybersecurity for individuals | |
| WO2018071355A1 (en) | Constructing graph models of event correlation in enterprise security systems | |
| Gundoor | Attacks against Artificial Intelligence: An Overview | |
| Hasan et al. | Improving Classification Accuracy of Cyber Attacks in the Banking Sector | |
| CN117640127A (en) | A method, device, medium and equipment for predicting the scale of audio and video attacks | |
| Solano et al. | Applications with Behavioral Biometrics and Session Context Analytics | |
| Köroğlu et al. | Developing An Intrusion Detection System Using Machine Learning Methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20241210 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 21/55 20130101AFI20250911BHEP Ipc: H04L 9/40 20220101ALI20250911BHEP Ipc: G06N 3/084 20230101ALI20250911BHEP Ipc: G06N 3/09 20230101ALI20250911BHEP |
|
| INTG | Intention to grant announced |
Effective date: 20251015 |
|
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Free format text: CASE NUMBER: UPC_APP_0015584_4523111/2025 Effective date: 20251202 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: F10 Free format text: ST27 STATUS EVENT CODE: U-0-0-F10-F00 (AS PROVIDED BY THE NATIONAL OFFICE) Effective date: 20260311 Ref country code: GB Ref legal event code: FG4D |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602023013470 Country of ref document: DE |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260611 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260612 |
|
| REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20260520 Year of fee payment: 4 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260611 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |
|
| REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20260311 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20260311 |