Bernhard J. BergerTechnische Universität Hamburg | TUHH · Institute of Embedded Systems
Bernhard J. Berger
Dr.
About
38
Publications
3,385
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
183
Citations
Introduction
Currently working on security, static analysis, optimisation, and machine learning.
Additional affiliations
October 2021 - present
May 2016 - September 2021
January 2016 - April 2016
Education
October 2003 - March 2008
University of Bremen
Field of study
- Computer Science
Publications
Publications (38)
Architectural risk analysis is an important aspect of developing software that is free of security flaws. Knowledge on architectural flaws, however, is sparse, in particular in small or medium-sized enterprises. In this paper, we propose a practical approach to architectural risk analysis that leverages Microsoft’s threat modeling. Our technique de...
Nowadays, Machine Learning (ML) achieves incredible results in almost all areas of everyday life, like object recognition or natural language processing. As a result, more and more ML applications enter products, especially in the industrial area of the Internet of Things (IoT). However, ML techniques like neural networks are computationally expens...
As AI solutions enter safety-critical products, the explainability and interpretability of solutions generated by AI products become increasingly important. In the long term, such explanations are the key to gaining users' acceptance of AI-based systems' decisions. We report on applying a model-driven-based optimisation to search for an interpretab...
Applying optimisation techniques such as evolutionary computation to real-world tasks often requires significant adaptation. However, specific application domains do not typically demand major changes to existing optimisation methods. The decisive aspect is the inclusion of domain knowledge and configuration of established techniques to suit the pr...
In this paper, we summarize a novel method for machine learning-based static application security testing (SAST), which was devised as part of a larger study funded by Germany’s Federal Office for Information Security (BSI). SAST describes the practice of applying static analysis techniques to program code on the premise of detecting security-criti...
General-Purpose Computation on Graphics Processing Units (GPGPUs) are becoming crucial in accelerating computing capacity. Due to the massive parallelism capabilities of GPUs, they can achieve impressive speedups of up to 32 times compared to common CPUs. However, writing highly parallel code and utilizing a GPU is challenging for programmers. Deve...
Optimierung ist eine wesentliche Fragestellung in vielen Kontexten. Sei es Ressourcen-, Zeit-, Personal- oder nicht zuletzt auch Kosteneffizienz, regelhaft müssen Prozesse, Einstellungen, Zusammensetzungen – die Liste ließe sich beliebig fortsetzen − optimiert werden. Um das Optimierungsproblem zu lösen, gibt es viele unterschiedliche Techniken. Ei...
Optimisation problems with higher-dimensional search spaces do usually not only come with equality or inequality constraints, but also with dependencies between the different variables. In real-world applications, especially in experimental data from material sciences, these relations as well as the constraints may not be true for the entire search...
Evolutionary algorithms are a well-known optimi-sation technique, especially for non-convex, multi-modal optimi-sation problems. Their capability of adjusting to different search spaces and tasks by choosing the suitable encoding and operators has led to their widespread use in various application domains. However, application domains sometimes com...
Evolutionary algorithms are a well-known tool for optimising problems that are hard to solve analytically. They mirror the evolutionary approach of recombination and mutation as well as a selection process according to the fitness of an individual. Individuals who violate set search space restrictions are either killed at birth or penalised in thei...
Software systems are increasingly interconnected, and more and more devices have a permanent connection to the worldwide web. While this is convenient for end-users and desired by companies whose revenue is increased through more information on their customers, it results in an attractive attack vector not only for criminals trying to scam people b...
During the investigation of the security within a seaport ecosystem it turned out that the communication channels between major players, like shipping lines, terminal operators, customs or a Port Community System, may be open gateways for cyber threats. The trust between players is limited as they are frequently competitors, yet communication if no...
Architectural risk analysis is a manual technique to identify architectural security flaws that undermine a software system's security concept. The Architectural Security Tool Suite ArchSec automates this process by applying static analyses to automatically extract architectural security views and employing a knowledge base to automatically detect...
Which parts of a software system can be accessed by an attacker is a common question in software security. The answer to this question defines where to look for input validation vulnerabilities, which parts of a system to respect during Microsoft's Threat Modeling, or how to calculate security metrics. Identifying entry points of an application is,...
Evolutionary algorithms are a successful application of bio-inspired behaviour in the field of Artificial Intelligence. Transferring mechanisms such as selection, mutation, and re- combination, evolutionary algorithms are capable of surmounting the disadvantages of traditional methods. Adjusting an evolu- tionary algorithm to a specific problem req...
Evolutionary algorithms are a very general method for optimization problems that allow adaption to many different use cases. Application to real-world problems usually comes with features as constraints, dependencies and approximations. When a multidimensional search space comes with strings attached— namely dependencies between its dimensions— an...
Many existing software systems like logistics systems or enterprise applications employ data security in a more or less ad hoc fashion. Our approach focuses on access control such as permission-based discretionary access control (DAC), variants of role-based access control (RBAC) with delegation, and attribute-based access control (ABAC). Typically...
We propose an extension over the traditional call graph to incorporate edges representing control flow between web services, named the Cross-Application Call Graph (CACG). We introduce a construction algorithm for applications built on the Jax-WS standard and validate its effectiveness on sample applications from Apache CXF and JBossWS. Then, we de...
Mobile phones have developed into complex platforms with large numbers of installed applications and a wide range of sensitive data. Application security policies limit the permissions of each installed application. As applications may interact, restricting single applications may create a false sense of security for end users, while data may still...
Security is getting more and more important for the software development process as the advent of more complex, connected and extensible software entails new risks. In particular, multi-tier business applications, e.g., based on the Service-Oriented Architecture (SOA), are vulnerable to new attacks, which may endanger the business processes of an o...
Security tools, using static code analysis, are employed to find common bug classes, such as SQL injections and cross-site scripting vulnerabilities. This paper focuses on another bug class that is related to the object-pool pattern, which allows objects to be reused over multiple sessions. We show that the pattern is applied in a wide range of Jav...
Mobile phones have developed into complex platforms with large numbers of
installed applications and a wide range of sensitive data. Application security
policies limit the permissions of each installed application. As applications
may interact, restricting single applications may create a false sense of
security for the end users while data may st...
Software security has made great progress, code analysis tools are widely-used in industry for detecting common implementation-level security bugs. However, given the fact that we must deal with legacy code we plead to employ the techniques long been developed in the research area of program comprehension for software security. In cooperation with...
Static security analysis of software has made great progress over the last years. In particular, this applies to the detection of low-level security bugs such as buffer overflows, Cross-Site Scripting and SQL injection vulnerabilities. Complementarily to commercial static code review tools, we present an approach to the static security analysis whi...
In diesem Paper wird die Untersuchung beschrieben, ob sich mit Hilfe von einfachen Refactorings Klone aus einem bestehenden,System in der Sprache C so ent- fernen lassen, dass die f¨ ur Software im Automobilumfeld geltenden nichtfunktionalen Anforderungen nicht negativ beeinflusst werden. Motivation hierf¨ ur ist die Tatsache, dass kopierter Quellt...
Software security is becoming more and more impor-tant with the increasing number of applications and platforms connected to the Internet, for example, en-terprise applications, smartphones or the iPad. The growing importance makes it a progressively interest-ing field for developers, software designers, end users, and enterprises. Fixing security...