IP Library Granted Patent US 12,238,138
Granted Patent B2
US 12,238,138 · App. 17/861,323 · Granted Feb 25, 2025

Method and device for clustering phishing web resources based on visual content image

Inventors: Boris Zverkov (Tula, RU); Nikolay Prudkovskiy (Moscow, RU)
Assignee: F.A.C.C.T. ANTIFRAUD LLC
H04L63/1483G06V10/44G06V10/751G06V10/761G06V10/763G06V10/7635G06V2201/09
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,238,138
App. No.
17/861,323
Granted
Feb 25, 2025
Kind
B2
Abstract

A method and a computing device for clustering phishing web resources based on images of visual content thereof are provided. The method comprises: receiving references to a plurality of phishing web resources; generating, for a given phishing web resource of the plurality of phishing web resources, at least one image of a visual content of the given phishing web resource; analyzing the at least one image associated with the given phishing web resource, the analyzing comprising identifying contours of elements of the visual content of the given phishing web resource within the at least one image; conducting pairwise comparison between the contours associated with the given phishing web resource and contours of stored clusters of visual content images; and storing, in a database, data indicative of an association between the given phishing web resource and a respective cluster of the at least one image.

Claims (85)

1. A method for clustering phishing web resources based on images of visual content thereof, the method being executable by a computer device comprising a processor, the method comprising:

receiving, by the processor, references to a plurality of phishing web resources;

generating, by the processor, for a given phishing web resource of the plurality of phishing web resources, at least one image of a visual content of the given phishing web resource;

analyzing, by the processor, the at least one image associated with the given phishing web resource, the analyzing comprising:

identifying contours of elements of the visual content of the given phishing web resource within the at least one image;

identifying, among the contours, identical contours; and

removing the identical contours from further consideration;

conducting pairwise comparison between the contours associated with the given phishing web resource and contours of stored clusters of visual content images;

determining, by the processor, a respective similarity value between the contours associated with the given phishing web resource and contours of each stored cluster of the stored clusters;

in response to the respective similarity value associated with a given stored cluster exceeding a threshold value, adding the at least one image of the visual content of the given phishing web resource to the given stored cluster;

in response to the respective similarity value associated with each stored cluster being lower than the threshold value, creating a new cluster for the at least one image of the visual content of the given phishing web resource;

storing, in a database, data indicative of an association between the given phishing web resource and a respective cluster of the at least one image;

removing clusters containing less than three images;

adding the images of the removed clusters into a list of non-representative images; and

creating an adjacency matrix, a given element of which is representative of a number of matched contours between a given pair of the list of non-representative images.

2. The method of claim 1 , wherein the plurality of phishing web resources includes at least two phishing web resources.

3. The method of claim 1 , wherein the receiving the references to the plurality of phishing web resources comprises scanning a network to which the computing device is communicatively coupled.

4. The method of claim 1 , wherein the receiving the references to the plurality of phishing web resources comprises receiving at least some thereof from an external source via a network to which the computing device is communicatively coupled.

5. The method of claim 1 , wherein the receiving the references to the plurality of phishing web resources is from a preliminary-formed web resource database.

6. The method of claim 1 , wherein the identifying the contours of the elements of the visual content of the given phishing web resource comprises identifying contours of at least one of: logos, letter outlines, individual words, pictures, and forms.

7. The method of claim 1 , wherein the identifying the contours comprises applying at least one of: a Canny edge detector and a contour tracing algorithm.

8. The method of claim 1 , further comprising, prior to the conducting the pairwise comparison, removing from further consideration at least one of: small-size, oblique, and elongated contours.

9. The method of claim 1 , further comprising, prior to the conducting the pairwise comparison, identifying and removing from further consideration similar contours,

the similar contours differing in at least one of a height and a width by no more than two pixels.

10. The method of claim 1 , further comprising, prior to the conducting the pairwise comparison, for a given pair of contours within the at least one image associated with the given phishing web resource differing in at least one of a height and a width by two pixels or less:

superimposing the given pair of contours within the at least one image to determine a pixel difference between the given pair of contours;

determining, for the pixel difference, a respective similarity score (P) as an arithmetic mean of pixel values from each one of three Red, Green, and Blue (RGB) channels, in accordance with an equation:

P

=

i

-

1

N

Ri

+

i

-

1

N

Gi

+

i

-

1

N

Bi

N

,

where Ri, Gi, Bi is an i-th respective pixel value in the Red, Green, and Blue channels, respectively, of the pixel difference, and N—a total number of pixels in the pixel difference; and

if the respective similarity score does not exceed 7, removing the given pair of contours from further consideration.

11. The method of claim 1 , wherein in response to the respective similarity value associated with the given stored cluster exceeding the threshold value, prior to the adding the at least one image of the visual content of the given phishing web resource to the given stored cluster, the method further comprises:

determining a number of similar contours in the contours in the at least one image to respective ones of the stored contours in the given stored cluster;

in response to the number of the similar contours being less than two:

rejecting the at least one image from adding to the given stored cluster; and

generating a warning message about the at least one image being non-representative of the visual content of the given phishing web resource;

in response to the number of the similar contours being more than two but less than five, adding the at least one image to the given stored cluster if each one of the similar contours of the at least one image matches the respective ones of the stored contours of the given stored cluster;

in response to the number of the similar contours being more than five but less than ten, adding the at least one image associated with the given phishing web resource to the given stored cluster if at least a half of the similar contours of the at least one image matches the respective ones of the stored contours of the given stored cluster;

