IP Library Granted Patent US 12,235,952
Granted Patent B2
US 12,235,952 · App. 17/734,618 · Granted Feb 25, 2025

Method and system for prioritizing web-resources for malicious data assessment

Inventor: Sergey Valerevich Galtsev (Balashikha, RU)
Assignee: Y.E. Hub Armenia LLC
G06F21/55H04L47/82
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,235,952
App. No.
17/734,618
Granted
Feb 25, 2025
Kind
B2
Abstract

The disclosed systems and methods are for scheduling web-resources for a malicious data comprising receiving requests to publish web-resources, and generating a graph structure comprising: a parent nodes associated with parent web-resources, a zero-vertex node being connected with the of parent nodes via zero-vertex edges, child nodes associated with child web-resources, and web-resource edges connecting the parent nodes, child nodes and sub-child nodes. Using the graph structure, assigning, to a given child node a first assigned trust score based on a lowest trust score of a subset of parent nodes connected to the given child node in the graph structure such that a web-resource edge length connecting the given, child node and the subset of parent nodes is a representative of the first assigned trust score, applying a shortest-path algorithm for calculating a shortest-path and based on the shortest-path determining at least one web-resource prioritized for the malicious data assessment.

Claims (93)

1. A method for scheduling a plurality of web-resources for a malicious data assessment, the method executable by a processing server, the method comprising:

receiving, by the processing server, a plurality of requests to publish the plurality of web-resources;

generating, by the processing server, a graph structure comprising:

a plurality of parent nodes associated with a plurality of parent web-resources,

each of the plurality of parent nodes being assigned a respective trust score based on the association with the plurality of parent web-resources;

a zero-vertex node being connected with the plurality of parent nodes via a plurality of zero-vertex edges such that,

a zero-vertex edge length of each one of the plurality of zero-vertex edges representing the respective trust scores associated with the plurality of parent nodes;

a plurality of child nodes associated with a plurality of child web-resources;

a plurality of web-resource edges, a given web-resource edge of the plurality of web-resource edges connecting a given parent node of the plurality of parent nodes to a given child node of the plurality of child nodes such that,

a given parent web-resource associated with the given parent node is linked to a given child web-resource associated with the given child node by virtue of a first hyperlink from the given parent web-resource to the given child web-resource;

using the graph structure, assigning, by the processing server, to the given child node of the plurality of child nodes a first assigned trust score based on a lowest trust score of a subset of the plurality of parent nodes connected to the given child node in the graph structure such that,

a web-resource edge length of each one of the plurality of web-resource edges connecting the given child node and the subset of the plurality of parent nodes is a representative of the first assigned trust score;

applying, by the processing server, a shortest-path algorithm for calculating a shortest-path of all respective paths from the zero-vertex node to each child node, each one of the respective paths including a given zero-vertex edge and the given web-resource edge; and

determining, by the processing server, based on the shortest-path, at least one web-resource of the plurality of web-resources such that, the at least one web-resource is prioritized for the malicious data assessment.

2. The method of claim 1 , wherein the processing server is:

coupled to a search log comprising one or more search engine result pages generated in response to previously executed search queries and associated user interactions;

and wherein assigning the trust score to the given parent node comprises at least one of:

generating a ranking feature associated with the given parent web-resource associated with the given parent node, the ranking feature being indicative of an average ranking of the given parent web-resource within the one or more search engine result pages;

generating an interaction feature associated with the given parent web-resource associated with the given parent node, the interaction feature being indicative of user satisfaction with the given parent web-resource in response to interacting with the given parent web-resource within the one or more search engine result pages.

3. The method of claim 1 , wherein the processing server has access to:

a first list comprising a first set of web-resources labelled as being non-malicious web-resources;

a second list comprising a second set of web-resources labelled as being malicious web-resources;

wherein the assigning the respective trust score to each of the plurality of parent nodes comprises:

assigning a first trust score to the given parent node if the given parent web-resource associated with the given parent node is included in the first list;

assigning a second trust score to the given parent node if the given parent web-resource associated with the given parent node is included in the second list;

assigning a third trust score to the given parent node if the given parent web-resource is not included within the first list or the second list.

