IP Library Granted Patent US 12,244,630
Granted Patent B2
US 12,244,630 · App. 17/958,147 · Granted Mar 4, 2025

Security threat alert analysis and prioritization

Inventors: Ben Uri Gelman (Burlington, MA); Salma Taoufiq (Budapest, HU); Konstantin Berlin (Potomac, MD); Tamás Vörös (Budapest, HU)
Assignee: Sophos Limited
H04L63/1433
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,244,630
App. No.
17/958,147
Granted
Mar 4, 2025
Kind
B2
Abstract

A method for prioritizing security events comprises receiving a security event that includes security event data having been generated by an endpoint agent based on a detected activity, wherein the security event data includes one or more features; applying a first computing model to the security event data to automatically determine which of the one or more features are one or more input features to a machine learning system; applying a second computing model to historical data related to the security event data to determine time pattern information of the security event data as an input to the machine learning system; combining the one or more input features from the first computing model and the input from the second computing model to generate a computed feature result; and generating an updated security level value of the security event from the computed feature result.

Claims (76)

1. A method for prioritizing security events, comprising:

receiving, by one or more processors of a computer system, a plurality of alerts generated by an endpoint agent response to a detected computer security activity;

extracting, by the one or more processors of a computer system, a plurality of feature vectors from the plurality of alerts;

computing, by the one or more processors of the computer system, a plurality of temporal features from the plurality of alerts, the temporal features including time pattern data of the detected computer security activity;

training, by the one or more processors of the computer system, a first classification model with the plurality of feature vectors;

training, by the one or more processors of the computer system, a second classification model with the plurality of temporal features;

combining, by the one or more processors of the computer system, the first classification model and the second classification model to form an ensemble model that processes an output of each of the first classification model and the second classification model to generate a computed feature result;

generating by the ensemble model from the computed feature result an alert-level risk score corresponding to a severity level value for each alert of the plurality of alerts; and

arranging the plurality of alerts for output to an analyst computer according to the alert-level risk scores.

2. The method of claim 1 , further comprising:

aggregating, by the one or more processors of the computer system, the plurality of alert risk scores to generate an incident-level score; and

performing, by the one or more processors of the computer system, a prioritization operation in response to the incident-level score.

3. The method of claim 2 , further comprising:

outputting, by the one or more processors of the computer system, analyst feedback data generated in response to the incident-level score to a storage device including the alerts;

modifying the alerts to include the analyst feedback data; and

retraining a combination of the first classification model, the second classification model, and the ensemble model with the modified alerts.

4. The method of claim 2 , wherein the prioritization operation includes suppressing an incident in response to the incident-level score less than a threshold value.

5. The method of claim 2 , wherein the prioritization operation includes ranking alerts of the arrangement of the plurality of alerts within an incident according to the alert-level risk scores.

6. The method of claim 5 , further comprising:

receiving, by the one or more processors of the computer system, a plurality of security events in a threat case;

associating the alert-level risk score with one of the security events of the detected computer security activity; and

arranging the alerts so that a priority identification of the one of the security events is higher than the other events of the plurality of security events in the threat case.

7. The method of claim 1 , wherein each alert includes a current security level value, and the method further includes retraining a combination of the first classification model, the second classification model, and the ensemble model to change the current security level value to the alert-level risk score.

8. The method of claim 1 , further comprising:

receiving, by the one or more processors of the computer system, a plurality of security events in a threat case for receipt by the analyst computer; and

associating the alert-level risk score with the at least one of the security events to change a state of the threat case.

9. The method of claim 1 , wherein the plurality of alerts has a semi-structured format, and wherein the method further comprises:

extracting, the plurality of feature vectors validates contents of the alerts from the semi-structured format.

10. A computer system, comprising:

one or more memory devices coupled to one or more processors storing program code executable by the one or more processors; and

one or more processors that, having executed the program code, configure the computer system to perform a plurality of operations comprising:

receiving a plurality of alerts generated by an endpoint agent in response to a detected computer security activity;

extracting a plurality of feature vectors from the plurality of alerts;

computing a plurality of temporal features from the plurality of alerts, the temporal features including time pattern data of the detected computer security activity;

training a first classification model with the plurality of feature vectors;

training a second classification model with the plurality of temporal features;

combining the first classification model and the second classification model to form an ensemble model that processes an output of each of the first classification model and the second classification model to generate a computed feature result;

