IP Library Granted Patent US 12,346,801
Granted Patent B2
US 12,346,801 · App. 17/093,606 · Granted Jul 1, 2025

Multi-level ensemble classifiers for cybersecurity machine learning applications

Inventors: John W. Conwell (Tukwila, WA); Sean M. McNee (Seattle, WA)
Assignee: Domain Tools Holdings, LLC
G06N3/08G06N3/045H04L63/1416
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,346,801
App. No.
17/093,606
Filed
Nov 9, 2020
Granted
Jul 1, 2025
Kind
B2
Art Unit
2124
USPC
706/20
Abstract

Methods, systems, and techniques for producing and using enhanced machine learning models and computer-implemented tools to investigate cybersecurity related data and threat intelligence data are provided. Example embodiments provide an Enhanced Predictive Security System, for building, deploying, and managing applications for evaluating threat intelligence data that can predict malicious domains associated with bad actors before the domains are known to be malicious. In one example, the EPSS comprises one or more components that work together to provide an architecture and a framework for building and deploying cybersecurity threat analysis application, including machine learning algorithms, feature class engines, tuning systems, ensemble classifier engines, and validation and testing engines. These components cooperate and act upon domain data and feature class vectors to create sampled test, training, and validation data and to build model subsets and applications using a trained model library, which stores definitions of each model subset for easy re-instantiation.

Claims (65)

1. A method in a computing system, comprising:

determining from a plurality of trained machine learning models stored in a repository, a plurality of model subsets, each model subset including a plurality of model instances sharing a same machine learning algorithm, same model tuning parameters, and same feature vector values as input data, and each of the plurality of model instances of a same model subset trained using a different sampling of training data, wherein each feature vector for each model subset encodes and transforms a subset of feature classes of interest to a respective model subset, and wherein at least two of the plurality of model subsets have different feature vectors;

for each of a plurality of model subsets,

under control of the computing system automatically executing each of the plurality of model instances of each model subset to produce a model output and combining the plurality of model outputs to produce a single model subset output;

forwarding the single model subset output to a plurality of ensemble master classifiers;

under control of at least one of the plurality of ensemble master classifiers, automatically,

receiving as input the single model subset output from at least two different model subsets, wherein each of the single model subset outputs result from processing different internet infrastructure data associated with different feature classes of interest;

initializing weights to correspond to each of the single model subset outputs from the at least two different model subsets thereby defining amount of participation of each of the model subsets participating in the at least one of the plurality of ensemble master classifiers;

performing a machine learning classification on the received input according to current weights associated with each of the single model subsets to generate a score;

optimizing the results of the performed classification by adjusting the weights and re-performing the machine learning classification to regenerate a score until a determined optimization value is satisfied; and

forwarding the score after the optimization value is satisfied as the final score of the ensemble master classifier; and

deploying the resultant optimized at least one of the plurality of ensemble master classifiers as a cybersecurity threat analyzer such that, when the deployed cybersecurity threat analyzer is applied to an input of an unknown domain that is not yet known to be malicious, the cybersecurity threat analyzer automatically predicts and indicates a metric as the final score, without human intervention in the prediction process, whether the unknown domain is malicious.

2. The method of claim 1 wherein the at least one of the plurality of ensemble master classifiers is a deep neural network.

3. The method of claim 1 wherein at least one of the plurality of ensemble master classifiers is an SVM, a Logistic Regression, a Bayesian classifier, a decision tree, a random forest, or gradient boosted tree.

4. The method of claim 1 wherein the same machine learning algorithm shared by model instances of at least one model subset is a one of a generalized linear model, a kernel-based method, a Bayesian-based method, a decision tree, or a deep neural network.

5. The method of claim 1 wherein each ensemble master classifier of the plurality of ensemble master classifiers is associated with an application.

6. The method of claim 5 wherein the application is a phishing detection application or a spam detection application.

7. The method of claim 5 wherein the application is a malware detection application.

8. The method of claim 5 wherein the single model subset output of at least one of the model subsets is forwarded to multiple ensemble master classifiers.

9. The method of claim 1 wherein the single model subset output of each model subset comprises potentially two values wherein a first value is a Boolean classification value or an indication of a likelihood of classification and wherein a second value is an indication of existence of a classification score or confidence in the likelihood of classification.

10. The method of claim 9 wherein the single model subset output of each model subset comprises two values wherein the first value is a Boolean classification value and wherein the second value indicates existence of a score.

11. The method of claim 9 wherein the single model subset output of each model subset comprises two values wherein the first value is a likelihood of classification and wherein the second value indicates confidence in the likelihood of classification.

12. The method of claim 1 wherein the final score comprises a Boolean classification value or an indication of a likelihood of classification.

13. The method of claim 12 wherein the final score comprises a Boolean classification value and indicates existence of a final score.

14. The method of claim 12 wherein the final score comprises a likelihood of classification and indicates confidence in the final score.

15. The method of claim 12 wherein the final score further comprises an indication of existence of a classification score or confidence in the final score.

