Dataset - architectural attack propagation analysis for identifying confidentiality issues
TechnicalRemarks: # Dataset for Attacker Propagation
Content
There are 4 folders: binary for an excutable version effort_reduction data-sheet for the effort calculation evaluationmodel PCM models of the 3 case studies and expected results source source for the analysis and the metamodel
Executing with the binary
We bundled a eclipse product, which can be used to start our analysis and view the models. It should be configured that it automatically opens a workspace with the necessary projects loaded. In case that won't happen, the projects can be manually loaded over the source folder and there Palladio-Addons-ContextConfidentiality-Analysis/tests/org.palladiosimulator.pcm.confidentiality.context.analysis.testmodels/ or for the automatic test Palladio-Addons-ContextConfidentiality-Analysis/tests/edu.kit.ipd.sdq.kamp4attack.tests/
Here we describe the step to execute the binary:
Unzip the version of your Operating System
* Attention: The MAC-Version might not work, because of MACOS security features. In that case this might help. If not, you can still use the update site or manually install the tooling, but you are required to solve the dependencies manually.
* We also provide an vm image for the tooling in the binary folder and there the vm folder
* In the VM the Procuct is in the home directory under AttackerPropagation
* The credentials for the vm are:
* User: icsa
* Password: icsa
* Root-Password: icsa
Start the Application by executing the PalladioBench binary (not the eclipse one!)
After the load screen you should see 3 Projects in the Modelviewer on the left side:
* edu.kit.ipd.sdq.kamp4attack.tests
* org.palladiosimulator.pcm.confidentiality.context.analysis.testframework
* org.palladiosimulator.pcm.confidentiality.context.analysis.testmodels
The models are stored in org.palladiosimulator.pcm.confidentiality.context.analysis.testmodels.
* By clicking on the arrow before the project you can see the content.
* The evaluation models are stored in the following folders:
* models/powerGrid
* models/targetBreach
* models/travelplanner
* Each folder contains the pcm models (allocation, reposity, resourceenvironment, system, usagemodel), the attackermodel (.attacker), the access control model (.context), the result model (.kamp4attackmodificationmarks) and eclipse launchconfig (.launch)
* with the launch config the scenario can be executed, by opening the context menu (normally right clock) and clicking "Run as"
* for a description of the models see Model Description
Additionally the accuracy tests can be executed automatically as Junit-Plugin-Test (only in the Linux binary):
* Open edu.kit.ipd.sdq.kamp4attack.tests project
* Navigate in the src folder to edu.kit.ipd.sdq.kamp4attack.tests.casestudies and edu.kit.ipd.sdq.kamp4attack.tests.casestudies.travelplanner.
* By opening the context menu (right click usually) and "Run as" Junit-Plugin-Test
* It is important to execute the tests as Plugin Tests since otherwise the dependencies can't be solved
* For Windows and Mac-User they can run the test by executing mvn clean verify
in source/Palladio-Addons-ContextConfidentiality-Analysis/* or use the vm image in case maven does not work
Executing without the binaries
- Build each source project with maven
- Projects generates an updatesite usually in the releng folder in an folder ending with .updatesite
- These updatesites need to be installed in an eclipse installation. An README can be find in the source analysis source folder for the necessary dependencies
Model Descripton
- Target Breach
- in folder targetBreach
- Ukrainian Power Grid
- in folder powerGrid
- TravelPlanner
- in folder travelplanner
- Scenarios in folder Attacker_Propagation_Accuracy:
- An Empty Attacker model. The analysis has no attacker, therefore no propagation should happen
- The attacker has no attack therefore only the initial component is affected
- The attacker has no specific attack but has some stolen credential. Therefore, only the credentials are allowed for the propagation
- Propagations based on vulnerabilites. The attacker has attacks for mainly one attack step. To verify that each propagation types work
- A Component to a Seff Propagation
- A Component to Component Propagtion
- The component compromises the resource it is deployed on
- The component compromises a remote resource (not the one it is deployed on)
- A linking Resource compromises a connected Resource container
- A linking Resource compromises a connected component
- A resource compromises a connected component
- A resource compromises another connected resource
- The attacker gains a new credential based on an attack, but can't take full control of the Linking Resource
- Tests whether the AttackVector option is considered in the analysis
- Tests whether the Privilege option is considered in the analysis
Resultsmodel
The ids of the non pcm elements (ServiceRestrictions and CompromisedData) might change for every run, since they are dynamically calculated for each analysis step. However, this is not problematic since they can identified by their other properties.
Further Information
Additional information and the current source code can be found at our Github repositories: [Metamodel]https://github.com/FluidTrust/Palladio-Addons-ContextConfidentiality-Metamodel) Analysis * Bench-Product