Malware label inference and visualization in a large multigraph
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.
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.