4. The method of claim 3 , wherein the method further comprises generating the first list and the second list based on searching, by the processing server, in a search log, wherein the search log is coupled to the processing server and comprises one or more searches previously executed and associated user activities.

5. The method of claim 3 , wherein the first trust score is greater than the second trust score and the third trust score.

6. The method of claim 3 , wherein the third trust score is greater than the second trust score.

7. The method of claim 1 , wherein generating the graph structure further comprises:

generating, by the processing server, a plurality of sub-child nodes associated with a plurality of sub-child web-resources, such that,

a given sub-child node of the plurality of sub-child nodes is connected to the given child node via an associated web-resource edge;

the given child web-resource associated with the given child node is linked to a given sub-child web-resource associated with the given sub-child node by virtue of a second hyperlink from the given child web-resource to the given sub-child web-resource;

using the graph structure, assigning, by the processing server, to the given sub-child node of the plurality of sub-child nodes a second assigned trust score based on an overall lowest trust score of: i) the subset of the plurality of parent nodes and ii) a subset of the plurality of child nodes connected to the given sub-child node in the graph structure such that,

the web-resource edge length of each one of the plurality of web-resource edges connecting the given sub-child node with the subset of the plurality of parent nodes and the subset of the plurality of child nodes is a representative of the second assigned trust score;

applying, by the processing server, the shortest-path algorithm for calculating an overall shortest-path of all respective paths from the zero-vertex node to each sub-child node, each one of the respective paths including the given zero-vertex edge and the plurality of web-resource edges connecting the given parent node, the given child node, and the given sub-child node; and

determining, by the processing server, based on the overall shortest-path, the at least one web-resource of the plurality of web-resources such that, the at least one web-resource is prioritized for the malicious data assessment.

8. The method of claim 7 , wherein the plurality of web-resources comprises the plurality of parent web-resources, the plurality of child web-resources, and the plurality of sub-child web-resources.

9. The method of claim 7 , wherein the method further comprises assessing, by the processing server, at least one of:

at least one parent web-resource which is prioritized for malicious data assessment;

at least one child web-resource which is prioritized for malicious data assessment;

at least one sub-child web-resource which is prioritized for malicious data assessment.

10. The method of claim 9 , wherein the method further comprises notifying, by the processing server, about the malicious data identified in one or more of: i) the at least one child web-resource, ii) the at least one sub-child web-resource, and iii) the at least one parent web-resource.

11. The method of claim 7 , wherein the method further comprises altering the second assigned trust score and the web-resource edge length of each one of the plurality of web-resource edges connecting the given sub-child node with the subset of the plurality of parent nodes and the subset of the plurality of child nodes.

12. The method of claim 11 , wherein altering the second assigned trust score includes one or more of:

decreasing the second assigned trust score and the web-resource edge length of each one of the plurality of web-resource edges connecting the given sub-child node with the subset of the plurality of parent nodes and the subset of the plurality of child nodes is reduced accordingly;

increasing the second assigned trust score and the web-resource edge length of each one of the plurality of web-resource edges connecting the given sub-child node with the subset of the plurality of parent nodes and the subset of the plurality of child nodes is increased accordingly.

13. The method of claim 1 , wherein the shortest-path algorithm corresponds to at least one of:

i) Dijkstra's algorithm;

ii) Breadth-first search (BFS);

iii) Mikkel Thorup's algorithm for undirected single-source shortest paths with positive integer weights in linear time;

iv) Bellman-Ford algorithm.

14. The method of claim 1 , wherein the plurality of requests to publish the plurality of web-resources are received from a plurality of client devices.

15. The method of claim 14 further comprising rejecting a given request of the plurality of requests if the at least one web-resource of the plurality of web-resources associated the given request including malicious data.

16. A processing server for scheduling a plurality of web-resources for a malicious data assessment, the processing server is configured to:

receive a plurality of requests to publish the plurality of web-resources;

generate a graph structure, wherein the graph structure comprises:

a plurality of parent nodes associated with a plurality of parent web-resources,

each of the plurality of parent nodes being assigned a respective trust score based on the association with the plurality of parent web-resources;

