Automatic Extraction of Security-Rich Dataflow Diagrams for Microservice Applications written in Java

04/25/2023
by   Simon Schneider, et al.
0

Dataflow diagrams (DFDs) are a valuable asset for securing applications, as they are the starting point for many security assessment techniques. Their creation, however, is often done manually, which is time-consuming and introduces problems concerning their correctness. Furthermore, as applications are continuously extended and modified in CI/CD pipelines, the DFDs need to be kept in sync, which is also challenging. In this paper, we present a novel, tool-supported technique to automatically extract DFDs from the implementation code of microservices. The technique parses source code and configuration files in search for keywords that are used as evidence for the model extraction. Our approach uses a novel technique that iteratively detects new keywords, thereby snowballing through an application's codebase. Coupled with other detection techniques, it produces a fully-fledged DFD enriched with security-relevant annotations. The extracted DFDs further provide full traceability between model items and code snippets. We evaluate our approach and the accompanying prototype for applications written in Java on a manually curated dataset of 17 open-source applications. In our testing set of applications, we observe an overall precision of 93

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/14/2019

Automatic Observability for Dockerized Java Applications

Docker is a virtualization technique heavily used in industry to build c...
research
05/30/2022

SAT-Based Extraction of Behavioural Models for Java Libraries with Collections

Behavioural models are a valuable tool for software verification, testin...
research
08/19/2021

Checking Security Compliance between Models and Code

The verification that planned security mechanisms are actually implement...
research
06/14/2021

CodeLabeller: A Web-based Code Annotation Tool for Java Design Patterns and Summaries

The appropriate use of design patterns in code is a vital measurement of...
research
08/10/2018

COBOL to Java and Newspapers Still Get Delivered

This paper is an experience report on migrating an American newspaper co...
research
01/28/2019

Automatic Information Extraction from Piping and Instrumentation Diagrams

One of the most common modes of representing engineering schematics are ...
research
09/28/2022

Accelerating netty-based applications through transparent InfiniBand support

Many big-data frameworks are written in Java, e.g. Apache Spark, Flink a...

Please sign up or login with your details

Forgot password? Click here to reset