DFA

The Karlsruhe Data Flow Diagram Analysis — An extensible data flow analysis framework for information security.

41
mentions
8
contributors
1121 commitsLast commit ≈ 1 week ago9 stars1 fork

Description

We provide an open-source data flow analysis framework that leverages the power of label propagation to provide software architects with simple yet powerful means to analyze privacy-related quality properties like confidentiality. The analysis has been incorporated with the Palladio Software Architecture Simulator and also provides various input and output formats as well as a textual domain-specific language (DSL) for the formulation of data flow constraints and queries. The research originates from the DSiS group, KASTEL Institute, Karlsruhe Institute of Technology (KIT), is used in various research projects including KASTEL, ANYMOS, SofDCar, Trust 4.0, and FluidTrust.
The project is driven by Nicolas Boltz, Sebastian Hahner, Nils Niehues.

Data Flow Analysis

Our analysis uses label propagation to analyze the characteristics of data flows. First, we extract all possible data flows from data flow diagrams or annotated software architecture models. The extracted data flows are represented as Transpose Flow Graph (TFGs) that contain all relevant information about the characteristics of the flowing data and its processing, e.g., by components or servers. We propagate these characteristics through the flow graphs and compare the result against pre-formulated constraints to detect violations of confidentiality, or privacy in general. Exemplary questions are:

  • Does personal data flow to unauthorized locations violating the GDPR?
  • Does data leave an internal server without being encrypted first?
  • Does the access to sensitive data follow Role-based Access Control (RBAC)?
  • Are there any data flows that merge two distinct types of data that would void anonymity?
Logo of DFA
Keywords
Programming languages
  • Java 96%
  • Python 4%
License
</>Source code

Participating organisations

Karlsruhe Institute of Technology (KIT)

Reference papers

Mentions

Contributors

NB
Nicolas Boltz
Sebastian Hahner
Sebastian Hahner
Nils Niehues
Nils Niehues
CG
Christopher Gerking
RR
Ralf Reussner
Karlsruher Institut für Technologie, FZI Forschungszentrum Informatik

Related software

Palladio

PA

Palladio is a software architecture simulation approach which analyses software at the model level for performance bottlenecks, scalability issues, reliability threats, and allows for subsequent optimisation.

Updated 8 months ago
758 3