METHOD FOR DETECTING AN RDP LOGIN ANOMALY

DE602021039399T2Active Publication Date: 2025-10-01BULL SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602021039399
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2025-10-01
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Organizations face vulnerabilities in Remote Desktop Protocol (RDP) security due to weak passwords and lack of additional security layers, making them susceptible to brute force attacks and network invasions.

Method used

A method for detecting malicious RDP connections by analyzing user login logs, dividing aspects into bins, calculating probability densities and weights, and applying a customized scoring system to identify deviations from baseline behavior.

Benefits of technology

Effectively identifies anomalous login patterns, flagging potential malicious activities by assigning different importance to various aspects of user behavior, thereby enhancing RDP security.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

Domain of the invention

[0001] The present invention concerns a method for detecting malicious connections from remote users into a computer network through Remote Desktop protocol.Background of the invention

[0002] Though Remote Desktop Protocol can be enough of a security risk on its own, organizations often compound the vulnerabilities by failing to properly secure RDP accounts and services. Accounts with RDP privileges may have a weak password or no additional layers of security. Those flaws open the door for brute force attacks in which cybercriminals use automated tools to obtain the account password. If successful, the attackers can then invade a network, elevate their rights with administrative access, disable security products, and even run ransomware to encrypt critical data and hold it hostage.

[0003] The document US2021 / 185084A1 describes an anomaly detection method combining anomaly scores across eight selected signals to model RDP brute force attack patterns. The method comprises: 1) updating statistical discrete time series models sequentially for each signal, capturing time of day, day of week, and both point and cumulative effects, 2) combining anomaly scores using an approach that yields accurate probability estimates, and 3) ranking the top N anomalies per day to control a desired number of false positives.

[0004] The document DENNING D E: "AN INTRUSION-DETECTION MODEL", IEEE Transactions on software engineering, IEEE service center, Los Alamitos, vol. SE-13, no. 2, 1 Feb 1987, pages 222-232, discloses a real-time intrusion-detection system capable of detecting break-ins, penetrations, and other forms of computer abuse. The system is based on a model that includes profiles for representing the behavior of subjects with respect to objects in terms of metrics and statistical models, and rules for acquiring knowledge about this behavior from audit records and for detecting anomalous behavior. The system monitors the standard operations on a target system: logins, command and program execution's, file and device accesses, etc., looking only for deviations in usage.

[0005] The metric used are Event Counter, Interval Timer and Resource Measure.

[0006] The document BRIAN A POWELL: "Detecting malicious logins as graph anomalies", Arxiv.org, Cornell university Library, 19 September 2019, discloses a method for detecting malicious logins as graph anomalies. The historical login activity is represented as a collection of daily login graphs, which encode authentications among accessed systems with vertices representing computer systems and directed edges logins between them.

[0007] The document CHRISTOPHER KRUEGEL ET AL: "Anomaly detection of web-based attacks", Proceedings of the 10th ACM conference on computer and communications security, 27 October 2003, pages 251-261, describes an anomaly detection system to detect attacks against web servers and web-based applications. The system correlates the server-side programs referenced by client queries with the parameters contained in these queries. HTTP queries containing parameters are use as input. The parameter characteristics (e.g., length and structure) are learned from input data.

[0008] An object of the present invention is to monitor the remote logins made through RDP by employees and other individuals connected with an organization.

[0009] Another object of the present invention is to provide a method which makes it possible to effectively detect malicious connections.Disclosure of the invention

