IP Library Granted Patent US 12,694,224
Granted Patent B2
US 12,694,224 · App. 18/673,524 · Granted Jul 28, 2026

Detecting random and/or algorithmically-generated character sequences in domain names

Inventors: Hung-Jen Chang (Freemont, CA); Gaurav Mitesh Dalal (Fremont, CA); Ali Mesdaq (San Jose, CA)
Assignee: Proofpoint, Inc.
G06F40/30G06F40/216G06N20/20
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,694,224
App. No.
18/673,524
Filed
May 24, 2024
Granted
Jul 28, 2026
Kind
B2
Art Unit
2655
USPC
704/9
Abstract

Aspects of the disclosure relate to detecting random and/or algorithmically-generated character sequences in domain names. A computing platform may train a machine learning model based on a set of semantically-meaningful words. Subsequently, the computing platform may receive a seed string and a set of domains to be analyzed in connection with the seed string. Based on the machine learning model, the computing platform may apply a classification algorithm to the seed string and the set of domains, where applying the classification algorithm to the seed string and the set of domains produces a classification result. Thereafter, the computing platform may store the classification result.

Claims (57)

1 . A computing platform, comprising:

at least one processor;

a communication interface; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

train a machine learning model based on a set of semantically-meaningful words, wherein training the machine learning model includes:

accessing a dictionary of words;

based on accessing the dictionary of words, generating a plurality of counterpart samples for training purposes;

receive a seed string and a set of domains to be analyzed in connection with the seed string;

based on the machine learning model, apply a classification algorithm to the seed string and the set of domains, wherein applying the classification algorithm to the seed string and the set of domains produces a classification result and includes:

calculating similarity scores for domain segments in the set of domains in view of seed segments in the seed string;

preliminarily classifying each domain segment based on its corresponding similarity score;

inputting domain segments preliminarily classified as random into the machine learning model to obtain a prediction score; and

determining, based on a weighted summation of the similarity score and the prediction score, whether a given domain is classified as random or not-random; and

store the classification result.

2 . The computing platform of claim 1 , wherein the set of semantically meaningful words is selected from the dictionary of words.

3 . The computing platform of claim 1 , wherein training the machine learning model further comprises training a bagging classifier associated with ensemble meta-algorithms.

4 . The computing platform of claim 1 , wherein receiving the seed string and the set of domains to be analyzed in connection with the seed string comprises receiving the seed string and the set of domains to be analyzed from a cybersecurity server or one or more user devices.

5 . The computing platform of claim 1 , wherein receiving the seed string and the set of domains to be analyzed in connection with the seed string comprises receiving a set of seed-domain string pairs to investigate.

6 . The computing platform of claim 5 , wherein receiving the seed string and the set of domains to be analyzed in connection with the seed string comprises preparing a feature vector for each string pair in the set of seed-domain string pairs.

7 . The computing platform of claim 1 , wherein determining whether a given domain is classified as random or not-random further includes:

calculating a weighted average based on the weighted summation, wherein the weighted average is a numerical value between 0 and 1 and indicative of whether a given domain is classified as random, indeterminate, or not-random.

8 . The computing platform of claim 1 , wherein storing the classification result comprises identifying a first domain as being classified as indeterminate and adding the first domain to set of domains requiring further investigation.

9 . The computing platform of claim 1 , wherein storing the classification result comprises identifying a second domain as being classified as not-random and generating an alert to an entity associated with the second domain.

10 . The computing platform of claim 1 , wherein storing the classification result comprises updating tuning data that causes the computing platform to improve modeling results associated with the machine learning model.

11 . The computing platform of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

send, via the communication interface, to a cybersecurity server, the classification result, wherein sending the classification result to the cybersecurity server causes the cybersecurity server to update one or more security algorithms.

12 . The computing platform of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

send, via the communication interface, to a user device, the classification result, wherein sending the classification result to the user device causes the user device to present an analysis user interface.

13 . The computing platform of claim 1 , wherein each counterpart sample is a scrambled version of a word from the dictionary of words.

14 . A method, comprising:

at a computing platform comprising at least one processor, a communication interface, and memory:

training, by the at least one processor, a machine learning model based on a set of semantically-meaningful words, wherein training the machine learning model includes:

accessing a dictionary of words;

based on accessing the dictionary of words, generating a plurality of counterpart samples for training purposes;

receiving, by the at least one processor, a seed string and a set of domains to be analyzed in connection with the seed string;

based on the machine learning model, applying, by the at least one processor, a classification algorithm to the seed string and the set of domains, wherein applying the classification algorithm to the seed string and the set of domains produces a classification result and includes:

calculating similarity scores for domain segments in the set of domains in view of seed segments in the seed string;

preliminarily classifying each domain segment based on its corresponding similarity score;

inputting domain segments preliminarily classified as random into the machine learning model to obtain a prediction score; and

determining, based on a weighted summation of the similarity score and the prediction score, whether a given domain is classified as random or not-random; and