generating by the ensemble model from the computed feature result an alert-level risk score corresponding to a severity level value for each alert of the plurality of alerts; and

arranging the alerts for output to an analyst computer according to the alert-level risk scores.

11. The computer system of claim 10 , wherein the method further comprises:

aggregating the plurality of alert risk scores to generate an incident-level score; and

performing a prioritization operation in response to the incident-level score.

12. The computer system of claim 11 , wherein the method further comprises:

outputting feedback data generated in response to the incident-level score to a storage device including the alerts;

modifying the alerts to include the analyst feedback data; and

retraining a combination of the first classification model, the second classification model, and the ensemble model with the modified alerts.

13. The computer system of claim 10 , wherein each alert includes a current security level value, and the method further includes retraining a combination of the first classification model, the second classification model, and the ensemble model to change the current security level value to the alert-level risk score.

14. The computer system of claim 13 , wherein the method further comprises:

receiving a plurality of security events in a threat case; and

associating the alert-level risk score with one of the security events of the detected computer security activity; and

arranging the alerts so that a priority identification of the one of the security events is higher than the other events of the plurality of security events in the threat case.

15. The computer system of claim 10 , wherein the method further comprises:

receiving, by the one or more processors of the computer system, a plurality of security events in a threat case;

associating the alert-level risk score with one of the security events of the detected computer security activity; and

arranging the alerts so that a priority identification of the one of the security events is higher than the other events of the plurality of security events in the threat case.

16. A computer program product for prioritizing security events, the computer program product comprising non-transitory computer-readable program code executable by one or more processors of a computer system to cause the computer system to perform a plurality of operations comprising:

receiving a plurality of alerts generated by an endpoint agent in response to a detected computer security activity;

extracting a plurality of feature vectors from the plurality of alerts;

computing a plurality of temporal features from the plurality of alerts, the temporal features including time pattern data of the detected computer security activity;

training a first classification model with the plurality of feature vectors;

training a second classification model with the plurality of temporal features;

combining the first classification model and the second classification model to form an ensemble model that processes an output of each of the first classification model and the second classification model to generate a computed feature result;

generating by the ensemble model from the computed feature result an alert-level risk score corresponding to a severity level value for each alert of the plurality of alerts; and

arranging the alerts for output to an analyst computer according to the alert-level risk scores.

17. The computer program product of claim 16 , further comprising:

aggregating the plurality of alert risk scores to generate an incident-level score; and

performing a prioritization operation in response to the incident-level score.

18. The computer program product of claim 16 , further comprising:

outputting feedback data generated in response to the incident-level score to a storage device including the alerts;

modifying the alerts to include the analyst feedback data; and

retraining a combination of the first classification model, the second classification model, and the ensemble model with the modified alerts.

19. The computer program product of claim 16 , wherein each alert includes a current security level value, and the method further includes retraining a combination of the first classification model, the second classification model, and the ensemble model to change the current security level value to the alert-level risk score.

20. The computer program product of claim 16 , further comprising:

receiving a plurality of security events in a threat case; and

associating the alert-level risk score with one of the security events of the detected computer security activity; and