[0010] These and other objects of the present invention are substantially achieved by providing a method for detecting malicious connections from remote users into a computer network through Remote Desktop protocol, the method being carried out by a computer having access to login logs of users, the method comprising the following steps: defining at least three aspects, each divided into several bins as follows: a day of week aspect comprising n1 bins, a time of day aspect comprising n2 bins, a number of logins in a day aspect comprising n3 bins; n1, n2 and n3 being integers, defining a model based on the aspects and providing a score of log for each user; training the model on each user log during a training period in order to define a baseline of log; malicious connections producing a score which is greater than the baseline and which is considered as an anomaly score, during the production, applying the model on each user log to determine a production score of log and comparing the production score of log with respect to the baseline, wherein the model comprising: calculating a probability density for each bin for each user, determining a weight for each aspect, calculating the score of log from the probability density weighted by the determined weight for each user.

[0011] Advantageously, the approach of the present invention is to monitor the behavior of a user over a period of time. Various parameters comprising what time of the day does the user usually login, or what days of the week does a user login in and the number of logins in a day can be plotted over a period of time to determine a baseline of the behavior of a user. Based on this baselined behavior, a deviation can be determined and if there is a deviation then it could be flagged as an anomaly.

[0012] The method according to the present invention concerns a login profiling for each user.

[0013] The method according to the invention can in particular be considered as remarkable as it provides different importance to the Aspects by weighing each Aspect's probability density.

[0014] In other words, the present invention controls the behaviour of each user by processing logs of the users. The behaviour of the user is processed by taking into account the number of connections and time slots of the connections during a day and during a week.

[0015] Through the anomalous behavior, instances of RDP compromise can be determined.

[0016] According to an advantageously embodiment of the invention, for a user c, the probability density P a (b|c) of a bin b for an aspect a can be calculated using the formula:

[0017] The calculation of probability density makes it possible to measure the frequency of bins.

[0018] According to an advantageously embodiment of the invention, the weight for each aspect may consist in determining importance I a (c) of aspect a for user c using the formula: I a c = ∑ b ∈ a P a b c ∗ log B a 1 P a b c wherein for a user c, P a (b|c) is the probability density of a bin b for an aspect a ; B(a) is the total number of bins in the aspect a.

[0019] The calculation of the importance makes it possible to assign a different weight to each aspect.

[0020] According to an advantageously embodiment of the invention, the score of log can be calculated using the formula: FR 1 x c = 1 − ∏ a = 1 A P a b c I a c 1 I C wherein anomaly score of log record x for a user c, P a (b|c) is the probability density of a bin b for an aspect a ; A is the total number of aspects a; I a (c) is the Importance of aspect a for user c; and I(c) is the sum of all Importances of the all aspects.

[0021] Advantageously, n1 can be equal to seven. Thus, the aspect concerning the day of week is divided into seven bins, each corresponding to a day of the week.

[0022] Advantageously, n2 can be equal to twenty-four. Thus, the aspect concerning the time of day is divided into twenty-four bins, each corresponding to an hour of the day.

[0023] Advantageously, n3 can be equal to six. Thus, the aspect concerning the number of logins in a day is divided into six bins, each corresponding to a range of values.

[0024] According to the invention, the training period can be equal to several days, preferably one month.

[0025] The model according to the invention can be trained for a month to establish the baseline for the users under scope.

[0026] According to an advantageously embodiment of the invention, during the production, the model can be regularly applied at a production frequency which is equal to one day. In other words, once trained, the model can be run every day in a production mode and processes the logs of that day. Each log is scored with the Anomaly Score.

[0027] According to another aspect of the invention, it is proposed a computer program comprising instructions which, when the program is executed by a processing unit, cause the processing unit to carry out the steps of the method as described above.

[0028] The invention also concerns a non-transitory computer-readable storage medium encoded with computer-executable instructions which, when executed, perform the method as described above.Brief Description of the Drawings

[0029] Further advantages and characteristics of the invention will become apparent on examining the detailed description of an embodiment, which is in no way limitative, and the attached drawings, in which: Figure 1 is a schematic view of a system wherein the method according to the invention is carried out; Figure 2 is a schematic view of an organigram of an exemplified embodiment of the model according to the invention. Detailed Description

[0030] While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the scope of the present invention as defined by the appended claims.