a zero-vertex node being connected with the plurality of parent nodes via a plurality of zero-vertex edges such that,

a zero-vertex edge length of each one of the plurality of zero-vertex edges representing the respective trust scores associated with the plurality of parent nodes;

a plurality of child nodes associated with a plurality of child web-resources;

a plurality of web-resource edges, a given web-resource edge of the plurality of web-resource edges connecting a given parent node of the plurality of parent nodes to a given child node of the plurality of child nodes such that,

a given parent web-resource associated with the given parent node is linked to a given child web-resource associated with the given child node by virtue of a first hyperlink from the given parent web-resource to the given child web-resource;

assign, to the given child node of the plurality of child nodes, a first assigned trust score based on a lowest trust score of a subset of the plurality of parent nodes connected to the given child node in the graph structure such that,

a web-resource edge length of each one of the plurality of web-resource edges connecting the given child node and the subset of the plurality of parent nodes is a representative of the first assigned trust score;

apply a shortest-path algorithm for calculating a shortest-path of all respective paths from the zero-vertex node to each child node, each one of the respective paths including a given zero-vertex edge and the given web-resource edge; and

determine, based on the shortest-path, at least one web-resource of the plurality of web-resources such that, the at least one web-resource is prioritized for the malicious data assessment.

17. The processing server of claim 16 , wherein the processing server is:

coupled to a search log comprising one or more search engine result pages generated in response to previously executed search queries and associated user interactions;

and wherein the processing server is configured to assign the trust score to the given parent node by at least one of:

generating a ranking feature associated with the given parent web-resource associated with the given parent node, the ranking feature being indicative of an average ranking of the given parent web-resource within the one or more search engine result pages;

generating an interaction feature associated with the given parent web-resource associated with the given parent node, the interaction feature being indicative of user satisfaction with the given parent web-resource in response to interacting with the given parent web-resource within the one or more search engine result pages.

18. The processing server of claim 16 , wherein the processing server has access to:

a first list comprising a first set of web-resources labelled as being non-malicious web-resources;

a second list comprising a second set of web-resources labelled as being malicious web-resources;

and wherein the processing server is configured to assign the trust score to the given parent node by at least one of:

assigning a first trust score to the given parent node if the given parent web-resource associated with the given parent node is included in the first list;

assigning a second trust score to the given parent node if the given parent web-resource associated with the given parent node is included in the second list;

assigning a third trust score to the given parent node if the given parent web-resource is not included within the first list or the second list.

19. The processing server of claim 16 , wherein the processing server is further configured to:

generate a plurality of sub-child nodes associated with a plurality of sub-child web-resources, such that,

a given sub-child node of the plurality of sub-child nodes is connected to the given child node via an associated web-resource edge;

the given child web-resource associated with the given child node is linked to a given sub-child web-resource associated with the given sub-child node by virtue of a second hyperlink from the given child web-resource to the given sub-child web-resource;

assign, to the given sub-child node of the plurality of sub-child nodes a second assigned trust score based on an overall lowest trust score of: i) the subset of the plurality of parent nodes and ii) a subset of the plurality of child nodes connected to the given sub-child node in the graph structure such that,

the web-resource edge length of each one of the plurality of web-resource edges connecting the given sub-child node with the subset of the plurality of parent nodes and the subset of the plurality of child nodes is a representative of the second assigned trust score;

apply the shortest-path algorithm for calculating an overall shortest-path of all respective paths from the zero-vertex node to each sub-child node, each one of the respective paths including the given zero-vertex edge and the plurality of web-resource edges connecting the given parent node, the given child node, and the given sub-child node; and

determine, based on the overall shortest-path, the at least one web-resource of the plurality of web-resources such that, the at least one web-resource is prioritized for the malicious data assessment.

20. The processing server of claim 16 , wherein the shortest-path algorithm corresponds to at least one of:

i) Dijkstra's algorithm;

ii) Breadth-first search (BFS);

iii) Mikkel Thorup's algorithm for undirected single-source shortest paths with positive integer weights in linear time;

