IP Library Granted Patent US 11,757,901
Granted Patent B2
US 11,757,901 · App. 17/946,900 · Granted Sep 12, 2023

Malicious homoglyphic domain name detection and associated cyber security applications

Inventors: Vincent Mutolo (Portsmouth, NH); Alexander Chinchilli (Medford, MA); Sean Moore (Hollis, NH); Matthew Sparrow (Virginia Beach, VA); Connor Tess (Merrimack, NH)
Assignee: Centripetal Networks, LLC
H04L63/14H04L61/4511H04L63/1416H04L63/1433H04L63/1483
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 11,757,901
App. No.
17/946,900
Granted
Sep 12, 2023
Kind
B2
Abstract

Malicious homoglyphic domain name (MHDN) detection and associated cyber security applications are described. A domain name may be received that may be a potential MHDN. Homoglyphic domain name detection may be performed by, for example, generating a normalized character string corresponding to the input domain name by applying one or more normalization operations to the input domain name, wherein the one or more normalization operations may be configured to reduce homoglyphic characteristics in the input domain name; and generating a plurality of segmentations of the normalized character string, wherein generating each segmentation, of the plurality of segmentations, may comprise segmenting the normalized character string into a respective plurality of segments, and wherein each segmentation may comprise a different plurality of segments. A segmentation may be selected based on cost values corresponding to each respective segmentation determined using a cost function. The received domain name may be determined to be a homoglyphic domain name based on a determination that one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names.

Claims (95)

1. A computing device for homoglyphic domain name detection, wherein the computing device comprises:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

receive an input domain name for homoglyphic domain name detection;

generate a normalized character string corresponding to the input domain name by applying one or more normalization operations to the input domain name, wherein the one or more normalization operations are configured to reduce homoglyphic characteristics in the input domain name;

generate a plurality of segmentations of the normalized character string, wherein generating each segmentation, of the plurality of segmentations, comprises segmenting the normalized character string into a respective plurality of segments, and wherein each segmentation comprises a different plurality of segments;

select a first segmentation, of the plurality of segmentations, based on cost values corresponding to each respective segmentation determined using a cost function, wherein the cost function is configured to assign a cost value to a given segmentation based on at least one list of known domain names;

compare the selected first segmentation with the at least one list of known domain names to determine whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names;

determine that the input domain name is a homoglyphic domain name based on a determination that the one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names; and

output, based on the determination that the input domain name is a homoglyphic domain name, an indication that the input domain name has been detected as a homoglyphic domain name, wherein the indication comprises at least one of:

the matched base of the known domain name; or

the one or more segments that match the base of the known domain name.

2. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to generate the normalized character string by at least one of:

replacing at least one non-English language letter in the input domain name with at least one corresponding English language letter;

replacing a number in the input domain name with a corresponding letter; or

replacing a capitalized letter in the input domain name with a corresponding lowercase letter.

3. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to generate the normalized character string by:

removing, from the input domain name, an effective top-level domain (eTLD);

replacing one or more confusable characters with one or more corresponding American Standard Code for Information Interchange (ASCII) characters; and

removing, from the input domain name, non-ASCII-compatible text.

4. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

determine, for each segmentation of the plurality of segmentations, the respective cost values,

wherein the cost function is configured to assign a cost value to a given segmentation based on a likelihood that the plurality of segments of the given segmentation occur in the at least one list of known domain names.

5. The computing device of claim 4 , wherein the cost function is configured to assign a cost value to a given segmentation based on a watchlist of known words associated with cybersecurity vulnerabilities.

6. The computing device of claim 4 , wherein the cost function is configured to assign a cost value to a given segmentation further based on at least one of:

popularity associated with one or more segments of the given segmentation, or

a misspelling of a word in one or more segments of the given segmentation.

7. The computing device of claim 4 , wherein the instructions, when executed by the one or more processors, cause the computing device to determine whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names by causing the computing device to determine whether the one or more segments comprises a word included in a domain name in the at least one list of known domain names.

8. The computing device of claim 1 , wherein the at least one list of known domain names comprises at least one of:

