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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidCalculates 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:
calculateAssemblyContextToRemoteResourcePropagationin interfaceAssemblyContextPropagation
-
calculateAssemblyContextToLocalResourcePropagation
public void calculateAssemblyContextToLocalResourcePropagation()- Specified by:
calculateAssemblyContextToLocalResourcePropagationin interfaceAssemblyContextPropagation
-
calculateAssemblyContextToLinkingResourcePropagation
public void calculateAssemblyContextToLinkingResourcePropagation()- Specified by:
calculateAssemblyContextToLinkingResourcePropagationin interfaceAssemblyContextPropagation
-
calculateAssemblyContextToGlobalAssemblyContextPropagation
public void calculateAssemblyContextToGlobalAssemblyContextPropagation()- Specified by:
calculateAssemblyContextToGlobalAssemblyContextPropagationin interfaceAssemblyContextPropagation
-
calculateAssemblyContextToAssemblyContextPropagation
public void calculateAssemblyContextToAssemblyContextPropagation()- Specified by:
calculateAssemblyContextToAssemblyContextPropagationin interfaceAssemblyContextPropagation
-
calculateLinkingResourceToResourcePropagation
public void calculateLinkingResourceToResourcePropagation()- Specified by:
calculateLinkingResourceToResourcePropagationin interfaceLinkingPropagation
-
calculateLinkingResourceToAssemblyContextPropagation
public void calculateLinkingResourceToAssemblyContextPropagation()- Specified by:
calculateLinkingResourceToAssemblyContextPropagationin interfaceLinkingPropagation
-
calculateResourceContainerToRemoteAssemblyContextPropagation
public void calculateResourceContainerToRemoteAssemblyContextPropagation()- Specified by:
calculateResourceContainerToRemoteAssemblyContextPropagationin interfaceResourceContainerPropagation
-
calculateResourceContainerToLocalAssemblyContextPropagation
public void calculateResourceContainerToLocalAssemblyContextPropagation()- Specified by:
calculateResourceContainerToLocalAssemblyContextPropagationin interfaceResourceContainerPropagation
-
calculateResourceContainerToResourcePropagation
public void calculateResourceContainerToResourcePropagation()- Specified by:
calculateResourceContainerToResourcePropagationin interfaceResourceContainerPropagation
-
calculateResourceContainerToLinkingResourcePropagation
public void calculateResourceContainerToLinkingResourcePropagation()- Specified by:
calculateResourceContainerToLinkingResourcePropagationin 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:
ImmutableNetworkcopy of internal graph
-