IP Library Granted Patent US 10,909,179
Granted Patent B2
US 10,909,179 · App. 15/941,668 · Granted Feb 2, 2021

Malware label inference and visualization in a large multigraph

Inventor: Peter Ková{hacek over (c)} (Prague, CZ)
Assignee: Avast Software s.r.o.
G06F16/9024G06F17/11G06F21/552G06F21/56G06F21/566
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 10,909,179
App. No.
15/941,668
Granted
Feb 2, 2021
Kind
B2
Abstract

Analyzing a large number of files to identify malicious software including evaluating a multigraph including determining a graph having a plurality of nodes, including a source node and target nodes from a data set and merging the graph into a multigraph in response to a node score above a threshold level, for each target node; determining one or more specificity indexes for target node and determining a node score for the target node based, at least in part, on a specificity index.

Claims (90)

1. A method for malware label inference and visualization in a multigraph, the method comprising:

determining a graph having a first plurality of nodes from a data set;

merging the graph into a multigraph having a second plurality of nodes;

the nodes including a source node and target nodes; and

iterating over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determining one or more specificity indexes for the target node, wherein the one or more specificity indexes include a node specificity index and wherein determining the node specificity index comprises determining the node specificity index according to a formula

T spec =|T g ∩S g |/|T g |,

wherein T spec comprises the node specificity index, S g comprises a first set of graphs containing the source node, and T g comprises a second set of graphs containing the target node;

determining a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

presenting a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

2. A method for evaluating a multigraph, the method comprising:

determining a graph having a first plurality of nodes from a data set;

merging the graph into a multigraph having a second plurality of nodes;

the nodes including a source node and target nodes; and

iterating over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determining one or more specificity indexes for the target node, wherein the one or more specificity indexes include an edge specificity index and wherein determining the edge specificity index comprises determining the edge specificity index according to a formula

E spec =min(1, E ST /|S g |),

wherein E spec comprises the edge specificity index, S g comprises a first set of graphs containing the source node, and E ST comprises a number of edges between the source node and the target node;

determining a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

presenting a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

3. A method for evaluating a multigraph, the method comprising:

determining a graph having a first plurality of nodes from a data set;

merging the graph into a multigraph having a second plurality of nodes;

the nodes including a source node and target nodes; and

iterating over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determining one or more specificity indexes for the target node, wherein the one or more specificity indexes include a node specificity index and an edge specificity index, and wherein determining the node score includes determining the node score according to a formula

T s =max( T s ,S s *E spec *T spec ),

wherein T s comprises the node score, S s comprises the source node score, E spec comprises the edge specificity index of an edge connecting the source node to the target node, and T spec comprises the node specificity index of the target node with respect to the source node;

determining a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

presenting a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

4. A non-transitory machine-readable medium having instructions stored thereon, the instructions comprising computer executable instructions that when executed, cause one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node, wherein the one or more specificity indexes include a node specificity index and an edge specificity index, and wherein the node score is determined according to a formula

Ts =max( T s ,S s *E spec *T spec ),

wherein T s comprises the node score, S s comprises the source node score, E spec comprises the edge specificity index of an edge connecting the source node to the target node, and T spec comprises the node specificity index of the target node with respect to the source node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

5. A non-transitory machine-readable medium having instructions stored thereon, the instructions comprising computer executable instructions that when executed, cause one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node, wherein the one or more specificity indexes include a node specificity index and wherein the node specificity index is determined according to a formula

T spec =|T g ∩S g |/|T g |,

wherein T spec comprises the node specificity index, S g comprises a first set of graphs containing the source node, and T g comprises a second set of graphs containing the target node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

6. A non-transitory machine-readable medium having instructions stored thereon, the instructions comprising computer executable instructions that when executed, cause one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node wherein the one or more specificity indexes include an edge specificity index; wherein the edge specificity index is determined according to a formula

E spec =min(1, E ST /|S g |),

wherein E spec comprises the edge specificity index, S g comprises a first set of graphs containing the source node, and E ST comprises a number of edges between the source node and the target node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

7. An apparatus comprising:

one or more processors; and

a non-transitory machine-readable medium having computer executable instructions stored thereon, that when executed, cause the one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node, wherein the one or more specificity indexes include a node specificity index and wherein the node specificity index is determined according to a formula

T spec =|T g ∩S g |/|T g |,

wherein T spec comprises the node specificity index, S g comprises a first set of graphs containing the source node, and T g comprises a second set of graphs containing the target node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

8. An apparatus comprising:

one or more processors; and

a non-transitory machine-readable medium having computer executable instructions stored thereon, that when executed, cause the one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node wherein the one or more specificity indexes include an edge specificity index, and wherein the edge specificity index is determined according to a formula

E spec =min(1, E ST /|S g |),

wherein E spec comprises the edge specificity index, S g comprises a first set of graphs containing the source node, and E ST comprises a number of edges between the source node and the target node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

9. An apparatus comprising:

one or more processors; and

a non-transitory machine-readable medium having computer executable instructions stored thereon, that when executed, cause the one or more processors to:

determine a graph having a first plurality of nodes from a data set;

merge the graph into a multigraph having a second plurality of nodes; and

iterate over the second plurality of nodes, and in response to determining that a current source node for an iteration has a node score that is above a threshold, performing operations comprising:

for each target node connected via an edge to the source node, determine one or more specificity indexes for the target node wherein the one or more specificity indexes include a node specificity index and an edge specificity index, and wherein the node score is determined according to a formula

Ts =max( T s ,S s *E spec *T spec ),

wherein T s comprises the node score, S s comprises the source node score, E spec comprises the edge specificity index of an edge connecting the source node to the target node, and T spec comprises the node specificity index of the target node with respect to the source node;

determine a node score and a label indicative of the likelihood of detected malware for the target node based, at least in part, on the one or more specificity indexes; and

present a visualization of the second plurality of nodes and labels to a user to allow identification of potential malware.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2025
From: GEN DIGITAL AMERICAS S.R.O.
To: GEN DIGITAL INC.
Reel/Frame 071771/0767 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2025
From: AVAST SOFTWARE S.R.O.
To: GEN DIGITAL AMERICAS S.R.O.
Reel/Frame 071777/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2018
From: KOVÁC, PETER
To: AVAST SOFTWARE S.R.O.
Reel/Frame 045397/0989 →
Continuity (2)
Provisional Application 62479124 · Mar 30, 2017
Related Publication 20180293330A1 · Oct 11, 2018