Abstract

The security of software-intensive systems is frequently attacked. High fines or loss in reputation are potential consequences of not maintaining confidentiality, which is an important security objective. Detecting confidentiality issues in early software designs enables cost-efficient fixes. A Data Flow Diagram (DFD) is a modeling notation, which focuses on essential, functional aspects of such early software designs. Existing confidentiality analyses on DFDs support either information flow control or access control, which are the most common confidentiality mechanisms. Combining both mechanisms can be beneficial but existing DFD analyses do not support this. This lack of expressiveness requires designers to switch modeling languages to consider both mechanisms, which can lead to inconsistencies. In this article, we present an extended DFD syntax that supports modeling both, information flow and access control, in the same language. This improves expressiveness compared to related work and avoids inconsistencies. We define the semantics of extended DFDs by clauses in first-order logic. A logic program made of these clauses enables the automated detection of confidentiality violations by querying it. We evaluate the expressiveness of the syntax in a case study. We attempt to model nine information flow cases and six access control cases. We successfully modeled fourteen out of these fifteen cases, which indicates good expressiveness. We evaluate the reusability of models when switching confidentiality mechanisms by comparing the cases that share the same system design, which are three pairs of cases. We successfully show improved reusability compared to the state of the art. We evaluated the accuracy of confidentiality analyses by executing them for the fourteen cases that we could model. We experienced good accuracy.

Highlights

  • In software-intensive systems, software contributes an essential influence on the design, construction, deployment, and evolution of the system as a whole (Institute of Electrical and Electronics Engineers, 2000)

  • The publications about semantics of Data Flow Diagram (DFD), which we describe in the following, frequently report on four shortcomings of the informal semantics introduced for DFDs by DeMarco (1979)

  • We want to evaluate expressiveness to see whether the approach supports information flow and access control (Ch2)

Read more

Summary

Introduction

In software-intensive systems, software contributes an essential influence on the design, construction, deployment, and evolution of the system as a whole (Institute of Electrical and Electronics Engineers, 2000). This article addresses the automatic detection of confidentiality violations in data-oriented software designs Related work such as Tuma et al (2019), van den Berghe et al (2018) and Alghathbar and Wijesekera (2003) (discussed in detail in Section 4) as well as our previous work (Seifermann et al, 2019) already suggested modeling languages and analysis semantics in order to realize automated confidentiality analyses of software designs. (Ch2) Modeling and analyzing information flow and access control within separate artifacts introduces consistency issues, so a consistent modeling and analysis approach, which supports both confidentiality mechanisms, is necessary.

Challenges
Running example
State of the art
DFD semantics
Confidentiality modeling and analysis approaches
F2 F3 F4 Ch1 Ch2 Ch3
Overview of the approach
Syntax of extended data flow diagram
Semantics of extended data flow diagram
Foundations on Prolog
Mapping to logic program
Semantics of logic program
Definition and execution of label comparison function
Tool support
10. Evaluation
10.1. Evaluation goals and metrics
10.2. Evaluation design
10.3. Evaluation results and discussion of expressiveness
10.4. Evaluation results and discussion of reusability
10.5. Evaluation results and discussion of accuracy
10.6. Threats to validity
10.7. Limitations
11. Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call