arranging the alerts so that a priority identification of the one of the security events is higher than the other events of the plurality of security events in the threat case.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2023
From: GELMAN, BEN URI; TAOUFIQ, SALMA; BERLIN, KONSTANTIN; VÖRÖS, TAMÁS
To: SOPHOS LIMITED
Reel/Frame 063539/0442 →
Continuity (3)
Provisional Application 63390913 · Jul 20, 2022
Provisional Application 63339908 · May 9, 2022
Related Publication 20230362184A1 · Nov 9, 2023
References Cited (51)
US 9548987B1 · Poole · 2017 [cited by applicant]
US 20180219888A1 · Apostolopoulos · 2018 [cited by applicant]
US 20200004957A1 · Chamaraju et al. · 2020 [cited by applicant]
US 20230336586A1 · Sopan · 2023 [cited by examiner]
Mathenge, Impact, Urgency & Priority: Understanding the Matrix, Jan. 1, 2020, BMC Blogs, https://www.bmc.com/blogs/impact-urgency-priority/ (Year: 2020). [cited by examiner]
Laszka, et al. “A Game-Theoretic Approach for Alert Prioritization” AAAI Workshops, 2017. [cited by applicant]
Schlenker, et al. “Towards a game-theoretic framework for intelligent cyber-security alert allocation” Proceedings of the 3rd IJCAI workshop on Algorithmic Game Theory, Melbourne, Australia, 2017, updated version. https… [cited by applicant]
McElwee, et al. “Deep learning for prioritizing and responding to intrusion detection alerts” MILCOM 2017, 2017 Military Communications Conference, pp. 1-5, IEEE. [cited by applicant]
Bierma, Michael, JD Justin E. Doak, and Corey Hudson, “Learning to rank for alert triage” 2016 IEEE Symposium on Technologies for Homeland Security (HST), pp. 1-5. [cited by applicant]
Agrawal, Tanay “The Best Feature Engineering Tools—Neptune.Ai” 2022, Neptune.Ai. https://neptune.ai/blog/feature-engineering-tools. [cited by applicant]
Breiman, Leo “Random forests.” Machine learning 45, No. 1, pp. 5-32, 2001. [cited by applicant]
McLean, Mike “2023 Must-Know Cyber Attack Statistics and Tends,” Embroker, Jan. 2, 2023. https://www.embroker.com/blog/cyber-attack-statistics/#:˜:text-Cyber%20attacks%20have%20been%20rated,expected%20to%20double%20by%2… [cited by applicant]
“SOC as a Service Market Size Share, Industry Analysis by 2022-2023” MarketsandMarkets, May 2022. https://www.marketsandmarkets.com/Market-Reports/soc-as-a-service-market-31262563.html. [cited by applicant]
Sopan, et al. “Building a Machine Learning Mode for the SOC, by the Input from the SOC, and Analyzing it for he SOC” 2018 IEEE Symposium on Visualization for Cyber Security (VixSec), pp. 1-8. [cited by applicant]
Chen, Tianqi and Carlos Guestrin “Xgboost: A scalable tree boosting system” Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, pp. 785-794, 2016. [cited by applicant]
Pedregosa, et al. “Scikit-learn: Machine learning in Python” the Journal of Machine Learning Research 12, pp. 2825-2830, 2011. [cited by applicant]
Lundberg, Scott M and Su-In Lee “A unified approach to interpreting model predictions” Advances in neural Information processing systems 30, 2017. [cited by applicant]
Aminato, et al. “Threat Alert Prioritization using Isolation Forest and Stacked Auto Encoder with Day-Forward-Chaining Analysis” Dec. 2, 2020, IEEE Access, vol. 8, pp. 217977-217986. [cited by applicant]
Hassan, et al. “NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage,” Network and Distributed Systems Security (NDSS) Symposium, Feb. 2019. [cited by applicant]
Han, et al. “DeepAID: Interpreting and Improving Deep Learning-based Anomaly Detection in Security Applications,” 2021, ACM SIGSAC Conference on Computer and Communications Security, pp. 3197-3217. [cited by applicant]
Vaarandi, Risto “A Stream Clustering Algorithm for Classifying Network IDS Alerts,” 2021 IEEE International Conference on Cyber Security and Resilience. [cited by applicant]
Maarof, Mohd Aizaini “Classifying Security Alerts from Multiple Sensors based on Hybrid Approach,” Jan. 2012, The International Conference on Informatics & Applications, pp. 174-181. [cited by applicant]
Pietraszek, Tadeusz “Using Adaptive Alert Classification to Reduce Flase Positives in Intrusion Detection,” 2004, International Workshop on Recent Advances in Intrusion Detection, pp. 102-124. [cited by applicant]
Kiflay, et al. “A Network Intrusion Detection System Using Ensemble Machine Learning,” IEEE 2021 International Carnahan Conference on Security Technology. [cited by applicant]
Goeschel, Kathleen “Reducing Flase Positives in Intrusion Detection Systems using Data-Mining Techniques Utilizing Support Vector Machines, Decision Trees, and Naive Bayes for Off-Line Analysis,” IEEE SoutheastCon 2016. [cited by applicant]
Zhao, et al. “Automatically and Adaptively Identifying Severe Alerts for Online Service Systems,” Jul. 2020, IEEE Conference on Computer Communications. [cited by applicant]
Hu, et al. “False Positive Elimination in Intrusion Detection Based on Clustering,” 2015 12th International Conference on Fuzzy Systems and Knowledge Discovery, pp. 519-523. [cited by applicant]
Feng, et al. “A User-Centric Machine Learning Framework for Cyber Security Operations Center,” 2017 IEEE International Conference on Intelligence and Security Informatics, pp. 173-175. [cited by applicant]
Vielberth, et al. “Security Operations Center: A Systematic Study and Open Challenges,” Dec. 17, 2020, IEEE Access, vol. 8. [cited by applicant]
Wang, et al. “Identifying Truly Suspicious Events and False Alarms based on Alert Graph,” 2019 IEEE International Conference on Big Data, pp. 5929-5936. [cited by applicant]
Ban, et al. “Combat Security Alert Fatique with AI-Assited Techniques,” Aug. 9, 2021, Cyber Security Experimentation and Test Workshop, Virtual, CA. [cited by applicant]
“The Cost of Cybercrime: Ninth Annual Cost of Cybercrime Study,” 2019, Accenture. [cited by applicant]
Verma, et al. “An Unstructured to Structured Data Conversion using Machine Learning Algorithm in Internet of Things (IoT)” 2020, 3rd International Conference on Innovative Computing and Communication. [cited by applicant]
Lemay, Aurelien “Machine Learning Techniques for Semistructured Data,” Université de Lille, 2018. [cited by applicant]
Giulio, et al. “PySiology: a python package for physiological feature extraction,” 2019, Springer Nature Singapore Pte Ltd. [cited by applicant]
Aqajari, et al. “pyEDA: An Open-Source Python Toolkit for Pre-processing and Feature Extraction of Electrodermal Activity” Mar. 2021, The 12th International Conference on Ambient Systems, Networks and Technologies, pp. … [cited by applicant]
Christ, et al. “Time Series FeatuRe Extraction on basis of Scalable Hypothesis tests (tsfresh—A Python package)” 2018, Neurocomputing 307, pp. 72-77. [cited by applicant]
Kanter, James Max and Kalyan Veeramachaneni, “Deep Feature Synthesis” Towards Automating Data Science Endeavors 2015, IEEE International Conference on Data Science and Advanced Analytics, pp. 1-10. [cited by applicant]
Horn, et al. “The autofeat Python Library for Automated Feature Engineering and Selection” 2019, Workshop on Automating Data Science, Cornell University, pp. 1-11. [cited by applicant]
Markovitch, Shaul and Dan Rosenstein “Feature Generation Using General Constructor Functions” 2002, Machine Learning, 49, pp. 59-98. [cited by applicant]
Khurana, et al. “Cognito: Automated Feature Engineering for Supervised Learning” 2016, IEEE 16th International Conference on Data Mining Workshops, pp. 1304-1307. [cited by applicant]
Bosch, Nigel “AutoML Feature Engineering for Student Modeling Yields High Accuracy, but Limited Interpretability” 2021, Journal of Educational Data Mining, vol. 13, No. 2, pp. 55-79. [cited by applicant]
Prashad, Shiv “Cyber security operations centre ML framework for the needs of the users” 2021, International Journal of Machine Learning for Sustainable Development, abstract. [cited by applicant]
“Alteryx/featuretools” GitHub repository, https://github.com/alteryx/featuretools, 2022. [cited by applicant]
“Auto JSON Parsing—Coralogix”. 2022. Coralogix. https://coralogix.com/docs/auto-json-parsing/. [cited by applicant]
“Dynamic Parsing”. 2022. Sumo Logic. https://help.sumologic.com/05Search/Get-Started-with-Search/How-to-Build-a-Search/Dynamic_Parsing. [cited by applicant]
Bahmani, MJ. 2022. “A Quickstart Guide to Auto-Sklearn (Automl) for Machine Learning Practitioners—Neptune.Ai”. Neptune.Ai. https://neptune.ai/blog/a-quickstart-guide-to-auto-sklearn-automl-for-machine-learning-practiti… [cited by applicant]
Grawal, Tanay. 2022. “The Best Feature Engineering Tools—Neptune.Ai”. Nep-tune.Ai. https://neptune.ai/blog/feature-engineering-tools. [cited by applicant]
International Search Report and Written Opinion in PCT/GB2023/051192 mailed on Jul. 27, 2023. [cited by applicant]
Gelman, et al. “That Excalated Quickly: An ML Framework for Alert Prioritization” ARXIV.org, Cornell University, Feb. 13, 2023. [cited by applicant]
International Preliminary Report on Patentability in PCT/GB2023/051192 mailed on Nov. 21, 2024. [cited by applicant]