16. The method of claim 1 wherein the optimizing the results and re-performing the machine learning classification to regenerate a score is performed using gradient descent optimization.

17. The method of claim 1 wherein the internet infrastructure data comprises one or more of domain names, whois information, IP addresses, DNS record data, pDNS activity, on-page HTML content, and SSL certificates.

18. The method of claim 1 wherein at least two of the plurality of model subsets correspond to different internet infrastructure data and correspondingly each of the at least two model subsets correspond to different feature classes of internet infrastructure data.

19. The method of claim 1 wherein at least one of the two different model subsets classifies domain name information.

20. The method of claim 1 , further comprising:

under control of a second ensemble master classifier,

receiving as input the single model subset output from at least one model subset; and

using the single model subset output to generate a final score without iteration through another machine learning algorithm.

21. The method of claim 20 wherein the second ensemble master classifier employs voting, ranking, or bagging to generate the final score.

22. The method of claim 20 wherein the final score comprises a Boolean value or an indication of a likelihood of classification.

23. The method of claim 22 wherein the final score further comprises an indication of existence of or confidence for the final score.

24. The method of claim 1 , further comprising:

storing in the repository metadata associated with each of the plurality of model subsets, the metadata including sufficient information to programmatically create each model subset.

25. The method of claim 24 wherein the metadata associated with each model subset includes an indication of a machine learning algorithm, a set of hyper parameters for tuning the indicated machine learning algorithm, a description of feature class information used to build an associated input feature vector, an indication of a source for training data, and an indication of training data sampling parameters.

26. A computing system configured to automatically classify a domain as spam, malware, or phishing, comprising:

a data repository having stored therein a plurality of trained machine learning models;

a feature class selection and transformation module configured to determine from the data repository a plurality of model subsets, each model subset including a plurality of model instances sharing a same machine learning algorithm, same model tuning parameters, and same feature vector values as input data, and each of the plurality of model instances of a same model subset trained using a different sampling of training data, wherein each feature vector for each model subset encodes and transforms a subset of feature classes of interest to a respective model subset, and wherein at least two of the plurality of model subsets have different feature vectors;

an ensemble classifier engine configured to, for each of a plurality of model subsets,

automatically execute each of the plurality of model instances of each model subset to produce a model output and combining the plurality of model outputs to produce a single model subset output;

forward the single model subset output to a plurality of ensemble master classifiers;

under control of at least one of the plurality of ensemble master classifiers, automatically,

receive as input the single model subset output from at least two different model subsets, wherein each of the single model subset outputs result from processing different internet infrastructure data associated with different feature classes of interest;

initialize weights to correspond to each of the single model subset outputs from the at least two different model subsets thereby defining amount of participation of each of the model subsets participating in the at least one of the plurality of ensemble master classifiers;

perform a machine learning classification on the received input according to current weights associated with each of the single model subsets to generate a score;

optimize the results of the performed classification by adjusting the weights and re-performing the machine learning classification to regenerate a score until a determined optimization value is satisfied; and

forward the score after the optimization value is satisfied as the final score of the ensemble master classifier; and

a cybersecurity threat analyzer configured to deploy the resultant optimized at least one of the plurality of ensemble master classifiers that, upon receiving input of an unknown domain that is not yet known to be malicious, automatically predicts and indicates a metric as the final score, without human intervention in the prediction process, whether the unknown domain is malicious.

27. A computer-readable memory medium containing instructions for controlling a computer processor, when executed, to classify a domain as spam, malware, or phishing by performing a method comprising:

determining from a plurality of trained machine learning models stored in a repository, a plurality of model subsets, each model subset including a plurality of model instances sharing a same machine learning algorithm, same model tuning parameters, and same feature vector values as input data, and each of the plurality of model instances of a same model subset trained using a different sampling of training data, wherein each feature vector for each model subset encodes and transforms a subset of feature classes of interest to a respective model subset, and wherein at least two of the plurality of model subsets have different feature vectors;

for each of a plurality of model subsets,

under control of the computing system automatically executing each of the plurality of model instances of each model subset to produce a model output and combining the plurality of model outputs to produce a single model subset output;

forwarding the single model subset output to a plurality of ensemble master classifiers;

under control of at least one of the plurality of ensemble master classifiers, automatically,

receiving as input the single model subset output from at least two different model subsets, wherein each of the single model subset outputs result from processing different internet infrastructure data associated with different feature classes of interest;

initializing weights to correspond to each of the single model subset outputs from the at least two different model subsets thereby defining amount of participation of each of the model subsets participating in the at least one of the plurality of ensemble master classifiers;

performing a machine learning classification on the received input according to current weights associated with each of the single model subsets to generate a score;

optimizing the results of the performed classification by adjusting the weights and re-performing the machine learning classification to regenerate a score until a determined optimization value is satisfied; and

forwarding the score after the optimization value is satisfied as the final score of the ensemble master classifier; and