iv) Bellman-Ford algorithm.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: DIRECT CURSUS TECHNOLOGY L.L.C
To: Y.E. HUB ARMENIA LLC
Reel/Frame 068534/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065692/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2022
From: GALTSEV, SERGEY VALEREVICH, MR.
To: YANDEX.TECHNOLOGIES LLC
Reel/Frame 061441/0316 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2022
From: YANDEX.TECHNOLOGIES LLC
To: YANDEX LLC
Reel/Frame 061441/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2022
From: YANDEX LLC
To: YANDEX EUROPE AG
Reel/Frame 061441/0744 →
Priority Claims (1)
RU 2021121624 · Jul 21, 2021 · national
Continuity (1)
Related Publication 20230026599A1 · Jan 26, 2023
References Cited (42)
US 7251616B1 · Perttunen · 2007 [cited by examiner]
US 8494897B1 · Dawson · 2013 [cited by examiner]
US 8826439B1 · Hu · 2014 [cited by examiner]
US 9118714B1 · Thomson · 2015 [cited by examiner]
US 9195826B1 · Fang · 2015 [cited by examiner]
US 10291645B1 · Frantzen · 2019 [cited by examiner]
US 10440042B1 · Stein · 2019 [cited by examiner]
US 10681063B1 · Silva · 2020 [cited by examiner]
US 20040064335A1 · Yang · 2004 [cited by examiner]
US 20050251805A1 · Bamba · 2005 [cited by examiner]
US 20060095416A1 · Barkhin · 2006 [cited by examiner]
US 20070027666A1 · Frankel · 2007 [cited by examiner]
US 20100115621A1 · Staniford · 2010 [cited by examiner]
US 20100186088A1 · Banerjee · 2010 [cited by examiner]
US 20100251217A1 · Miller · 2010 [cited by examiner]
US 20110083180A1 · Mashevsky · 2011 [cited by examiner]
US 20120010927A1 · Attenberg · 2012 [cited by examiner]
US 20120017281A1 · Banerjee · 2012 [cited by examiner]
US 20120102545A1 · Carter, III · 2012 [cited by examiner]
US 20130111591A1 · Topan · 2013 [cited by examiner]
US 20130179974A1 · Manadhata · 2013 [cited by examiner]
US 20150135324A1 · Ben-Harrush et al. · 2015 [cited by applicant]
US 20150200963A1 · Geng et al. · 2015 [cited by applicant]
US 20160134648A1 · Falkowitz · 2016 [cited by examiner]
US 20170093863A1 · Galtsev · 2017 [cited by examiner]
US 20170374084A1 · Inoue · 2017 [cited by examiner]
US 20180285466A1 · Kovalev · 2018 [cited by examiner]
US 20180343272A1 · Khalil · 2018 [cited by examiner]
US 20190222609A1 · Slipenchuk · 2019 [cited by examiner]
US 20190364068A1 · Reddy · 2019 [cited by examiner]
US 20210382949A1 · Yastrebenetsky · 2021 [cited by examiner]
CN 102571768A · 2012 [cited by applicant]
CN 103544436A · 2014 [cited by applicant]
CN 105187367A · 2015 [cited by applicant]
CN 107948168A · 2018 [cited by applicant]
CN 109919794A · 2019 [cited by applicant]
RU 2446459C1 · 2012 [cited by applicant]
WO 2017086992A1 · 2017 [cited by applicant]
Russian Search Report dated Oct. 24, 2023 issued in respect of the counterpart Russian Patent Application No. RU 2021121624. [cited by applicant]
Invernizzi et al., “Nazca: Detecting Malware Distribution in Large-Scale Networks”, Published on Feb. 22, 2014, https://sites.cs.ucsb.edu/˜vigna/publications/2014_NDSS_Nazca.pdf. [cited by applicant]
Sungjim “Anatomy on Malware Distribution Networks”, Published on Apr. 6, 2020, https://ieeexplore.IEEE.org/document/9057639. [cited by applicant]
Hong et al., “Malicious Domain Names Detection Algorithm Based on N-Gram”, Published on Feb. 3, 2019, https://www.hindawi.com/journals/jonc/2019/4612474/. [cited by applicant]