[0031] Hereinafter, the present invention will be described in detail by explaining exemplary embodiments of the invention with reference to the attached drawings.

[0032] In accordance with the preferred embodiment, the method and system according to the invention relate to the following materials and processes: Embodiments herein include computer-implemented methods, tangible non-transitory computer-readable mediums, and systems. The computer-implemented methods may be executed, for example, by a processor that receives instructions from a non-transitory computer-readable storage medium. Similarly, a system described herein may include at least one processor and memory, and the memory may be a non-transitory computer-readable storage medium. As used herein, a non-transitory computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage medium. Singular terms, such as "memory" and "computer-readable storage medium," may additionally refer to multiple structures, such a plurality of memories and / or computer-readable storage mediums. As referred to herein, a "memory" may comprise any type of computer-readable storage medium unless otherwise specified. A computer-readable storage medium may store instructions for execution by a processor, including instructions for causing the processor to perform steps or stages consistent with an embodiment herein. Additionally, one or more computer-readable storage mediums may be utilized in implementing a computer-implemented method. The term "computer-readable storage medium" should be understood to include tangible items and exclude carrier waves and transient signals.

[0033] On figure 1, users 1 to 4 login from remote locations to the company network 12 comprising several servers 6-8. This is through the protocol called Remote Desktop Protocol (RDP). The users login to various types of company servers such as database servers, application servers, FTP servers, file servers, email servers, etc. The logins generally happen through a firewall 5 setup by the company.

[0034] As the users login to a server, the server creates a record of each login. This is referred to as the Login logs. These are stored in a logging system inside the servers.

[0035] So, as the users login to the servers on a regular basis, the login records get created and these are forwarded automatically to a platform 10 running the method according to the present invention. The platform 10 can be one or several computers arranged inside or outside the network 12 and connected through a firewall 9.

[0036] The method according to the invention analyses the user's login logs to determine if there is a deviation in the user's login pattern which is the user login behaviour.

[0037] If there is a change in the established behaviour of the user's login, then the method according to the invention flags that login record as an anomaly. In this manner, malicious external actors who might have stolen the credentials of a user and are using those credentials to login to the company servers, can be identified since such actors will, in all probability, login to the servers at times / days / frequency not normal to the behavioural pattern of the user.

[0038] When anomalies are detected by the method according to the invention, these can be shown on the front end screens 11 of the platform 10 which are for example being monitored by a Security Operations Center (SOC) teams.

[0039] Such anomalies are further analysed by the SOC teams to determine if the anomaly were indeed a breach or if this were a genuine deviation (false positive).

[0040] The model according to the invention uses the RDP logs of user remote logins. Windows ®< event id 4624 logs of type interactive are considered.

[0041] This model comprises calculation steps based on three aspects: The Aspects that have been selected for this model are the following: 1. Aspect 1 = Day of Week (DOW) 2. Aspect 2 = Time of Day (TOD) 3. Aspect 3 = Number of Logins in a Day (Login Count)

[0042] Since the model is probability based, for each of the Aspects, frequency bins are setup for each value or range of values.

[0043] The bins have been setup as below: DOW: 7 bins TOD: 24 bins CountofLogins: 6 bins

[0044] The model scores each log on a scale of 0 to 1. For example, the baseline can be determined as being equal to 0.7. Therefore, a score of 0.7 and above can mean an anomaly. It means there is a behavioral change in the RDP login pattern for the user.

[0045] The model can be trained for some days or a month to establish the baseline for the users under scope. Once trained, the model runs every day in a production mode and processes the logs of that day. Each log is scored with the Anomaly Score. Any score greater than 0.7 will be flagged as an Anomaly.