deploying the resultant optimized at least one of the plurality of ensemble master classifiers as a cybersecurity threat analyzer such that, when the deployed cybersecurity threat analyzer is applied to an input of an unknown domain that is not yet known to be malicious, the cybersecurity threat analyzer automatically predicts and indicates a metric as the final score, without human intervention in the prediction process, whether the unknown domain is malicious.

Assignments (3)
SECURITY INTEREST Recorded Oct 14, 2025
From: DOMAINTOOLS, LLC; FARSIGHT SECURITY, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 072569/0441 →
NUNC PRO TUNC ASSIGNMENT Recorded Mar 12, 2021
From: DOMAIN TOOLS HOLDINGS, LLC
To: DOMAINTOOLS, LLC
Reel/Frame 055577/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2020
From: CONWELL, JOHN W.; MCNEE, SEAN M.
To: DOMAIN TOOLS HOLDINGS, LLC
Reel/Frame 054484/0012 →
Continuity (1)
Related Publication 20220147815A1 · May 12, 2022
References Cited (23)
US 20120158626A1 · Zhu · 2012 [cited by examiner]
US 20170099319A1 · Hunt · 2017 [cited by examiner]
US 20200059451A1 · Huang · 2020 [cited by examiner]
US 20200065384A1 · Costello · 2020 [cited by applicant]
CN 111200576A · 2020 [cited by applicant]
Basic Ensemble Learning (Random Forest, AdaBoost, Gradient Boosting)—Step by Step Explained by Chen. (https://towardsdatascience.com/basic-ensemble-learning-random-forest-adaboost-gradient-boosting-step-by-step-explaine… [cited by examiner]
Extended European Search Report issued Mar. 25, 2024, by the European Patent Office, for European Application No. 21889891.4, for 5 pages. [cited by applicant]
Rule 70(2) and 70a(2) Office Action issued Apr. 11, 2024, by the European Patent Office, for European Application No. 21889891.4, for 1 page. [cited by applicant]
Acohido, Byron, “DNS Forensics: Where Intuition Meets Experience,” DomainTools, 2017, 10 pages. [cited by applicant]
Koren, Yehuda, “The BellKor Solution to the Netflix Grand Prize,” Aug. 2009, 10 pages. [cited by applicant]
“Leveraging Risk Scoring for Threat Hunting: DomainTools Risk Score,” DomainTools, retrieved from the Internet at https://www.domaintools.com/resources/blog/leveraging-risk-scoring-for-threat-hunting-domaintools-risk-sc… [cited by applicant]
Parikh, Jugal et al., “Protecting the Protector, Hardening Machine Learning Defenses Against Adversarial Attacks,” Black Hat USA, Las Vegas, Nevada, Aug. 9, 2018, 2 pages. [cited by applicant]
Parikh, Jugal et al., “Protecting the Protector: Hardening Machine Learning Defenses Against Adversarial Attacks,” Microsoft, 2018, 68 pages. [cited by applicant]
Piotte, Martin et al., “The Pragmatic Theory solution to the Netflix Grand Prize,” Pragmatic Theory Inc., Canada, Aug. 2009, pp. 1-92. [cited by applicant]
Smith, Randy F. et al., “Detecting Malicious Domains Using Artificial Intelligence and Machine Learning,” DomainTools, 2019, 7 pages. [cited by applicant]
Stokes, Jack W. et al., “Attack and Defense of Dynamic Analysis-Based, Adversarial Neural Malware Classification Models,” arXiv.1712.05919v1 [cs.CR], Dec. 16, 2017, 12 pages. [cited by applicant]
“The new ‘Hotness’ at DomainTools, Introducing Domain Hotlist,” DomainTools, retrieved from the Internet at https://www.domaintools.com/resources/blog/the-new-hotness-at-domaintools-introducing-domain-hotlist on May 31,… [cited by applicant]
“Threat Intelligence Playbook: Making Sense of Indicators,” DomainTools, 2018, 6 pages. [cited by applicant]
Toescher, Andreas et al., “The BigChaos, Solution to the Netflix Grand Prize,” Commendo Research & Consulting, Koeflach, Austria; AT&T Labs-Research, Florham Park, New Jersey; Sep. 5, 2009; 52 pages. [cited by applicant]
Treit, Randy, “Detonating a bad rabbit: Windows Defender Antivirus and layered machine learning defenses,” Microsoft, retrieved from the Internet at https://www.microsoft.com/security/blog/2017/12/11/detonating-a-bad-ra… [cited by applicant]
Treit, Randy et al., “Protecting the protector: Hardening machine learning defenses against adversarial attacks,” Microsoft, retrieved from the Internet at https://www.microsoft.com/security/blog/2018/08/09/protecting-t… [cited by applicant]
“What is Cybersecurity Forensics?,” DomainTools, retrieved from the Internet at https://www.domaintools.com/resources/blog/what-is-cybersecurity-forensics on May 31, 2020, 2 pages. [cited by applicant]
International Search Report and Written Opinion issued in PCT Application No. PCT/US2021/057633, international filing date Nov. 1, 2021, on Feb. 3, 2022. [cited by applicant]
Cited By (1)
US 12,657,290