Class AttackGraphCreation
java.lang.Object
edu.kit.ipd.sdq.attacksurface.graph.AttackGraphCreation
- All Implemented Interfaces:
AssemblyContextPropagation
,LinkingPropagation
,ResourceContainerPropagation
public class AttackGraphCreation
extends Object
implements AssemblyContextPropagation, LinkingPropagation, ResourceContainerPropagation
Class for creating an attack graph. It uses Google
Guava as internal graph representation
It iteratively calculates for each architectural elements the neighbouring elements and adds an
edge if the neighbours are connected by an exploitable connection. For edges it uses the
AttackEdge
and the architectural elements are represented in the graph as
ArchitectureNode
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
void
void
void
void
void
void
void
void
void
Calculates the attack graph and stores it internally.com.google.common.graph.ImmutableNetwork<ArchitectureNode,
AttackEdge> getGraph()
Creates an immutable copy of the internal attack graph and returns it
-
Constructor Details
-
AttackGraphCreation
-
-
Method Details
-
calculateAssemblyContextToRemoteResourcePropagation
public void calculateAssemblyContextToRemoteResourcePropagation()- Specified by:
calculateAssemblyContextToRemoteResourcePropagation
in interfaceAssemblyContextPropagation
-
calculateAssemblyContextToLocalResourcePropagation
public void calculateAssemblyContextToLocalResourcePropagation()- Specified by:
calculateAssemblyContextToLocalResourcePropagation
in interfaceAssemblyContextPropagation
-
calculateAssemblyContextToLinkingResourcePropagation
public void calculateAssemblyContextToLinkingResourcePropagation()- Specified by:
calculateAssemblyContextToLinkingResourcePropagation
in interfaceAssemblyContextPropagation
-
calculateAssemblyContextToGlobalAssemblyContextPropagation
public void calculateAssemblyContextToGlobalAssemblyContextPropagation()- Specified by:
calculateAssemblyContextToGlobalAssemblyContextPropagation
in interfaceAssemblyContextPropagation
-
calculateAssemblyContextToAssemblyContextPropagation
public void calculateAssemblyContextToAssemblyContextPropagation()- Specified by:
calculateAssemblyContextToAssemblyContextPropagation
in interfaceAssemblyContextPropagation
-
calculateLinkingResourceToResourcePropagation
public void calculateLinkingResourceToResourcePropagation()- Specified by:
calculateLinkingResourceToResourcePropagation
in interfaceLinkingPropagation
-
calculateLinkingResourceToAssemblyContextPropagation
public void calculateLinkingResourceToAssemblyContextPropagation()- Specified by:
calculateLinkingResourceToAssemblyContextPropagation
in interfaceLinkingPropagation
-
calculateResourceContainerToRemoteAssemblyContextPropagation
public void calculateResourceContainerToRemoteAssemblyContextPropagation()- Specified by:
calculateResourceContainerToRemoteAssemblyContextPropagation
in interfaceResourceContainerPropagation
-
calculateResourceContainerToLocalAssemblyContextPropagation
public void calculateResourceContainerToLocalAssemblyContextPropagation()- Specified by:
calculateResourceContainerToLocalAssemblyContextPropagation
in interfaceResourceContainerPropagation
-
calculateResourceContainerToResourcePropagation
public void calculateResourceContainerToResourcePropagation()- Specified by:
calculateResourceContainerToResourcePropagation
in interfaceResourceContainerPropagation
-
calculateResourceContainerToLinkingResourcePropagation
public void calculateResourceContainerToLinkingResourcePropagation()- Specified by:
calculateResourceContainerToLinkingResourcePropagation
in interfaceResourceContainerPropagation
-
createGraph
public void createGraph()Calculates the attack graph and stores it internally. -
getGraph
Creates an immutable copy of the internal attack graph and returns it- Returns:
ImmutableNetwork
copy of internal graph
-