in response to number of the similar contours being more than ten but less than fifteen, adding the at least one image to the given stored cluster if a quarter of the similar contours of the at least one image matches the respective ones of the stored contours of the given stored cluster; and

in response to number of similar contours being more than fifteen, adding the at least one image to the given stored cluster if a one-fifth of the similar contours of the at least one image matches the respective ones stored contours of the given stored cluster.

12. The method of claim 1 , wherein in response to the respective similarity value associated with the given stored cluster exceeding the threshold value, prior to the adding the at least one image of the visual content of the given phishing web resource to the given stored cluster, the method further comprises:

in response to the given stored cluster containing less than two contours, removing the given stored cluster from the stored clusters.

13. The method of claim 1 , wherein the adding the at least one image of the visual content of the given phishing web resource to the given stored cluster is executed if the given stored cluster has a largest number of matches with the at least one image in contours among the stored clusters.

14. The method of claim 1 , further comprising:

if the number of matched contours is less than a predetermined threshold, replacing a value of the given element of the adjacency matrix with 0, else 1.

15. The method of claim 14 , further comprising:

determining, based on the adjacency matrix, strongly connected graph components, each of which has more than two images, and

determining, based on a given strongly connected graph component, a new cluster.

16. A computing device for clustering phishing content, the computing device comprising a processor and a non-transitory computer-readable memory storing instructions, and the processor, upon executing the instructions, being configured to:

receive references to a plurality of phishing web resources;

generate, for a given phishing web resource of the plurality of phishing web resources, at least one image of a visual content of the given phishing web resource;

analyze the at least one image associated with the given phishing web resource, by:

identifying contours of elements of the visual content of the given phishing web resource within the at least one image;

identifying, among the contours, identical contours; and

removing the identical contours from further consideration;

conduct pairwise comparison between the contours associated with the given phishing web resource and contours of stored clusters of visual content images;

determine a respective similarity value between the contours associated with the given phishing web resource and contours of each stored cluster of the stored clusters;

in response to the respective similarity value associated with a given stored cluster exceeding a threshold value, add the at least one image of the visual content of the given phishing web resource to the given stored cluster;

in response to the respective similarity value associated with each stored cluster being lower than the threshold value, create a new cluster for the at least one image of the visual content of the given phishing web resource;

store, in a database, data indicative of an association between the given phishing web resource and a respective cluster of the at least one image;

remove clusters containing less than three images;

add the images of the removed clusters into a list of non-representative images; and

create an adjacency matrix, a given element of which is representative of a number of matched contours between a given pair of the list of non-representative images.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: F.A.C.C.T. ANTIFRAUD LLC
To: GROUP-IB GLOBAL PRIVATE LIMITED
Reel/Frame 071438/0815 →
CHANGE OF NAME Recorded Jul 19, 2024
From: GROUP IB, LTD
To: F.A.C.C.T. ANTIFRAUD LLC
Reel/Frame 068462/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2022
From: ZVERKOV, BORIS; PRUDKOVSKIY, NIKOLAY
To: GROUP IB, LTD
Reel/Frame 060469/0805 →
Priority Claims (1)
RU RU2021114210 · May 20, 2021 · national
Continuity (2)
Continuation In Part 17749368 · May 20, 2022
Related Publication 20220385694A1 · Dec 1, 2022
References Cited (25)
US 5949913A · Shimazu · 1999 [cited by examiner]
US 6778703B1 · Zlotnick · 2004 [cited by examiner]
US 8381292B1 · Warner et al. · 2013 [cited by applicant]
US 8856937B1 · Wüest et al. · 2014 [cited by applicant]
US 10200381B2 · Hunt et al. · 2019 [cited by applicant]
US 11601460B1 · Hunt · 2023 [cited by examiner]
US 20070078846A1 · Iwanaga et al. · 2007 [cited by applicant]
US 20100095375A1 · Krishnamurthy et al. · 2010 [cited by applicant]
US 20100131499A1 · van Leuken · 2010 [cited by examiner]
US 20100186088A1 · Banerjee et al. · 2010 [cited by applicant]
US 20140294316A1 · Allamsetty · 2014 [cited by examiner]
US 20140359760A1 · Gupta et al. · 2014 [cited by applicant]
US 20150067839A1 · Gulli et al. · 2015 [cited by applicant]
US 20180115584A1 · Alhumaisan · 2018 [cited by examiner]
US 20180349722A1 · Chiang · 2018 [cited by examiner]
US 20190089910A1 · Banik · 2019 [cited by examiner]
US 20190222609A1 · Slipenchuk · 2019 [cited by examiner]
US 20200036751A1 · Kohavi · 2020 [cited by applicant]
US 20210312651A1 · Wang · 2021 [cited by examiner]
US 20220036614A1 · Lim · 2022 [cited by examiner]
CN 101826105B · 2013 [cited by applicant]
RU 2637477C1 · 2017 [cited by applicant]
RU 2676247C1 · 2018 [cited by applicant]
Search Report with regard to the counterpart NL Patent Application No. 2031940 completed Feb. 23, 2023. [cited by applicant]
Zhao et al., “A Review of Computer Vision Methods in Network Security”, arxiv.org, Cornell University Library, 2020, pp. 1-37. [cited by applicant]
Cited By (2)
US 12,506,777 US 12,712,913