[0046] The following table contains training bins of a user for the various Aspects based on the 30 days model run: Example for the RDP Model - Training BinsUser Name DOW Bins TOD Bins Count Bins User1Mont_20_24c_0_5User1Mont_20_24c_0_5User1Tuet_8_12c_0_5User1Wedt_12_16c_0_5User1Thut_12_16c_0_5User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Sunt_12_16c_10_15User1Mont_20_24c_0_5User1Mont_16_20c_0_5User1Mont_12_16c_0_5User1Tuet_12_16c_0_5User1Thut_12_16c_0_5User1Thut_16_20c_0_5User1Thut_16_20c_0_5User1Frit_8_12c_0_5User1Frit_12_16c_0_5

[0047] The calculations carried out by the model is described with respect to figure 2 below.

[0048] The training step makes it possible to determine the baseline by using for example a machine learning technique.

[0049] The statistics of the trained model are as follow: DOW User_nameSunMonTueWedThuFriTotalUser1135214227TOD User_namet_12_10t_16_20t_20_24t_8_12TotalUser11933227COUNT User_nameC_0_5C_10_15TotalUser1141327

[0050] Figure 2 is a schematic view showing different steps of an exemplified embodiment of the model according to the invention to calculate the score.

[0051] At step 20 logs of each day of each user are considered.

[0052] The step 21 concerns the calculation of the probability Density for each Bin for each user using the formula:

[0053] The formula makes it possible to compute the probability density for each bin in each Aspect.

[0054] The bins setup for each Aspect can be the following: DOW = Mon, Tue, Wed, Thu, Fri, Sat, Sun TOD = t_12_16, t_16_20, t_20_24, t_8_12 Login Count = c_0_5, c_10_15

[0055] The following table shows the computation of the probability densities: Probability density of each bin of ever aspects(Frequency of bin +1) / (combine frequency of all bin + number of total bins in aspect)DOW Sun(13+1) / (27+7)=14 / 34=0.4 17647058823529Mon0.176470588Tue0.088235294Wed0.058823529Thu0.147058824Fri0.088235294TOD t_24_40.03030303t_4_80.03030303t_8_120.090909091t_12_160.606060606t_16_200.121212121t_20_240.121212121COUNT C_0_50.454545455C_10_150.424242424

[0056] The step 22 concerns the calculation of the importance for each aspect using the formula: I a c = ∑ b ∈ a P a b c ∗ log B a 1 P a b c wherein for a user c, P a (b|c) is the probability density of a bin b for an aspect a ; B(a) is the total number of bins in the aspect a.

[0057] In other words, the important of each Aspect of User = 1 - SUM(probability Value of bins * log(1 / probability Value of bins, base = number of total bins in aspects))