a list of popular domains; or

a watchlist of domain names associated with flail one or more protected customers.

9. The computing device of claim 1 , wherein the indication comprises the input domain name and at least one of:

the one or more segments of the selected first segmentation, or

the normalized character string.

10. The computing device of claim 1 , wherein the indication comprises metadata corresponding to a likelihood that the input domain name is a malicious homoglyphic domain name (MHDN).

11. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the computing device to determine whether the input domain name is a malicious homoglyphic domain name (MHDN) based on:

determining that the input domain name imitates a corresponding known domain name, of the at least one list of known domain names, based on a known malicious homoglyphic characteristic.

12. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to determine that the input domain name imitates a corresponding known domain name by:

determining a likelihood that the input domain name is an MHDN based on a fitness function generated based on a plurality of known MHDNs; and

determining that the likelihood that the input domain name is an MHDN satisfies a threshold likelihood.

13. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

before generating the normalized character string, determine that the input domain name is in an acceptable format for homoglyphic domain name detection, wherein the acceptable format is based on at least one of:

the input domain name being absent from the at least one list of known domain names; or

the input domain name satisfying a maximum length requirement.

14. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to receive the input domain name by receiving a domain name system (DNS) query request comprising the input domain name.

15. The computing device of claim 14 , wherein the instructions, when executed by the one or more processors, cause the computing device to send the indication that the input domain name has been detected as a homoglyphic domain name by sending the indication in response to the DNS query request.

16. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to detect the input domain name in an electronic communication on a protected customer network.

17. A method for homoglyphic domain name detection, wherein the method comprises:

receiving, by a computing device, an input domain name for homoglyphic domain name detection;

generating a normalized character string corresponding to the input domain name by applying one or more normalization operations to the input domain name, wherein the one or more normalization operations are configured to reduce homoglyphic characteristics in the input domain name;

generating a plurality of segmentations of the normalized character string, wherein generating each segmentation, of the plurality of segmentations, comprises segmenting the normalized character string into a respective plurality of segments, and wherein each segmentation comprises a different plurality of segments;

selecting a first segmentation, of the plurality of segmentations, based on cost values corresponding to each respective segmentation determined using a cost function, wherein the cost function is configured to assign a cost value to a given segmentation based on at least one list of known domain names;

comparing the selected first segmentation with the at least one list of known domain names to determine whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names;

determining that the input domain name is a homoglyphic domain name based on a determination that the one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names; and

outputting, based on the determination that the input domain name is a homoglyphic domain name, an indication that the input domain name has been detected as a homoglyphic domain name, wherein the indication comprises at least one of:

the matched base of the known domain name; or

the one or more segments that match the base of the known domain name.

18. The method of claim 17 , further comprising:

determining, for each segmentation of the plurality of segmentations, the respective cost values,

wherein the cost function is configured to assign a cost value to a given segmentation based on a likelihood that the plurality of segments of the given segmentation occur in the at least one list of known domain names.

19. The method of claim 18 , wherein the cost function is configured to assign a cost value to a given segmentation based on a watchlist of known words associated with cybersecurity vulnerabilities.

20. The method of claim 18 , wherein the cost function is configured to assign a cost value to a given segmentation further based on at least one of:

popularity associated with one or more segments of the given segmentation, or

a misspelling of a word in one or more segments of the given segmentation.

21. The method of claim 18 , further comprising determining whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names by determining whether the one or more segments comprises a word included in a domain name in the at least one list of known domain names wherein.

22. The method of claim 17 , wherein the indication comprises metadata corresponding to a likelihood that the input domain name is a malicious homoglyphic domain name (MHDN), and wherein the method further comprises determining whether the input domain name is a malicious homoglyphic domain name (MHDN) based on:

determining that the input domain name imitates a corresponding known domain name, of the at least one list of known domain names, based on a known malicious homoglyphic characteristic.

23. The method of claim 17 , further comprising:

before generating the normalized character string, determining that the input domain name is in an acceptable format for homoglyphic domain name detection, wherein the acceptable format is based on at least one of:

the input domain name being absent from the at least one list of known domain names; or

the input domain name satisfying a maximum length requirement.

24. One or more non-transitory computer-readable media having instructions stored thereon for homoglyphic domain name detection that, when executed by one or more computing devices, cause the one or more computing devices to:

receive an input domain name for homoglyphic domain name detection;

generate a normalized character string corresponding to the input domain name by applying one or more normalization operations to the input domain name, wherein the one or more normalization operations are configured to reduce homoglyphic characteristics in the input domain name;

generate a plurality of segmentations of the normalized character string, wherein generating each segmentation, of the plurality of segmentations, comprises segmenting the normalized character string into a respective plurality of segments, and wherein each segmentation comprises a different plurality of segments;

select a first segmentation, of the plurality of segmentations, based on cost values corresponding to each respective segmentation determined using a cost function, wherein the cost function is configured to assign a cost value to a given segmentation based on at least one list of known domain names;

compare the selected first segmentation with at least one list of known domain names to determine whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names;

determine that the input domain name is a homoglyphic domain name based on a determination that the one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names; and

output, based on the determination that the input domain name is a homoglyphic domain name, an indication that the input domain name has been detected as a homoglyphic domain name, wherein the indication comprises at least one of:

the matched base of the known domain name; or

the one or more segments that match the base of the known domain name.

25. The one or more non-transitory computer-readable media of claim 24 , wherein the instructions, when executed by one or more computing devices, further cause the one or more computing devices to:

determine, for each segmentation of the plurality of segmentations, the respective cost values,

wherein the cost function is configured to assign a cost value to a given segmentation based on a likelihood that the plurality of segments of the given segmentation occur in the at least one list of known domain names.

26. The one or more non-transitory computer-readable media of claim 25 , wherein the cost function is configured to assign a cost value to a given segmentation based on a watchlist of known words associated with cybersecurity vulnerabilities.

27. The one or more non-transitory computer-readable media of claim 25 , wherein the cost function is configured to assign a cost value to a given segmentation based on at least one of:

popularity associated with one or more segments of the given segmentation, or

a misspelling of a word in one or more segments of the given segmentation.

28. The one or more non-transitory computer-readable media of claim 25 , wherein the instructions, when executed by the one or more computing devices, cause the one or more computing devices to determine whether one or more segments of the selected first segmentation match a base of a known domain name in the at least one list of known domain names by causing the one or more computing devices to determine whether the one or more segments comprises a word included in a domain name in the at least one list of known domain names.

29. The one or more non-transitory computer-readable media of claim 24 , wherein the indication comprises metadata corresponding to a likelihood that the input domain name is a malicious homoglyphic domain name (MHDN), and wherein the instructions, when executed by one or more computing devices, cause the one or more computing devices to determine whether the input domain name is a malicious homoglyphic domain name (MHDN) based on:

determining that the input domain name imitates a corresponding known domain name, of the at least one list of known domain names, based on a known malicious homoglyphic characteristic.

30. The one or more non-transitory computer-readable media of claim 24 , wherein the instructions, when executed by one or more computing devices, further cause the one or more computing devices to:

before generating the normalized character string, determine that the input domain name is in an acceptable format for homoglyphic domain name detection, wherein the acceptable format is based on at least one of:

the input domain name being absent from the at least one list of known domain names; or

the input domain name satisfying a maximum length requirement.

Assignments (2)
CHANGE OF NAME Recorded Feb 7, 2023
From: CENTRIPETAL NETWORKS, INC.
To: CENTRIPETAL NETWORKS, LLC
Reel/Frame 062666/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2022
From: MUTOLO, VINCENT; CHINCHILLI, ALEXANDER; MOORE, SEAN; SPARROW, MATTHEW; TESS, CONNOR
To: CENTRIPETAL NETWORKS, INC.
Reel/Frame 061768/0498 →
Continuity (3)
Provisional Application 63345719 · May 25, 2022
Provisional Application 63245074 · Sep 16, 2021
Related Publication 20230083949A1 · Mar 16, 2023
Cited By (1)
US 12,278,822