storing, by the at least one processor, the classification result.

15 . The method of claim 14 , wherein the set of semantically meaningful words is selected from the dictionary of words.

16 . The method of claim 14 , wherein training the machine learning model comprises training a bagging classifier associated with ensemble meta-algorithms.

17 . The method of claim 14 , wherein receiving the seed string and the set of domains to be analyzed in connection with the seed string comprises receiving the seed string and the set of domains to be analyzed from a cybersecurity server or one or more user devices.

18 . The method of claim 14 , wherein receiving the seed string and the set of domains to be analyzed in connection with the seed string comprises receiving a set of seed-domain string pairs to investigate.

19 . The method of claim 14 , wherein each counterpart sample is a scrambled version of a word from the dictionary of words.

20 . One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, a communication interface, and memory, cause the computing platform to:

train a machine learning model based on a set of semantically-meaningful words, wherein training the machine learning model includes:

accessing a dictionary of words;

based on accessing the dictionary of words, generating a plurality of counterpart samples for training purposes,;

receive a seed string and a set of domains to be analyzed in connection with the seed string;

based on the machine learning model, apply a classification algorithm to the seed string and the set of domains, wherein applying the classification algorithm to the seed string and the set of domains produces a classification result and includes:

calculating similarity scores for domain segments in the set of domains in view of seed segments in the seed string;

preliminarily classifying each domain segment based on its corresponding similarity score;

inputting domain segments preliminarily classified as random into the machine learning model to obtain a prediction score; and

determining, based on a weighted summation of the similarity score and the prediction score, whether a given domain is classified as random or not-random; and

store the classification result.

Assignments (2)
INTELLECTUAL PROPERTY AGREEMENT SUPPLEMENT Recorded Dec 9, 2025
From: PROOFPOINT, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 073910/0027 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 8, 2025
From: PROOFPOINT, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 073889/0677 →
Continuity (3)
Continuation 17529947 · Nov 18, 2021
Provisional Application 63143610 · Jan 29, 2021
Related Publication 20240311572A1 · Sep 19, 2024
References Cited (23)
US 9531581B1 · Adkins, III et al. · 2016 [cited by applicant]
US 10609081B1 · Appala et al. · 2020 [cited by applicant]
US 12026469B2 · Chang · 2024 [cited by examiner]
US 20130191915A1 · Antonakakis · 2013 [cited by examiner]
US 20150358276A1 · Liu et al. · 2015 [cited by applicant]
US 20160006693A1 · Salcedo · 2016 [cited by applicant]
US 20160373479A1 · Akcin · 2016 [cited by applicant]
US 20180351972A1 · Yu · 2018 [cited by examiner]
US 20190089721A1 · Pereira · 2019 [cited by examiner]
US 20190347571A1 · Qadir et al. · 2019 [cited by applicant]
US 20200267119A1 · Huffner et al. · 2020 [cited by applicant]
US 20200287913A1 · Buck · 2020 [cited by applicant]
US 20200304540A1 · Chang et al. · 2020 [cited by applicant]
US 20210021636A1 · Sbandi · 2021 [cited by applicant]
Heigold et al. “How Robust Are Character-Based Word Embeddings in Tagging and MT Against Wrod Scramlbing or Randdm Nouse?”. Proceedings of AMTA 2018, vol. 1: MT Research Track Boston, Mar. 17-21, 2018 (Year: 2018). [cited by examiner]
Highnam et al. “Real-Time Detection of Dictionary DGA Network Traffic using Deep Learning”. arXiv:2003.12805v1 [cs.CR] Mar. 28, 2020 (Year: 2020). [cited by examiner]
Ghosh et al. “Using Auxiliary Inputs in Deep Learning Models for Detecting DGA-based Domain Names”. ICOIN 2021 (Year: 2020). [cited by examiner]
Anderson et al. “DeepDGA: Adversarially-Tuned Domain Generation and Detection”. AlSec'16 (Year: 2016). [cited by examiner]
Nov. 5, 2024—(EP) Office Action—App 21218399.0. [cited by applicant]
Jeffrey Pennington et al., “GloVe: Global Vectors for Word Representation”, Web Archive webpage, Sep. 25, 2016, XP055444350, Retrieved from the Internet: URL: http;//web.archive.org/web/20160925004021/https://nlp.stanfo… [cited by applicant]
Khormali Amonollah et al: “Domain name system security and privacy: A contemporary survey”, Computer Networks, Elsevier, Amsterdam, NL, vol. 185, Dec. 2, 2020, XP086441073, ISSN: 1389-1286, DOI: 10.1016/J.Comnet.2020.10… [cited by applicant]
Nov. 17, 2023—(US) Non-Final Office Action—U.S. Appl. No. 17/529,947. [cited by applicant]
Feb. 29, 2024—(US) Notice of Allowance—U.S. Appl. No. 17/529,947. [cited by applicant]