[0058] For example, for Day-of-week, it is 1 - (sum for i=1 to 7, ((d(i)) * log (1 / d(i), base = 7)); d(i) being the probability density.

[0059] The following table shows the computation of the importance: Importance of every aspect for user1 - sum(probability value*log(probability value, base=number of total bins in aspects))Count1- ((0.454545455*log(0.454545455, base=6)) + (0.424242424*log(0.424242424, base=6)) = 0.596956797669162Tod0.423439637Dow0.204252899

[0060] Step 23 concerns the calculation of the score of log using the formula: FR 1 x c = 1 − ∏ a = 1 A P a b c I a c 1 I c wherein for a user c, P a (b|c) is the probability density of a bin b for an aspect a ; A is the total number of aspects a; I a (c) is the Importance of aspect a for user c; and I(c) is the sum of all Importances of the aspects.

[0061] A score of each bin of every aspect is calculated using the following formula: ∏ a = 1 A P a b c I a c 1 I c

[0062] Otherwise: (probability value of bin found in production) power of (importance aspect).

[0063] For example: p(tue) power of importance ast of dow * p(t_4_8) power of importance aspect of tod * p(c_0_5) power of importance aspect of count.

[0064] The calculation concerns a product of each Aspect.

[0065] Then, the product of all scores of each bin of every aspects is calculated:

[0066] For example :

[0067] At step 24, a comparison is carried out between the determined score and the baseline.

[0068] If the score is under the baseline, at step 26, it is a normal behavior.

[0069] The following table shows the computation of score for a normal behavior: Anomaly score for user when not deviated1-(sum(probability value of bins) / sum(importance of dow + tod + count)Score of each bin of every aspectProbability value of bin found in production power of importance aspect of corresponding binScore of TOD0.609038Score of Count0.808925782Score of DOW0.599379249PRODUCT OF ALL SCORES OF EACH BIN OF EVERY ASPECT0.295294101Anomaly score for Log Record0.6307

[0070] If the score is greater than the baseline, at step 25, there is an anomaly score. Thus there is a risk of malicious connections.

[0071] The following table shows the computation of score for an abnormal behavior: Anomaly score for user when not deviated1-(sum(probability value of bins) / sum(importance of dow + tod + count)Score of each bin of every aspectProbability value of bin found in production power of importance aspect of corresponding binScore of TOD0.609038Score of Count0Score of DOW0.624580546PRODUCT OF ALL SCORES OF EACH BIN OF EVERY ASPECT0Anomaly score for Log Record1

[0072] The model according to the invention first runs in a training mode for 30 days for example. During this time, the baseline behavior of the users is determined. Then on a daily basis, the model runs to determine if there are any deviations to the baselined behavior.

[0073] Advantageously, the model uses a customized formula to determine the Anomaly Score. This model is based on giving different importance to the Aspects based on each Aspect's density model.

[0074] Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated.

Claims

1. Method for detecting malicious connections from remote users into a computer network through Remote Desktop protocol, the method being carried out by a computer having access to login logs of users, the method comprising the following steps: - defining at least three aspects, each divided into several bins as follows: - a day of week aspect comprising n1 bins, - a time of day aspect comprising n2 bins, - a number of logins in a day aspect comprising n3 bins; n1, n2 and n3 being integers, - defining a model based on the aspects and providing a score of log for each user; - training the model on each user log during a training period in order to define a baseline of log; malicious connections producing a score which is greater than the baseline and which is considered as an anomaly score, - during the production, applying the model on each user log to determine a production score of log and comparing the production score of log with respect to the baseline, - detecting malicious connections when the production score is greater than the baseline, wherein applying the model comprises the step of: - calculating a probability density for each bin for each user, - determining a weight for each aspect, - calculating the score of log from the probability density weighted by the determined weight for each user, wherein, for a user c, the probability density Pa(b|c) of a bin b for an aspect a is calculated using the formula: and the weight for each aspect consists in determining importance Ia(c) of aspect a for user c using the formula: I a c = ∑ b ∈ a P a b c ∗ log B a 1 P a b c wherein for a user c, Pa(b|c) is the probability density of a bin b for an aspect a ; B(a) is the total number of bins in the aspect a.

2. Method according to claim 1, wherein the score of log is calculated using the formula: FR 1 x c = 1 − ∏ a = 1 A P a b c I a c 1 I c wherein anomaly score of log record x for a user c, Pa(b|c) is the probability density of a bin b for an aspect a ; A is the total number of aspects a; Ia(c) is the Importance of aspect a for user c; and I(c) is the sum of Importance of the all aspects.

3. Method according to any of the preceding claims, wherein n1 is equal to seven.

4. Method according to any of the preceding claims, wherein n2 is equal to twenty-four.

5. Method according to any of the preceding claims, wherein n3 is equal to six.

6. Method according to any of the preceding claims, wherein the training period is equal to several days, preferably one month.

7. Method according to any of the preceding claims, wherein during the production, the model is regularly applied at a production frequency which is equal to one day.

8. A computer program comprising instructions which, when the program is executed by a processing unit, cause the processing unit to carry out the steps of the method of one of claims 1 to 7.

9. A non-transitory computer-readable storage medium encoded with computer-executable instructions which, when executed, perform the method of one of claims 1 to 7.